agim-cli 1.4.8 → 1.4.9

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 (178) hide show
  1. package/dist/core/memory-distiller.d.ts +10 -4
  2. package/dist/core/memory-distiller.d.ts.map +1 -1
  3. package/dist/core/memory-distiller.js +23 -9
  4. package/dist/core/memory-distiller.js.map +1 -1
  5. package/dist/web/public/assets/{a2a-Dnc-MHI-.js → a2a-CZxwvgvh.js} +2 -2
  6. package/dist/web/public/assets/{a2a-Dnc-MHI-.js.map → a2a-CZxwvgvh.js.map} +1 -1
  7. package/dist/web/public/assets/{activity-CKQwfSVC.js → activity-BnlFGipw.js} +2 -2
  8. package/dist/web/public/assets/{activity-CKQwfSVC.js.map → activity-BnlFGipw.js.map} +1 -1
  9. package/dist/web/public/assets/{admins-C7MdDEF0.js → admins-CH84Rw1d.js} +2 -2
  10. package/dist/web/public/assets/{admins-C7MdDEF0.js.map → admins-CH84Rw1d.js.map} +1 -1
  11. package/dist/web/public/assets/{agents-Be4IUCYz.js → agents-CFB4Uj6b.js} +2 -2
  12. package/dist/web/public/assets/{agents-Be4IUCYz.js.map → agents-CFB4Uj6b.js.map} +1 -1
  13. package/dist/web/public/assets/{approvals-KCd1BSvN.js → approvals-DnzjbDR6.js} +2 -2
  14. package/dist/web/public/assets/{approvals-KCd1BSvN.js.map → approvals-DnzjbDR6.js.map} +1 -1
  15. package/dist/web/public/assets/{arrow-down-NRUr_gzg.js → arrow-down-DxlRHrs8.js} +2 -2
  16. package/dist/web/public/assets/{arrow-down-NRUr_gzg.js.map → arrow-down-DxlRHrs8.js.map} +1 -1
  17. package/dist/web/public/assets/{arrow-up-4KyqPaSd.js → arrow-up-CAiQ2jy-.js} +2 -2
  18. package/dist/web/public/assets/{arrow-up-4KyqPaSd.js.map → arrow-up-CAiQ2jy-.js.map} +1 -1
  19. package/dist/web/public/assets/{asks-nKwuDJpD.js → asks-DyUQopay.js} +2 -2
  20. package/dist/web/public/assets/{asks-nKwuDJpD.js.map → asks-DyUQopay.js.map} +1 -1
  21. package/dist/web/public/assets/{audit-Bf4Yv1or.js → audit-BVHTMS82.js} +2 -2
  22. package/dist/web/public/assets/{audit-Bf4Yv1or.js.map → audit-BVHTMS82.js.map} +1 -1
  23. package/dist/web/public/assets/{bell--lSOhH-X.js → bell-D7iS7ctN.js} +2 -2
  24. package/dist/web/public/assets/{bell--lSOhH-X.js.map → bell-D7iS7ctN.js.map} +1 -1
  25. package/dist/web/public/assets/{bgjobs-Daya2BMh.js → bgjobs-BYCQhd_1.js} +2 -2
  26. package/dist/web/public/assets/{bgjobs-Daya2BMh.js.map → bgjobs-BYCQhd_1.js.map} +1 -1
  27. package/dist/web/public/assets/{brain-DF90t0yo.js → brain-CCF25Egu.js} +2 -2
  28. package/dist/web/public/assets/{brain-DF90t0yo.js.map → brain-CCF25Egu.js.map} +1 -1
  29. package/dist/web/public/assets/{briefcase-aRM_fCrr.js → briefcase-BMLMD8nM.js} +2 -2
  30. package/dist/web/public/assets/{briefcase-aRM_fCrr.js.map → briefcase-BMLMD8nM.js.map} +1 -1
  31. package/dist/web/public/assets/{chat-BhnNXkIJ.js → chat-DPkKy5y_.js} +2 -2
  32. package/dist/web/public/assets/{chat-BhnNXkIJ.js.map → chat-DPkKy5y_.js.map} +1 -1
  33. package/dist/web/public/assets/{chevron-left-DK-fhgiL.js → chevron-left-BDO3vw8G.js} +2 -2
  34. package/dist/web/public/assets/{chevron-left-DK-fhgiL.js.map → chevron-left-BDO3vw8G.js.map} +1 -1
  35. package/dist/web/public/assets/{chevron-right-BGhMfCcE.js → chevron-right-5ZUC2opg.js} +2 -2
  36. package/dist/web/public/assets/{chevron-right-BGhMfCcE.js.map → chevron-right-5ZUC2opg.js.map} +1 -1
  37. package/dist/web/public/assets/{circle-check-BWBI4Qhk.js → circle-check-COhM5JsK.js} +2 -2
  38. package/dist/web/public/assets/{circle-check-BWBI4Qhk.js.map → circle-check-COhM5JsK.js.map} +1 -1
  39. package/dist/web/public/assets/{circle-check-big-BppjBT7j.js → circle-check-big-DHAHqUlS.js} +2 -2
  40. package/dist/web/public/assets/{circle-check-big-BppjBT7j.js.map → circle-check-big-DHAHqUlS.js.map} +1 -1
  41. package/dist/web/public/assets/{circle-x-BZ3UUhcm.js → circle-x-7VaoZ7dY.js} +2 -2
  42. package/dist/web/public/assets/{circle-x-BZ3UUhcm.js.map → circle-x-7VaoZ7dY.js.map} +1 -1
  43. package/dist/web/public/assets/{clock-ChP0IxI4.js → clock-ZPVXnd6V.js} +2 -2
  44. package/dist/web/public/assets/{clock-ChP0IxI4.js.map → clock-ZPVXnd6V.js.map} +1 -1
  45. package/dist/web/public/assets/{confirm-dialog-DrP5Lfwx.js → confirm-dialog-CgpJL9oN.js} +2 -2
  46. package/dist/web/public/assets/{confirm-dialog-DrP5Lfwx.js.map → confirm-dialog-CgpJL9oN.js.map} +1 -1
  47. package/dist/web/public/assets/{copy-CR2c0pyG.js → copy-BaZl52tH.js} +2 -2
  48. package/dist/web/public/assets/{copy-CR2c0pyG.js.map → copy-BaZl52tH.js.map} +1 -1
  49. package/dist/web/public/assets/{data-table-DElP7TJm.js → data-table-BLYG79TX.js} +2 -2
  50. package/dist/web/public/assets/{data-table-DElP7TJm.js.map → data-table-BLYG79TX.js.map} +1 -1
  51. package/dist/web/public/assets/distill-D9p8O8Jf.js +7 -0
  52. package/dist/web/public/assets/distill-D9p8O8Jf.js.map +1 -0
  53. package/dist/web/public/assets/{download-DO4Kw3Fi.js → download-bzCepctg.js} +2 -2
  54. package/dist/web/public/assets/{download-DO4Kw3Fi.js.map → download-bzCepctg.js.map} +1 -1
  55. package/dist/web/public/assets/{email-Dkqwudqq.js → email-Douv-rZ5.js} +2 -2
  56. package/dist/web/public/assets/{email-Dkqwudqq.js.map → email-Douv-rZ5.js.map} +1 -1
  57. package/dist/web/public/assets/{empty-state-DGH3i5i2.js → empty-state-96qpPTNg.js} +2 -2
  58. package/dist/web/public/assets/{empty-state-DGH3i5i2.js.map → empty-state-96qpPTNg.js.map} +1 -1
  59. package/dist/web/public/assets/{external-link-B6aOBfUG.js → external-link-J4nIlCem.js} +2 -2
  60. package/dist/web/public/assets/{external-link-B6aOBfUG.js.map → external-link-J4nIlCem.js.map} +1 -1
  61. package/dist/web/public/assets/{eye-BMxHZFil.js → eye-BvsBLK42.js} +2 -2
  62. package/dist/web/public/assets/{eye-BMxHZFil.js.map → eye-BvsBLK42.js.map} +1 -1
  63. package/dist/web/public/assets/{facts-B9PlO3xo.js → facts-DMucDXYd.js} +2 -2
  64. package/dist/web/public/assets/{facts-B9PlO3xo.js.map → facts-DMucDXYd.js.map} +1 -1
  65. package/dist/web/public/assets/{goals-DX_RjDAM.js → goals-B9ETHgL0.js} +2 -2
  66. package/dist/web/public/assets/{goals-DX_RjDAM.js.map → goals-B9ETHgL0.js.map} +1 -1
  67. package/dist/web/public/assets/{health-BAcwcy02.js → health-DLzZ7KHc.js} +2 -2
  68. package/dist/web/public/assets/{health-BAcwcy02.js.map → health-DLzZ7KHc.js.map} +1 -1
  69. package/dist/web/public/assets/{heart-pulse-Cl-tJTJY.js → heart-pulse-CVEeD2sz.js} +2 -2
  70. package/dist/web/public/assets/{heart-pulse-Cl-tJTJY.js.map → heart-pulse-CVEeD2sz.js.map} +1 -1
  71. package/dist/web/public/assets/{heartbeat-BF_rPcKb.js → heartbeat-B1BEBHge.js} +2 -2
  72. package/dist/web/public/assets/{heartbeat-BF_rPcKb.js.map → heartbeat-B1BEBHge.js.map} +1 -1
  73. package/dist/web/public/assets/{hot-XOCA1xAY.js → hot-Yc7iad0D.js} +2 -2
  74. package/dist/web/public/assets/{hot-XOCA1xAY.js.map → hot-Yc7iad0D.js.map} +1 -1
  75. package/dist/web/public/assets/{index-CzlhMSb2.js → index-DY2Zglku.js} +3 -3
  76. package/dist/web/public/assets/{index-CzlhMSb2.js.map → index-DY2Zglku.js.map} +1 -1
  77. package/dist/web/public/assets/{injection-ecvQ-6Ya.js → injection-Ca-9gbo0.js} +2 -2
  78. package/dist/web/public/assets/{injection-ecvQ-6Ya.js.map → injection-Ca-9gbo0.js.map} +1 -1
  79. package/dist/web/public/assets/{installed-D8VzYRBe.js → installed-Zz34apdi.js} +2 -2
  80. package/dist/web/public/assets/{installed-D8VzYRBe.js.map → installed-Zz34apdi.js.map} +1 -1
  81. package/dist/web/public/assets/{jobs-CpuY6G8D.js → jobs-CtVRpl0r.js} +2 -2
  82. package/dist/web/public/assets/{jobs-CpuY6G8D.js.map → jobs-CtVRpl0r.js.map} +1 -1
  83. package/dist/web/public/assets/{layout-DdbuRh8P.js → layout-BTCLgkgN.js} +2 -2
  84. package/dist/web/public/assets/{layout-DdbuRh8P.js.map → layout-BTCLgkgN.js.map} +1 -1
  85. package/dist/web/public/assets/{layout-Pxfmfh_2.js → layout-CtDc2i7w.js} +2 -2
  86. package/dist/web/public/assets/{layout-Pxfmfh_2.js.map → layout-CtDc2i7w.js.map} +1 -1
  87. package/dist/web/public/assets/{layout--XsfZzpI.js → layout-Cxch59sI.js} +2 -2
  88. package/dist/web/public/assets/{layout--XsfZzpI.js.map → layout-Cxch59sI.js.map} +1 -1
  89. package/dist/web/public/assets/{layout-BROGs5wv.js → layout-DnANw2Q2.js} +2 -2
  90. package/dist/web/public/assets/{layout-BROGs5wv.js.map → layout-DnANw2Q2.js.map} +1 -1
  91. package/dist/web/public/assets/{layout-BezPqRLV.js → layout-yIZG87fq.js} +2 -2
  92. package/dist/web/public/assets/{layout-BezPqRLV.js.map → layout-yIZG87fq.js.map} +1 -1
  93. package/dist/web/public/assets/{llm-IXFv_MMM.js → llm-CMMa85Ig.js} +2 -2
  94. package/dist/web/public/assets/{llm-IXFv_MMM.js.map → llm-CMMa85Ig.js.map} +1 -1
  95. package/dist/web/public/assets/{loader-circle-AgQ2XO06.js → loader-circle-D8L1w9c1.js} +2 -2
  96. package/dist/web/public/assets/{loader-circle-AgQ2XO06.js.map → loader-circle-D8L1w9c1.js.map} +1 -1
  97. package/dist/web/public/assets/{map-pin-C6sGB9SZ.js → map-pin--GMunU9n.js} +2 -2
  98. package/dist/web/public/assets/{map-pin-C6sGB9SZ.js.map → map-pin--GMunU9n.js.map} +1 -1
  99. package/dist/web/public/assets/{mcp-jqsjSumH.js → mcp-DhnXhO9B.js} +2 -2
  100. package/dist/web/public/assets/{mcp-jqsjSumH.js.map → mcp-DhnXhO9B.js.map} +1 -1
  101. package/dist/web/public/assets/{memos-C38YN2Rf.js → memos-DQZc7llR.js} +2 -2
  102. package/dist/web/public/assets/{memos-C38YN2Rf.js.map → memos-DQZc7llR.js.map} +1 -1
  103. package/dist/web/public/assets/{messengers-l74nqYZF.js → messengers-DwSmauLs.js} +2 -2
  104. package/dist/web/public/assets/{messengers-l74nqYZF.js.map → messengers-DwSmauLs.js.map} +1 -1
  105. package/dist/web/public/assets/{mobile-CHhYS0Tw.js → mobile-CUZ359rQ.js} +2 -2
  106. package/dist/web/public/assets/{mobile-CHhYS0Tw.js.map → mobile-CUZ359rQ.js.map} +1 -1
  107. package/dist/web/public/assets/{network-CIrcKaZn.js → network-BBdRdrH_.js} +2 -2
  108. package/dist/web/public/assets/{network-CIrcKaZn.js.map → network-BBdRdrH_.js.map} +1 -1
  109. package/dist/web/public/assets/{outbox-O1lzMZPk.js → outbox-CmN0U35l.js} +2 -2
  110. package/dist/web/public/assets/{outbox-O1lzMZPk.js.map → outbox-CmN0U35l.js.map} +1 -1
  111. package/dist/web/public/assets/{pagination-CXBUSf6r.js → pagination-DcsgDXXM.js} +2 -2
  112. package/dist/web/public/assets/{pagination-CXBUSf6r.js.map → pagination-DcsgDXXM.js.map} +1 -1
  113. package/dist/web/public/assets/{persona-CI4tkm_n.js → persona-ig2ac4mY.js} +2 -2
  114. package/dist/web/public/assets/{persona-CI4tkm_n.js.map → persona-ig2ac4mY.js.map} +1 -1
  115. package/dist/web/public/assets/{plans-D8RZ9aXq.js → plans-Bzbk8eUr.js} +2 -2
  116. package/dist/web/public/assets/{plans-D8RZ9aXq.js.map → plans-Bzbk8eUr.js.map} +1 -1
  117. package/dist/web/public/assets/{play-DQ3P_XWl.js → play-Di1jqulh.js} +2 -2
  118. package/dist/web/public/assets/{play-DQ3P_XWl.js.map → play-Di1jqulh.js.map} +1 -1
  119. package/dist/web/public/assets/{plus-Zai0UXKL.js → plus-C2zyJ1mF.js} +2 -2
  120. package/dist/web/public/assets/{plus-Zai0UXKL.js.map → plus-C2zyJ1mF.js.map} +1 -1
  121. package/dist/web/public/assets/{policy-BodrOHl5.js → policy-yD1c2Pcn.js} +2 -2
  122. package/dist/web/public/assets/{policy-BodrOHl5.js.map → policy-yD1c2Pcn.js.map} +1 -1
  123. package/dist/web/public/assets/{qr-code-zcjicWRK.js → qr-code-C-ACsKv_.js} +2 -2
  124. package/dist/web/public/assets/{qr-code-zcjicWRK.js.map → qr-code-C-ACsKv_.js.map} +1 -1
  125. package/dist/web/public/assets/{refresh-ccw-CM-Cjwud.js → refresh-ccw-7HdadG5V.js} +2 -2
  126. package/dist/web/public/assets/{refresh-ccw-CM-Cjwud.js.map → refresh-ccw-7HdadG5V.js.map} +1 -1
  127. package/dist/web/public/assets/{reminders-BR6noe6I.js → reminders-BDeiVYTC.js} +2 -2
  128. package/dist/web/public/assets/{reminders-BR6noe6I.js.map → reminders-BDeiVYTC.js.map} +1 -1
  129. package/dist/web/public/assets/{save-xBMgs6Bd.js → save-BYFmz9gD.js} +2 -2
  130. package/dist/web/public/assets/{save-xBMgs6Bd.js.map → save-BYFmz9gD.js.map} +1 -1
  131. package/dist/web/public/assets/{schedules-Brp1Fomd.js → schedules-BddzBrxI.js} +2 -2
  132. package/dist/web/public/assets/{schedules-Brp1Fomd.js.map → schedules-BddzBrxI.js.map} +1 -1
  133. package/dist/web/public/assets/{search-nk8nyLFI.js → search-B8PlbtLg.js} +2 -2
  134. package/dist/web/public/assets/{search-nk8nyLFI.js.map → search-B8PlbtLg.js.map} +1 -1
  135. package/dist/web/public/assets/{search-CIc8bWW1.js → search-DxkvV-8p.js} +2 -2
  136. package/dist/web/public/assets/{search-CIc8bWW1.js.map → search-DxkvV-8p.js.map} +1 -1
  137. package/dist/web/public/assets/{security-DWxWfpuX.js → security-DpOGp3nS.js} +2 -2
  138. package/dist/web/public/assets/{security-DWxWfpuX.js.map → security-DpOGp3nS.js.map} +1 -1
  139. package/dist/web/public/assets/{service-Bo9rkfQX.js → service-BsY8CaNG.js} +2 -2
  140. package/dist/web/public/assets/{service-Bo9rkfQX.js.map → service-BsY8CaNG.js.map} +1 -1
  141. package/dist/web/public/assets/{shield-alert-bg0_ILjD.js → shield-alert-DXGk9Rak.js} +2 -2
  142. package/dist/web/public/assets/{shield-alert-bg0_ILjD.js.map → shield-alert-DXGk9Rak.js.map} +1 -1
  143. package/dist/web/public/assets/{status-badge-Bw4TDDCb.js → status-badge-D0nbFSom.js} +2 -2
  144. package/dist/web/public/assets/{status-badge-Bw4TDDCb.js.map → status-badge-D0nbFSom.js.map} +1 -1
  145. package/dist/web/public/assets/{subtasks-D58R9C_Z.js → subtasks-DFiAXvDp.js} +2 -2
  146. package/dist/web/public/assets/{subtasks-D58R9C_Z.js.map → subtasks-DFiAXvDp.js.map} +1 -1
  147. package/dist/web/public/assets/{table-D4S5FCk_.js → table-_WsrnZ_T.js} +2 -2
  148. package/dist/web/public/assets/{table-D4S5FCk_.js.map → table-_WsrnZ_T.js.map} +1 -1
  149. package/dist/web/public/assets/{topn-DDxDNIZf.js → topn-C2PHE4tX.js} +2 -2
  150. package/dist/web/public/assets/{topn-DDxDNIZf.js.map → topn-C2PHE4tX.js.map} +1 -1
  151. package/dist/web/public/assets/{trash-2-CB7X8tay.js → trash-2-1Km439fW.js} +2 -2
  152. package/dist/web/public/assets/{trash-2-CB7X8tay.js.map → trash-2-1Km439fW.js.map} +1 -1
  153. package/dist/web/public/assets/{use-agim-skills-BV2IJPlc.js → use-agim-skills-COSqZrdH.js} +2 -2
  154. package/dist/web/public/assets/{use-agim-skills-BV2IJPlc.js.map → use-agim-skills-COSqZrdH.js.map} +1 -1
  155. package/dist/web/public/assets/{use-background-tasks-Dk9S55ip.js → use-background-tasks-wCL7jn68.js} +2 -2
  156. package/dist/web/public/assets/{use-background-tasks-Dk9S55ip.js.map → use-background-tasks-wCL7jn68.js.map} +1 -1
  157. package/dist/web/public/assets/{use-memory-DncmZXGJ.js → use-memory-B9oRyQC8.js} +2 -2
  158. package/dist/web/public/assets/{use-memory-DncmZXGJ.js.map → use-memory-B9oRyQC8.js.map} +1 -1
  159. package/dist/web/public/assets/{use-observability-CcDO7PdN.js → use-observability-DGkN80qa.js} +2 -2
  160. package/dist/web/public/assets/{use-observability-CcDO7PdN.js.map → use-observability-DGkN80qa.js.map} +1 -1
  161. package/dist/web/public/assets/{use-settings-DZhfMpNR.js → use-settings-Co-iafXD.js} +2 -2
  162. package/dist/web/public/assets/{use-settings-DZhfMpNR.js.map → use-settings-Co-iafXD.js.map} +1 -1
  163. package/dist/web/public/assets/{use-workspace-ywkrT7Aj.js → use-workspace-BDXP5XO1.js} +2 -2
  164. package/dist/web/public/assets/{use-workspace-ywkrT7Aj.js.map → use-workspace-BDXP5XO1.js.map} +1 -1
  165. package/dist/web/public/assets/{vector-B3h4iyfn.js → vector-BfIEx8xX.js} +2 -2
  166. package/dist/web/public/assets/{vector-B3h4iyfn.js.map → vector-BfIEx8xX.js.map} +1 -1
  167. package/dist/web/public/assets/{viewer-Bz3wL-99.js → viewer-BPMZkT05.js} +2 -2
  168. package/dist/web/public/assets/{viewer-Bz3wL-99.js.map → viewer-BPMZkT05.js.map} +1 -1
  169. package/dist/web/public/assets/{workspace-BvrXvliN.js → workspace-BbCchiHE.js} +2 -2
  170. package/dist/web/public/assets/{workspace-BvrXvliN.js.map → workspace-BbCchiHE.js.map} +1 -1
  171. package/dist/web/public/assets/{workspaces-0H6Dzz6N.js → workspaces-5HE7pjdA.js} +2 -2
  172. package/dist/web/public/assets/{workspaces-0H6Dzz6N.js.map → workspaces-5HE7pjdA.js.map} +1 -1
  173. package/dist/web/public/index.html +1 -1
  174. package/dist/web/server.js +3 -1
  175. package/dist/web/server.js.map +1 -1
  176. package/package.json +1 -1
  177. package/dist/web/public/assets/distill-DxSq7g_8.js +0 -7
  178. package/dist/web/public/assets/distill-DxSq7g_8.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hot-XOCA1xAY.js","sources":["../../node_modules/lucide-react/dist/esm/icons/flame.js","../../node_modules/lucide-react/dist/esm/icons/star.js","../../src/hooks/use-skills.ts","../../src/routes/settings/agim-skills/hot.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Flame = createLucideIcon(\"Flame\", [\n [\n \"path\",\n {\n d: \"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z\",\n key: \"96xj49\"\n }\n ]\n]);\n\nexport { Flame as default };\n//# sourceMappingURL=flame.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"Star\", [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n","/**\n * useSkills — read-only browse of the agent skills.\n *\n * useSkills() — list of every skill on disk\n * useSkillDetail(slug) — markdown body, fetched on demand\n * when the modal opens\n *\n * No mutations: installs happen via the skillhub CLI on the host,\n * agim is strictly read-only here.\n */\n\nimport { useQuery } from '@tanstack/react-query'\nimport { api } from '@/lib/api/endpoints'\nimport type {\n ListSkillsResponse,\n RemoteHotSkillsResponse,\n SkillDetail,\n} from '@/types/api'\n\nexport const skillsKeys = {\n all: ['skills'] as const,\n list: ['skills', 'list'] as const,\n detail: (slug: string) => ['skills', 'detail', slug] as const,\n remoteHot: ['skills', 'remote', 'hot'] as const,\n}\n\nexport function useSkills() {\n return useQuery<ListSkillsResponse>({\n queryKey: skillsKeys.list,\n queryFn: () => api.listSkills(),\n })\n}\n\nexport function useSkillDetail(slug: string | null) {\n return useQuery<SkillDetail>({\n queryKey: skillsKeys.detail(slug ?? ''),\n queryFn: () => api.getSkillDetail(slug as string),\n enabled: Boolean(slug),\n })\n}\n\n/** skillhub.cn hot list. The proxy on the server caches for 5 min and\n * serves stale-while-error, so we don't need an aggressive client-side\n * refresh — the operator hits the refresh button when they want fresh\n * data. staleTime keeps tab-switch round-trips cheap. */\nexport function useSkillsRemoteHot() {\n return useQuery<RemoteHotSkillsResponse>({\n queryKey: skillsKeys.remoteHot,\n queryFn: () => api.getSkillsRemoteHot(),\n staleTime: 60_000,\n })\n}\n","/**\n * /skills/hot — read-only browse of skillhub.cn's hot list.\n *\n * Backed by /api/skills/remote/hot (server proxies upstream with a\n * 5-min cache + stale-while-error). agim never auto-runs an install:\n * the detail dialog surfaces three copy-pasteable commands and the\n * operator decides where to execute.\n *\n * Restored from v1's tasks.html in 2026-05; the v2 SPA had the\n * installed-skills view but had dropped the hot list during the\n * memory-tab port.\n */\n\nimport { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'sonner'\nimport {\n Copy,\n Download,\n ExternalLink,\n Flame,\n Loader2,\n RefreshCcw,\n Search,\n Star,\n} from 'lucide-react'\n\nimport { EmptyState } from '@/components/common/empty-state'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/components/ui/dialog'\nimport { Input } from '@/components/ui/input'\nimport { useSkillsRemoteHot } from '@/hooks/use-skills'\nimport type { RemoteSkill } from '@/types/api'\nimport { cn } from '@/lib/utils'\n\nexport default function SkillsHotRoute(): JSX.Element {\n const { t } = useTranslation(['skills', 'common'])\n const { data, isLoading, isFetching, refetch } = useSkillsRemoteHot()\n\n const skills: RemoteSkill[] = data?.skills ?? []\n const [q, setQ] = useState('')\n const [openSlug, setOpenSlug] = useState<string | null>(null)\n\n const filtered = useMemo(() => {\n const needle = q.trim().toLowerCase()\n if (!needle) return skills\n return skills.filter((s) =>\n s.slug.toLowerCase().includes(needle)\n || (s.name || '').toLowerCase().includes(needle)\n || (s.description || '').toLowerCase().includes(needle)\n || (s.category || '').toLowerCase().includes(needle)\n )\n }, [skills, q])\n\n const openSkill = openSlug ? skills.find((s) => s.slug === openSlug) ?? null : null\n\n return (\n <div className=\"mx-auto flex max-w-5xl flex-col gap-4\">\n <header className=\"flex flex-col gap-1\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <h1 className=\"text-xl font-semibold inline-flex items-center gap-2\">\n <Flame className=\"h-5 w-5 text-warning\" />\n {t('hot.title')}\n </h1>\n <div className=\"ml-auto flex items-center gap-2\">\n <Button\n asChild\n variant=\"ghost\"\n size=\"sm\"\n >\n <a\n href=\"https://skillhub.cn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLink className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">{t('hot.openHub')}</span>\n </a>\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => refetch()}\n disabled={isFetching}\n aria-label={t('actions.refresh', { ns: 'common' })}\n >\n {isFetching ? <Loader2 className=\"h-4 w-4 animate-spin\" /> : <RefreshCcw className=\"h-4 w-4\" />}\n <span className=\"hidden sm:inline\">{t('actions.refresh', { ns: 'common' })}</span>\n </Button>\n </div>\n </div>\n <p className=\"text-sm text-text-dim\">{t('hot.subtitle')}</p>\n {data && (\n <CacheMeta\n cached={!!data.cached}\n stale={!!data.stale}\n fetchedAt={data.fetchedAt}\n />\n )}\n </header>\n\n {skills.length > 0 && (\n <div className=\"flex flex-wrap items-end gap-2\">\n <div className=\"relative flex-1 min-w-[180px] max-w-md\">\n <Search className=\"pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-text-muted\" />\n <Input\n value={q}\n onChange={(e) => setQ(e.target.value)}\n placeholder={t('actions.search', { ns: 'common' })}\n className=\"pl-7\"\n />\n </div>\n <Badge variant=\"secondary\" className=\"ml-auto\">\n {filtered.length} / {skills.length}\n </Badge>\n </div>\n )}\n\n {isLoading ? (\n <div className=\"h-48 w-full rounded-md bg-surface-2 animate-pulse\" />\n ) : skills.length === 0 ? (\n <EmptyState icon={<Flame />} title={t('hot.empty')} />\n ) : (\n <ul className=\"flex flex-col gap-2\">\n {filtered.map((s) => (\n <li key={s.slug}>\n <button\n type=\"button\"\n onClick={() => setOpenSlug(s.slug)}\n className={cn(\n 'flex w-full flex-col gap-1 rounded-md border border-border bg-surface px-3 py-2 text-left',\n 'transition-colors hover:border-border-strong hover:bg-surface-hover',\n )}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"font-medium text-text\">{s.name || s.slug}</span>\n {s.version && (\n <span className=\"text-text-muted text-xs font-mono\">v{s.version}</span>\n )}\n {s.category && (\n <Badge variant=\"outline\">{s.category}</Badge>\n )}\n <div className=\"ml-auto flex items-center gap-3 text-xs text-text-dim tabular-nums\">\n <span className=\"inline-flex items-center gap-1\">\n <Star className=\"h-3 w-3\" />\n {formatNum(s.stars)}\n </span>\n <span className=\"inline-flex items-center gap-1\">\n <Download className=\"h-3 w-3\" />\n {formatNum(s.installs)}\n </span>\n </div>\n </div>\n <code className=\"text-text-muted text-xs font-mono\">{s.slug}</code>\n {s.description && (\n <p className=\"line-clamp-2 text-sm text-text-dim\">{s.description}</p>\n )}\n </button>\n </li>\n ))}\n </ul>\n )}\n\n <RemoteSkillDialog\n skill={openSkill}\n onOpenChange={(open) => { if (!open) setOpenSlug(null) }}\n />\n </div>\n )\n}\n\nfunction CacheMeta({\n cached,\n stale,\n fetchedAt,\n}: {\n cached: boolean\n stale: boolean\n fetchedAt: number\n}): JSX.Element | null {\n const { t } = useTranslation('skills')\n const when = useMemo(() => {\n try {\n const d = new Date(fetchedAt)\n if (Number.isNaN(d.getTime())) return ''\n return d.toLocaleString(undefined, {\n month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit',\n })\n } catch {\n return ''\n }\n }, [fetchedAt])\n return (\n <div className=\"flex flex-wrap items-center gap-2 text-xs text-text-muted\">\n <span>{t('hot.updatedAt', { at: when })}</span>\n {cached && <Badge variant=\"outline\">{t('hot.cached')}</Badge>}\n {stale && <Badge variant=\"warning\">{t('hot.stale')}</Badge>}\n </div>\n )\n}\n\ninterface RemoteSkillDialogProps {\n skill: RemoteSkill | null\n onOpenChange: (open: boolean) => void\n}\n\nfunction RemoteSkillDialog({ skill, onOpenChange }: RemoteSkillDialogProps): JSX.Element {\n const { t, i18n } = useTranslation('skills')\n\n // Three copy-pasteable install paths. agim never executes them itself\n // — the operator chooses CLI or IM.\n const commands = useMemo(() => {\n if (!skill) return []\n return [\n { key: 'cliInstall', cmd: `skillhub install ${skill.slug}` },\n { key: 'cliSearch', cmd: `skillhub search ${skill.slug}` },\n {\n key: 'imAsk',\n cmd: i18n.language.startsWith('zh')\n ? `请用 skillhub 安装 ${skill.slug} 技能`\n : `Please install ${skill.slug} via skillhub`,\n },\n ]\n }, [i18n.language, skill])\n\n return (\n <Dialog open={skill != null} onOpenChange={onOpenChange}>\n <DialogContent className=\"sm:max-w-2xl\">\n <DialogHeader>\n <DialogTitle>{skill?.name || skill?.slug || ''}</DialogTitle>\n {skill?.description && (\n <DialogDescription>{skill.description}</DialogDescription>\n )}\n </DialogHeader>\n\n {skill && (\n <>\n <dl className=\"grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs\">\n <dt className=\"text-text-dim\">{t('hot.detail.slug')}</dt>\n <dd className=\"font-mono\">{skill.slug}</dd>\n {skill.version && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.version')}</dt>\n <dd className=\"font-mono\">v{skill.version}</dd>\n </>\n )}\n {skill.category && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.category')}</dt>\n <dd>{skill.category}</dd>\n </>\n )}\n <dt className=\"text-text-dim\">{t('hot.detail.stars')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.stars)}</dd>\n <dt className=\"text-text-dim\">{t('hot.detail.installs')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.installs)}</dd>\n {skill.downloads != null && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.downloads')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.downloads)}</dd>\n </>\n )}\n </dl>\n\n <div className=\"mt-4 border-t border-border pt-3\">\n <h3 className=\"text-sm font-medium\">{t('hot.detail.howInstall')}</h3>\n <ul className=\"mt-2 flex flex-col gap-2\">\n {commands.map((c) => (\n <li key={c.key} className=\"flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-2\">\n <span className=\"text-xs text-text-dim sm:w-40 sm:shrink-0\">\n {t(`hot.detail.label.${c.key}`)}\n </span>\n <code className=\"flex-1 rounded bg-surface-2 px-2 py-1 font-mono text-xs break-all\">\n {c.cmd}\n </code>\n <CopyButton text={c.cmd} />\n </li>\n ))}\n </ul>\n <p className=\"mt-3 text-[11px] text-text-muted\">{t('hot.detail.hint')}</p>\n </div>\n </>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CopyButton({ text }: { text: string }): JSX.Element {\n const { t } = useTranslation('skills')\n const [copied, setCopied] = useState(false)\n async function onClick(): Promise<void> {\n try {\n await navigator.clipboard.writeText(text)\n setCopied(true)\n toast.success(t('hot.detail.copied'))\n setTimeout(() => setCopied(false), 1500)\n } catch (err) {\n toast.error(String((err as Error)?.message ?? err))\n }\n }\n return (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => void onClick()}\n className=\"shrink-0\"\n >\n <Copy className=\"h-3 w-3\" />\n {copied ? t('hot.detail.copied') : t('hot.detail.copy')}\n </Button>\n )\n}\n\nfunction formatNum(n: number | undefined): string {\n if (n == null || !Number.isFinite(n)) return '—'\n return n.toLocaleString()\n}\n"],"names":["Flame","createLucideIcon","Star","skillsKeys","useSkillsRemoteHot","useQuery","api","SkillsHotRoute","t","useTranslation","data","isLoading","isFetching","refetch","skills","q","setQ","useState","openSlug","setOpenSlug","filtered","useMemo","needle","s","openSkill","jsxs","jsx","Button","ExternalLink","Loader2","RefreshCcw","CacheMeta","Search","Input","e","Badge","EmptyState","cn","formatNum","Download","RemoteSkillDialog","open","cached","stale","fetchedAt","when","d","skill","onOpenChange","i18n","commands","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","Fragment","c","CopyButton","text","copied","setCopied","onClick","toast","err","Copy","n"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"hot-Yc7iad0D.js","sources":["../../node_modules/lucide-react/dist/esm/icons/flame.js","../../node_modules/lucide-react/dist/esm/icons/star.js","../../src/hooks/use-skills.ts","../../src/routes/settings/agim-skills/hot.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Flame = createLucideIcon(\"Flame\", [\n [\n \"path\",\n {\n d: \"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z\",\n key: \"96xj49\"\n }\n ]\n]);\n\nexport { Flame as default };\n//# sourceMappingURL=flame.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Star = createLucideIcon(\"Star\", [\n [\n \"path\",\n {\n d: \"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\",\n key: \"r04s7s\"\n }\n ]\n]);\n\nexport { Star as default };\n//# sourceMappingURL=star.js.map\n","/**\n * useSkills — read-only browse of the agent skills.\n *\n * useSkills() — list of every skill on disk\n * useSkillDetail(slug) — markdown body, fetched on demand\n * when the modal opens\n *\n * No mutations: installs happen via the skillhub CLI on the host,\n * agim is strictly read-only here.\n */\n\nimport { useQuery } from '@tanstack/react-query'\nimport { api } from '@/lib/api/endpoints'\nimport type {\n ListSkillsResponse,\n RemoteHotSkillsResponse,\n SkillDetail,\n} from '@/types/api'\n\nexport const skillsKeys = {\n all: ['skills'] as const,\n list: ['skills', 'list'] as const,\n detail: (slug: string) => ['skills', 'detail', slug] as const,\n remoteHot: ['skills', 'remote', 'hot'] as const,\n}\n\nexport function useSkills() {\n return useQuery<ListSkillsResponse>({\n queryKey: skillsKeys.list,\n queryFn: () => api.listSkills(),\n })\n}\n\nexport function useSkillDetail(slug: string | null) {\n return useQuery<SkillDetail>({\n queryKey: skillsKeys.detail(slug ?? ''),\n queryFn: () => api.getSkillDetail(slug as string),\n enabled: Boolean(slug),\n })\n}\n\n/** skillhub.cn hot list. The proxy on the server caches for 5 min and\n * serves stale-while-error, so we don't need an aggressive client-side\n * refresh — the operator hits the refresh button when they want fresh\n * data. staleTime keeps tab-switch round-trips cheap. */\nexport function useSkillsRemoteHot() {\n return useQuery<RemoteHotSkillsResponse>({\n queryKey: skillsKeys.remoteHot,\n queryFn: () => api.getSkillsRemoteHot(),\n staleTime: 60_000,\n })\n}\n","/**\n * /skills/hot — read-only browse of skillhub.cn's hot list.\n *\n * Backed by /api/skills/remote/hot (server proxies upstream with a\n * 5-min cache + stale-while-error). agim never auto-runs an install:\n * the detail dialog surfaces three copy-pasteable commands and the\n * operator decides where to execute.\n *\n * Restored from v1's tasks.html in 2026-05; the v2 SPA had the\n * installed-skills view but had dropped the hot list during the\n * memory-tab port.\n */\n\nimport { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { toast } from 'sonner'\nimport {\n Copy,\n Download,\n ExternalLink,\n Flame,\n Loader2,\n RefreshCcw,\n Search,\n Star,\n} from 'lucide-react'\n\nimport { EmptyState } from '@/components/common/empty-state'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '@/components/ui/dialog'\nimport { Input } from '@/components/ui/input'\nimport { useSkillsRemoteHot } from '@/hooks/use-skills'\nimport type { RemoteSkill } from '@/types/api'\nimport { cn } from '@/lib/utils'\n\nexport default function SkillsHotRoute(): JSX.Element {\n const { t } = useTranslation(['skills', 'common'])\n const { data, isLoading, isFetching, refetch } = useSkillsRemoteHot()\n\n const skills: RemoteSkill[] = data?.skills ?? []\n const [q, setQ] = useState('')\n const [openSlug, setOpenSlug] = useState<string | null>(null)\n\n const filtered = useMemo(() => {\n const needle = q.trim().toLowerCase()\n if (!needle) return skills\n return skills.filter((s) =>\n s.slug.toLowerCase().includes(needle)\n || (s.name || '').toLowerCase().includes(needle)\n || (s.description || '').toLowerCase().includes(needle)\n || (s.category || '').toLowerCase().includes(needle)\n )\n }, [skills, q])\n\n const openSkill = openSlug ? skills.find((s) => s.slug === openSlug) ?? null : null\n\n return (\n <div className=\"mx-auto flex max-w-5xl flex-col gap-4\">\n <header className=\"flex flex-col gap-1\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <h1 className=\"text-xl font-semibold inline-flex items-center gap-2\">\n <Flame className=\"h-5 w-5 text-warning\" />\n {t('hot.title')}\n </h1>\n <div className=\"ml-auto flex items-center gap-2\">\n <Button\n asChild\n variant=\"ghost\"\n size=\"sm\"\n >\n <a\n href=\"https://skillhub.cn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLink className=\"h-4 w-4\" />\n <span className=\"hidden sm:inline\">{t('hot.openHub')}</span>\n </a>\n </Button>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => refetch()}\n disabled={isFetching}\n aria-label={t('actions.refresh', { ns: 'common' })}\n >\n {isFetching ? <Loader2 className=\"h-4 w-4 animate-spin\" /> : <RefreshCcw className=\"h-4 w-4\" />}\n <span className=\"hidden sm:inline\">{t('actions.refresh', { ns: 'common' })}</span>\n </Button>\n </div>\n </div>\n <p className=\"text-sm text-text-dim\">{t('hot.subtitle')}</p>\n {data && (\n <CacheMeta\n cached={!!data.cached}\n stale={!!data.stale}\n fetchedAt={data.fetchedAt}\n />\n )}\n </header>\n\n {skills.length > 0 && (\n <div className=\"flex flex-wrap items-end gap-2\">\n <div className=\"relative flex-1 min-w-[180px] max-w-md\">\n <Search className=\"pointer-events-none absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-text-muted\" />\n <Input\n value={q}\n onChange={(e) => setQ(e.target.value)}\n placeholder={t('actions.search', { ns: 'common' })}\n className=\"pl-7\"\n />\n </div>\n <Badge variant=\"secondary\" className=\"ml-auto\">\n {filtered.length} / {skills.length}\n </Badge>\n </div>\n )}\n\n {isLoading ? (\n <div className=\"h-48 w-full rounded-md bg-surface-2 animate-pulse\" />\n ) : skills.length === 0 ? (\n <EmptyState icon={<Flame />} title={t('hot.empty')} />\n ) : (\n <ul className=\"flex flex-col gap-2\">\n {filtered.map((s) => (\n <li key={s.slug}>\n <button\n type=\"button\"\n onClick={() => setOpenSlug(s.slug)}\n className={cn(\n 'flex w-full flex-col gap-1 rounded-md border border-border bg-surface px-3 py-2 text-left',\n 'transition-colors hover:border-border-strong hover:bg-surface-hover',\n )}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"font-medium text-text\">{s.name || s.slug}</span>\n {s.version && (\n <span className=\"text-text-muted text-xs font-mono\">v{s.version}</span>\n )}\n {s.category && (\n <Badge variant=\"outline\">{s.category}</Badge>\n )}\n <div className=\"ml-auto flex items-center gap-3 text-xs text-text-dim tabular-nums\">\n <span className=\"inline-flex items-center gap-1\">\n <Star className=\"h-3 w-3\" />\n {formatNum(s.stars)}\n </span>\n <span className=\"inline-flex items-center gap-1\">\n <Download className=\"h-3 w-3\" />\n {formatNum(s.installs)}\n </span>\n </div>\n </div>\n <code className=\"text-text-muted text-xs font-mono\">{s.slug}</code>\n {s.description && (\n <p className=\"line-clamp-2 text-sm text-text-dim\">{s.description}</p>\n )}\n </button>\n </li>\n ))}\n </ul>\n )}\n\n <RemoteSkillDialog\n skill={openSkill}\n onOpenChange={(open) => { if (!open) setOpenSlug(null) }}\n />\n </div>\n )\n}\n\nfunction CacheMeta({\n cached,\n stale,\n fetchedAt,\n}: {\n cached: boolean\n stale: boolean\n fetchedAt: number\n}): JSX.Element | null {\n const { t } = useTranslation('skills')\n const when = useMemo(() => {\n try {\n const d = new Date(fetchedAt)\n if (Number.isNaN(d.getTime())) return ''\n return d.toLocaleString(undefined, {\n month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit',\n })\n } catch {\n return ''\n }\n }, [fetchedAt])\n return (\n <div className=\"flex flex-wrap items-center gap-2 text-xs text-text-muted\">\n <span>{t('hot.updatedAt', { at: when })}</span>\n {cached && <Badge variant=\"outline\">{t('hot.cached')}</Badge>}\n {stale && <Badge variant=\"warning\">{t('hot.stale')}</Badge>}\n </div>\n )\n}\n\ninterface RemoteSkillDialogProps {\n skill: RemoteSkill | null\n onOpenChange: (open: boolean) => void\n}\n\nfunction RemoteSkillDialog({ skill, onOpenChange }: RemoteSkillDialogProps): JSX.Element {\n const { t, i18n } = useTranslation('skills')\n\n // Three copy-pasteable install paths. agim never executes them itself\n // — the operator chooses CLI or IM.\n const commands = useMemo(() => {\n if (!skill) return []\n return [\n { key: 'cliInstall', cmd: `skillhub install ${skill.slug}` },\n { key: 'cliSearch', cmd: `skillhub search ${skill.slug}` },\n {\n key: 'imAsk',\n cmd: i18n.language.startsWith('zh')\n ? `请用 skillhub 安装 ${skill.slug} 技能`\n : `Please install ${skill.slug} via skillhub`,\n },\n ]\n }, [i18n.language, skill])\n\n return (\n <Dialog open={skill != null} onOpenChange={onOpenChange}>\n <DialogContent className=\"sm:max-w-2xl\">\n <DialogHeader>\n <DialogTitle>{skill?.name || skill?.slug || ''}</DialogTitle>\n {skill?.description && (\n <DialogDescription>{skill.description}</DialogDescription>\n )}\n </DialogHeader>\n\n {skill && (\n <>\n <dl className=\"grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs\">\n <dt className=\"text-text-dim\">{t('hot.detail.slug')}</dt>\n <dd className=\"font-mono\">{skill.slug}</dd>\n {skill.version && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.version')}</dt>\n <dd className=\"font-mono\">v{skill.version}</dd>\n </>\n )}\n {skill.category && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.category')}</dt>\n <dd>{skill.category}</dd>\n </>\n )}\n <dt className=\"text-text-dim\">{t('hot.detail.stars')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.stars)}</dd>\n <dt className=\"text-text-dim\">{t('hot.detail.installs')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.installs)}</dd>\n {skill.downloads != null && (\n <>\n <dt className=\"text-text-dim\">{t('hot.detail.downloads')}</dt>\n <dd className=\"tabular-nums\">{formatNum(skill.downloads)}</dd>\n </>\n )}\n </dl>\n\n <div className=\"mt-4 border-t border-border pt-3\">\n <h3 className=\"text-sm font-medium\">{t('hot.detail.howInstall')}</h3>\n <ul className=\"mt-2 flex flex-col gap-2\">\n {commands.map((c) => (\n <li key={c.key} className=\"flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-2\">\n <span className=\"text-xs text-text-dim sm:w-40 sm:shrink-0\">\n {t(`hot.detail.label.${c.key}`)}\n </span>\n <code className=\"flex-1 rounded bg-surface-2 px-2 py-1 font-mono text-xs break-all\">\n {c.cmd}\n </code>\n <CopyButton text={c.cmd} />\n </li>\n ))}\n </ul>\n <p className=\"mt-3 text-[11px] text-text-muted\">{t('hot.detail.hint')}</p>\n </div>\n </>\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nfunction CopyButton({ text }: { text: string }): JSX.Element {\n const { t } = useTranslation('skills')\n const [copied, setCopied] = useState(false)\n async function onClick(): Promise<void> {\n try {\n await navigator.clipboard.writeText(text)\n setCopied(true)\n toast.success(t('hot.detail.copied'))\n setTimeout(() => setCopied(false), 1500)\n } catch (err) {\n toast.error(String((err as Error)?.message ?? err))\n }\n }\n return (\n <Button\n type=\"button\"\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => void onClick()}\n className=\"shrink-0\"\n >\n <Copy className=\"h-3 w-3\" />\n {copied ? t('hot.detail.copied') : t('hot.detail.copy')}\n </Button>\n )\n}\n\nfunction formatNum(n: number | undefined): string {\n if (n == null || !Number.isFinite(n)) return '—'\n return n.toLocaleString()\n}\n"],"names":["Flame","createLucideIcon","Star","skillsKeys","useSkillsRemoteHot","useQuery","api","SkillsHotRoute","t","useTranslation","data","isLoading","isFetching","refetch","skills","q","setQ","useState","openSlug","setOpenSlug","filtered","useMemo","needle","s","openSkill","jsxs","jsx","Button","ExternalLink","Loader2","RefreshCcw","CacheMeta","Search","Input","e","Badge","EmptyState","cn","formatNum","Download","RemoteSkillDialog","open","cached","stale","fetchedAt","when","d","skill","onOpenChange","i18n","commands","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","Fragment","c","CopyButton","text","copied","setCopied","onClick","toast","err","Copy","n"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browser-ponyfill-DBWdeCTC.js","assets/react-DlP5eolq.js","assets/layout--XsfZzpI.js","assets/jobs-CpuY6G8D.js","assets/data-table-DElP7TJm.js","assets/table-D4S5FCk_.js","assets/empty-state-DGH3i5i2.js","assets/arrow-up-4KyqPaSd.js","assets/arrow-down-NRUr_gzg.js","assets/status-badge-Bw4TDDCb.js","assets/pagination-CXBUSf6r.js","assets/chevron-left-DK-fhgiL.js","assets/chevron-right-BGhMfCcE.js","assets/confirm-dialog-DrP5Lfwx.js","assets/use-event-stream-I1lMFEfh.js","assets/loader-circle-AgQ2XO06.js","assets/refresh-ccw-CM-Cjwud.js","assets/circle-x-BZ3UUhcm.js","assets/briefcase-aRM_fCrr.js","assets/subtasks-D58R9C_Z.js","assets/bgjobs-Daya2BMh.js","assets/schedules-Brp1Fomd.js","assets/outbox-O1lzMZPk.js","assets/a2a-Dnc-MHI-.js","assets/heartbeat-BF_rPcKb.js","assets/use-background-tasks-Dk9S55ip.js","assets/heart-pulse-Cl-tJTJY.js","assets/play-DQ3P_XWl.js","assets/goals-DX_RjDAM.js","assets/circle-check-BWBI4Qhk.js","assets/asks-nKwuDJpD.js","assets/plans-D8RZ9aXq.js","assets/clock-ChP0IxI4.js","assets/approvals-KCd1BSvN.js","assets/reminders-BR6noe6I.js","assets/bell--lSOhH-X.js","assets/memos-C38YN2Rf.js","assets/trash-2-CB7X8tay.js","assets/search-CIc8bWW1.js","assets/map-pin-C6sGB9SZ.js","assets/layout-DdbuRh8P.js","assets/use-memory-DncmZXGJ.js","assets/facts-B9PlO3xo.js","assets/brain-DF90t0yo.js","assets/persona-CI4tkm_n.js","assets/circle-check-big-BppjBT7j.js","assets/distill-DxSq7g_8.js","assets/use-settings-DZhfMpNR.js","assets/save-xBMgs6Bd.js","assets/vector-B3h4iyfn.js","assets/eye-BMxHZFil.js","assets/download-DO4Kw3Fi.js","assets/workspace-BvrXvliN.js","assets/use-workspace-ywkrT7Aj.js","assets/layout-Pxfmfh_2.js","assets/health-BAcwcy02.js","assets/use-observability-CcDO7PdN.js","assets/activity-CKQwfSVC.js","assets/topn-DDxDNIZf.js","assets/audit-Bf4Yv1or.js","assets/layout-BROGs5wv.js","assets/messengers-l74nqYZF.js","assets/qr-code-zcjicWRK.js","assets/email-Dkqwudqq.js","assets/viewer-Bz3wL-99.js","assets/external-link-B6aOBfUG.js","assets/agents-Be4IUCYz.js","assets/network-CIrcKaZn.js","assets/plus-Zai0UXKL.js","assets/policy-BodrOHl5.js","assets/security-DWxWfpuX.js","assets/shield-alert-bg0_ILjD.js","assets/service-Bo9rkfQX.js","assets/admins-C7MdDEF0.js","assets/workspaces-0H6Dzz6N.js","assets/llm-IXFv_MMM.js","assets/mcp-jqsjSumH.js","assets/search-nk8nyLFI.js","assets/mobile-CHhYS0Tw.js","assets/copy-CR2c0pyG.js","assets/layout-BezPqRLV.js","assets/installed-D8VzYRBe.js","assets/use-agim-skills-BV2IJPlc.js","assets/hot-XOCA1xAY.js","assets/injection-ecvQ-6Ya.js","assets/chat-BhnNXkIJ.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browser-ponyfill-DBWdeCTC.js","assets/react-DlP5eolq.js","assets/layout-Cxch59sI.js","assets/jobs-CtVRpl0r.js","assets/data-table-BLYG79TX.js","assets/table-_WsrnZ_T.js","assets/empty-state-96qpPTNg.js","assets/arrow-up-CAiQ2jy-.js","assets/arrow-down-DxlRHrs8.js","assets/status-badge-D0nbFSom.js","assets/pagination-DcsgDXXM.js","assets/chevron-left-BDO3vw8G.js","assets/chevron-right-5ZUC2opg.js","assets/confirm-dialog-CgpJL9oN.js","assets/use-event-stream-I1lMFEfh.js","assets/loader-circle-D8L1w9c1.js","assets/refresh-ccw-7HdadG5V.js","assets/circle-x-7VaoZ7dY.js","assets/briefcase-BMLMD8nM.js","assets/subtasks-DFiAXvDp.js","assets/bgjobs-BYCQhd_1.js","assets/schedules-BddzBrxI.js","assets/outbox-CmN0U35l.js","assets/a2a-CZxwvgvh.js","assets/heartbeat-B1BEBHge.js","assets/use-background-tasks-wCL7jn68.js","assets/heart-pulse-CVEeD2sz.js","assets/play-Di1jqulh.js","assets/goals-B9ETHgL0.js","assets/circle-check-COhM5JsK.js","assets/asks-DyUQopay.js","assets/plans-Bzbk8eUr.js","assets/clock-ZPVXnd6V.js","assets/approvals-DnzjbDR6.js","assets/reminders-BDeiVYTC.js","assets/bell-D7iS7ctN.js","assets/memos-DQZc7llR.js","assets/trash-2-1Km439fW.js","assets/search-DxkvV-8p.js","assets/map-pin--GMunU9n.js","assets/layout-BTCLgkgN.js","assets/use-memory-B9oRyQC8.js","assets/facts-DMucDXYd.js","assets/brain-CCF25Egu.js","assets/persona-ig2ac4mY.js","assets/circle-check-big-DHAHqUlS.js","assets/distill-D9p8O8Jf.js","assets/use-settings-Co-iafXD.js","assets/save-BYFmz9gD.js","assets/vector-BfIEx8xX.js","assets/eye-BvsBLK42.js","assets/download-bzCepctg.js","assets/workspace-BbCchiHE.js","assets/use-workspace-BDXP5XO1.js","assets/layout-CtDc2i7w.js","assets/health-DLzZ7KHc.js","assets/use-observability-DGkN80qa.js","assets/activity-BnlFGipw.js","assets/topn-C2PHE4tX.js","assets/audit-BVHTMS82.js","assets/layout-DnANw2Q2.js","assets/messengers-DwSmauLs.js","assets/qr-code-C-ACsKv_.js","assets/email-Douv-rZ5.js","assets/viewer-BPMZkT05.js","assets/external-link-J4nIlCem.js","assets/agents-CFB4Uj6b.js","assets/network-BBdRdrH_.js","assets/plus-C2zyJ1mF.js","assets/policy-yD1c2Pcn.js","assets/security-DpOGp3nS.js","assets/shield-alert-DXGk9Rak.js","assets/service-BsY8CaNG.js","assets/admins-CH84Rw1d.js","assets/workspaces-5HE7pjdA.js","assets/llm-CMMa85Ig.js","assets/mcp-DhnXhO9B.js","assets/search-B8PlbtLg.js","assets/mobile-CUZ359rQ.js","assets/copy-BaZl52tH.js","assets/layout-yIZG87fq.js","assets/installed-Zz34apdi.js","assets/use-agim-skills-COSqZrdH.js","assets/hot-Yc7iad0D.js","assets/injection-Ca-9gbo0.js","assets/chat-DPkKy5y_.js"])))=>i.map(i=>d[i]);
2
2
  import{r as g,a as Pr,R as ko,b as vm,c as W,v as xm,d as Yi,g as bd}from"./react-DlP5eolq.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();var vd={exports:{}},So={};/**
3
3
  * @license React
4
4
  * react-jsx-runtime.production.min.js
@@ -205,5 +205,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
205
205
  `)},cd=function(){var e=parseInt(document.body.getAttribute(wr)||"0",10);return isFinite(e)?e:0},ZN=function(){g.useEffect(function(){return document.body.setAttribute(wr,(cd()+1).toString()),function(){var e=cd()-1;e<=0?document.body.removeAttribute(wr):document.body.setAttribute(wr,e.toString())}},[])},e_=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r;ZN();var o=g.useMemo(function(){return YN(i)},[i]);return g.createElement(XN,{styles:JN(o,!t,i,n?"":"!important")})},hs=!1;if(typeof window<"u")try{var Hi=Object.defineProperty({},"passive",{get:function(){return hs=!0,!0}});window.addEventListener("test",Hi,Hi),window.removeEventListener("test",Hi,Hi)}catch{hs=!1}var hr=hs?{passive:!1}:!1,t_=function(e){return e.tagName==="TEXTAREA"},mp=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!t_(e)&&n[t]==="visible")},n_=function(e){return mp(e,"overflowY")},r_=function(e){return mp(e,"overflowX")},ud=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=gp(e,r);if(i){var o=yp(e,r),a=o[1],s=o[2];if(a>s)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},i_=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},o_=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},gp=function(e,t){return e==="v"?n_(t):r_(t)},yp=function(e,t){return e==="v"?i_(t):o_(t)},a_=function(e,t){return e==="h"&&t==="rtl"?-1:1},s_=function(e,t,n,r,i){var o=a_(e,window.getComputedStyle(t).direction),a=o*r,s=n.target,l=t.contains(s),c=!1,u=a>0,d=0,h=0;do{if(!s)break;var f=yp(e,s),m=f[0],p=f[1],b=f[2],v=p-b-o*m;(m||v)&&gp(e,s)&&(d+=v,h+=m);var x=s.parentNode;s=x&&x.nodeType===Node.DOCUMENT_FRAGMENT_NODE?x.host:x}while(!l&&s!==document.body||l&&(t.contains(s)||t===s));return(u&&Math.abs(d)<1||!u&&Math.abs(h)<1)&&(c=!0),c},Bi=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},dd=function(e){return[e.deltaX,e.deltaY]},fd=function(e){return e&&"current"in e?e.current:e},l_=function(e,t){return e[0]===t[0]&&e[1]===t[1]},c_=function(e){return`
206
206
  .block-interactivity-`.concat(e,` {pointer-events: none;}
207
207
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
208
- `)},u_=0,pr=[];function d_(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(u_++)[0],o=g.useState(pp)[0],a=g.useRef(e);g.useEffect(function(){a.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var p=ON([e.lockRef.current],(e.shards||[]).map(fd),!0).filter(Boolean);return p.forEach(function(b){return b.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),p.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=g.useCallback(function(p,b){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!a.current.allowPinchZoom;var v=Bi(p),x=n.current,w="deltaX"in p?p.deltaX:x[0]-v[0],E="deltaY"in p?p.deltaY:x[1]-v[1],P,C=p.target,k=Math.abs(w)>Math.abs(E)?"h":"v";if("touches"in p&&k==="h"&&C.type==="range")return!1;var O=window.getSelection(),M=O&&O.anchorNode,R=M?M===C||M.contains(C):!1;if(R)return!1;var _=ud(k,C);if(!_)return!0;if(_?P=k:(P=k==="v"?"h":"v",_=ud(k,C)),!_)return!1;if(!r.current&&"changedTouches"in p&&(w||E)&&(r.current=P),!P)return!0;var L=r.current||P;return s_(L,b,p,L==="h"?w:E)},[]),l=g.useCallback(function(p){var b=p;if(!(!pr.length||pr[pr.length-1]!==o)){var v="deltaY"in b?dd(b):Bi(b),x=t.current.filter(function(P){return P.name===b.type&&(P.target===b.target||b.target===P.shadowParent)&&l_(P.delta,v)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var w=(a.current.shards||[]).map(fd).filter(Boolean).filter(function(P){return P.contains(b.target)}),E=w.length>0?s(b,w[0]):!a.current.noIsolation;E&&b.cancelable&&b.preventDefault()}}},[]),c=g.useCallback(function(p,b,v,x){var w={name:p,delta:b,target:v,should:x,shadowParent:f_(v)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(E){return E!==w})},1)},[]),u=g.useCallback(function(p){n.current=Bi(p),r.current=void 0},[]),d=g.useCallback(function(p){c(p.type,dd(p),p.target,s(p,e.lockRef.current))},[]),h=g.useCallback(function(p){c(p.type,Bi(p),p.target,s(p,e.lockRef.current))},[]);g.useEffect(function(){return pr.push(o),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:h}),document.addEventListener("wheel",l,hr),document.addEventListener("touchmove",l,hr),document.addEventListener("touchstart",u,hr),function(){pr=pr.filter(function(p){return p!==o}),document.removeEventListener("wheel",l,hr),document.removeEventListener("touchmove",l,hr),document.removeEventListener("touchstart",u,hr)}},[]);var f=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(o,{styles:c_(i)}):null,f?g.createElement(e_,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function f_(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const h_=BN(hp,d_);var fl=g.forwardRef(function(e,t){return g.createElement(Bo,Wt({},e,{ref:t,sideCar:h_}))});fl.classNames=Bo.classNames;var p_=[" ","Enter","ArrowUp","ArrowDown"],m_=[" ","Enter"],tr="Select",[zo,$o,g_]=jL(tr),[rr]=xi(tr,[g_,Ho]),Vo=Ho(),[y_,Pn]=rr(tr),[b_,v_]=rr(tr),x_="SelectProvider";function bp(e){const{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:o,value:a,defaultValue:s,onValueChange:l,dir:c,name:u,autoComplete:d,disabled:h,required:f,form:m,internal_do_not_use_render:p}=e,b=Vo(t),[v,x]=g.useState(null),[w,E]=g.useState(null),[P,C]=g.useState(!1),k=UL(c),[O,M]=fs({prop:r,defaultProp:i??!1,onChange:o,caller:tr}),[R,_]=fs({prop:a,defaultProp:s,onChange:l,caller:tr}),L=g.useRef(null),z=v?!!m||!!v.closest("form"):!0,[U,$]=g.useState(new Set),G=vr(),Y=Array.from(U).map(ie=>ie.props.value).join(";"),V=g.useCallback(ie=>{$(Z=>new Set(Z).add(ie))},[]),F=g.useCallback(ie=>{$(Z=>{const A=new Set(Z);return A.delete(ie),A})},[]),S={required:f,trigger:v,onTriggerChange:x,valueNode:w,onValueNodeChange:E,valueNodeHasChildren:P,onValueNodeHasChildrenChange:C,contentId:G,value:R,onValueChange:_,open:O,onOpenChange:M,dir:k,triggerPointerDownPosRef:L,disabled:h,name:u,autoComplete:d,form:m,nativeOptions:U,nativeSelectKey:Y,isFormControl:z};return y.jsx(yN,{...b,children:y.jsx(y_,{scope:t,...S,children:y.jsx(zo.Provider,{scope:t,children:y.jsx(b_,{scope:t,onNativeOptionAdd:V,onNativeOptionRemove:F,children:D_(p)?p(S):n})})})})}bp.displayName=x_;var vp=e=>{const{__scopeSelect:t,children:n,...r}=e;return y.jsx(bp,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:i})=>y.jsxs(y.Fragment,{children:[n,i?y.jsx(Hp,{__scopeSelect:t}):null]})})};vp.displayName=tr;var xp="SelectTrigger",hl=g.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...i}=e,o=Vo(n),a=Pn(xp,n),s=a.disabled||r,l=$e(t,a.onTriggerChange),c=$o(n),u=g.useRef("touch"),[d,h,f]=Bp(p=>{const b=c().filter(w=>!w.disabled),v=b.find(w=>w.value===a.value),x=zp(b,p,v);x!==void 0&&a.onValueChange(x.value)}),m=p=>{s||(a.onOpenChange(!0),f()),p&&(a.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return y.jsx(ip,{asChild:!0,...o,children:y.jsx(De.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":Ko(a.value)?"":void 0,...i,ref:l,onClick:Oe(i.onClick,p=>{p.currentTarget.focus(),u.current!=="mouse"&&m(p)}),onPointerDown:Oe(i.onPointerDown,p=>{u.current=p.pointerType;const b=p.target;b.hasPointerCapture(p.pointerId)&&b.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(m(p),p.preventDefault())}),onKeyDown:Oe(i.onKeyDown,p=>{const b=d.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&h(p.key),!(b&&p.key===" ")&&p_.includes(p.key)&&(m(),p.preventDefault())})})})});hl.displayName=xp;var wp="SelectValue",kp=g.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,children:o,placeholder:a="",...s}=e,l=Pn(wp,n),{onValueNodeHasChildrenChange:c}=l,u=o!==void 0,d=$e(t,l.onValueNodeChange);ot(()=>{c(u)},[c,u]);const h=Ko(l.value);return y.jsx(De.span,{...s,asChild:h?!1:s.asChild,ref:d,style:{pointerEvents:"none"},children:y.jsx(g.Fragment,{children:h?a:o},h?"placeholder":"value")})});kp.displayName=wp;var w_="SelectIcon",Sp=g.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...i}=e;return y.jsx(De.span,{"aria-hidden":!0,...i,ref:t,children:r||"▼"})});Sp.displayName=w_;var Ap="SelectPortal",[k_,S_]=rr(Ap,{forceMount:void 0}),Cp=e=>{const{__scopeSelect:t,forceMount:n,...r}=e;return y.jsx(k_,{scope:e.__scopeSelect,forceMount:n,children:y.jsx(dl,{asChild:!0,...r})})};Cp.displayName=Ap;var An="SelectContent",pl=g.forwardRef((e,t)=>{const n=S_(An,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,o=Pn(An,e.__scopeSelect),[a,s]=g.useState();return ot(()=>{s(new DocumentFragment)},[]),y.jsx(jr,{present:r||o.open,children:({present:l})=>l?y.jsx(Tp,{...i,ref:t}):y.jsx(Ep,{...i,fragment:a})})});pl.displayName=An;var Ep=g.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,fragment:i}=e;return i?Pr.createPortal(y.jsx(Rp,{scope:n,children:y.jsx(zo.Slot,{scope:n,children:y.jsx("div",{ref:t,children:r})})}),i):null});Ep.displayName="SelectContentFragment";var Nt=10,[Rp,In]=rr(An),A_="SelectContentImpl",C_=Sr("SelectContent.RemoveScroll"),Tp=g.forwardRef((e,t)=>{const{__scopeSelect:n}=e,{position:r="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:a,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:d,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:b,...v}=e,x=Pn(An,n),[w,E]=g.useState(null),[P,C]=g.useState(null),k=$e(t,q=>E(q)),[O,M]=g.useState(null),[R,_]=g.useState(null),L=$o(n),[z,U]=g.useState(!1),$=g.useRef(!1);g.useEffect(()=>{if(w)return up(w)},[w]),Mh();const G=g.useCallback(q=>{const[he,...Pe]=L().map(pe=>pe.ref.current),[xe]=Pe.slice(-1),ke=document.activeElement;for(const pe of q)if(pe===ke||(pe?.scrollIntoView({block:"nearest"}),pe===he&&P&&(P.scrollTop=0),pe===xe&&P&&(P.scrollTop=P.scrollHeight),pe?.focus(),document.activeElement!==ke))return},[L,P]),Y=g.useCallback(()=>G([O,w]),[G,O,w]);g.useEffect(()=>{z&&Y()},[z,Y]);const{onOpenChange:V,triggerPointerDownPosRef:F}=x;g.useEffect(()=>{if(w){let q={x:0,y:0};const he=xe=>{q={x:Math.abs(Math.round(xe.pageX)-(F.current?.x??0)),y:Math.abs(Math.round(xe.pageY)-(F.current?.y??0))}},Pe=xe=>{q.x<=10&&q.y<=10?xe.preventDefault():xe.composedPath().includes(w)||V(!1),document.removeEventListener("pointermove",he),F.current=null};return F.current!==null&&(document.addEventListener("pointermove",he),document.addEventListener("pointerup",Pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",he),document.removeEventListener("pointerup",Pe,{capture:!0})}}},[w,V,F]),g.useEffect(()=>{const q=()=>V(!1);return window.addEventListener("blur",q),window.addEventListener("resize",q),()=>{window.removeEventListener("blur",q),window.removeEventListener("resize",q)}},[V]);const[S,ie]=Bp(q=>{const he=L().filter(ke=>!ke.disabled),Pe=he.find(ke=>ke.ref.current===document.activeElement),xe=zp(he,q,Pe);xe&&setTimeout(()=>xe.ref.current?.focus())}),Z=g.useCallback((q,he,Pe)=>{const xe=!$.current&&!Pe;(x.value!==void 0&&x.value===he||xe)&&(M(q),xe&&($.current=!0))},[x.value]),A=g.useCallback(()=>w?.focus(),[w]),ae=g.useCallback((q,he,Pe)=>{const xe=!$.current&&!Pe;(x.value!==void 0&&x.value===he||xe)&&_(q)},[x.value]),me=r==="popper"?ps:Pp,be=me===ps?{side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:d,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:b}:{};return y.jsx(Rp,{scope:n,content:w,viewport:P,onViewportChange:C,itemRefCallback:Z,selectedItem:O,onItemLeave:A,itemTextRefCallback:ae,focusSelectedItem:Y,selectedItemText:R,position:r,isPositioned:z,searchRef:S,children:y.jsx(fl,{as:C_,allowPinchZoom:!0,children:y.jsx(tl,{asChild:!0,trapped:x.open,onMountAutoFocus:q=>{q.preventDefault()},onUnmountAutoFocus:Oe(i,q=>{x.trigger?.focus({preventScroll:!0}),q.preventDefault()}),children:y.jsx(Do,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:q=>q.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:y.jsx(me,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:q=>q.preventDefault(),...v,...be,onPlaced:()=>U(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:Oe(v.onKeyDown,q=>{const he=q.ctrlKey||q.altKey||q.metaKey;if(q.key==="Tab"&&q.preventDefault(),!he&&q.key.length===1&&ie(q.key),["ArrowUp","ArrowDown","Home","End"].includes(q.key)){let xe=L().filter(ke=>!ke.disabled).map(ke=>ke.ref.current);if(["ArrowUp","End"].includes(q.key)&&(xe=xe.slice().reverse()),["ArrowUp","ArrowDown"].includes(q.key)){const ke=q.target,pe=xe.indexOf(ke);xe=xe.slice(pe+1)}setTimeout(()=>G(xe)),q.preventDefault()}})})})})})})});Tp.displayName=A_;var E_="SelectItemAlignedPosition",Pp=g.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...i}=e,o=Pn(An,n),a=In(An,n),[s,l]=g.useState(null),[c,u]=g.useState(null),d=$e(t,k=>u(k)),h=$o(n),f=g.useRef(!1),m=g.useRef(!0),{viewport:p,selectedItem:b,selectedItemText:v,focusSelectedItem:x}=a,w=g.useCallback(()=>{if(o.trigger&&o.valueNode&&s&&c&&p&&b&&v){const k=o.trigger.getBoundingClientRect(),O=c.getBoundingClientRect(),M=o.valueNode.getBoundingClientRect(),R=v.getBoundingClientRect();if(o.dir!=="rtl"){const ke=R.left-O.left,pe=M.left-ke,qe=k.left-pe,Xe=k.width+qe,Ut=Math.max(Xe,O.width),nt=window.innerWidth-Nt,Ht=zu(pe,[Nt,Math.max(Nt,nt-Ut)]);s.style.minWidth=Xe+"px",s.style.left=Ht+"px"}else{const ke=O.right-R.right,pe=window.innerWidth-M.right-ke,qe=window.innerWidth-k.right-pe,Xe=k.width+qe,Ut=Math.max(Xe,O.width),nt=window.innerWidth-Nt,Ht=zu(pe,[Nt,Math.max(Nt,nt-Ut)]);s.style.minWidth=Xe+"px",s.style.right=Ht+"px"}const _=h(),L=window.innerHeight-Nt*2,z=p.scrollHeight,U=window.getComputedStyle(c),$=parseInt(U.borderTopWidth,10),G=parseInt(U.paddingTop,10),Y=parseInt(U.borderBottomWidth,10),V=parseInt(U.paddingBottom,10),F=$+G+z+V+Y,S=Math.min(b.offsetHeight*5,F),ie=window.getComputedStyle(p),Z=parseInt(ie.paddingTop,10),A=parseInt(ie.paddingBottom,10),ae=k.top+k.height/2-Nt,me=L-ae,be=b.offsetHeight/2,q=b.offsetTop+be,he=$+G+q,Pe=F-he;if(he<=ae){const ke=_.length>0&&b===_[_.length-1].ref.current;s.style.bottom="0px";const pe=c.clientHeight-p.offsetTop-p.offsetHeight,qe=Math.max(me,be+(ke?A:0)+pe+Y),Xe=he+qe;s.style.height=Xe+"px"}else{const ke=_.length>0&&b===_[0].ref.current;s.style.top="0px";const qe=Math.max(ae,$+p.offsetTop+(ke?Z:0)+be)+Pe;s.style.height=qe+"px",p.scrollTop=he-ae+p.offsetTop}s.style.margin=`${Nt}px 0`,s.style.minHeight=S+"px",s.style.maxHeight=L+"px",r?.(),requestAnimationFrame(()=>f.current=!0)}},[h,o.trigger,o.valueNode,s,c,p,b,v,o.dir,r]);ot(()=>w(),[w]);const[E,P]=g.useState();ot(()=>{c&&P(window.getComputedStyle(c).zIndex)},[c]);const C=g.useCallback(k=>{k&&m.current===!0&&(w(),x?.(),m.current=!1)},[w,x]);return y.jsx(T_,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:f,onScrollButtonChange:C,children:y.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:y.jsx(De.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Pp.displayName=E_;var R_="SelectPopperPosition",ps=g.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:i=Nt,...o}=e,a=Vo(n);return y.jsx(op,{...a,...o,ref:t,align:r,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ps.displayName=R_;var[T_,ml]=rr(An,{}),ms="SelectViewport",Ip=g.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...i}=e,o=In(ms,n),a=ml(ms,n),s=$e(t,o.onViewportChange),l=g.useRef(0);return y.jsxs(y.Fragment,{children:[y.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),y.jsx(zo.Slot,{scope:n,children:y.jsx(De.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Oe(i.onScroll,c=>{const u=c.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:h}=a;if(h?.current&&d){const f=Math.abs(l.current-u.scrollTop);if(f>0){const m=window.innerHeight-Nt*2,p=parseFloat(d.style.minHeight),b=parseFloat(d.style.height),v=Math.max(p,b);if(v<m){const x=v+f,w=Math.min(m,x),E=x-w;d.style.height=w+"px",d.style.bottom==="0px"&&(u.scrollTop=E>0?E:0,d.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});Ip.displayName=ms;var Lp="SelectGroup",[P_,I_]=rr(Lp),L_=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=vr();return y.jsx(P_,{scope:n,id:i,children:y.jsx(De.div,{role:"group","aria-labelledby":i,...r,ref:t})})});L_.displayName=Lp;var Op="SelectLabel",gl=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=I_(Op,n);return y.jsx(De.div,{id:i.id,...r,ref:t})});gl.displayName=Op;var bo="SelectItem",[O_,Np]=rr(bo),yl=g.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:i=!1,textValue:o,...a}=e,s=Pn(bo,n),l=In(bo,n),c=s.value===r,[u,d]=g.useState(o??""),[h,f]=g.useState(!1),m=$e(t,x=>l.itemRefCallback?.(x,r,i)),p=vr(),b=g.useRef("touch"),v=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return y.jsx(O_,{scope:n,value:r,disabled:i,textId:p,isSelected:c,onItemTextChange:g.useCallback(x=>{d(w=>w||(x?.textContent??"").trim())},[]),children:y.jsx(zo.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:y.jsx(De.div,{role:"option","aria-labelledby":p,"data-highlighted":h?"":void 0,"aria-selected":c&&h,"data-state":c?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...a,ref:m,onFocus:Oe(a.onFocus,()=>f(!0)),onBlur:Oe(a.onBlur,()=>f(!1)),onClick:Oe(a.onClick,()=>{b.current!=="mouse"&&v()}),onPointerUp:Oe(a.onPointerUp,()=>{b.current==="mouse"&&v()}),onPointerDown:Oe(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:Oe(a.onPointerMove,x=>{b.current=x.pointerType,i?l.onItemLeave?.():b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Oe(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:Oe(a.onKeyDown,x=>{l.searchRef?.current!==""&&x.key===" "||(m_.includes(x.key)&&v(),x.key===" "&&x.preventDefault())})})})})});yl.displayName=bo;var ei="SelectItemText",_p=g.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,...o}=e,a=Pn(ei,n),s=In(ei,n),l=Np(ei,n),c=v_(ei,n),[u,d]=g.useState(null),h=$e(t,v=>d(v),l.onItemTextChange,v=>s.itemTextRefCallback?.(v,l.value,l.disabled)),f=u?.textContent,m=g.useMemo(()=>y.jsx("option",{value:l.value,disabled:l.disabled,children:f},l.value),[l.disabled,l.value,f]),{onNativeOptionAdd:p,onNativeOptionRemove:b}=c;return ot(()=>(p(m),()=>b(m)),[p,b,m]),y.jsxs(y.Fragment,{children:[y.jsx(De.span,{id:l.textId,...o,ref:h}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!Ko(a.value)?Pr.createPortal(o.children,a.valueNode):null]})});_p.displayName=ei;var Dp="SelectItemIndicator",Mp=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Np(Dp,n).isSelected?y.jsx(De.span,{"aria-hidden":!0,...r,ref:t}):null});Mp.displayName=Dp;var gs="SelectScrollUpButton",bl=g.forwardRef((e,t)=>{const n=In(gs,e.__scopeSelect),r=ml(gs,e.__scopeSelect),[i,o]=g.useState(!1),a=$e(t,r.onScrollButtonChange);return ot(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollTop>0;o(c)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?y.jsx(jp,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop-l.offsetHeight)}}):null});bl.displayName=gs;var ys="SelectScrollDownButton",vl=g.forwardRef((e,t)=>{const n=In(ys,e.__scopeSelect),r=ml(ys,e.__scopeSelect),[i,o]=g.useState(!1),a=$e(t,r.onScrollButtonChange);return ot(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<c;o(u)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?y.jsx(jp,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop+l.offsetHeight)}}):null});vl.displayName=ys;var jp=g.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...i}=e,o=In("SelectScrollButton",n),a=g.useRef(null),s=$o(n),l=g.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return g.useEffect(()=>()=>l(),[l]),ot(()=>{s().find(u=>u.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),y.jsx(De.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Oe(i.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:Oe(i.onPointerMove,()=>{o.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:Oe(i.onPointerLeave,()=>{l()})})}),N_="SelectSeparator",xl=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return y.jsx(De.div,{"aria-hidden":!0,...r,ref:t})});xl.displayName=N_;var Fp="SelectArrow",__=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=Vo(n);return In(Fp,n).position==="popper"?y.jsx(ap,{...i,...r,ref:t}):null});__.displayName=Fp;var Up="SelectBubbleInput",Hp=g.forwardRef(({__scopeSelect:e,...t},n)=>{const r=Pn(Up,e),{value:i,onValueChange:o,required:a,disabled:s,name:l,autoComplete:c,form:u}=r,{nativeOptions:d,nativeSelectKey:h}=r,f=g.useRef(null),m=$e(n,f),p=i??"",b=EN(p),v=Array.from(d).some(x=>(x.props.value??"")==="");return g.useEffect(()=>{const x=f.current;if(!x)return;const w=window.HTMLSelectElement.prototype,P=Object.getOwnPropertyDescriptor(w,"value").set;if(b!==p&&P){const C=new Event("change",{bubbles:!0});P.call(x,p),x.dispatchEvent(C)}},[b,p]),y.jsxs(De.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:l,autoComplete:c,disabled:s,form:u,onChange:x=>o(x.target.value),...t,style:{...sp,...t.style},ref:m,defaultValue:p,children:[Ko(i)&&!v?y.jsx("option",{value:""}):null,Array.from(d)]},h)});Hp.displayName=Up;function D_(e){return typeof e=="function"}function Ko(e){return e===""||e===void 0}function Bp(e){const t=Zn(e),n=g.useRef(""),r=g.useRef(0),i=g.useCallback(a=>{const s=n.current+a;t(s),function l(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>l(""),1e3))}(s)},[t]),o=g.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}function zp(e,t,n){const i=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=M_(e,Math.max(o,0));i.length===1&&(a=a.filter(c=>c!==n));const l=a.find(c=>c.textValue.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function M_(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const vo=vp,xo=kp,pi=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(hl,{ref:r,className:ve("flex h-8 w-full items-center justify-between gap-2","rounded-md border border-border bg-surface px-3 py-1 text-sm","placeholder:text-text-muted","focus:outline-none focus:ring-2 focus:ring-accent focus:ring-offset-1 focus:ring-offset-bg","disabled:cursor-not-allowed disabled:opacity-55","[&>span]:line-clamp-1",e),...n,children:[t,y.jsx(Sp,{asChild:!0,children:y.jsx($d,{className:"h-4 w-4 opacity-60"})})]}));pi.displayName=hl.displayName;const $p=g.forwardRef(({className:e,...t},n)=>y.jsx(bl,{ref:n,className:ve("flex cursor-default items-center justify-center py-1",e),...t,children:y.jsx(Uy,{className:"h-4 w-4"})}));$p.displayName=bl.displayName;const Vp=g.forwardRef(({className:e,...t},n)=>y.jsx(vl,{ref:n,className:ve("flex cursor-default items-center justify-center py-1",e),...t,children:y.jsx($d,{className:"h-4 w-4"})}));Vp.displayName=vl.displayName;const mi=g.forwardRef(({className:e,children:t,position:n="popper",...r},i)=>y.jsx(Cp,{children:y.jsxs(pl,{ref:i,position:n,className:ve("relative z-50 max-h-96 min-w-[8rem] overflow-hidden","rounded-md border border-border bg-surface text-text shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",n==="popper"&&["data-[side=bottom]:translate-y-1","data-[side=top]:-translate-y-1","data-[side=left]:-translate-x-1","data-[side=right]:translate-x-1"],e),...r,children:[y.jsx($p,{}),y.jsx(Ip,{className:ve("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),y.jsx(Vp,{})]})}));mi.displayName=pl.displayName;const j_=g.forwardRef(({className:e,...t},n)=>y.jsx(gl,{ref:n,className:ve("px-2 py-1.5 text-xs font-semibold uppercase tracking-wide text-text-muted",e),...t}));j_.displayName=gl.displayName;const bn=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(yl,{ref:r,className:ve("relative flex w-full cursor-default select-none items-center rounded py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-surface-hover focus:text-text","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[y.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:y.jsx(Mp,{children:y.jsx(Fy,{className:"h-4 w-4"})})}),y.jsx(_p,{children:t})]}));bn.displayName=yl.displayName;const F_=g.forwardRef(({className:e,...t},n)=>y.jsx(xl,{ref:n,className:ve("-mx-1 my-1 h-px bg-border",e),...t}));F_.displayName=xl.displayName;function U_({agents:e,value:t,onChange:n}){const{t:r}=at();function i(o){if(!o||o===t)return;const a=Ki(o);window.confirm(r("chat.switchAgentConfirm",{agent:a}))&&n(o)}return y.jsxs(vo,{value:t||void 0,onValueChange:i,children:[y.jsx(pi,{className:"h-7 w-28 sm:w-36 text-xs",children:y.jsx(xo,{placeholder:Ki(e[0]??"—")})}),y.jsx(mi,{children:e.map(o=>y.jsx(bn,{value:o,children:Ki(o)},o))})]})}function H_(e){const t=String(e||"");if(!t)return!1;const n=t.toLowerCase();return!(n.includes("native")||n.includes("agim"))&&!t.includes("/settings/llm")?!1:n.includes("not configured")||n.includes("not available")||n.includes("no llm backend")||n.includes("llmroles.native-chat")||t.includes("/settings/llm")||t.includes("未配置")||t.includes("大模型")}const Wo={all:["llm"],list:["llm","list"]};function B_(){return cf({queryKey:Wo.list,queryFn:()=>K.get("/api/llm")})}function z_(){const e=En();return Rn({mutationFn:t=>K.post("/api/llm/backends",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function HD(){const e=En();return Rn({mutationFn:t=>K.delete(`/api/llm/backends/${encodeURIComponent(t)}`),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function BD(){const e=En();return Rn({mutationFn:t=>K.put("/api/llm/roles",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function zD(){return Rn({mutationFn:e=>K.post(`/api/llm/backends/${encodeURIComponent(e)}/ping`)})}const qo={all:["mcp"],list:["mcp","list"]};function $D(){return cf({queryKey:qo.list,queryFn:()=>K.get("/api/mcp")})}function VD(){const e=En();return Rn({mutationFn:t=>K.post("/api/mcp/servers",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}function KD(){const e=En();return Rn({mutationFn:t=>K.delete(`/api/mcp/servers/${encodeURIComponent(t)}`),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}function WD(){const e=En();return Rn({mutationFn:t=>K.post(`/api/mcp/servers/${encodeURIComponent(t)}/health`),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}var Qo="Dialog",[Kp]=xi(Qo),[$_,Ft]=Kp(Qo),Wp=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!0}=e,s=g.useRef(null),l=g.useRef(null),[c,u]=fs({prop:r,defaultProp:i??!1,onChange:o,caller:Qo});return y.jsx($_,{scope:t,triggerRef:s,contentRef:l,contentId:vr(),titleId:vr(),descriptionId:vr(),open:c,onOpenChange:u,onOpenToggle:g.useCallback(()=>u(d=>!d),[u]),modal:a,children:n})};Wp.displayName=Qo;var qp="DialogTrigger",V_=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(qp,n),o=$e(t,i.triggerRef);return y.jsx(De.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":El(i.open),...r,ref:o,onClick:Oe(e.onClick,i.onOpenToggle)})});V_.displayName=qp;var wl="DialogPortal",[K_,Qp]=Kp(wl,{forceMount:void 0}),Gp=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=Ft(wl,t);return y.jsx(K_,{scope:t,forceMount:n,children:g.Children.map(r,a=>y.jsx(jr,{present:n||o.open,children:y.jsx(dl,{asChild:!0,container:i,children:a})}))})};Gp.displayName=wl;var wo="DialogOverlay",kl=g.forwardRef((e,t)=>{const n=Qp(wo,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Ft(wo,e.__scopeDialog);return o.modal?y.jsx(jr,{present:r||o.open,children:y.jsx(q_,{...i,ref:t})}):null});kl.displayName=wo;var W_=Sr("DialogOverlay.RemoveScroll"),q_=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(wo,n),o=WL(),a=$e(t,o);return y.jsx(fl,{as:W_,allowPinchZoom:!0,shards:[i.contentRef],children:y.jsx(De.div,{"data-state":El(i.open),...r,ref:a,style:{pointerEvents:"auto",...r.style}})})}),Rr="DialogContent",Sl=g.forwardRef((e,t)=>{const n=Qp(Rr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Ft(Rr,e.__scopeDialog);return y.jsx(jr,{present:r||o.open,children:o.modal?y.jsx(Q_,{...i,ref:t}):y.jsx(G_,{...i,ref:t})})});Sl.displayName=Rr;var Q_=g.forwardRef((e,t)=>{const n=Ft(Rr,e.__scopeDialog),r=g.useRef(null),i=$e(t,n.contentRef,r);return g.useEffect(()=>{const o=r.current;if(o)return up(o)},[]),y.jsx(Yp,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Oe(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Oe(e.onPointerDownOutside,o=>{const a=o.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&o.preventDefault()}),onFocusOutside:Oe(e.onFocusOutside,o=>o.preventDefault())})}),G_=g.forwardRef((e,t)=>{const n=Ft(Rr,e.__scopeDialog),r=g.useRef(!1),i=g.useRef(!1);return y.jsx(Yp,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),Yp=g.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...a}=e,s=Ft(Rr,n);return Mh(),y.jsx(y.Fragment,{children:y.jsx(tl,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:y.jsx(Do,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":El(s.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),Xp="DialogTitle",Al=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Xp,n);return y.jsx(De.h2,{id:i.titleId,...r,ref:t})});Al.displayName=Xp;var Jp="DialogDescription",Cl=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Jp,n);return y.jsx(De.p,{id:i.descriptionId,...r,ref:t})});Cl.displayName=Jp;var Zp="DialogClose",em=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Zp,n);return y.jsx(De.button,{type:"button",...r,ref:t,onClick:Oe(e.onClick,()=>i.onOpenChange(!1))})});em.displayName=Zp;function El(e){return e?"open":"closed"}const Y_=Wp,X_=Gp,tm=g.forwardRef(({className:e,...t},n)=>y.jsx(kl,{ref:n,className:ve("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));tm.displayName=kl.displayName;const nm=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(X_,{children:[y.jsx(tm,{}),y.jsxs(Sl,{ref:r,className:ve("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100vw-2rem)] sm:max-w-lg","translate-x-[-50%] translate-y-[-50%] gap-4","border border-border bg-surface p-4 shadow-lg","rounded-lg","max-h-[85dvh] overflow-y-auto pb-[calc(env(safe-area-inset-bottom)+1.5rem)]","duration-200","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",e),...n,children:[t,y.jsx(em,{className:ve("absolute right-4 top-4 rounded-md p-1","text-text-dim hover:bg-surface-hover hover:text-text","focus:outline-none focus:ring-2 focus:ring-accent","tap-target","disabled:pointer-events-none"),"aria-label":He.t("actions.close",{ns:"common",defaultValue:"Close"}),children:y.jsx(Jy,{className:"h-4 w-4"})})]})]}));nm.displayName=Sl.displayName;const rm=({className:e,...t})=>y.jsx("div",{className:ve("flex flex-col gap-1.5 text-left",e),...t});rm.displayName="DialogHeader";const im=({className:e,...t})=>y.jsx("div",{className:ve("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t});im.displayName="DialogFooter";const om=g.forwardRef(({className:e,...t},n)=>y.jsx(Al,{ref:n,className:ve("text-lg font-semibold leading-snug",e),...t}));om.displayName=Al.displayName;const am=g.forwardRef(({className:e,...t},n)=>y.jsx(Cl,{ref:n,className:ve("text-sm text-text-dim",e),...t}));am.displayName=Cl.displayName;const Gi=[{key:"deepseek",provider:"openai-compat",baseUrl:"https://api.deepseek.com/v1",model:"deepseek-chat",baseName:"deepseek-agim"},{key:"moonshot",provider:"openai-compat",baseUrl:"https://api.moonshot.cn/v1",model:"moonshot-v1-8k",baseName:"moonshot-agim"},{key:"zhipu",provider:"openai-compat",baseUrl:"https://open.bigmodel.cn/api/paas/v4",model:"glm-4-air",baseName:"zhipu-agim"},{key:"openai",provider:"openai-compat",baseUrl:"https://api.openai.com/v1",model:"gpt-4o-mini",baseName:"openai-agim"},{key:"anthropic",provider:"anthropic",baseUrl:"https://api.anthropic.com",model:"claude-3-5-sonnet-20241022",baseName:"anthropic-agim"},{key:"custom",provider:"openai-compat",baseUrl:"",model:"",baseName:"agim-api"}],hd=Gi[0];function pd(e,t){const n=new Set(t.map(r=>r.toLowerCase()));if(!n.has(e.toLowerCase()))return e;for(let r=2;r<200;r+=1){const i=`${e}-${r}`;if(!n.has(i.toLowerCase()))return i}return`${e}-${Date.now()}`}function J_({open:e,reason:t,onOpenChange:n,onConfigured:r}){const{t:i}=at(["common","settings"]),o=z_(),a=B_(),[s,l]=g.useState("deepseek"),c=g.useMemo(()=>Gi.find(P=>P.key===s)??hd,[s]),u=g.useMemo(()=>(a.data?.backends??[]).map(P=>P.name),[a.data]),[d,h]=g.useState(()=>pd("deepseek-agim",[])),[f,m]=g.useState(c.baseUrl),[p,b]=g.useState(c.model),[v,x]=g.useState("");function w(P){const C=Gi.find(k=>k.key===P)??hd;l(P),m(C.baseUrl),b(C.model),h(pd(C.baseName,u))}async function E(P){if(P.preventDefault(),!d.trim()){Je.error(i("llm.nameRequired",{ns:"settings"}));return}if(!f.trim()){Je.error(i("llm.baseUrlRequired",{ns:"settings"}));return}if(!/^https?:\/\//i.test(f.trim())){Je.error(i("llm.baseUrlRequired",{ns:"settings"}));return}if(!p.trim()){Je.error(i("llm.modelRequired",{ns:"settings"}));return}if(!v.trim()){Je.error(i("chat.nativeSetupApiKeyRequired"));return}try{await o.mutateAsync({name:d.trim(),provider:c.provider,baseUrl:f.trim(),model:p.trim(),apiKey:v.trim()}),Je.success(i("chat.nativeSetupSaved")),x(""),n(!1),r?.()}catch(C){Je.error(C?.message??String(C))}}return y.jsx(Y_,{open:e,onOpenChange:n,children:y.jsxs(nm,{className:"sm:max-w-2xl",children:[y.jsxs(rm,{children:[y.jsx(om,{children:i("chat.nativeSetupDialogTitle")}),y.jsx(am,{children:i("chat.nativeSetupDialogDesc")})]}),y.jsxs("form",{className:"space-y-4",onSubmit:P=>void E(P),children:[t&&y.jsxs("div",{className:"rounded-md border border-warning/50 bg-warning-bg/40 p-3 text-xs text-warning",children:[y.jsx("div",{className:"mb-1 font-medium",children:i("chat.nativeSetupDialogReason")}),y.jsx("div",{className:"break-words",children:t})]}),y.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.preset",{ns:"settings"})}),y.jsxs(vo,{value:s,onValueChange:P=>w(P),children:[y.jsx(pi,{children:y.jsx(xo,{})}),y.jsx(mi,{children:Gi.map(P=>y.jsx(bn,{value:P.key,children:i(`llm.presets.${P.key}`,{ns:"settings"})},P.key))})]})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.name",{ns:"settings"})}),y.jsx(gr,{value:d,onChange:P=>h(P.target.value),placeholder:i("llm.namePlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{className:"sm:col-span-2",children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.baseUrl",{ns:"settings"})}),y.jsx(gr,{value:f,onChange:P=>m(P.target.value),placeholder:i("llm.baseUrlPlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.model",{ns:"settings"})}),y.jsx(gr,{value:p,onChange:P=>b(P.target.value),placeholder:i("llm.modelPlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.apiKey",{ns:"settings"})}),y.jsx(gr,{type:"password",value:v,onChange:P=>x(P.target.value),placeholder:i("llm.apiKeyPlaceholder",{ns:"settings"}),className:"font-mono text-xs",autoComplete:"off"})]})]}),y.jsx("p",{className:"text-xs text-text-dim",children:i("chat.nativeSetupDialogRoleOptional")}),y.jsxs(im,{children:[y.jsx(et,{type:"button",variant:"ghost",onClick:()=>window.location.assign("/settings/llm"),children:i("chat.nativeSetupDialogAdvanced")}),y.jsx(et,{type:"button",variant:"outline",onClick:()=>n(!1),children:i("chat.nativeSetupDialogCancel")}),y.jsx(et,{type:"submit",disabled:o.isPending,children:i("chat.nativeSetupDialogSave")})]})]})]})})}const bs="agim-theme",sm="im-hub-lang";function Z_(){try{const e=localStorage.getItem(bs);if(e==="light"||e==="dark")return e}catch{}return"system"}function eD(){try{const t=localStorage.getItem(sm);if(t==="en"||t==="zh")return t}catch{}return(navigator.language||"en").toLowerCase().startsWith("zh")?"zh":"en"}function md(e){try{e==="system"?localStorage.removeItem(bs):localStorage.setItem(bs,e)}catch{}}function tD(e){try{localStorage.setItem(sm,e)}catch{}}const yr=jd((e,t)=>({theme:Z_(),lang:eD(),setTheme:n=>{md(n),e({theme:n})},cycleTheme:()=>{const n=t().theme,r=n==="system"?"light":n==="light"?"dark":"system";md(r),e({theme:r})},setLang:n=>{tD(n),e({lang:n})}}));function gd(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}function nD(){const e=yr(t=>t.theme);g.useEffect(()=>{if(gd(e),e!=="system")return;const t=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>gd(e);return t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[e])}function rD(){const{t:e}=at(),t=yr(o=>o.theme),n=yr(o=>o.lang),r=yr(o=>o.setTheme),i=yr(o=>o.setLang);return y.jsxs(y.Fragment,{children:[y.jsxs(vo,{value:n,onValueChange:o=>i(o),children:[y.jsx(pi,{className:"h-7 w-16 sm:w-20 text-xs","aria-label":e("lang.label"),children:y.jsx(xo,{})}),y.jsxs(mi,{children:[y.jsx(bn,{value:"en",children:e("lang.en")}),y.jsx(bn,{value:"zh",children:e("lang.zh")})]})]}),y.jsxs(vo,{value:t,onValueChange:o=>r(o),children:[y.jsx(pi,{className:"h-7 w-16 text-xs sm:w-28","aria-label":e("theme.label"),children:y.jsx(xo,{})}),y.jsxs(mi,{children:[y.jsx(bn,{value:"system",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx($y,{className:"h-4 w-4"})," ",e("theme.system")]})}),y.jsx(bn,{value:"light",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx(Yy,{className:"h-4 w-4"})," ",e("theme.light")]})}),y.jsx(bn,{value:"dark",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx(Wy,{className:"h-4 w-4"})," ",e("theme.dark")]})})]})]})]})}function iD(e){const[t,n]=g.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches);return g.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),i=o=>n(o.matches);return n(r.matches),r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[e]),t}function oD(){return iD("(min-width: 640px)")}const aD=[{to:"/",i18nKey:"nav.chat",mounted:!0},{to:"/tasks",i18nKey:"nav.tasks",mounted:!0},{to:"/approvals",i18nKey:"nav.approvals",mounted:!0},{to:"/reminders",i18nKey:"nav.reminders",mounted:!0},{to:"/memos",i18nKey:"nav.memos",mounted:!0},{to:"/memory",i18nKey:"nav.memory",mounted:!0},{to:"/workspace",i18nKey:"nav.workspace",mounted:!0},{to:"/observability",i18nKey:"nav.observability",mounted:!0},{to:"/settings",i18nKey:"nav.settings",mounted:!0}];function lm({children:e}){const{t}=at(),n=oD(),r=y.jsx("nav",{className:ve("flex flex-1 min-w-0 items-center gap-1","overflow-x-auto scrollbar-thin","[&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-thumb]:bg-border"),"aria-label":t("appName"),children:aD.filter(i=>i.mounted).map(i=>y.jsx(Xl,{to:i.to,end:i.to==="/",className:({isActive:o})=>ve("shrink-0 rounded-md px-2.5 py-1.5 text-sm no-underline","transition-colors tap-target",o?"bg-accent-bg text-accent font-medium":"text-text-dim hover:bg-surface-hover hover:text-text"),children:t(i.i18nKey)},i.to))});return y.jsxs("header",{className:ve("sticky top-0 z-20","flex flex-col sm:flex-row sm:items-center sm:gap-3","border-b border-border bg-surface","pt-safe","shadow-sm"),children:[y.jsxs("div",{className:ve("flex items-center gap-2 sm:gap-3","overflow-x-hidden","px-3 sm:px-4 py-2 sm:py-2","sm:flex-1 sm:min-w-0"),children:[y.jsxs(Xl,{to:"/",className:"flex shrink-0 items-center gap-1 text-md font-semibold no-underline",end:!0,children:[y.jsx("span",{"aria-hidden":"true",children:"🤖"}),y.jsx("span",{className:"hidden sm:inline",children:t("appName")})]}),n&&y.jsx("div",{className:"flex flex-1 min-w-0",children:r}),e&&y.jsx("div",{className:"flex items-center gap-2",children:e}),y.jsx("div",{className:"flex shrink-0 items-center gap-2",children:y.jsx(rD,{})})]}),!n&&y.jsx("div",{className:"border-t border-border px-3 py-1",children:r})]})}const sD={open:"bg-success",connecting:"bg-warning animate-pulse",closed:"bg-text-muted",error:"bg-danger"};function lD(){const{t:e}=at(),{state:t,send:n,switchAgent:r,approvalClick:i,choiceSubmit:o,newConversation:a,clearError:s}=TC(),[l,c]=g.useState(""),[u,d]=g.useState(!1),[h,f]=g.useState(""),m=g.useRef(null),p=g.useRef(null),b=e(`chat.status.${t.status}`,{defaultValue:t.status});g.useEffect(()=>{if(!m.current)return;const w=m.current;!(w.scrollHeight-w.scrollTop-w.clientHeight<200)&&t.currentReplyId==null||requestAnimationFrame(()=>{w.scrollTop=w.scrollHeight})},[t.messages,t.currentReplyId]),g.useEffect(()=>{t.error&&(H_(t.error)?(f(t.error),d(!0)):Je.error(t.error),s())},[t.error,s]);function v(w){w?.preventDefault();const E=l.trim();if(E){if(t.status!=="open"){Je.error(e("chat.notConnected",{defaultValue:"Not connected. Reconnecting…"}));return}n(E),c(""),requestAnimationFrame(()=>p.current?.focus())}}function x(w){w.nativeEvent.isComposing||w.keyCode===229||w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),v())}return y.jsxs("div",{className:"flex h-dvh flex-col bg-bg",children:[y.jsxs(lm,{children:[y.jsx("span",{className:ve("inline-block h-2 w-2 rounded-full",sD[t.status]),title:b}),y.jsx("span",{className:"hidden text-xs text-text-dim sm:inline",children:b}),y.jsxs(et,{variant:"ghost",size:"sm",onClick:()=>{a(),Je.success(e("chat.newConvToast",{defaultValue:"Started a new conversation"})),requestAnimationFrame(()=>p.current?.focus())},disabled:t.status!=="open",title:e("chat.newConvHint",{defaultValue:"Clear messages and start a fresh session"}),"aria-label":e("chat.newConv",{defaultValue:"New conversation"}),children:[y.jsx(Ky,{className:"h-4 w-4"}),y.jsx("span",{className:"hidden text-xs sm:inline",children:e("chat.newConv",{defaultValue:"New"})})]}),y.jsx(U_,{agents:t.agents,value:t.agent,onChange:r})]}),y.jsx(J_,{open:u,reason:h,onOpenChange:d,onConfigured:()=>r("agim")}),y.jsx("div",{ref:m,className:"flex-1 overflow-y-auto",children:y.jsxs("div",{className:"mx-auto flex max-w-3xl flex-col gap-2 px-3 py-3 sm:px-4",children:[t.messages.length===0&&t.status==="open"&&y.jsxs("div",{className:"flex flex-col items-center gap-2 py-16 text-center",children:[y.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-surface-2 text-2xl",children:"💬"}),y.jsx("h2",{className:"text-base font-semibold",children:e("chat.welcomeTitle",{defaultValue:"Start a conversation"})}),y.jsx("p",{className:"max-w-md text-sm text-text-dim",children:e("chat.welcomeBody",{defaultValue:"Type a message to ask the active agent. Use the agent dropdown to switch."})})]}),t.messages.length===0&&t.status!=="open"&&y.jsxs("div",{className:"grid place-items-center py-16 text-center",children:[y.jsx(Hy,{className:"h-10 w-10 text-text-muted"}),y.jsx("p",{className:"mt-3 text-sm text-text-dim",children:t.status==="connecting"?e("chat.connecting",{defaultValue:"Connecting to agim…"}):e("chat.disconnected",{defaultValue:"Disconnected. Reconnecting automatically; you can keep typing."})})]}),t.messages.filter(w=>!w.approval).map(w=>y.jsx(AL,{msg:w,onApprove:(E,P,C)=>i(E,P,C)},w.id))]})}),y.jsx(PL,{approvals:t.pendingApprovals,onApprove:(w,E,P)=>i(w,E,P)}),y.jsx(NL,{asks:t.pendingAsks,onSubmit:(w,E)=>o(w,E)}),y.jsxs("form",{onSubmit:v,className:"sticky bottom-0 border-t border-border bg-surface px-4 py-2 pb-safe sm:px-6",children:[y.jsxs("div",{className:"mx-auto flex max-w-3xl items-end gap-2",children:[y.jsx("textarea",{ref:p,value:l,onChange:w=>c(w.target.value),onKeyDown:x,placeholder:e("chat.inputPlaceholder",{defaultValue:"Message… (Enter sends, Shift+Enter newlines)"}),rows:1,className:ve("flex-1 resize-none rounded-md border border-border bg-bg","px-3 py-1.5 text-sm leading-5","focus:outline-none focus:ring-2 focus:ring-accent focus:ring-offset-1 focus:ring-offset-bg","max-h-32 min-h-8")}),y.jsx(et,{type:"submit",disabled:!l.trim()||t.status!=="open","aria-label":e("chat.send",{defaultValue:"Send"}),className:"h-8 w-8 p-0",children:y.jsx(Qy,{className:"h-4 w-4"})})]}),t.currentReplyId&&y.jsx("div",{className:"mx-auto mt-2 flex max-w-3xl items-center gap-2",children:y.jsx(it,{variant:"info",children:e("chat.streaming",{defaultValue:"… streaming"})})})]})]})}function cD(){const{t:e}=at(),t=un();return y.jsxs("div",{className:"flex min-h-dvh flex-col bg-bg",children:[y.jsx(lm,{}),y.jsx("main",{className:"grid flex-1 place-items-center px-4 py-8 pb-safe",children:y.jsxs("div",{className:"flex max-w-md flex-col items-center gap-3 text-center",children:[y.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-surface-2 text-text-dim",children:y.jsx(By,{className:"h-6 w-6"})}),y.jsx("div",{className:"text-6xl font-bold tracking-tight text-text-muted",children:"404"}),y.jsx("h1",{className:"text-xl font-semibold",children:e("notFound.title",{defaultValue:"Nothing here."})}),y.jsx("p",{className:"text-sm text-text-dim",children:e("notFound.description",{defaultValue:"The page you're looking for doesn't exist."})}),y.jsx("code",{className:"rounded bg-surface-2 px-2 py-0.5 text-xs text-text-muted",children:t.pathname}),y.jsx(et,{asChild:!0,className:"mt-2",children:y.jsx(Es,{to:"/",children:e("actions.back")})})]})})]})}function nn(e){return async()=>{const n=(await e()).default;return{element:y.jsx(Fd,{children:y.jsx(n,{})})}}}function Ee(e){return async()=>{const n=(await e()).default;return{element:y.jsx(n,{})}}}const uD=Xg([{path:"/login",element:y.jsx(dx,{})},{path:"/",element:y.jsx(Fd,{children:y.jsx(lD,{})})},{path:"/tasks",lazy:nn(()=>fe(()=>import("./layout--XsfZzpI.js"),__vite__mapDeps([2,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"jobs",replace:!0})},{path:"jobs",lazy:Ee(()=>fe(()=>import("./jobs-CpuY6G8D.js"),__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])))},{path:"subtasks",lazy:Ee(()=>fe(()=>import("./subtasks-D58R9C_Z.js"),__vite__mapDeps([19,1,4,5,6,7,8,9,14,15,16])))},{path:"bgjobs",lazy:Ee(()=>fe(()=>import("./bgjobs-Daya2BMh.js"),__vite__mapDeps([20,1,4,5,6,7,8,9,15,16])))},{path:"schedules",lazy:Ee(()=>fe(()=>import("./schedules-Brp1Fomd.js"),__vite__mapDeps([21,1,4,5,6,7,8,15,16])))},{path:"outbox",lazy:Ee(()=>fe(()=>import("./outbox-O1lzMZPk.js"),__vite__mapDeps([22,1,4,5,6,7,8,9,13,15,16])))},{path:"a2a",lazy:Ee(()=>fe(()=>import("./a2a-Dnc-MHI-.js"),__vite__mapDeps([23,1,4,5,6,7,8,9,14,15,16])))},{path:"heartbeat",lazy:Ee(()=>fe(()=>import("./heartbeat-BF_rPcKb.js"),__vite__mapDeps([24,1,5,25,26,15,16,27])))},{path:"goals",lazy:Ee(()=>fe(()=>import("./goals-DX_RjDAM.js"),__vite__mapDeps([28,1,5,25,15,16,29,17])))},{path:"asks",lazy:Ee(()=>fe(()=>import("./asks-nKwuDJpD.js"),__vite__mapDeps([30,5,1,25,15,16,17])))},{path:"plans",lazy:Ee(()=>fe(()=>import("./plans-D8RZ9aXq.js"),__vite__mapDeps([31,1,5,25,15,16,12,32,17,29])))}]},{path:"/approvals",lazy:nn(()=>fe(()=>import("./approvals-KCd1BSvN.js"),__vite__mapDeps([33,1,6,14,15,16])))},{path:"/reminders",lazy:nn(()=>fe(()=>import("./reminders-BR6noe6I.js"),__vite__mapDeps([34,1,4,5,6,7,8,9,13,32,15,16,35])))},{path:"/memos",lazy:nn(()=>fe(()=>import("./memos-C38YN2Rf.js"),__vite__mapDeps([36,1,4,5,6,7,8,13,12,37,16,38,39])))},{path:"/memory",lazy:nn(()=>fe(()=>import("./layout-DdbuRh8P.js"),__vite__mapDeps([40,41,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"facts",replace:!0})},{path:"facts",lazy:Ee(()=>fe(()=>import("./facts-B9PlO3xo.js"),__vite__mapDeps([42,1,4,5,6,7,8,10,11,12,13,41,37,43,15,16,38])))},{path:"persona",lazy:Ee(()=>fe(()=>import("./persona-CI4tkm_n.js"),__vite__mapDeps([44,1,6,13,41,43,15,16,27,45,17,37])))},{path:"distill",lazy:Ee(()=>fe(()=>import("./distill-DxSq7g_8.js"),__vite__mapDeps([46,1,47,15,48,41,16,27])))},{path:"vector",lazy:Ee(()=>fe(()=>import("./vector-B3h4iyfn.js"),__vite__mapDeps([49,1,47,41,15,48,50,13,6,17,16,27,51,37,45])))},{path:"skills",element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})}]},{path:"/skills",children:[{index:!0,element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})},{path:"installed",element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})},{path:"hot",element:y.jsx(Ot,{to:"/settings/agim-skills/hot",replace:!0})}]},{path:"/workspace",lazy:nn(()=>fe(()=>import("./workspace-BvrXvliN.js"),__vite__mapDeps([52,1,6,53,15,16])))},{path:"/observability",lazy:nn(()=>fe(()=>import("./layout-Pxfmfh_2.js"),__vite__mapDeps([54,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"health",replace:!0})},{path:"health",lazy:Ee(()=>fe(()=>import("./health-BAcwcy02.js"),__vite__mapDeps([55,1,6,5,56,15,16,57])))},{path:"topn",lazy:Ee(()=>fe(()=>import("./topn-DDxDNIZf.js"),__vite__mapDeps([58,6,5,1,56,15,16])))},{path:"audit",lazy:Ee(()=>fe(()=>import("./audit-Bf4Yv1or.js"),__vite__mapDeps([59,1,4,5,6,7,8,56,15,16,57])))}]},{path:"/settings",lazy:nn(()=>fe(()=>import("./layout-BROGs5wv.js"),__vite__mapDeps([60,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"messengers",replace:!0})},{path:"messengers",lazy:Ee(()=>fe(()=>import("./messengers-l74nqYZF.js"),__vite__mapDeps([61,1,47,15,16,48,62])))},{path:"email",lazy:Ee(()=>fe(()=>import("./email-Dkqwudqq.js"),__vite__mapDeps([63,1,47,15,17,29,16,50,48])))},{path:"viewer",lazy:Ee(()=>fe(()=>import("./viewer-Bz3wL-99.js"),__vite__mapDeps([64,1,47,50,15,16,29,65,48,39])))},{path:"agents",lazy:Ee(()=>fe(()=>import("./agents-Be4IUCYz.js"),__vite__mapDeps([66,1,6,53,47,15,16,48,67,38,68,37])))},{path:"policy",lazy:Ee(()=>fe(()=>import("./policy-BodrOHl5.js"),__vite__mapDeps([69,47,15,16,1])))},{path:"security",lazy:Ee(()=>fe(()=>import("./security-DWxWfpuX.js"),__vite__mapDeps([70,1,47,15,16,71,29])))},{path:"service",lazy:Ee(()=>fe(()=>import("./service-Bo9rkfQX.js"),__vite__mapDeps([72,1,13,47,15,16,27,67,48])))},{path:"admins",lazy:Ee(()=>fe(()=>import("./admins-C7MdDEF0.js"),__vite__mapDeps([73,1,13,6,5,47,15,16,37])))},{path:"workspaces",lazy:Ee(()=>fe(()=>import("./workspaces-0H6Dzz6N.js"),__vite__mapDeps([74,1,6,5,47,15,16,18,48])))},{path:"llm",lazy:Ee(()=>fe(()=>import("./llm-IXFv_MMM.js"),__vite__mapDeps([75,1,5,47,15,16,48,67,71,35,26,37,68])))},{path:"mcp",lazy:Ee(()=>fe(()=>import("./mcp-jqsjSumH.js"),__vite__mapDeps([76,1,5,15,16,57,37,68])))},{path:"native-agent",element:y.jsx(Ot,{to:"/settings/llm",replace:!0})},{path:"search",lazy:Ee(()=>fe(()=>import("./search-nk8nyLFI.js"),__vite__mapDeps([77,1,47,15,16,48,7,8,29,17])))},{path:"mobile",lazy:Ee(()=>fe(()=>import("./mobile-CHhYS0Tw.js"),__vite__mapDeps([78,1,15,16,62,50,79,71])))},{path:"agim-skills",lazy:Ee(()=>fe(()=>import("./layout-BezPqRLV.js"),__vite__mapDeps([80,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"installed",replace:!0})},{path:"installed",lazy:Ee(()=>fe(()=>import("./installed-D8VzYRBe.js"),__vite__mapDeps([81,1,82,15,16,38,12,37,48])))},{path:"hot",lazy:Ee(()=>fe(()=>import("./hot-XOCA1xAY.js"),__vite__mapDeps([83,1,6,65,15,16,38,51,79])))},{path:"injection",lazy:Ee(()=>fe(()=>import("./injection-ecvQ-6Ya.js"),__vite__mapDeps([84,1,82,15,16,79,48,37])))}]}]},{path:"/m/chat",lazy:nn(()=>fe(()=>import("./chat-BhnNXkIJ.js"),__vite__mapDeps([85,1,11,8,15,57])))},{path:"*",element:y.jsx(cD,{})}]);function dD(){return y.jsx($b,{children:y.jsx(oy,{router:uD})})}const fD=new gv({defaultOptions:{queries:{staleTime:3e4,gcTime:5*6e4,retry:1,retryDelay:e=>Math.min(1e3*2**e,8e3),refetchOnWindowFocus:!1,refetchOnReconnect:!0},mutations:{retry:0}}});var[Go]=xi("Tooltip",[Ho]),Rl=Ho(),cm="TooltipProvider",hD=700,yd="tooltip.open",[pD,um]=Go(cm),dm=e=>{const{__scopeTooltip:t,delayDuration:n=hD,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:o}=e,a=g.useRef(!0),s=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),y.jsx(pD,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:g.useCallback(()=>{r<=0||(window.clearTimeout(l.current),a.current=!1)},[r]),onClose:g.useCallback(()=>{r<=0||(window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:g.useCallback(c=>{s.current=c},[]),disableHoverableContent:i,children:o})};dm.displayName=cm;var fm="Tooltip",[qD,Yo]=Go(fm),vs="TooltipTrigger",mD=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Yo(vs,n),o=um(vs,n),a=Rl(n),s=g.useRef(null),l=$e(t,s,i.onTriggerChange),c=g.useRef(!1),u=g.useRef(!1),d=g.useCallback(()=>c.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),y.jsx(ip,{asChild:!0,...a,children:y.jsx(De.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:Oe(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!o.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:Oe(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:Oe(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Oe(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Oe(e.onBlur,i.onClose),onClick:Oe(e.onClick,i.onClose)})})});mD.displayName=vs;var gD="TooltipPortal",[QD,yD]=Go(gD,{forceMount:void 0}),Tr="TooltipContent",hm=g.forwardRef((e,t)=>{const n=yD(Tr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...o}=e,a=Yo(Tr,e.__scopeTooltip);return y.jsx(jr,{present:r||a.open,children:a.disableHoverableContent?y.jsx(pm,{side:i,...o,ref:t}):y.jsx(bD,{side:i,...o,ref:t})})}),bD=g.forwardRef((e,t)=>{const n=Yo(Tr,e.__scopeTooltip),r=um(Tr,e.__scopeTooltip),i=g.useRef(null),o=$e(t,i),[a,s]=g.useState(null),{trigger:l,onClose:c}=n,u=i.current,{onPointerInTransitChange:d}=r,h=g.useCallback(()=>{s(null),d(!1)},[d]),f=g.useCallback((m,p)=>{const b=m.currentTarget,v={x:m.clientX,y:m.clientY},x=SD(v,b.getBoundingClientRect()),w=AD(v,x),E=CD(p.getBoundingClientRect()),P=RD([...w,...E]);s(P),d(!0)},[d]);return g.useEffect(()=>()=>h(),[h]),g.useEffect(()=>{if(l&&u){const m=b=>f(b,u),p=b=>f(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",p),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",p)}}},[l,u,f,h]),g.useEffect(()=>{if(a){const m=p=>{const b=p.target,v={x:p.clientX,y:p.clientY},x=l?.contains(b)||u?.contains(b),w=!ED(v,a);x?h():w&&(h(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,c,h]),y.jsx(pm,{...e,ref:o})}),[vD,xD]=Go(fm,{isInside:!1}),wD=tb("TooltipContent"),pm=g.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:o,onPointerDownOutside:a,...s}=e,l=Yo(Tr,n),c=Rl(n),{onClose:u}=l;return g.useEffect(()=>(document.addEventListener(yd,u),()=>document.removeEventListener(yd,u)),[u]),g.useEffect(()=>{if(l.trigger){const d=h=>{h.target instanceof Node&&h.target.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),y.jsx(Do,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:y.jsxs(op,{"data-state":l.stateAttribute,...c,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[y.jsx(wD,{children:r}),y.jsx(vD,{scope:n,isInside:!0,children:y.jsx(TN,{id:l.contentId,role:"tooltip",children:i||r})})]})})});hm.displayName=Tr;var mm="TooltipArrow",kD=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Rl(n);return xD(mm,n).isInside?null:y.jsx(ap,{...i,...r,ref:t})});kD.displayName=mm;function SD(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,i,o)){case o:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function AD(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function CD(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ED(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;o<t.length;a=o++){const s=t[o],l=t[a],c=s.x,u=s.y,d=l.x,h=l.y;u>r!=h>r&&n<(d-c)*(r-u)/(h-u)+c&&(i=!i)}return i}function RD(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),TD(t)}function TD(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var PD=dm,gm=hm;const ID=PD,LD=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>y.jsx(gm,{ref:r,sideOffset:t,className:ve("z-50 overflow-hidden rounded-md","bg-text text-bg px-2 py-1 text-xs font-medium shadow-md","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=delayed-open]:zoom-in-95",e),...n}));LD.displayName=gm.displayName;function OD(e){return y.jsx(tx,{position:"top-center",richColors:!0,closeButton:!0,toastOptions:{classNames:{toast:"border border-border bg-surface text-text shadow-md",title:"font-medium",description:"text-text-dim text-sm",actionButton:"bg-accent text-accent-fg rounded-md",cancelButton:"bg-surface-2 text-text rounded-md",error:"bg-danger-bg text-danger border-danger",success:"bg-success-bg text-success border-success",warning:"bg-warning-bg text-warning border-warning",info:"bg-info-bg text-info border-info"}},...e})}function ND({children:e}){const t=yr(r=>r.lang),{i18n:n}=at();return g.useEffect(()=>{n.language!==t&&SC(t)},[t,n]),y.jsx(y.Fragment,{children:e})}function _D({children:e}){return nD(),y.jsx(y.Fragment,{children:e})}function DD({children:e}){return g.useEffect(()=>by(),[]),y.jsx(y.Fragment,{children:e})}function MD({children:e}){return y.jsx(yv,{client:fD,children:y.jsx(ND,{children:y.jsx(_D,{children:y.jsx(DD,{children:y.jsxs(ID,{children:[e,y.jsx(OD,{})]})})})})})}const ym=document.getElementById("root");if(!ym)throw new Error("agim: #root not found in index.html");Pa.createRoot(ym).render(y.jsx(W.StrictMode,{children:y.jsx(MD,{children:y.jsx(dD,{})})}));export{fl as $,jL as A,et as B,$d as C,Y_ as D,vr as E,Oe as F,$e as G,UL as H,gr as I,fs as J,Zn as K,zn as L,yN as M,Xl as N,FD as O,De as P,ip as Q,qy as R,vo as S,lm as T,Ho as U,jr as V,dl as W,Jy as X,up as Y,sx as Z,Mh as _,En as a,tl as a0,Do as a1,op as a2,Sr as a3,ap as a4,Zy as a5,B_ as a6,BD as a7,Ki as a8,Wa as a9,Uy as aa,Qy as ab,HD as ac,zD as ad,z_ as ae,$D as af,KD as ag,WD as ah,VD as ai,TC as aj,H_ as ak,J_ as al,AL as am,PL as an,U_ as ao,cf as b,ve as c,ix as d,Rn as e,fy as f,pi as g,xo as h,mi as i,y as j,bn as k,it as l,Je as m,ox as n,ct as o,K as p,Xy as q,Fy as r,Gy as s,nm as t,at as u,rm as v,om as w,am as x,im as y,xi as z};
209
- //# sourceMappingURL=index-CzlhMSb2.js.map
208
+ `)},u_=0,pr=[];function d_(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(u_++)[0],o=g.useState(pp)[0],a=g.useRef(e);g.useEffect(function(){a.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var p=ON([e.lockRef.current],(e.shards||[]).map(fd),!0).filter(Boolean);return p.forEach(function(b){return b.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),p.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var s=g.useCallback(function(p,b){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!a.current.allowPinchZoom;var v=Bi(p),x=n.current,w="deltaX"in p?p.deltaX:x[0]-v[0],E="deltaY"in p?p.deltaY:x[1]-v[1],P,C=p.target,k=Math.abs(w)>Math.abs(E)?"h":"v";if("touches"in p&&k==="h"&&C.type==="range")return!1;var O=window.getSelection(),M=O&&O.anchorNode,R=M?M===C||M.contains(C):!1;if(R)return!1;var _=ud(k,C);if(!_)return!0;if(_?P=k:(P=k==="v"?"h":"v",_=ud(k,C)),!_)return!1;if(!r.current&&"changedTouches"in p&&(w||E)&&(r.current=P),!P)return!0;var L=r.current||P;return s_(L,b,p,L==="h"?w:E)},[]),l=g.useCallback(function(p){var b=p;if(!(!pr.length||pr[pr.length-1]!==o)){var v="deltaY"in b?dd(b):Bi(b),x=t.current.filter(function(P){return P.name===b.type&&(P.target===b.target||b.target===P.shadowParent)&&l_(P.delta,v)})[0];if(x&&x.should){b.cancelable&&b.preventDefault();return}if(!x){var w=(a.current.shards||[]).map(fd).filter(Boolean).filter(function(P){return P.contains(b.target)}),E=w.length>0?s(b,w[0]):!a.current.noIsolation;E&&b.cancelable&&b.preventDefault()}}},[]),c=g.useCallback(function(p,b,v,x){var w={name:p,delta:b,target:v,should:x,shadowParent:f_(v)};t.current.push(w),setTimeout(function(){t.current=t.current.filter(function(E){return E!==w})},1)},[]),u=g.useCallback(function(p){n.current=Bi(p),r.current=void 0},[]),d=g.useCallback(function(p){c(p.type,dd(p),p.target,s(p,e.lockRef.current))},[]),h=g.useCallback(function(p){c(p.type,Bi(p),p.target,s(p,e.lockRef.current))},[]);g.useEffect(function(){return pr.push(o),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:h}),document.addEventListener("wheel",l,hr),document.addEventListener("touchmove",l,hr),document.addEventListener("touchstart",u,hr),function(){pr=pr.filter(function(p){return p!==o}),document.removeEventListener("wheel",l,hr),document.removeEventListener("touchmove",l,hr),document.removeEventListener("touchstart",u,hr)}},[]);var f=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(o,{styles:c_(i)}):null,f?g.createElement(e_,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function f_(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const h_=BN(hp,d_);var fl=g.forwardRef(function(e,t){return g.createElement(Bo,Wt({},e,{ref:t,sideCar:h_}))});fl.classNames=Bo.classNames;var p_=[" ","Enter","ArrowUp","ArrowDown"],m_=[" ","Enter"],tr="Select",[zo,$o,g_]=jL(tr),[rr]=xi(tr,[g_,Ho]),Vo=Ho(),[y_,Pn]=rr(tr),[b_,v_]=rr(tr),x_="SelectProvider";function bp(e){const{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:o,value:a,defaultValue:s,onValueChange:l,dir:c,name:u,autoComplete:d,disabled:h,required:f,form:m,internal_do_not_use_render:p}=e,b=Vo(t),[v,x]=g.useState(null),[w,E]=g.useState(null),[P,C]=g.useState(!1),k=UL(c),[O,M]=fs({prop:r,defaultProp:i??!1,onChange:o,caller:tr}),[R,_]=fs({prop:a,defaultProp:s,onChange:l,caller:tr}),L=g.useRef(null),z=v?!!m||!!v.closest("form"):!0,[U,$]=g.useState(new Set),G=vr(),Y=Array.from(U).map(ie=>ie.props.value).join(";"),V=g.useCallback(ie=>{$(Z=>new Set(Z).add(ie))},[]),F=g.useCallback(ie=>{$(Z=>{const A=new Set(Z);return A.delete(ie),A})},[]),S={required:f,trigger:v,onTriggerChange:x,valueNode:w,onValueNodeChange:E,valueNodeHasChildren:P,onValueNodeHasChildrenChange:C,contentId:G,value:R,onValueChange:_,open:O,onOpenChange:M,dir:k,triggerPointerDownPosRef:L,disabled:h,name:u,autoComplete:d,form:m,nativeOptions:U,nativeSelectKey:Y,isFormControl:z};return y.jsx(yN,{...b,children:y.jsx(y_,{scope:t,...S,children:y.jsx(zo.Provider,{scope:t,children:y.jsx(b_,{scope:t,onNativeOptionAdd:V,onNativeOptionRemove:F,children:D_(p)?p(S):n})})})})}bp.displayName=x_;var vp=e=>{const{__scopeSelect:t,children:n,...r}=e;return y.jsx(bp,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:i})=>y.jsxs(y.Fragment,{children:[n,i?y.jsx(Hp,{__scopeSelect:t}):null]})})};vp.displayName=tr;var xp="SelectTrigger",hl=g.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...i}=e,o=Vo(n),a=Pn(xp,n),s=a.disabled||r,l=$e(t,a.onTriggerChange),c=$o(n),u=g.useRef("touch"),[d,h,f]=Bp(p=>{const b=c().filter(w=>!w.disabled),v=b.find(w=>w.value===a.value),x=zp(b,p,v);x!==void 0&&a.onValueChange(x.value)}),m=p=>{s||(a.onOpenChange(!0),f()),p&&(a.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return y.jsx(ip,{asChild:!0,...o,children:y.jsx(De.button,{type:"button",role:"combobox","aria-controls":a.open?a.contentId:void 0,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":Ko(a.value)?"":void 0,...i,ref:l,onClick:Oe(i.onClick,p=>{p.currentTarget.focus(),u.current!=="mouse"&&m(p)}),onPointerDown:Oe(i.onPointerDown,p=>{u.current=p.pointerType;const b=p.target;b.hasPointerCapture(p.pointerId)&&b.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(m(p),p.preventDefault())}),onKeyDown:Oe(i.onKeyDown,p=>{const b=d.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&h(p.key),!(b&&p.key===" ")&&p_.includes(p.key)&&(m(),p.preventDefault())})})})});hl.displayName=xp;var wp="SelectValue",kp=g.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,children:o,placeholder:a="",...s}=e,l=Pn(wp,n),{onValueNodeHasChildrenChange:c}=l,u=o!==void 0,d=$e(t,l.onValueNodeChange);ot(()=>{c(u)},[c,u]);const h=Ko(l.value);return y.jsx(De.span,{...s,asChild:h?!1:s.asChild,ref:d,style:{pointerEvents:"none"},children:y.jsx(g.Fragment,{children:h?a:o},h?"placeholder":"value")})});kp.displayName=wp;var w_="SelectIcon",Sp=g.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...i}=e;return y.jsx(De.span,{"aria-hidden":!0,...i,ref:t,children:r||"▼"})});Sp.displayName=w_;var Ap="SelectPortal",[k_,S_]=rr(Ap,{forceMount:void 0}),Cp=e=>{const{__scopeSelect:t,forceMount:n,...r}=e;return y.jsx(k_,{scope:e.__scopeSelect,forceMount:n,children:y.jsx(dl,{asChild:!0,...r})})};Cp.displayName=Ap;var An="SelectContent",pl=g.forwardRef((e,t)=>{const n=S_(An,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,o=Pn(An,e.__scopeSelect),[a,s]=g.useState();return ot(()=>{s(new DocumentFragment)},[]),y.jsx(jr,{present:r||o.open,children:({present:l})=>l?y.jsx(Tp,{...i,ref:t}):y.jsx(Ep,{...i,fragment:a})})});pl.displayName=An;var Ep=g.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,fragment:i}=e;return i?Pr.createPortal(y.jsx(Rp,{scope:n,children:y.jsx(zo.Slot,{scope:n,children:y.jsx("div",{ref:t,children:r})})}),i):null});Ep.displayName="SelectContentFragment";var Nt=10,[Rp,In]=rr(An),A_="SelectContentImpl",C_=Sr("SelectContent.RemoveScroll"),Tp=g.forwardRef((e,t)=>{const{__scopeSelect:n}=e,{position:r="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:o,onPointerDownOutside:a,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:d,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:b,...v}=e,x=Pn(An,n),[w,E]=g.useState(null),[P,C]=g.useState(null),k=$e(t,q=>E(q)),[O,M]=g.useState(null),[R,_]=g.useState(null),L=$o(n),[z,U]=g.useState(!1),$=g.useRef(!1);g.useEffect(()=>{if(w)return up(w)},[w]),Mh();const G=g.useCallback(q=>{const[he,...Pe]=L().map(pe=>pe.ref.current),[xe]=Pe.slice(-1),ke=document.activeElement;for(const pe of q)if(pe===ke||(pe?.scrollIntoView({block:"nearest"}),pe===he&&P&&(P.scrollTop=0),pe===xe&&P&&(P.scrollTop=P.scrollHeight),pe?.focus(),document.activeElement!==ke))return},[L,P]),Y=g.useCallback(()=>G([O,w]),[G,O,w]);g.useEffect(()=>{z&&Y()},[z,Y]);const{onOpenChange:V,triggerPointerDownPosRef:F}=x;g.useEffect(()=>{if(w){let q={x:0,y:0};const he=xe=>{q={x:Math.abs(Math.round(xe.pageX)-(F.current?.x??0)),y:Math.abs(Math.round(xe.pageY)-(F.current?.y??0))}},Pe=xe=>{q.x<=10&&q.y<=10?xe.preventDefault():xe.composedPath().includes(w)||V(!1),document.removeEventListener("pointermove",he),F.current=null};return F.current!==null&&(document.addEventListener("pointermove",he),document.addEventListener("pointerup",Pe,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",he),document.removeEventListener("pointerup",Pe,{capture:!0})}}},[w,V,F]),g.useEffect(()=>{const q=()=>V(!1);return window.addEventListener("blur",q),window.addEventListener("resize",q),()=>{window.removeEventListener("blur",q),window.removeEventListener("resize",q)}},[V]);const[S,ie]=Bp(q=>{const he=L().filter(ke=>!ke.disabled),Pe=he.find(ke=>ke.ref.current===document.activeElement),xe=zp(he,q,Pe);xe&&setTimeout(()=>xe.ref.current?.focus())}),Z=g.useCallback((q,he,Pe)=>{const xe=!$.current&&!Pe;(x.value!==void 0&&x.value===he||xe)&&(M(q),xe&&($.current=!0))},[x.value]),A=g.useCallback(()=>w?.focus(),[w]),ae=g.useCallback((q,he,Pe)=>{const xe=!$.current&&!Pe;(x.value!==void 0&&x.value===he||xe)&&_(q)},[x.value]),me=r==="popper"?ps:Pp,be=me===ps?{side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:d,collisionBoundary:h,collisionPadding:f,sticky:m,hideWhenDetached:p,avoidCollisions:b}:{};return y.jsx(Rp,{scope:n,content:w,viewport:P,onViewportChange:C,itemRefCallback:Z,selectedItem:O,onItemLeave:A,itemTextRefCallback:ae,focusSelectedItem:Y,selectedItemText:R,position:r,isPositioned:z,searchRef:S,children:y.jsx(fl,{as:C_,allowPinchZoom:!0,children:y.jsx(tl,{asChild:!0,trapped:x.open,onMountAutoFocus:q=>{q.preventDefault()},onUnmountAutoFocus:Oe(i,q=>{x.trigger?.focus({preventScroll:!0}),q.preventDefault()}),children:y.jsx(Do,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:q=>q.preventDefault(),onDismiss:()=>x.onOpenChange(!1),children:y.jsx(me,{role:"listbox",id:x.contentId,"data-state":x.open?"open":"closed",dir:x.dir,onContextMenu:q=>q.preventDefault(),...v,...be,onPlaced:()=>U(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:Oe(v.onKeyDown,q=>{const he=q.ctrlKey||q.altKey||q.metaKey;if(q.key==="Tab"&&q.preventDefault(),!he&&q.key.length===1&&ie(q.key),["ArrowUp","ArrowDown","Home","End"].includes(q.key)){let xe=L().filter(ke=>!ke.disabled).map(ke=>ke.ref.current);if(["ArrowUp","End"].includes(q.key)&&(xe=xe.slice().reverse()),["ArrowUp","ArrowDown"].includes(q.key)){const ke=q.target,pe=xe.indexOf(ke);xe=xe.slice(pe+1)}setTimeout(()=>G(xe)),q.preventDefault()}})})})})})})});Tp.displayName=A_;var E_="SelectItemAlignedPosition",Pp=g.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...i}=e,o=Pn(An,n),a=In(An,n),[s,l]=g.useState(null),[c,u]=g.useState(null),d=$e(t,k=>u(k)),h=$o(n),f=g.useRef(!1),m=g.useRef(!0),{viewport:p,selectedItem:b,selectedItemText:v,focusSelectedItem:x}=a,w=g.useCallback(()=>{if(o.trigger&&o.valueNode&&s&&c&&p&&b&&v){const k=o.trigger.getBoundingClientRect(),O=c.getBoundingClientRect(),M=o.valueNode.getBoundingClientRect(),R=v.getBoundingClientRect();if(o.dir!=="rtl"){const ke=R.left-O.left,pe=M.left-ke,qe=k.left-pe,Xe=k.width+qe,Ut=Math.max(Xe,O.width),nt=window.innerWidth-Nt,Ht=zu(pe,[Nt,Math.max(Nt,nt-Ut)]);s.style.minWidth=Xe+"px",s.style.left=Ht+"px"}else{const ke=O.right-R.right,pe=window.innerWidth-M.right-ke,qe=window.innerWidth-k.right-pe,Xe=k.width+qe,Ut=Math.max(Xe,O.width),nt=window.innerWidth-Nt,Ht=zu(pe,[Nt,Math.max(Nt,nt-Ut)]);s.style.minWidth=Xe+"px",s.style.right=Ht+"px"}const _=h(),L=window.innerHeight-Nt*2,z=p.scrollHeight,U=window.getComputedStyle(c),$=parseInt(U.borderTopWidth,10),G=parseInt(U.paddingTop,10),Y=parseInt(U.borderBottomWidth,10),V=parseInt(U.paddingBottom,10),F=$+G+z+V+Y,S=Math.min(b.offsetHeight*5,F),ie=window.getComputedStyle(p),Z=parseInt(ie.paddingTop,10),A=parseInt(ie.paddingBottom,10),ae=k.top+k.height/2-Nt,me=L-ae,be=b.offsetHeight/2,q=b.offsetTop+be,he=$+G+q,Pe=F-he;if(he<=ae){const ke=_.length>0&&b===_[_.length-1].ref.current;s.style.bottom="0px";const pe=c.clientHeight-p.offsetTop-p.offsetHeight,qe=Math.max(me,be+(ke?A:0)+pe+Y),Xe=he+qe;s.style.height=Xe+"px"}else{const ke=_.length>0&&b===_[0].ref.current;s.style.top="0px";const qe=Math.max(ae,$+p.offsetTop+(ke?Z:0)+be)+Pe;s.style.height=qe+"px",p.scrollTop=he-ae+p.offsetTop}s.style.margin=`${Nt}px 0`,s.style.minHeight=S+"px",s.style.maxHeight=L+"px",r?.(),requestAnimationFrame(()=>f.current=!0)}},[h,o.trigger,o.valueNode,s,c,p,b,v,o.dir,r]);ot(()=>w(),[w]);const[E,P]=g.useState();ot(()=>{c&&P(window.getComputedStyle(c).zIndex)},[c]);const C=g.useCallback(k=>{k&&m.current===!0&&(w(),x?.(),m.current=!1)},[w,x]);return y.jsx(T_,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:f,onScrollButtonChange:C,children:y.jsx("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:y.jsx(De.div,{...i,ref:d,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})});Pp.displayName=E_;var R_="SelectPopperPosition",ps=g.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:i=Nt,...o}=e,a=Vo(n);return y.jsx(op,{...a,...o,ref:t,align:r,collisionPadding:i,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ps.displayName=R_;var[T_,ml]=rr(An,{}),ms="SelectViewport",Ip=g.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...i}=e,o=In(ms,n),a=ml(ms,n),s=$e(t,o.onViewportChange),l=g.useRef(0);return y.jsxs(y.Fragment,{children:[y.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),y.jsx(zo.Slot,{scope:n,children:y.jsx(De.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:Oe(i.onScroll,c=>{const u=c.currentTarget,{contentWrapper:d,shouldExpandOnScrollRef:h}=a;if(h?.current&&d){const f=Math.abs(l.current-u.scrollTop);if(f>0){const m=window.innerHeight-Nt*2,p=parseFloat(d.style.minHeight),b=parseFloat(d.style.height),v=Math.max(p,b);if(v<m){const x=v+f,w=Math.min(m,x),E=x-w;d.style.height=w+"px",d.style.bottom==="0px"&&(u.scrollTop=E>0?E:0,d.style.justifyContent="flex-end")}}}l.current=u.scrollTop})})})]})});Ip.displayName=ms;var Lp="SelectGroup",[P_,I_]=rr(Lp),L_=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=vr();return y.jsx(P_,{scope:n,id:i,children:y.jsx(De.div,{role:"group","aria-labelledby":i,...r,ref:t})})});L_.displayName=Lp;var Op="SelectLabel",gl=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=I_(Op,n);return y.jsx(De.div,{id:i.id,...r,ref:t})});gl.displayName=Op;var bo="SelectItem",[O_,Np]=rr(bo),yl=g.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:i=!1,textValue:o,...a}=e,s=Pn(bo,n),l=In(bo,n),c=s.value===r,[u,d]=g.useState(o??""),[h,f]=g.useState(!1),m=$e(t,x=>l.itemRefCallback?.(x,r,i)),p=vr(),b=g.useRef("touch"),v=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return y.jsx(O_,{scope:n,value:r,disabled:i,textId:p,isSelected:c,onItemTextChange:g.useCallback(x=>{d(w=>w||(x?.textContent??"").trim())},[]),children:y.jsx(zo.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:y.jsx(De.div,{role:"option","aria-labelledby":p,"data-highlighted":h?"":void 0,"aria-selected":c&&h,"data-state":c?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...a,ref:m,onFocus:Oe(a.onFocus,()=>f(!0)),onBlur:Oe(a.onBlur,()=>f(!1)),onClick:Oe(a.onClick,()=>{b.current!=="mouse"&&v()}),onPointerUp:Oe(a.onPointerUp,()=>{b.current==="mouse"&&v()}),onPointerDown:Oe(a.onPointerDown,x=>{b.current=x.pointerType}),onPointerMove:Oe(a.onPointerMove,x=>{b.current=x.pointerType,i?l.onItemLeave?.():b.current==="mouse"&&x.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Oe(a.onPointerLeave,x=>{x.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:Oe(a.onKeyDown,x=>{l.searchRef?.current!==""&&x.key===" "||(m_.includes(x.key)&&v(),x.key===" "&&x.preventDefault())})})})})});yl.displayName=bo;var ei="SelectItemText",_p=g.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:i,...o}=e,a=Pn(ei,n),s=In(ei,n),l=Np(ei,n),c=v_(ei,n),[u,d]=g.useState(null),h=$e(t,v=>d(v),l.onItemTextChange,v=>s.itemTextRefCallback?.(v,l.value,l.disabled)),f=u?.textContent,m=g.useMemo(()=>y.jsx("option",{value:l.value,disabled:l.disabled,children:f},l.value),[l.disabled,l.value,f]),{onNativeOptionAdd:p,onNativeOptionRemove:b}=c;return ot(()=>(p(m),()=>b(m)),[p,b,m]),y.jsxs(y.Fragment,{children:[y.jsx(De.span,{id:l.textId,...o,ref:h}),l.isSelected&&a.valueNode&&!a.valueNodeHasChildren&&!Ko(a.value)?Pr.createPortal(o.children,a.valueNode):null]})});_p.displayName=ei;var Dp="SelectItemIndicator",Mp=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return Np(Dp,n).isSelected?y.jsx(De.span,{"aria-hidden":!0,...r,ref:t}):null});Mp.displayName=Dp;var gs="SelectScrollUpButton",bl=g.forwardRef((e,t)=>{const n=In(gs,e.__scopeSelect),r=ml(gs,e.__scopeSelect),[i,o]=g.useState(!1),a=$e(t,r.onScrollButtonChange);return ot(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollTop>0;o(c)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?y.jsx(jp,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop-l.offsetHeight)}}):null});bl.displayName=gs;var ys="SelectScrollDownButton",vl=g.forwardRef((e,t)=>{const n=In(ys,e.__scopeSelect),r=ml(ys,e.__scopeSelect),[i,o]=g.useState(!1),a=$e(t,r.onScrollButtonChange);return ot(()=>{if(n.viewport&&n.isPositioned){let s=function(){const c=l.scrollHeight-l.clientHeight,u=Math.ceil(l.scrollTop)<c;o(u)};const l=n.viewport;return s(),l.addEventListener("scroll",s),()=>l.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),i?y.jsx(jp,{...e,ref:a,onAutoScroll:()=>{const{viewport:s,selectedItem:l}=n;s&&l&&(s.scrollTop=s.scrollTop+l.offsetHeight)}}):null});vl.displayName=ys;var jp=g.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...i}=e,o=In("SelectScrollButton",n),a=g.useRef(null),s=$o(n),l=g.useCallback(()=>{a.current!==null&&(window.clearInterval(a.current),a.current=null)},[]);return g.useEffect(()=>()=>l(),[l]),ot(()=>{s().find(u=>u.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),y.jsx(De.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:Oe(i.onPointerDown,()=>{a.current===null&&(a.current=window.setInterval(r,50))}),onPointerMove:Oe(i.onPointerMove,()=>{o.onItemLeave?.(),a.current===null&&(a.current=window.setInterval(r,50))}),onPointerLeave:Oe(i.onPointerLeave,()=>{l()})})}),N_="SelectSeparator",xl=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return y.jsx(De.div,{"aria-hidden":!0,...r,ref:t})});xl.displayName=N_;var Fp="SelectArrow",__=g.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,i=Vo(n);return In(Fp,n).position==="popper"?y.jsx(ap,{...i,...r,ref:t}):null});__.displayName=Fp;var Up="SelectBubbleInput",Hp=g.forwardRef(({__scopeSelect:e,...t},n)=>{const r=Pn(Up,e),{value:i,onValueChange:o,required:a,disabled:s,name:l,autoComplete:c,form:u}=r,{nativeOptions:d,nativeSelectKey:h}=r,f=g.useRef(null),m=$e(n,f),p=i??"",b=EN(p),v=Array.from(d).some(x=>(x.props.value??"")==="");return g.useEffect(()=>{const x=f.current;if(!x)return;const w=window.HTMLSelectElement.prototype,P=Object.getOwnPropertyDescriptor(w,"value").set;if(b!==p&&P){const C=new Event("change",{bubbles:!0});P.call(x,p),x.dispatchEvent(C)}},[b,p]),y.jsxs(De.select,{"aria-hidden":!0,required:a,tabIndex:-1,name:l,autoComplete:c,disabled:s,form:u,onChange:x=>o(x.target.value),...t,style:{...sp,...t.style},ref:m,defaultValue:p,children:[Ko(i)&&!v?y.jsx("option",{value:""}):null,Array.from(d)]},h)});Hp.displayName=Up;function D_(e){return typeof e=="function"}function Ko(e){return e===""||e===void 0}function Bp(e){const t=Zn(e),n=g.useRef(""),r=g.useRef(0),i=g.useCallback(a=>{const s=n.current+a;t(s),function l(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>l(""),1e3))}(s)},[t]),o=g.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return g.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}function zp(e,t,n){const i=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,o=n?e.indexOf(n):-1;let a=M_(e,Math.max(o,0));i.length===1&&(a=a.filter(c=>c!==n));const l=a.find(c=>c.textValue.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function M_(e,t){return e.map((n,r)=>e[(t+r)%e.length])}const vo=vp,xo=kp,pi=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(hl,{ref:r,className:ve("flex h-8 w-full items-center justify-between gap-2","rounded-md border border-border bg-surface px-3 py-1 text-sm","placeholder:text-text-muted","focus:outline-none focus:ring-2 focus:ring-accent focus:ring-offset-1 focus:ring-offset-bg","disabled:cursor-not-allowed disabled:opacity-55","[&>span]:line-clamp-1",e),...n,children:[t,y.jsx(Sp,{asChild:!0,children:y.jsx($d,{className:"h-4 w-4 opacity-60"})})]}));pi.displayName=hl.displayName;const $p=g.forwardRef(({className:e,...t},n)=>y.jsx(bl,{ref:n,className:ve("flex cursor-default items-center justify-center py-1",e),...t,children:y.jsx(Uy,{className:"h-4 w-4"})}));$p.displayName=bl.displayName;const Vp=g.forwardRef(({className:e,...t},n)=>y.jsx(vl,{ref:n,className:ve("flex cursor-default items-center justify-center py-1",e),...t,children:y.jsx($d,{className:"h-4 w-4"})}));Vp.displayName=vl.displayName;const mi=g.forwardRef(({className:e,children:t,position:n="popper",...r},i)=>y.jsx(Cp,{children:y.jsxs(pl,{ref:i,position:n,className:ve("relative z-50 max-h-96 min-w-[8rem] overflow-hidden","rounded-md border border-border bg-surface text-text shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",n==="popper"&&["data-[side=bottom]:translate-y-1","data-[side=top]:-translate-y-1","data-[side=left]:-translate-x-1","data-[side=right]:translate-x-1"],e),...r,children:[y.jsx($p,{}),y.jsx(Ip,{className:ve("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),y.jsx(Vp,{})]})}));mi.displayName=pl.displayName;const j_=g.forwardRef(({className:e,...t},n)=>y.jsx(gl,{ref:n,className:ve("px-2 py-1.5 text-xs font-semibold uppercase tracking-wide text-text-muted",e),...t}));j_.displayName=gl.displayName;const bn=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(yl,{ref:r,className:ve("relative flex w-full cursor-default select-none items-center rounded py-1.5 pl-8 pr-2 text-sm outline-none","focus:bg-surface-hover focus:text-text","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[y.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:y.jsx(Mp,{children:y.jsx(Fy,{className:"h-4 w-4"})})}),y.jsx(_p,{children:t})]}));bn.displayName=yl.displayName;const F_=g.forwardRef(({className:e,...t},n)=>y.jsx(xl,{ref:n,className:ve("-mx-1 my-1 h-px bg-border",e),...t}));F_.displayName=xl.displayName;function U_({agents:e,value:t,onChange:n}){const{t:r}=at();function i(o){if(!o||o===t)return;const a=Ki(o);window.confirm(r("chat.switchAgentConfirm",{agent:a}))&&n(o)}return y.jsxs(vo,{value:t||void 0,onValueChange:i,children:[y.jsx(pi,{className:"h-7 w-28 sm:w-36 text-xs",children:y.jsx(xo,{placeholder:Ki(e[0]??"—")})}),y.jsx(mi,{children:e.map(o=>y.jsx(bn,{value:o,children:Ki(o)},o))})]})}function H_(e){const t=String(e||"");if(!t)return!1;const n=t.toLowerCase();return!(n.includes("native")||n.includes("agim"))&&!t.includes("/settings/llm")?!1:n.includes("not configured")||n.includes("not available")||n.includes("no llm backend")||n.includes("llmroles.native-chat")||t.includes("/settings/llm")||t.includes("未配置")||t.includes("大模型")}const Wo={all:["llm"],list:["llm","list"]};function B_(){return cf({queryKey:Wo.list,queryFn:()=>K.get("/api/llm")})}function z_(){const e=En();return Rn({mutationFn:t=>K.post("/api/llm/backends",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function HD(){const e=En();return Rn({mutationFn:t=>K.delete(`/api/llm/backends/${encodeURIComponent(t)}`),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function BD(){const e=En();return Rn({mutationFn:t=>K.put("/api/llm/roles",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:Wo.all})})}function zD(){return Rn({mutationFn:e=>K.post(`/api/llm/backends/${encodeURIComponent(e)}/ping`)})}const qo={all:["mcp"],list:["mcp","list"]};function $D(){return cf({queryKey:qo.list,queryFn:()=>K.get("/api/mcp")})}function VD(){const e=En();return Rn({mutationFn:t=>K.post("/api/mcp/servers",{body:t}),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}function KD(){const e=En();return Rn({mutationFn:t=>K.delete(`/api/mcp/servers/${encodeURIComponent(t)}`),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}function WD(){const e=En();return Rn({mutationFn:t=>K.post(`/api/mcp/servers/${encodeURIComponent(t)}/health`),onSuccess:()=>e.invalidateQueries({queryKey:qo.all})})}var Qo="Dialog",[Kp]=xi(Qo),[$_,Ft]=Kp(Qo),Wp=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:o,modal:a=!0}=e,s=g.useRef(null),l=g.useRef(null),[c,u]=fs({prop:r,defaultProp:i??!1,onChange:o,caller:Qo});return y.jsx($_,{scope:t,triggerRef:s,contentRef:l,contentId:vr(),titleId:vr(),descriptionId:vr(),open:c,onOpenChange:u,onOpenToggle:g.useCallback(()=>u(d=>!d),[u]),modal:a,children:n})};Wp.displayName=Qo;var qp="DialogTrigger",V_=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(qp,n),o=$e(t,i.triggerRef);return y.jsx(De.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":El(i.open),...r,ref:o,onClick:Oe(e.onClick,i.onOpenToggle)})});V_.displayName=qp;var wl="DialogPortal",[K_,Qp]=Kp(wl,{forceMount:void 0}),Gp=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:i}=e,o=Ft(wl,t);return y.jsx(K_,{scope:t,forceMount:n,children:g.Children.map(r,a=>y.jsx(jr,{present:n||o.open,children:y.jsx(dl,{asChild:!0,container:i,children:a})}))})};Gp.displayName=wl;var wo="DialogOverlay",kl=g.forwardRef((e,t)=>{const n=Qp(wo,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Ft(wo,e.__scopeDialog);return o.modal?y.jsx(jr,{present:r||o.open,children:y.jsx(q_,{...i,ref:t})}):null});kl.displayName=wo;var W_=Sr("DialogOverlay.RemoveScroll"),q_=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(wo,n),o=WL(),a=$e(t,o);return y.jsx(fl,{as:W_,allowPinchZoom:!0,shards:[i.contentRef],children:y.jsx(De.div,{"data-state":El(i.open),...r,ref:a,style:{pointerEvents:"auto",...r.style}})})}),Rr="DialogContent",Sl=g.forwardRef((e,t)=>{const n=Qp(Rr,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,o=Ft(Rr,e.__scopeDialog);return y.jsx(jr,{present:r||o.open,children:o.modal?y.jsx(Q_,{...i,ref:t}):y.jsx(G_,{...i,ref:t})})});Sl.displayName=Rr;var Q_=g.forwardRef((e,t)=>{const n=Ft(Rr,e.__scopeDialog),r=g.useRef(null),i=$e(t,n.contentRef,r);return g.useEffect(()=>{const o=r.current;if(o)return up(o)},[]),y.jsx(Yp,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:Oe(e.onCloseAutoFocus,o=>{o.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:Oe(e.onPointerDownOutside,o=>{const a=o.detail.originalEvent,s=a.button===0&&a.ctrlKey===!0;(a.button===2||s)&&o.preventDefault()}),onFocusOutside:Oe(e.onFocusOutside,o=>o.preventDefault())})}),G_=g.forwardRef((e,t)=>{const n=Ft(Rr,e.__scopeDialog),r=g.useRef(!1),i=g.useRef(!1);return y.jsx(Yp,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{e.onCloseAutoFocus?.(o),o.defaultPrevented||(r.current||n.triggerRef.current?.focus(),o.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:o=>{e.onInteractOutside?.(o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const a=o.target;n.triggerRef.current?.contains(a)&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}})}),Yp=g.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...a}=e,s=Ft(Rr,n);return Mh(),y.jsx(y.Fragment,{children:y.jsx(tl,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:y.jsx(Do,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":El(s.open),...a,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),Xp="DialogTitle",Al=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Xp,n);return y.jsx(De.h2,{id:i.titleId,...r,ref:t})});Al.displayName=Xp;var Jp="DialogDescription",Cl=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Jp,n);return y.jsx(De.p,{id:i.descriptionId,...r,ref:t})});Cl.displayName=Jp;var Zp="DialogClose",em=g.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,i=Ft(Zp,n);return y.jsx(De.button,{type:"button",...r,ref:t,onClick:Oe(e.onClick,()=>i.onOpenChange(!1))})});em.displayName=Zp;function El(e){return e?"open":"closed"}const Y_=Wp,X_=Gp,tm=g.forwardRef(({className:e,...t},n)=>y.jsx(kl,{ref:n,className:ve("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));tm.displayName=kl.displayName;const nm=g.forwardRef(({className:e,children:t,...n},r)=>y.jsxs(X_,{children:[y.jsx(tm,{}),y.jsxs(Sl,{ref:r,className:ve("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100vw-2rem)] sm:max-w-lg","translate-x-[-50%] translate-y-[-50%] gap-4","border border-border bg-surface p-4 shadow-lg","rounded-lg","max-h-[85dvh] overflow-y-auto pb-[calc(env(safe-area-inset-bottom)+1.5rem)]","duration-200","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]","data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",e),...n,children:[t,y.jsx(em,{className:ve("absolute right-4 top-4 rounded-md p-1","text-text-dim hover:bg-surface-hover hover:text-text","focus:outline-none focus:ring-2 focus:ring-accent","tap-target","disabled:pointer-events-none"),"aria-label":He.t("actions.close",{ns:"common",defaultValue:"Close"}),children:y.jsx(Jy,{className:"h-4 w-4"})})]})]}));nm.displayName=Sl.displayName;const rm=({className:e,...t})=>y.jsx("div",{className:ve("flex flex-col gap-1.5 text-left",e),...t});rm.displayName="DialogHeader";const im=({className:e,...t})=>y.jsx("div",{className:ve("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t});im.displayName="DialogFooter";const om=g.forwardRef(({className:e,...t},n)=>y.jsx(Al,{ref:n,className:ve("text-lg font-semibold leading-snug",e),...t}));om.displayName=Al.displayName;const am=g.forwardRef(({className:e,...t},n)=>y.jsx(Cl,{ref:n,className:ve("text-sm text-text-dim",e),...t}));am.displayName=Cl.displayName;const Gi=[{key:"deepseek",provider:"openai-compat",baseUrl:"https://api.deepseek.com/v1",model:"deepseek-chat",baseName:"deepseek-agim"},{key:"moonshot",provider:"openai-compat",baseUrl:"https://api.moonshot.cn/v1",model:"moonshot-v1-8k",baseName:"moonshot-agim"},{key:"zhipu",provider:"openai-compat",baseUrl:"https://open.bigmodel.cn/api/paas/v4",model:"glm-4-air",baseName:"zhipu-agim"},{key:"openai",provider:"openai-compat",baseUrl:"https://api.openai.com/v1",model:"gpt-4o-mini",baseName:"openai-agim"},{key:"anthropic",provider:"anthropic",baseUrl:"https://api.anthropic.com",model:"claude-3-5-sonnet-20241022",baseName:"anthropic-agim"},{key:"custom",provider:"openai-compat",baseUrl:"",model:"",baseName:"agim-api"}],hd=Gi[0];function pd(e,t){const n=new Set(t.map(r=>r.toLowerCase()));if(!n.has(e.toLowerCase()))return e;for(let r=2;r<200;r+=1){const i=`${e}-${r}`;if(!n.has(i.toLowerCase()))return i}return`${e}-${Date.now()}`}function J_({open:e,reason:t,onOpenChange:n,onConfigured:r}){const{t:i}=at(["common","settings"]),o=z_(),a=B_(),[s,l]=g.useState("deepseek"),c=g.useMemo(()=>Gi.find(P=>P.key===s)??hd,[s]),u=g.useMemo(()=>(a.data?.backends??[]).map(P=>P.name),[a.data]),[d,h]=g.useState(()=>pd("deepseek-agim",[])),[f,m]=g.useState(c.baseUrl),[p,b]=g.useState(c.model),[v,x]=g.useState("");function w(P){const C=Gi.find(k=>k.key===P)??hd;l(P),m(C.baseUrl),b(C.model),h(pd(C.baseName,u))}async function E(P){if(P.preventDefault(),!d.trim()){Je.error(i("llm.nameRequired",{ns:"settings"}));return}if(!f.trim()){Je.error(i("llm.baseUrlRequired",{ns:"settings"}));return}if(!/^https?:\/\//i.test(f.trim())){Je.error(i("llm.baseUrlRequired",{ns:"settings"}));return}if(!p.trim()){Je.error(i("llm.modelRequired",{ns:"settings"}));return}if(!v.trim()){Je.error(i("chat.nativeSetupApiKeyRequired"));return}try{await o.mutateAsync({name:d.trim(),provider:c.provider,baseUrl:f.trim(),model:p.trim(),apiKey:v.trim()}),Je.success(i("chat.nativeSetupSaved")),x(""),n(!1),r?.()}catch(C){Je.error(C?.message??String(C))}}return y.jsx(Y_,{open:e,onOpenChange:n,children:y.jsxs(nm,{className:"sm:max-w-2xl",children:[y.jsxs(rm,{children:[y.jsx(om,{children:i("chat.nativeSetupDialogTitle")}),y.jsx(am,{children:i("chat.nativeSetupDialogDesc")})]}),y.jsxs("form",{className:"space-y-4",onSubmit:P=>void E(P),children:[t&&y.jsxs("div",{className:"rounded-md border border-warning/50 bg-warning-bg/40 p-3 text-xs text-warning",children:[y.jsx("div",{className:"mb-1 font-medium",children:i("chat.nativeSetupDialogReason")}),y.jsx("div",{className:"break-words",children:t})]}),y.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.preset",{ns:"settings"})}),y.jsxs(vo,{value:s,onValueChange:P=>w(P),children:[y.jsx(pi,{children:y.jsx(xo,{})}),y.jsx(mi,{children:Gi.map(P=>y.jsx(bn,{value:P.key,children:i(`llm.presets.${P.key}`,{ns:"settings"})},P.key))})]})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.name",{ns:"settings"})}),y.jsx(gr,{value:d,onChange:P=>h(P.target.value),placeholder:i("llm.namePlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{className:"sm:col-span-2",children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.baseUrl",{ns:"settings"})}),y.jsx(gr,{value:f,onChange:P=>m(P.target.value),placeholder:i("llm.baseUrlPlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.model",{ns:"settings"})}),y.jsx(gr,{value:p,onChange:P=>b(P.target.value),placeholder:i("llm.modelPlaceholder",{ns:"settings"}),className:"font-mono text-xs"})]}),y.jsxs("div",{children:[y.jsx(zn,{className:"text-xs font-medium",children:i("llm.apiKey",{ns:"settings"})}),y.jsx(gr,{type:"password",value:v,onChange:P=>x(P.target.value),placeholder:i("llm.apiKeyPlaceholder",{ns:"settings"}),className:"font-mono text-xs",autoComplete:"off"})]})]}),y.jsx("p",{className:"text-xs text-text-dim",children:i("chat.nativeSetupDialogRoleOptional")}),y.jsxs(im,{children:[y.jsx(et,{type:"button",variant:"ghost",onClick:()=>window.location.assign("/settings/llm"),children:i("chat.nativeSetupDialogAdvanced")}),y.jsx(et,{type:"button",variant:"outline",onClick:()=>n(!1),children:i("chat.nativeSetupDialogCancel")}),y.jsx(et,{type:"submit",disabled:o.isPending,children:i("chat.nativeSetupDialogSave")})]})]})]})})}const bs="agim-theme",sm="im-hub-lang";function Z_(){try{const e=localStorage.getItem(bs);if(e==="light"||e==="dark")return e}catch{}return"system"}function eD(){try{const t=localStorage.getItem(sm);if(t==="en"||t==="zh")return t}catch{}return(navigator.language||"en").toLowerCase().startsWith("zh")?"zh":"en"}function md(e){try{e==="system"?localStorage.removeItem(bs):localStorage.setItem(bs,e)}catch{}}function tD(e){try{localStorage.setItem(sm,e)}catch{}}const yr=jd((e,t)=>({theme:Z_(),lang:eD(),setTheme:n=>{md(n),e({theme:n})},cycleTheme:()=>{const n=t().theme,r=n==="system"?"light":n==="light"?"dark":"system";md(r),e({theme:r})},setLang:n=>{tD(n),e({lang:n})}}));function gd(e){e==="system"?document.documentElement.removeAttribute("data-theme"):document.documentElement.setAttribute("data-theme",e)}function nD(){const e=yr(t=>t.theme);g.useEffect(()=>{if(gd(e),e!=="system")return;const t=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>gd(e);return t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[e])}function rD(){const{t:e}=at(),t=yr(o=>o.theme),n=yr(o=>o.lang),r=yr(o=>o.setTheme),i=yr(o=>o.setLang);return y.jsxs(y.Fragment,{children:[y.jsxs(vo,{value:n,onValueChange:o=>i(o),children:[y.jsx(pi,{className:"h-7 w-16 sm:w-20 text-xs","aria-label":e("lang.label"),children:y.jsx(xo,{})}),y.jsxs(mi,{children:[y.jsx(bn,{value:"en",children:e("lang.en")}),y.jsx(bn,{value:"zh",children:e("lang.zh")})]})]}),y.jsxs(vo,{value:t,onValueChange:o=>r(o),children:[y.jsx(pi,{className:"h-7 w-16 text-xs sm:w-28","aria-label":e("theme.label"),children:y.jsx(xo,{})}),y.jsxs(mi,{children:[y.jsx(bn,{value:"system",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx($y,{className:"h-4 w-4"})," ",e("theme.system")]})}),y.jsx(bn,{value:"light",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx(Yy,{className:"h-4 w-4"})," ",e("theme.light")]})}),y.jsx(bn,{value:"dark",children:y.jsxs("span",{className:"inline-flex items-center gap-2",children:[y.jsx(Wy,{className:"h-4 w-4"})," ",e("theme.dark")]})})]})]})]})}function iD(e){const[t,n]=g.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia(e).matches);return g.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const r=window.matchMedia(e),i=o=>n(o.matches);return n(r.matches),r.addEventListener("change",i),()=>r.removeEventListener("change",i)},[e]),t}function oD(){return iD("(min-width: 640px)")}const aD=[{to:"/",i18nKey:"nav.chat",mounted:!0},{to:"/tasks",i18nKey:"nav.tasks",mounted:!0},{to:"/approvals",i18nKey:"nav.approvals",mounted:!0},{to:"/reminders",i18nKey:"nav.reminders",mounted:!0},{to:"/memos",i18nKey:"nav.memos",mounted:!0},{to:"/memory",i18nKey:"nav.memory",mounted:!0},{to:"/workspace",i18nKey:"nav.workspace",mounted:!0},{to:"/observability",i18nKey:"nav.observability",mounted:!0},{to:"/settings",i18nKey:"nav.settings",mounted:!0}];function lm({children:e}){const{t}=at(),n=oD(),r=y.jsx("nav",{className:ve("flex flex-1 min-w-0 items-center gap-1","overflow-x-auto scrollbar-thin","[&::-webkit-scrollbar]:h-1 [&::-webkit-scrollbar-thumb]:bg-border"),"aria-label":t("appName"),children:aD.filter(i=>i.mounted).map(i=>y.jsx(Xl,{to:i.to,end:i.to==="/",className:({isActive:o})=>ve("shrink-0 rounded-md px-2.5 py-1.5 text-sm no-underline","transition-colors tap-target",o?"bg-accent-bg text-accent font-medium":"text-text-dim hover:bg-surface-hover hover:text-text"),children:t(i.i18nKey)},i.to))});return y.jsxs("header",{className:ve("sticky top-0 z-20","flex flex-col sm:flex-row sm:items-center sm:gap-3","border-b border-border bg-surface","pt-safe","shadow-sm"),children:[y.jsxs("div",{className:ve("flex items-center gap-2 sm:gap-3","overflow-x-hidden","px-3 sm:px-4 py-2 sm:py-2","sm:flex-1 sm:min-w-0"),children:[y.jsxs(Xl,{to:"/",className:"flex shrink-0 items-center gap-1 text-md font-semibold no-underline",end:!0,children:[y.jsx("span",{"aria-hidden":"true",children:"🤖"}),y.jsx("span",{className:"hidden sm:inline",children:t("appName")})]}),n&&y.jsx("div",{className:"flex flex-1 min-w-0",children:r}),e&&y.jsx("div",{className:"flex items-center gap-2",children:e}),y.jsx("div",{className:"flex shrink-0 items-center gap-2",children:y.jsx(rD,{})})]}),!n&&y.jsx("div",{className:"border-t border-border px-3 py-1",children:r})]})}const sD={open:"bg-success",connecting:"bg-warning animate-pulse",closed:"bg-text-muted",error:"bg-danger"};function lD(){const{t:e}=at(),{state:t,send:n,switchAgent:r,approvalClick:i,choiceSubmit:o,newConversation:a,clearError:s}=TC(),[l,c]=g.useState(""),[u,d]=g.useState(!1),[h,f]=g.useState(""),m=g.useRef(null),p=g.useRef(null),b=e(`chat.status.${t.status}`,{defaultValue:t.status});g.useEffect(()=>{if(!m.current)return;const w=m.current;!(w.scrollHeight-w.scrollTop-w.clientHeight<200)&&t.currentReplyId==null||requestAnimationFrame(()=>{w.scrollTop=w.scrollHeight})},[t.messages,t.currentReplyId]),g.useEffect(()=>{t.error&&(H_(t.error)?(f(t.error),d(!0)):Je.error(t.error),s())},[t.error,s]);function v(w){w?.preventDefault();const E=l.trim();if(E){if(t.status!=="open"){Je.error(e("chat.notConnected",{defaultValue:"Not connected. Reconnecting…"}));return}n(E),c(""),requestAnimationFrame(()=>p.current?.focus())}}function x(w){w.nativeEvent.isComposing||w.keyCode===229||w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),v())}return y.jsxs("div",{className:"flex h-dvh flex-col bg-bg",children:[y.jsxs(lm,{children:[y.jsx("span",{className:ve("inline-block h-2 w-2 rounded-full",sD[t.status]),title:b}),y.jsx("span",{className:"hidden text-xs text-text-dim sm:inline",children:b}),y.jsxs(et,{variant:"ghost",size:"sm",onClick:()=>{a(),Je.success(e("chat.newConvToast",{defaultValue:"Started a new conversation"})),requestAnimationFrame(()=>p.current?.focus())},disabled:t.status!=="open",title:e("chat.newConvHint",{defaultValue:"Clear messages and start a fresh session"}),"aria-label":e("chat.newConv",{defaultValue:"New conversation"}),children:[y.jsx(Ky,{className:"h-4 w-4"}),y.jsx("span",{className:"hidden text-xs sm:inline",children:e("chat.newConv",{defaultValue:"New"})})]}),y.jsx(U_,{agents:t.agents,value:t.agent,onChange:r})]}),y.jsx(J_,{open:u,reason:h,onOpenChange:d,onConfigured:()=>r("agim")}),y.jsx("div",{ref:m,className:"flex-1 overflow-y-auto",children:y.jsxs("div",{className:"mx-auto flex max-w-3xl flex-col gap-2 px-3 py-3 sm:px-4",children:[t.messages.length===0&&t.status==="open"&&y.jsxs("div",{className:"flex flex-col items-center gap-2 py-16 text-center",children:[y.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-surface-2 text-2xl",children:"💬"}),y.jsx("h2",{className:"text-base font-semibold",children:e("chat.welcomeTitle",{defaultValue:"Start a conversation"})}),y.jsx("p",{className:"max-w-md text-sm text-text-dim",children:e("chat.welcomeBody",{defaultValue:"Type a message to ask the active agent. Use the agent dropdown to switch."})})]}),t.messages.length===0&&t.status!=="open"&&y.jsxs("div",{className:"grid place-items-center py-16 text-center",children:[y.jsx(Hy,{className:"h-10 w-10 text-text-muted"}),y.jsx("p",{className:"mt-3 text-sm text-text-dim",children:t.status==="connecting"?e("chat.connecting",{defaultValue:"Connecting to agim…"}):e("chat.disconnected",{defaultValue:"Disconnected. Reconnecting automatically; you can keep typing."})})]}),t.messages.filter(w=>!w.approval).map(w=>y.jsx(AL,{msg:w,onApprove:(E,P,C)=>i(E,P,C)},w.id))]})}),y.jsx(PL,{approvals:t.pendingApprovals,onApprove:(w,E,P)=>i(w,E,P)}),y.jsx(NL,{asks:t.pendingAsks,onSubmit:(w,E)=>o(w,E)}),y.jsxs("form",{onSubmit:v,className:"sticky bottom-0 border-t border-border bg-surface px-4 py-2 pb-safe sm:px-6",children:[y.jsxs("div",{className:"mx-auto flex max-w-3xl items-end gap-2",children:[y.jsx("textarea",{ref:p,value:l,onChange:w=>c(w.target.value),onKeyDown:x,placeholder:e("chat.inputPlaceholder",{defaultValue:"Message… (Enter sends, Shift+Enter newlines)"}),rows:1,className:ve("flex-1 resize-none rounded-md border border-border bg-bg","px-3 py-1.5 text-sm leading-5","focus:outline-none focus:ring-2 focus:ring-accent focus:ring-offset-1 focus:ring-offset-bg","max-h-32 min-h-8")}),y.jsx(et,{type:"submit",disabled:!l.trim()||t.status!=="open","aria-label":e("chat.send",{defaultValue:"Send"}),className:"h-8 w-8 p-0",children:y.jsx(Qy,{className:"h-4 w-4"})})]}),t.currentReplyId&&y.jsx("div",{className:"mx-auto mt-2 flex max-w-3xl items-center gap-2",children:y.jsx(it,{variant:"info",children:e("chat.streaming",{defaultValue:"… streaming"})})})]})]})}function cD(){const{t:e}=at(),t=un();return y.jsxs("div",{className:"flex min-h-dvh flex-col bg-bg",children:[y.jsx(lm,{}),y.jsx("main",{className:"grid flex-1 place-items-center px-4 py-8 pb-safe",children:y.jsxs("div",{className:"flex max-w-md flex-col items-center gap-3 text-center",children:[y.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-surface-2 text-text-dim",children:y.jsx(By,{className:"h-6 w-6"})}),y.jsx("div",{className:"text-6xl font-bold tracking-tight text-text-muted",children:"404"}),y.jsx("h1",{className:"text-xl font-semibold",children:e("notFound.title",{defaultValue:"Nothing here."})}),y.jsx("p",{className:"text-sm text-text-dim",children:e("notFound.description",{defaultValue:"The page you're looking for doesn't exist."})}),y.jsx("code",{className:"rounded bg-surface-2 px-2 py-0.5 text-xs text-text-muted",children:t.pathname}),y.jsx(et,{asChild:!0,className:"mt-2",children:y.jsx(Es,{to:"/",children:e("actions.back")})})]})})]})}function nn(e){return async()=>{const n=(await e()).default;return{element:y.jsx(Fd,{children:y.jsx(n,{})})}}}function Ee(e){return async()=>{const n=(await e()).default;return{element:y.jsx(n,{})}}}const uD=Xg([{path:"/login",element:y.jsx(dx,{})},{path:"/",element:y.jsx(Fd,{children:y.jsx(lD,{})})},{path:"/tasks",lazy:nn(()=>fe(()=>import("./layout-Cxch59sI.js"),__vite__mapDeps([2,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"jobs",replace:!0})},{path:"jobs",lazy:Ee(()=>fe(()=>import("./jobs-CtVRpl0r.js"),__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18])))},{path:"subtasks",lazy:Ee(()=>fe(()=>import("./subtasks-DFiAXvDp.js"),__vite__mapDeps([19,1,4,5,6,7,8,9,14,15,16])))},{path:"bgjobs",lazy:Ee(()=>fe(()=>import("./bgjobs-BYCQhd_1.js"),__vite__mapDeps([20,1,4,5,6,7,8,9,15,16])))},{path:"schedules",lazy:Ee(()=>fe(()=>import("./schedules-BddzBrxI.js"),__vite__mapDeps([21,1,4,5,6,7,8,15,16])))},{path:"outbox",lazy:Ee(()=>fe(()=>import("./outbox-CmN0U35l.js"),__vite__mapDeps([22,1,4,5,6,7,8,9,13,15,16])))},{path:"a2a",lazy:Ee(()=>fe(()=>import("./a2a-CZxwvgvh.js"),__vite__mapDeps([23,1,4,5,6,7,8,9,14,15,16])))},{path:"heartbeat",lazy:Ee(()=>fe(()=>import("./heartbeat-B1BEBHge.js"),__vite__mapDeps([24,1,5,25,26,15,16,27])))},{path:"goals",lazy:Ee(()=>fe(()=>import("./goals-B9ETHgL0.js"),__vite__mapDeps([28,1,5,25,15,16,29,17])))},{path:"asks",lazy:Ee(()=>fe(()=>import("./asks-DyUQopay.js"),__vite__mapDeps([30,5,1,25,15,16,17])))},{path:"plans",lazy:Ee(()=>fe(()=>import("./plans-Bzbk8eUr.js"),__vite__mapDeps([31,1,5,25,15,16,12,32,17,29])))}]},{path:"/approvals",lazy:nn(()=>fe(()=>import("./approvals-DnzjbDR6.js"),__vite__mapDeps([33,1,6,14,15,16])))},{path:"/reminders",lazy:nn(()=>fe(()=>import("./reminders-BDeiVYTC.js"),__vite__mapDeps([34,1,4,5,6,7,8,9,13,32,15,16,35])))},{path:"/memos",lazy:nn(()=>fe(()=>import("./memos-DQZc7llR.js"),__vite__mapDeps([36,1,4,5,6,7,8,13,12,37,16,38,39])))},{path:"/memory",lazy:nn(()=>fe(()=>import("./layout-BTCLgkgN.js"),__vite__mapDeps([40,41,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"facts",replace:!0})},{path:"facts",lazy:Ee(()=>fe(()=>import("./facts-DMucDXYd.js"),__vite__mapDeps([42,1,4,5,6,7,8,10,11,12,13,41,37,43,15,16,38])))},{path:"persona",lazy:Ee(()=>fe(()=>import("./persona-ig2ac4mY.js"),__vite__mapDeps([44,1,6,13,41,43,15,16,27,45,17,37])))},{path:"distill",lazy:Ee(()=>fe(()=>import("./distill-D9p8O8Jf.js"),__vite__mapDeps([46,1,47,15,48,41,16,27])))},{path:"vector",lazy:Ee(()=>fe(()=>import("./vector-BfIEx8xX.js"),__vite__mapDeps([49,1,47,41,15,48,50,13,6,17,16,27,51,37,45])))},{path:"skills",element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})}]},{path:"/skills",children:[{index:!0,element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})},{path:"installed",element:y.jsx(Ot,{to:"/settings/agim-skills/installed",replace:!0})},{path:"hot",element:y.jsx(Ot,{to:"/settings/agim-skills/hot",replace:!0})}]},{path:"/workspace",lazy:nn(()=>fe(()=>import("./workspace-BbCchiHE.js"),__vite__mapDeps([52,1,6,53,15,16])))},{path:"/observability",lazy:nn(()=>fe(()=>import("./layout-CtDc2i7w.js"),__vite__mapDeps([54,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"health",replace:!0})},{path:"health",lazy:Ee(()=>fe(()=>import("./health-DLzZ7KHc.js"),__vite__mapDeps([55,1,6,5,56,15,16,57])))},{path:"topn",lazy:Ee(()=>fe(()=>import("./topn-C2PHE4tX.js"),__vite__mapDeps([58,6,5,1,56,15,16])))},{path:"audit",lazy:Ee(()=>fe(()=>import("./audit-BVHTMS82.js"),__vite__mapDeps([59,1,4,5,6,7,8,56,15,16,57])))}]},{path:"/settings",lazy:nn(()=>fe(()=>import("./layout-DnANw2Q2.js"),__vite__mapDeps([60,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"messengers",replace:!0})},{path:"messengers",lazy:Ee(()=>fe(()=>import("./messengers-DwSmauLs.js"),__vite__mapDeps([61,1,47,15,16,48,62])))},{path:"email",lazy:Ee(()=>fe(()=>import("./email-Douv-rZ5.js"),__vite__mapDeps([63,1,47,15,17,29,16,50,48])))},{path:"viewer",lazy:Ee(()=>fe(()=>import("./viewer-BPMZkT05.js"),__vite__mapDeps([64,1,47,50,15,16,29,65,48,39])))},{path:"agents",lazy:Ee(()=>fe(()=>import("./agents-CFB4Uj6b.js"),__vite__mapDeps([66,1,6,53,47,15,16,48,67,38,68,37])))},{path:"policy",lazy:Ee(()=>fe(()=>import("./policy-yD1c2Pcn.js"),__vite__mapDeps([69,47,15,16,1])))},{path:"security",lazy:Ee(()=>fe(()=>import("./security-DpOGp3nS.js"),__vite__mapDeps([70,1,47,15,16,71,29])))},{path:"service",lazy:Ee(()=>fe(()=>import("./service-BsY8CaNG.js"),__vite__mapDeps([72,1,13,47,15,16,27,67,48])))},{path:"admins",lazy:Ee(()=>fe(()=>import("./admins-CH84Rw1d.js"),__vite__mapDeps([73,1,13,6,5,47,15,16,37])))},{path:"workspaces",lazy:Ee(()=>fe(()=>import("./workspaces-5HE7pjdA.js"),__vite__mapDeps([74,1,6,5,47,15,16,18,48])))},{path:"llm",lazy:Ee(()=>fe(()=>import("./llm-CMMa85Ig.js"),__vite__mapDeps([75,1,5,47,15,16,48,67,71,35,26,37,68])))},{path:"mcp",lazy:Ee(()=>fe(()=>import("./mcp-DhnXhO9B.js"),__vite__mapDeps([76,1,5,15,16,57,37,68])))},{path:"native-agent",element:y.jsx(Ot,{to:"/settings/llm",replace:!0})},{path:"search",lazy:Ee(()=>fe(()=>import("./search-B8PlbtLg.js"),__vite__mapDeps([77,1,47,15,16,48,7,8,29,17])))},{path:"mobile",lazy:Ee(()=>fe(()=>import("./mobile-CUZ359rQ.js"),__vite__mapDeps([78,1,15,16,62,50,79,71])))},{path:"agim-skills",lazy:Ee(()=>fe(()=>import("./layout-yIZG87fq.js"),__vite__mapDeps([80,1]))),children:[{index:!0,element:y.jsx(Ot,{to:"installed",replace:!0})},{path:"installed",lazy:Ee(()=>fe(()=>import("./installed-Zz34apdi.js"),__vite__mapDeps([81,1,82,15,16,38,12,37,48])))},{path:"hot",lazy:Ee(()=>fe(()=>import("./hot-Yc7iad0D.js"),__vite__mapDeps([83,1,6,65,15,16,38,51,79])))},{path:"injection",lazy:Ee(()=>fe(()=>import("./injection-Ca-9gbo0.js"),__vite__mapDeps([84,1,82,15,16,79,48,37])))}]}]},{path:"/m/chat",lazy:nn(()=>fe(()=>import("./chat-DPkKy5y_.js"),__vite__mapDeps([85,1,11,8,15,57])))},{path:"*",element:y.jsx(cD,{})}]);function dD(){return y.jsx($b,{children:y.jsx(oy,{router:uD})})}const fD=new gv({defaultOptions:{queries:{staleTime:3e4,gcTime:5*6e4,retry:1,retryDelay:e=>Math.min(1e3*2**e,8e3),refetchOnWindowFocus:!1,refetchOnReconnect:!0},mutations:{retry:0}}});var[Go]=xi("Tooltip",[Ho]),Rl=Ho(),cm="TooltipProvider",hD=700,yd="tooltip.open",[pD,um]=Go(cm),dm=e=>{const{__scopeTooltip:t,delayDuration:n=hD,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:o}=e,a=g.useRef(!0),s=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),y.jsx(pD,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:g.useCallback(()=>{r<=0||(window.clearTimeout(l.current),a.current=!1)},[r]),onClose:g.useCallback(()=>{r<=0||(window.clearTimeout(l.current),l.current=window.setTimeout(()=>a.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:g.useCallback(c=>{s.current=c},[]),disableHoverableContent:i,children:o})};dm.displayName=cm;var fm="Tooltip",[qD,Yo]=Go(fm),vs="TooltipTrigger",mD=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Yo(vs,n),o=um(vs,n),a=Rl(n),s=g.useRef(null),l=$e(t,s,i.onTriggerChange),c=g.useRef(!1),u=g.useRef(!1),d=g.useCallback(()=>c.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),y.jsx(ip,{asChild:!0,...a,children:y.jsx(De.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:Oe(e.onPointerMove,h=>{h.pointerType!=="touch"&&!u.current&&!o.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:Oe(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:Oe(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Oe(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Oe(e.onBlur,i.onClose),onClick:Oe(e.onClick,i.onClose)})})});mD.displayName=vs;var gD="TooltipPortal",[QD,yD]=Go(gD,{forceMount:void 0}),Tr="TooltipContent",hm=g.forwardRef((e,t)=>{const n=yD(Tr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...o}=e,a=Yo(Tr,e.__scopeTooltip);return y.jsx(jr,{present:r||a.open,children:a.disableHoverableContent?y.jsx(pm,{side:i,...o,ref:t}):y.jsx(bD,{side:i,...o,ref:t})})}),bD=g.forwardRef((e,t)=>{const n=Yo(Tr,e.__scopeTooltip),r=um(Tr,e.__scopeTooltip),i=g.useRef(null),o=$e(t,i),[a,s]=g.useState(null),{trigger:l,onClose:c}=n,u=i.current,{onPointerInTransitChange:d}=r,h=g.useCallback(()=>{s(null),d(!1)},[d]),f=g.useCallback((m,p)=>{const b=m.currentTarget,v={x:m.clientX,y:m.clientY},x=SD(v,b.getBoundingClientRect()),w=AD(v,x),E=CD(p.getBoundingClientRect()),P=RD([...w,...E]);s(P),d(!0)},[d]);return g.useEffect(()=>()=>h(),[h]),g.useEffect(()=>{if(l&&u){const m=b=>f(b,u),p=b=>f(b,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",p),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",p)}}},[l,u,f,h]),g.useEffect(()=>{if(a){const m=p=>{const b=p.target,v={x:p.clientX,y:p.clientY},x=l?.contains(b)||u?.contains(b),w=!ED(v,a);x?h():w&&(h(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,a,c,h]),y.jsx(pm,{...e,ref:o})}),[vD,xD]=Go(fm,{isInside:!1}),wD=tb("TooltipContent"),pm=g.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:o,onPointerDownOutside:a,...s}=e,l=Yo(Tr,n),c=Rl(n),{onClose:u}=l;return g.useEffect(()=>(document.addEventListener(yd,u),()=>document.removeEventListener(yd,u)),[u]),g.useEffect(()=>{if(l.trigger){const d=h=>{h.target instanceof Node&&h.target.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),y.jsx(Do,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:y.jsxs(op,{"data-state":l.stateAttribute,...c,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[y.jsx(wD,{children:r}),y.jsx(vD,{scope:n,isInside:!0,children:y.jsx(TN,{id:l.contentId,role:"tooltip",children:i||r})})]})})});hm.displayName=Tr;var mm="TooltipArrow",kD=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Rl(n);return xD(mm,n).isInside?null:y.jsx(ap,{...i,...r,ref:t})});kD.displayName=mm;function SD(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,i,o)){case o:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function AD(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function CD(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function ED(e,t){const{x:n,y:r}=e;let i=!1;for(let o=0,a=t.length-1;o<t.length;a=o++){const s=t[o],l=t[a],c=s.x,u=s.y,d=l.x,h=l.y;u>r!=h>r&&n<(d-c)*(r-u)/(h-u)+c&&(i=!i)}return i}function RD(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),TD(t)}function TD(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(i.y-a.y)>=(o.y-a.y)*(i.x-a.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var PD=dm,gm=hm;const ID=PD,LD=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>y.jsx(gm,{ref:r,sideOffset:t,className:ve("z-50 overflow-hidden rounded-md","bg-text text-bg px-2 py-1 text-xs font-medium shadow-md","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=delayed-open]:zoom-in-95",e),...n}));LD.displayName=gm.displayName;function OD(e){return y.jsx(tx,{position:"top-center",richColors:!0,closeButton:!0,toastOptions:{classNames:{toast:"border border-border bg-surface text-text shadow-md",title:"font-medium",description:"text-text-dim text-sm",actionButton:"bg-accent text-accent-fg rounded-md",cancelButton:"bg-surface-2 text-text rounded-md",error:"bg-danger-bg text-danger border-danger",success:"bg-success-bg text-success border-success",warning:"bg-warning-bg text-warning border-warning",info:"bg-info-bg text-info border-info"}},...e})}function ND({children:e}){const t=yr(r=>r.lang),{i18n:n}=at();return g.useEffect(()=>{n.language!==t&&SC(t)},[t,n]),y.jsx(y.Fragment,{children:e})}function _D({children:e}){return nD(),y.jsx(y.Fragment,{children:e})}function DD({children:e}){return g.useEffect(()=>by(),[]),y.jsx(y.Fragment,{children:e})}function MD({children:e}){return y.jsx(yv,{client:fD,children:y.jsx(ND,{children:y.jsx(_D,{children:y.jsx(DD,{children:y.jsxs(ID,{children:[e,y.jsx(OD,{})]})})})})})}const ym=document.getElementById("root");if(!ym)throw new Error("agim: #root not found in index.html");Pa.createRoot(ym).render(y.jsx(W.StrictMode,{children:y.jsx(MD,{children:y.jsx(dD,{})})}));export{fl as $,jL as A,et as B,$d as C,Y_ as D,vr as E,Oe as F,$e as G,UL as H,gr as I,fs as J,Zn as K,zn as L,yN as M,Xl as N,FD as O,De as P,ip as Q,qy as R,vo as S,lm as T,Ho as U,jr as V,dl as W,Jy as X,up as Y,sx as Z,Mh as _,En as a,tl as a0,Do as a1,op as a2,Sr as a3,ap as a4,Zy as a5,B_ as a6,BD as a7,Ki as a8,Wa as a9,Uy as aa,Qy as ab,HD as ac,zD as ad,z_ as ae,$D as af,KD as ag,WD as ah,VD as ai,TC as aj,H_ as ak,J_ as al,AL as am,PL as an,U_ as ao,cf as b,ve as c,ix as d,Rn as e,fy as f,pi as g,xo as h,mi as i,y as j,bn as k,it as l,Je as m,ox as n,ct as o,K as p,Xy as q,Fy as r,Gy as s,nm as t,at as u,rm as v,om as w,am as x,im as y,xi as z};
209
+ //# sourceMappingURL=index-DY2Zglku.js.map