@agent-spaces/server 0.1.2 → 0.2.1

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 (216) hide show
  1. package/dist/adapters/claude-code-runtime/index.js +4 -1
  2. package/dist/adapters/git.js +2 -21
  3. package/dist/agents/issue-agent-runner.js +35 -21
  4. package/dist/agents/issue-task-controller.js +120 -73
  5. package/dist/agents/planner-agent.js +9 -12
  6. package/dist/app.js +10 -0
  7. package/dist/hooks/agent-hooks.js +5 -8
  8. package/dist/package.json +1 -1
  9. package/dist/routes/agent.js +40 -17
  10. package/dist/routes/channel.js +4 -1
  11. package/dist/routes/command.js +108 -0
  12. package/dist/routes/folder.js +44 -7
  13. package/dist/routes/issue.js +57 -23
  14. package/dist/routes/mcp.js +50 -0
  15. package/dist/routes/skill.js +57 -0
  16. package/dist/routes/subscription.js +49 -0
  17. package/dist/routes/task.js +16 -1
  18. package/dist/routes/workflow.js +63 -0
  19. package/dist/routes/workspace.js +2 -21
  20. package/dist/services/agent.js +140 -76
  21. package/dist/services/builtin-tools.js +72 -0
  22. package/dist/services/channel.js +5 -5
  23. package/dist/services/command-process-manager.js +136 -0
  24. package/dist/services/command.js +48 -0
  25. package/dist/services/issue.js +5 -6
  26. package/dist/services/mcp.js +120 -0
  27. package/dist/services/notification-hub/bot-commands.js +48 -16
  28. package/dist/services/notification-hub/helpers.js +12 -0
  29. package/dist/services/pty.js +10 -3
  30. package/dist/services/skill.js +171 -0
  31. package/dist/services/subscription/aicode.js +45 -0
  32. package/dist/services/subscription/base.js +3 -0
  33. package/dist/services/subscription/index.js +20 -0
  34. package/dist/services/subscription/minimax.js +60 -0
  35. package/dist/services/subscription/zhipu.js +39 -0
  36. package/dist/services/workflow.js +203 -0
  37. package/dist/services/workspace.js +0 -1
  38. package/dist/storage/command-store.js +17 -0
  39. package/dist/storage/subscription-store.js +44 -0
  40. package/dist/storage/workflow-store.js +40 -0
  41. package/dist/web/404.html +1 -1
  42. package/dist/web/__next.__PAGE__.txt +4 -4
  43. package/dist/web/__next._full.txt +22 -21
  44. package/dist/web/__next._head.txt +4 -4
  45. package/dist/web/__next._index.txt +9 -8
  46. package/dist/web/__next._tree.txt +2 -2
  47. package/dist/web/_next/static/MpJepsgfsHGGcc7rwFU8Y/_buildManifest.js +11 -0
  48. package/dist/web/_next/static/chunks/0-245kun-watp.js +2 -0
  49. package/dist/web/_next/static/chunks/0-ca_fo-yp3~z.js +1 -0
  50. package/dist/web/_next/static/chunks/0-vgd3j-zh3m8.js +2 -0
  51. package/dist/web/_next/static/chunks/0.4.g.8yf4rs0.js +3 -0
  52. package/dist/web/_next/static/chunks/02m_-ngl9w8co.js +1 -0
  53. package/dist/web/_next/static/chunks/03jbh7ud0jw~g.js +1 -0
  54. package/dist/web/_next/static/chunks/07kqxmubf5dua.js +1 -0
  55. package/dist/web/_next/static/chunks/088q-5_51dsrw.js +1 -0
  56. package/dist/web/_next/static/chunks/09_ki3dc5cfwv.css +1 -0
  57. package/dist/web/_next/static/chunks/09jryrjps0vl2.js +1 -0
  58. package/dist/web/_next/static/chunks/0b2tump5duj9j.js +1 -0
  59. package/dist/web/_next/static/chunks/0dctkv_2d2r0g.js +8 -0
  60. package/dist/web/_next/static/chunks/0efgv37kxyht8.js +1 -0
  61. package/dist/web/_next/static/chunks/0fwvdy-ml8wpk.js +1 -0
  62. package/dist/web/_next/static/chunks/0g4vm6.v0o_lt.js +1 -0
  63. package/dist/web/_next/static/chunks/0g_b4t~000.o~.js +179 -0
  64. package/dist/web/_next/static/chunks/0gyede80jpy3n.js +4 -0
  65. package/dist/web/_next/static/chunks/0h256h-tu4e0r.js +2 -0
  66. package/dist/web/_next/static/chunks/0ib18ul605e~a.js +1 -0
  67. package/dist/web/_next/static/chunks/0j1g_rd9t5ot1.js +1 -0
  68. package/dist/web/_next/static/chunks/0jn~llaqcxo4q.js +1 -0
  69. package/dist/web/_next/static/chunks/0jvmviuftg5e2.css +1 -0
  70. package/dist/web/_next/static/chunks/0lb8l2~6s_owo.js +1 -0
  71. package/dist/web/_next/static/chunks/0ni5ot2603_28.js +1 -0
  72. package/dist/web/_next/static/chunks/0pep4mkvt3.rh.js +31 -0
  73. package/dist/web/_next/static/chunks/0pq2670_ezbcj.js +1 -0
  74. package/dist/web/_next/static/chunks/0q_scqkk9.t53.js +2 -0
  75. package/dist/web/_next/static/chunks/0rrdur.v1a5r7.js +1 -0
  76. package/dist/web/_next/static/chunks/0spo.tmfeas-o.js +1 -0
  77. package/dist/web/_next/static/chunks/0tta_56qj1z8-.js +1 -0
  78. package/dist/web/_next/static/chunks/0u88ij9dqqh~-.js +1 -0
  79. package/dist/web/_next/static/chunks/0zl19l5tuoppw.js +1 -0
  80. package/dist/web/_next/static/chunks/11n16hogah-5..js +1 -0
  81. package/dist/web/_next/static/chunks/1250wo~-5dgyx.js +1 -0
  82. package/dist/web/_next/static/chunks/14n8i2xz4_y-e.js +1 -0
  83. package/dist/web/_next/static/chunks/160ji-.dfvm20.js +1 -0
  84. package/dist/web/_next/static/chunks/turbopack-0lxiiw.jhevml.js +1 -0
  85. package/dist/web/_next/static/media/favicon.0~ekuj.zhggpa.ico +0 -0
  86. package/dist/web/_not-found/__next._full.txt +24 -19
  87. package/dist/web/_not-found/__next._head.txt +4 -4
  88. package/dist/web/_not-found/__next._index.txt +9 -8
  89. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
  90. package/dist/web/_not-found/__next._not-found.txt +3 -3
  91. package/dist/web/_not-found/__next._tree.txt +2 -2
  92. package/dist/web/_not-found.html +1 -1
  93. package/dist/web/_not-found.txt +24 -19
  94. package/dist/web/apple-touch-icon.png +0 -0
  95. package/dist/web/favicon.ico +0 -0
  96. package/dist/web/icon-192.png +0 -0
  97. package/dist/web/icon-512.png +0 -0
  98. package/dist/web/index.html +1 -1
  99. package/dist/web/index.txt +22 -21
  100. package/dist/web/login/__next._full.txt +24 -23
  101. package/dist/web/login/__next._head.txt +4 -4
  102. package/dist/web/login/__next._index.txt +9 -8
  103. package/dist/web/login/__next._tree.txt +2 -2
  104. package/dist/web/login/__next.login.__PAGE__.txt +4 -4
  105. package/dist/web/login/__next.login.txt +3 -3
  106. package/dist/web/login.html +1 -1
  107. package/dist/web/login.txt +24 -23
  108. package/dist/web/settings/__next._full.txt +34 -0
  109. package/dist/web/settings/__next._head.txt +6 -0
  110. package/dist/web/settings/__next._index.txt +11 -0
  111. package/dist/web/settings/__next._tree.txt +8 -0
  112. package/dist/web/settings/__next.settings.__PAGE__.txt +9 -0
  113. package/dist/web/settings/__next.settings.txt +7 -0
  114. package/dist/web/settings/agents/__next._full.txt +38 -0
  115. package/dist/web/settings/agents/__next._head.txt +6 -0
  116. package/dist/web/settings/agents/__next._index.txt +11 -0
  117. package/dist/web/settings/agents/__next._tree.txt +8 -0
  118. package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +9 -0
  119. package/dist/web/settings/agents/__next.settings.agents.txt +5 -0
  120. package/dist/web/settings/agents/__next.settings.txt +7 -0
  121. package/dist/web/settings/agents.html +1 -0
  122. package/dist/web/settings/agents.txt +38 -0
  123. package/dist/web/settings/mcps/__next._full.txt +38 -0
  124. package/dist/web/settings/mcps/__next._head.txt +6 -0
  125. package/dist/web/settings/mcps/__next._index.txt +11 -0
  126. package/dist/web/settings/mcps/__next._tree.txt +8 -0
  127. package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +9 -0
  128. package/dist/web/settings/mcps/__next.settings.mcps.txt +5 -0
  129. package/dist/web/settings/mcps/__next.settings.txt +7 -0
  130. package/dist/web/settings/mcps.html +1 -0
  131. package/dist/web/settings/mcps.txt +38 -0
  132. package/dist/web/settings/models/__next._full.txt +38 -0
  133. package/dist/web/settings/models/__next._head.txt +6 -0
  134. package/dist/web/settings/models/__next._index.txt +11 -0
  135. package/dist/web/settings/models/__next._tree.txt +8 -0
  136. package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +9 -0
  137. package/dist/web/settings/models/__next.settings.models.txt +5 -0
  138. package/dist/web/settings/models/__next.settings.txt +7 -0
  139. package/dist/web/settings/models.html +1 -0
  140. package/dist/web/settings/models.txt +38 -0
  141. package/dist/web/settings/providers/__next._full.txt +38 -0
  142. package/dist/web/settings/providers/__next._head.txt +6 -0
  143. package/dist/web/settings/providers/__next._index.txt +11 -0
  144. package/dist/web/settings/providers/__next._tree.txt +8 -0
  145. package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +9 -0
  146. package/dist/web/settings/providers/__next.settings.providers.txt +5 -0
  147. package/dist/web/settings/providers/__next.settings.txt +7 -0
  148. package/dist/web/settings/providers.html +1 -0
  149. package/dist/web/settings/providers.txt +38 -0
  150. package/dist/web/settings/skills/__next._full.txt +38 -0
  151. package/dist/web/settings/skills/__next._head.txt +6 -0
  152. package/dist/web/settings/skills/__next._index.txt +11 -0
  153. package/dist/web/settings/skills/__next._tree.txt +8 -0
  154. package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +9 -0
  155. package/dist/web/settings/skills/__next.settings.skills.txt +5 -0
  156. package/dist/web/settings/skills/__next.settings.txt +7 -0
  157. package/dist/web/settings/skills.html +1 -0
  158. package/dist/web/settings/skills.txt +38 -0
  159. package/dist/web/settings.html +1 -0
  160. package/dist/web/settings.txt +34 -0
  161. package/dist/web/workflows/__next._full.txt +35 -0
  162. package/dist/web/workflows/__next._head.txt +6 -0
  163. package/dist/web/workflows/__next._index.txt +11 -0
  164. package/dist/web/workflows/__next._tree.txt +9 -0
  165. package/dist/web/workflows/__next.workflows.__PAGE__.txt +10 -0
  166. package/dist/web/workflows/__next.workflows.txt +5 -0
  167. package/dist/web/workflows.html +1 -0
  168. package/dist/web/workflows.txt +35 -0
  169. package/dist/web/workspace/_/__next._full.txt +25 -20
  170. package/dist/web/workspace/_/__next._head.txt +4 -4
  171. package/dist/web/workspace/_/__next._index.txt +9 -8
  172. package/dist/web/workspace/_/__next._tree.txt +2 -2
  173. package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
  174. package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
  175. package/dist/web/workspace/_/__next.workspace.txt +3 -3
  176. package/dist/web/workspace/_.html +1 -1
  177. package/dist/web/workspace/_.txt +25 -20
  178. package/dist/web/workspaces/__next._full.txt +24 -23
  179. package/dist/web/workspaces/__next._head.txt +4 -4
  180. package/dist/web/workspaces/__next._index.txt +9 -8
  181. package/dist/web/workspaces/__next._tree.txt +2 -2
  182. package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
  183. package/dist/web/workspaces/__next.workspaces.txt +3 -3
  184. package/dist/web/workspaces.html +1 -1
  185. package/dist/web/workspaces.txt +24 -23
  186. package/dist/ws/agent-prompt.js +84 -0
  187. package/dist/ws/agent-runner.js +592 -0
  188. package/dist/ws/handler.js +9 -1200
  189. package/dist/ws/html-utils.js +30 -0
  190. package/dist/ws/message-parts.js +498 -0
  191. package/package.json +3 -2
  192. package/dist/web/_next/static/chunks/038whpa0zpnas.js +0 -1
  193. package/dist/web/_next/static/chunks/06q5go~xoz5a3.js +0 -1
  194. package/dist/web/_next/static/chunks/095.wizobwtyg.js +0 -2
  195. package/dist/web/_next/static/chunks/0bfg.w~u-83h5.js +0 -1
  196. package/dist/web/_next/static/chunks/0ce7i6~sb20rv.js +0 -113
  197. package/dist/web/_next/static/chunks/0d4~pcva1uk-a.js +0 -1
  198. package/dist/web/_next/static/chunks/0iq70n_u75nyu.js +0 -1
  199. package/dist/web/_next/static/chunks/0memz-8zsbxpu.js +0 -1
  200. package/dist/web/_next/static/chunks/0nw~w.3~twebx.js +0 -2
  201. package/dist/web/_next/static/chunks/0pyytgz~5vt0f.js +0 -31
  202. package/dist/web/_next/static/chunks/0ujjcrz~1nq.q.css +0 -1
  203. package/dist/web/_next/static/chunks/0vdnx9n41dyjl.js +0 -1
  204. package/dist/web/_next/static/chunks/0yl4mqmxtll6g.js +0 -1
  205. package/dist/web/_next/static/chunks/0zcbfka5tcle3.js +0 -1
  206. package/dist/web/_next/static/chunks/0~eo58u99i.fr.js +0 -8
  207. package/dist/web/_next/static/chunks/13_2vxyccsv84.js +0 -4
  208. package/dist/web/_next/static/chunks/13wfs~urgxu0w.js +0 -1
  209. package/dist/web/_next/static/chunks/157~3c6wqkt83.js +0 -1
  210. package/dist/web/_next/static/chunks/15jvow_z4uq-..js +0 -1
  211. package/dist/web/_next/static/chunks/15v697nf~r-cy.js +0 -2
  212. package/dist/web/_next/static/chunks/turbopack-164~7ulq9o9yc.js +0 -1
  213. package/dist/web/_next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
  214. package/dist/web/_next/static/owMnKmxATbtXK_J_k_uHh/_buildManifest.js +0 -21
  215. /package/dist/web/_next/static/{owMnKmxATbtXK_J_k_uHh → MpJepsgfsHGGcc7rwFU8Y}/_clientMiddlewareManifest.js +0 -0
  216. /package/dist/web/_next/static/{owMnKmxATbtXK_J_k_uHh → MpJepsgfsHGGcc7rwFU8Y}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,344118,50153,e=>{"use strict";let t=(0,e.i(433721).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t],50153),e.s(["Check",0,t],344118)},355819,e=>{"use strict";let t=(0,e.i(816709).create)((e,t)=>({agents:[],loaded:!1,loading:!1,ensure:async()=>{let{loaded:n,loading:r}=t();if(!n&&!r){e({loading:!0});try{let t=await fetch("/api/agents/presets");if(!t.ok)return;let n=await t.json();e({agents:n,loaded:!0})}catch{}finally{e({loading:!1})}}},toggleEnabled:async n=>{let r=t().agents.find(e=>e.id===n);if(!r)return;let s=!r.enabled;e(e=>({agents:e.agents.map(e=>e.id===n?{...e,enabled:s}:e)}));try{(await fetch(`/api/agents/presets/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,enabled:s})})).ok||e(e=>({agents:e.agents.map(e=>e.id===n?{...e,enabled:r.enabled}:e)}))}catch{e(e=>({agents:e.agents.map(e=>e.id===n?{...e,enabled:r.enabled}:e)}))}}}));e.s(["findAgentById",0,function(e){return t.getState().agents.find(t=>t.id===e)},"useAgentStore",0,t])},942917,e=>{"use strict";let t=(0,e.i(433721).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t])},972846,e=>{"use strict";var t=e.i(912248);e.s(["X",()=>t.default])},451534,680422,e=>{"use strict";let t=(0,e.i(433721).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["default",0,t],680422),e.s(["FolderOpen",0,t],451534)},193251,e=>{"use strict";let t=(0,e.i(433721).default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);e.s(["Download",0,t],193251)},842809,203922,e=>{"use strict";let t=new Map;function n(e,n,r){return null==e?"":(function(e,n){let r=JSON.stringify({locale:e,options:n}),s=t.get(r);if(s)return s;let a=new Intl.NumberFormat(e,n);return t.set(r,a),a})(n,r).format(e)}e.s(["formatNumber",0,n,"formatNumberValue",0,function(e,t,r){return null==e?"":r?n(e,t,r):n(e/100,t,{style:"percent"})}],842809),e.s(["valueToPercent",0,function(e,t,n){return(e-t)*100/(n-t)}],203922)},411649,e=>{"use strict";let t=(0,e.i(433721).default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);e.s(["Home",0,t],411649)},62669,e=>{"use strict";let t=(0,e.i(433721).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],62669)},511800,612505,e=>{"use strict";let t=(0,e.i(433721).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["default",0,t],612505),e.s(["AlertCircle",0,t],511800)},550080,e=>{"use strict";var t=e.i(144988);e.s(["File",()=>t.default])},220336,e=>{"use strict";let t=(0,e.i(433721).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["default",0,t])},973370,e=>{"use strict";var t=e.i(220336);e.s(["Folder",()=>t.default])},992764,e=>{"use strict";var t=e.i(942917);e.s(["ChevronRight",()=>t.default])},378371,e=>{"use strict";let t=(0,e.i(433721).default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);e.s(["ArrowUp",0,t],378371)},434805,e=>{"use strict";var t=e.i(344180),n=e.i(764556),r=e.i(244073),s=e.i(550080),a=e.i(973370),o=e.i(451534),i=e.i(992764),l=e.i(378371),u=e.i(411649),d=e.i(62669),c=e.i(433721);let p=(0,c.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var f=e.i(344118),g=e.i(972846);let h=(0,c.default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),m=(0,c.default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]),x=(0,c.default)("shield-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]]);var v=e.i(465458);e.s(["FolderPicker",0,function({value:e,onChange:c,className:y,placeholder:b="/path/to/project",allowFiles:S=!1,fileFilter:C}){let[R,j]=(0,n.useState)(!1),[k,w]=(0,n.useState)(e||""),[E,O]=(0,n.useState)([]),[N,T]=(0,n.useState)([]),P=(0,r.useTranslations)("folderPicker"),[I,M]=(0,n.useState)(null),[A,D]=(0,n.useState)(!1),[F,H]=(0,n.useState)(""),[z,L]=(0,n.useState)(!1),[V,B]=(0,n.useState)(""),[U,W]=(0,n.useState)(null),[K,G]=(0,n.useState)(!1),$=(0,n.useRef)(null),_=(0,n.useRef)(null),q=(0,n.useRef)(null),J=(0,n.useCallback)(async e=>{if(!e)return void W(null);G(!0);try{let t=await fetch(`/api/folder/check-permissions?path=${encodeURIComponent(e)}`);if(!t.ok)return void W(null);let n=await t.json();W(n)}catch{W(null)}finally{G(!1)}},[]),X=(0,n.useCallback)(async e=>{D(!0),H("");try{let t=`/api/folder/browse?path=${encodeURIComponent(e)}`;S&&(t+="&files=1",C&&(t+=`&fileFilter=${encodeURIComponent(C)}`));let n=await fetch(t);if(!n.ok)throw Error((await n.json()).error||"Failed to browse");let r=await n.json();w(r.path),O(r.directories),T(r.files??[]),M(r.parent),J(r.path)}catch(e){H(e.message)}finally{D(!1)}},[J,S,C]);(0,n.useEffect)(()=>{R&&X(e||"")},[R]),(0,n.useEffect)(()=>{z&&q.current&&q.current.focus()},[z]);let Y=e=>{X(e)},Z=async()=>{let e=V.trim();if(!e)return;let t=k.includes("/")?"/":"\\",n=k?`${k}${t}${e}`:e;try{let e=await fetch("/api/folder/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})});if(!e.ok)throw Error((await e.json()).error||"Failed to create folder");L(!1),B(""),c(n),w(n),j(!1)}catch(e){H(e.message)}},Q=E.length>0||N.length>0;return(0,t.jsxs)("div",{className:(0,v.cn)("relative",y),children:[(0,t.jsxs)("div",{className:"flex gap-1.5",children:[(0,t.jsx)("input",{className:"flex-1 rounded-xl border border-border bg-background px-4 py-2.5 text-sm outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all",placeholder:b,value:e,onChange:e=>{c(e.target.value)},onKeyDown:t=>{"Enter"===t.key&&(t.preventDefault(),X(e))},ref:$}),(0,t.jsxs)("button",{type:"button",onClick:()=>{R?(j(!1),L(!1),B("")):j(!0)},className:(0,v.cn)("flex items-center gap-1.5 rounded-xl border px-3 py-2.5 text-sm transition-colors",R?"border-primary bg-primary/5 text-primary":"border-border bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground"),children:[(0,t.jsx)(o.FolderOpen,{className:"size-4"}),"Browse"]})]}),R&&(0,t.jsxs)("div",{className:"absolute left-0 right-0 top-full z-50 mt-1 flex flex-col rounded-xl border border-border bg-popover shadow-lg",style:{height:360},children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 border-b border-border px-3 py-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>Y(""),className:"flex size-7 items-center justify-center rounded-md hover:bg-accent transition-colors",title:"Home",children:(0,t.jsx)(u.Home,{className:"size-3.5"})}),(0,t.jsx)("button",{type:"button",onClick:()=>{I&&X(I)},className:"flex size-7 items-center justify-center rounded-md hover:bg-accent transition-colors",title:"Go up",children:(0,t.jsx)(l.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)("div",{className:"flex-1 truncate rounded-md bg-muted px-2.5 py-1 text-xs text-muted-foreground font-mono",children:k}),(0,t.jsx)("button",{type:"button",onClick:()=>{L(!0),B("")},className:"flex size-7 items-center justify-center rounded-md hover:bg-accent transition-colors",title:P("newFolder"),children:(0,t.jsx)(p,{className:"size-3.5"})}),!S&&(0,t.jsx)("button",{type:"button",onClick:()=>{c(k),j(!1)},className:"rounded-lg bg-primary px-3 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/90 transition-colors",children:P("select")})]}),z&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 border-b border-border px-3 py-1.5",children:[(0,t.jsx)(p,{className:"size-4 text-muted-foreground shrink-0"}),(0,t.jsx)("input",{ref:q,className:"flex-1 rounded-md border border-border bg-background px-2 py-1 text-sm outline-none focus:border-primary",placeholder:P("folderNamePlaceholder"),value:V,onChange:e=>B(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),Z()):"Escape"===e.key&&(L(!1),B(""))}}),(0,t.jsx)("button",{type:"button",onClick:Z,className:"flex size-6 items-center justify-center rounded-md hover:bg-accent transition-colors",disabled:!V.trim(),children:(0,t.jsx)(f.Check,{className:"size-3.5 text-primary"})}),(0,t.jsx)("button",{type:"button",onClick:()=>{L(!1),B("")},className:"flex size-6 items-center justify-center rounded-md hover:bg-accent transition-colors",children:(0,t.jsx)(g.X,{className:"size-3.5 text-muted-foreground"})})]}),(0,t.jsx)("div",{ref:_,className:"flex-1 overflow-y-auto p-1.5",children:A?(0,t.jsxs)("div",{className:"flex items-center justify-center py-8 text-muted-foreground",children:[(0,t.jsx)(d.Loader2,{className:"size-4 animate-spin mr-2"}),"Loading..."]}):F?(0,t.jsx)("div",{className:"px-3 py-8 text-center text-xs text-destructive",children:F}):Q?(0,t.jsxs)(t.Fragment,{children:[E.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>Y(e.path),onDoubleClick:()=>{c(e.path),j(!1)},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm hover:bg-accent transition-colors text-left",children:[(0,t.jsx)(a.Folder,{className:"size-4 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate",children:e.name}),(0,t.jsx)(i.ChevronRight,{className:"size-3 text-muted-foreground shrink-0"})]},e.path)),N.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{c(e.path),j(!1)},className:"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-sm hover:bg-accent transition-colors text-left",children:[(0,t.jsx)(s.File,{className:"size-4 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"flex-1 truncate font-mono text-xs",children:e.name})]},e.path))]}):(0,t.jsx)("div",{className:"px-3 py-8 text-center text-xs text-muted-foreground",children:"No subdirectories"})}),(0,t.jsx)("div",{className:"border-t border-border px-3 py-1.5 flex items-center gap-2 text-xs",children:K?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Loader2,{className:"size-3 animate-spin text-muted-foreground"}),(0,t.jsx)("span",{className:"text-muted-foreground",children:"Checking permissions..."})]}):U?(0,t.jsx)(t.Fragment,{children:U.readable&&U.writable?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h,{className:"size-3.5 text-green-500"}),(0,t.jsx)("span",{className:"text-green-600 dark:text-green-400",children:"Read/Write"})]}):U.readable&&!U.writable?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m,{className:"size-3.5 text-amber-500"}),(0,t.jsx)("span",{className:"text-amber-600 dark:text-amber-400",children:"Read-only — files cannot be written here"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x,{className:"size-3.5 text-destructive"}),(0,t.jsx)("span",{className:"text-destructive",children:U.error||"No access"})]})}):(0,t.jsx)("span",{className:"text-muted-foreground",children:P("selectDirectory")})})]})]})}],434805)},660748,361031,e=>{"use strict";var t,n=e.i(344180);e.s([],606106),e.i(606106),e.i(8890);var r=e.i(764556),s=e.i(106045),a=e.i(236706),o=e.i(842809),i=e.i(969490),l=e.i(267805);let u=r.createContext(void 0);function d(){let e=r.useContext(u);if(void 0===e)throw Error((0,l.default)(51));return e}let c=((t={}).complete="data-complete",t.indeterminate="data-indeterminate",t.progressing="data-progressing",t),p={status:e=>"progressing"===e?{[c.progressing]:""}:"complete"===e?{[c.complete]:""}:"indeterminate"===e?{[c.indeterminate]:""}:null};function f(e,t){return null==t?"indeterminate progress":e||`${t}%`}let g=r.forwardRef(function(e,t){let{format:l,getAriaValueText:d=f,locale:c,max:g=100,min:h=0,value:m,render:x,className:v,children:y,style:b,...S}=e,[C,R]=r.useState(),j=(0,s.useValueAsRef)(l),k="indeterminate";Number.isFinite(m)&&(k=m===g?"complete":"progressing");let w=(0,o.formatNumberValue)(m,c,j.current),E=r.useMemo(()=>({status:k}),[k]),O={"aria-labelledby":C,"aria-valuemax":g,"aria-valuemin":h,"aria-valuenow":m??void 0,"aria-valuetext":d(w,m),role:"progressbar",children:(0,n.jsxs)(r.Fragment,{children:[y,(0,n.jsx)("span",{role:"presentation",style:a.visuallyHidden,children:"x"})]})},N=r.useMemo(()=>({formattedValue:w,max:g,min:h,setLabelId:R,state:E,status:k,value:m}),[w,g,h,R,E,k,m]),T=(0,i.useRenderElement)("div",e,{state:E,ref:t,props:[O,S],stateAttributesMapping:p});return(0,n.jsx)(u.Provider,{value:N,children:T})}),h=r.forwardRef(function(e,t){let{render:n,className:r,style:s,...a}=e,{state:o}=d();return(0,i.useRenderElement)("div",e,{state:o,ref:t,props:a,stateAttributesMapping:p})});var m=e.i(203922);let x=r.forwardRef(function(e,t){let{render:n,className:s,style:a,...o}=e,{max:l,min:u,value:c,state:f}=d(),g=Number.isFinite(c)&&null!==c?(0,m.valueToPercent)(c,u,l):null,h=r.useCallback(()=>null==g?{}:{insetInlineStart:0,height:"inherit",width:`${g}%`},[g]);return(0,i.useRenderElement)("div",e,{state:f,ref:t,props:[{style:h()},o],stateAttributesMapping:p})}),v=r.forwardRef(function(e,t){let{className:n,render:r,children:s,style:a,...o}=e,{value:l,formattedValue:u,state:c}=d(),f=null==l?"indeterminate":u,g=null==l?null:u;return(0,i.useRenderElement)("span",e,{state:c,ref:t,props:[{"aria-hidden":!0,children:"function"==typeof s?s(f,l):g},o],stateAttributesMapping:p})});var y=e.i(559713);let b=r.forwardRef(function(e,t){let{render:n,className:r,style:s,id:a,...o}=e,{setLabelId:l,state:u}=d(),c=(0,y.useRegisteredLabelId)(a,l);return(0,i.useRenderElement)("span",e,{state:u,ref:t,props:[{id:c,role:"presentation"},o],stateAttributesMapping:p})});e.s(["Indicator",0,x,"Label",0,b,"Root",0,g,"Track",0,h,"Value",0,v],729535);var S=e.i(729535),S=S,C=e.i(465458);function R({className:e,...t}){return(0,n.jsx)(S.Track,{className:(0,C.cn)("relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted",e),"data-slot":"progress-track",...t})}function j({className:e,...t}){return(0,n.jsx)(S.Indicator,{"data-slot":"progress-indicator",className:(0,C.cn)("h-full bg-primary transition-all",e),...t})}e.s(["Progress",0,function({className:e,children:t,value:r,...s}){return(0,n.jsxs)(S.Root,{value:r,"data-slot":"progress",className:(0,C.cn)("flex flex-wrap gap-3",e),...s,children:[t,(0,n.jsx)(R,{children:(0,n.jsx)(j,{})})]})},"ProgressIndicator",0,j,"ProgressLabel",0,function({className:e,...t}){return(0,n.jsx)(S.Label,{className:(0,C.cn)("text-sm font-medium",e),"data-slot":"progress-label",...t})},"ProgressTrack",0,R],660748);let k=(0,e.i(816709).create)(e=>({workspaces:[],setWorkspaces:t=>e({workspaces:t}),upsertWorkspace:t=>{e(e=>{let n=e.workspaces.findIndex(e=>e.id===t.id);if(-1===n)return{workspaces:[...e.workspaces,t]};let r=[...e.workspaces];return r[n]=t,{workspaces:r}})},removeWorkspace:t=>{e(e=>({workspaces:e.workspaces.filter(e=>e.id!==t)}))}}));e.s(["useWorkspaceStore",0,k],361031)},524,e=>{"use strict";var t=e.i(344180),n=e.i(764556),r=e.i(209988),s=e.i(260218),a=e.i(355819),o=e.i(193251),i=e.i(62669),l=e.i(511800),u=e.i(434805),d=e.i(660748),c=e.i(244073);function p({open:e,onOpenChange:f,workspace:g,onSubmit:h}){let m=(0,c.useTranslations)("workspace"),x=(0,c.useTranslations)("common"),v=(0,a.useAgentStore)(e=>e.agents),[y,b]=(0,n.useState)(g?.name??""),[S,C]=(0,n.useState)(g?.boundDirs[0]??""),[R,j]=(0,n.useState)(!1),[k,w]=(0,n.useState)(!1),[E,O]=(0,n.useState)(""),[N,T]=(0,n.useState)(!1),[P,I]=(0,n.useState)(null),M=!!g,A=async()=>{if(y&&S){j(!0);try{await h({name:y,boundDirs:[S]}),f(!1)}finally{j(!1)}}},D=(0,n.useCallback)(async()=>{if(E&&S){T(!0),I(null);try{let e=await fetch("/api/workspaces/clone",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:E,targetDir:S})});if(!e.ok){let t=await e.json();I({phase:"error",progress:0,error:t.error||m("clone.cloneFailed")}),T(!1);return}let t=e.body?.getReader();if(!t){I({phase:"error",progress:0,error:m("clone.noResponseBody")}),T(!1);return}let n=new TextDecoder,r="";for(;;){let{done:e,value:s}=await t.read();if(e)break;let a=(r+=n.decode(s,{stream:!0})).split("\n");for(let e of(r=a.pop()||"",a))if(e.startsWith("data: "))try{let t=JSON.parse(e.slice(6));I(t),("done"===t.phase||"error"===t.phase)&&(T(!1),"done"===t.phase&&t.cloneDir&&(C(t.cloneDir),y||b(E.split("/").pop()?.replace(".git","")||""),w(!1),O(""),I(null)))}catch{}}}catch(e){I({phase:"error",progress:0,error:e.message}),T(!1)}}},[E,S,y,m]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Dialog,{open:e,onOpenChange:f,children:(0,t.jsxs)(r.DialogContent,{children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{children:M?m("dialog.editTitle"):m("dialog.newTitle")}),(0,t.jsx)(r.DialogDescription,{children:M?m("dialog.editDescription"):m("dialog.newDescription")})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 py-2",children:[(0,t.jsx)("input",{className:"rounded-xl border border-border bg-background px-4 py-2.5 text-sm outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all",placeholder:m("dialog.namePlaceholder"),value:y,onChange:e=>b(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()}),(0,t.jsx)("div",{children:(0,t.jsx)(u.FolderPicker,{value:S,onChange:C,placeholder:"/path/to/project"})}),!M&&(0,t.jsxs)(s.Button,{type:"button",variant:"outline",size:"sm",className:"w-full gap-1.5",onClick:()=>w(!0),disabled:!S,title:S?m("clone.fromGitTooltip"):m("clone.selectFolderFirst"),children:[(0,t.jsx)(o.Download,{className:"size-4"}),m("clone.createFromGit")]}),M&&v.length>0&&(0,t.jsxs)("div",{className:"rounded-xl border border-border p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2 text-sm font-medium",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:v.length}),(0,t.jsx)("span",{children:m("agents")})]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:v.map(e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-md bg-muted px-2 py-0.5 text-xs",children:e.name||e.role},e.id))})]})]}),(0,t.jsxs)(r.DialogFooter,{children:[(0,t.jsx)(s.Button,{variant:"outline",onClick:()=>f(!1),disabled:R,children:x("cancel")}),(0,t.jsx)(s.Button,{onClick:A,disabled:!y||!S||R,children:x(M?"save":"create")})]})]})}),(0,t.jsx)(r.Dialog,{open:k,onOpenChange:e=>{N||w(e)},children:(0,t.jsxs)(r.DialogContent,{children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{children:m("clone.title")}),(0,t.jsx)(r.DialogDescription,{children:m("clone.description")})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 py-2",children:[(0,t.jsx)("input",{className:"rounded-xl border border-border bg-background px-4 py-2.5 text-sm outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all",placeholder:"https://github.com/user/repo.git",value:E,onChange:e=>O(e.target.value),onKeyDown:e=>"Enter"===e.key&&e.preventDefault(),disabled:N}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[m("clone.cloneTo"),S,"/",E?E.split("/").pop()?.replace(".git","")||"repo":"..."]}),P&&"done"!==P.phase&&"error"!==P.phase&&(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)(d.Progress,{value:P.progress,children:[(0,t.jsx)(d.ProgressLabel,{children:m(`clone.phase.${P.phase}`)}),(0,t.jsxs)("span",{className:"ml-auto text-sm text-muted-foreground tabular-nums",children:[P.progress,"%"]}),(0,t.jsx)(d.ProgressTrack,{children:(0,t.jsx)(d.ProgressIndicator,{})})]}),null!=P.received&&null!=P.total&&(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:[P.received," / ",P.total," ",m("clone.objects")]})]}),P?.phase==="error"&&(0,t.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-destructive/50 bg-destructive/5 p-3",children:[(0,t.jsx)(l.AlertCircle,{className:"size-4 mt-0.5 shrink-0 text-destructive"}),(0,t.jsx)("p",{className:"text-sm text-destructive",children:P.error})]})]}),(0,t.jsxs)(r.DialogFooter,{children:[(0,t.jsx)(s.Button,{variant:"outline",onClick:()=>{N||w(!1)},disabled:N,children:x("cancel")}),(0,t.jsx)(s.Button,{onClick:D,disabled:!E||N,children:N?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Loader2,{className:"size-4 animate-spin"}),m("clone.cloning")]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Download,{className:"size-4"}),m("clone.clone")]})})]})]})})]})}e.s(["WorkspaceDialog",0,function({open:e,onOpenChange:n,workspace:r,onSubmit:s}){return(0,t.jsx)(p,{open:e,onOpenChange:n,workspace:r,onSubmit:s},e?r?.id??"new":"closed")}])},996652,e=>{"use strict";var t,n=e.i(344180);e.s([],739605),e.i(739605);var r=e.i(764556),s=e.i(166392),a=e.i(538501),o=e.i(427396),i=e.i(974578),l=e.i(389124),u=e.i(107164);e.i(8890);var d=e.i(267805);let c=r.createContext(void 0);function p(e){let t=r.useContext(c);if(void 0===t&&!e)throw Error((0,d.default)(47));return t}var f=e.i(106206),g=e.i(493696),h=e.i(332976),m=e.i(232449),x=e.i(549154),v=e.i(130522),y=e.i(742665),b=e.i(695011),S=e.i(561213),C=e.i(576487);let R={...b.popupStoreSelectors,disabled:(0,h.createSelector)(e=>e.disabled),instantType:(0,h.createSelector)(e=>e.instantType),openMethod:(0,h.createSelector)(e=>e.openMethod),openChangeReason:(0,h.createSelector)(e=>e.openChangeReason),modal:(0,h.createSelector)(e=>e.modal),focusManagerModal:(0,h.createSelector)(e=>e.focusManagerModal),stickIfOpen:(0,h.createSelector)(e=>e.stickIfOpen),titleElementId:(0,h.createSelector)(e=>e.titleElementId),descriptionElementId:(0,h.createSelector)(e=>e.descriptionElementId),openOnHover:(0,h.createSelector)(e=>e.openOnHover),closeDelay:(0,h.createSelector)(e=>e.closeDelay),hasViewport:(0,h.createSelector)(e=>e.hasViewport)};class j extends g.ReactStore{constructor(e){const t={...(0,b.createInitialPopupStoreState)(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1,...e};t.open&&e?.mounted===void 0&&(t.mounted=!0),super(t,{popupRef:r.createRef(),backdropRef:r.createRef(),internalBackdropRef:r.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:r.createRef(),beforeContentFocusGuardRef:r.createRef(),stickIfOpenTimeout:new m.Timeout,triggerElements:new S.PopupTriggerMap},R)}setOpen=(e,t)=>{let n=t.reason===y.REASONS.triggerHover,r=t.reason===y.REASONS.triggerPress&&0===t.event.detail,s=!e&&(t.reason===y.REASONS.escapeKey||null==t.reason);if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let a=()=>{let n={open:e,openChangeReason:t.reason},r=t.trigger?.id??null;(r||e)&&(n.activeTriggerId=r,n.activeTriggerElement=t.trigger??null),this.update(n)};n?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(C.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),f.flushSync(a)):a(),r||s?this.set("instantType",r?"click":"dismiss"):t.reason===y.REASONS.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)};static useStore(e,t){let n=(0,x.useRefWithInit)(()=>new j(t)).current,r=e??n;return(0,v.useOnMount)(n.disposeEffect),r}disposeEffect=()=>this.context.stickIfOpenTimeout.disposeEffect()}var k=e.i(602453),w=e.i(279501),E=e.i(564846);function O({props:e}){let{children:t,open:d,defaultOpen:p=!1,onOpenChange:f,onOpenChangeComplete:g,modal:h=!1,handle:m,triggerId:x,defaultTriggerId:v=null}=e,b=j.useStore(m?.store,{modal:h,open:p,openProp:d,activeTriggerId:v,triggerIdProp:x});(0,s.useOnFirstRender)(()=>{void 0===d&&!1===b.state.open&&!0===p&&b.update({open:!0,activeTriggerId:v})}),b.useControlledProp("openProp",d),b.useControlledProp("triggerIdProp",x);let S=b.useState("open"),C=b.useState("payload");b.useContextCallback("onOpenChange",f),b.useContextCallback("onOpenChangeComplete",g);let{openMethod:R,triggerProps:N}=(0,E.useOpenInteractionType)(S);(0,w.useImplicitActiveTrigger)(b);let{forceUnmount:T}=(0,w.useOpenStateTransitions)(S,b,()=>{b.update({stickIfOpen:!0,openChangeReason:null})});r.useEffect(()=>{S||b.context.stickIfOpenTimeout.clear()},[b,S]);let P=r.useCallback(()=>{b.setOpen(!1,(0,k.createChangeEventDetails)(y.REASONS.imperativeAction))},[b]);r.useImperativeHandle(e.actionsRef,()=>({unmount:T,close:P}),[T,P]);let I=(0,u.useSyncedFloatingRootContext)({popupStore:b,onOpenChange:b.setOpen}),M=(0,a.useDismiss)(I,{outsidePressEvent:{mouse:"trap-focus"===h?"sloppy":"intentional",touch:"sloppy"}}),A=(0,i.useRole)(I),{getReferenceProps:D,getFloatingProps:F,getTriggerProps:H}=(0,o.useInteractions)([M,A]),z=r.useMemo(()=>D(N),[D,N]),L=r.useMemo(()=>H(N),[H,N]),V=r.useMemo(()=>F(),[F]);b.useSyncedValues({modal:h,openMethod:R,activeTriggerProps:z,inactiveTriggerProps:L,popupProps:V,floatingRootContext:I,nested:null!=(0,l.useFloatingParentNodeId)()});let B=r.useMemo(()=>({store:b}),[b]);return(0,n.jsx)(c.Provider,{value:B,children:"function"==typeof t?t({payload:C}):t})}var N=e.i(931709),T=e.i(817955),P=e.i(969490),I=e.i(499198),M=e.i(934940),A=e.i(480283),D=e.i(139236),F=e.i(601957),H=e.i(660079);let z=r.forwardRef(function(e,t){let{render:s,className:a,disabled:i=!1,nativeButton:l=!0,handle:u,payload:c,openOnHover:f=!1,delay:g=300,closeDelay:h=0,id:m,style:x,...v}=e,b=p(!0),S=u?.store??b?.store;if(!S)throw Error((0,d.default)(74));let R=(0,D.useBaseUiId)(m),j=S.useState("isTriggerActive",R),k=S.useState("floatingRootContext"),E=S.useState("isOpenedByTrigger",R),O=r.useRef(null),{registerTrigger:z,isMountedByThisTrigger:L}=(0,w.useTriggerDataForwarding)(R,O,S,{payload:c,disabled:i,openOnHover:f,closeDelay:h}),V=S.useState("openChangeReason"),B=S.useState("stickIfOpen"),U=S.useState("openMethod"),W=S.useState("focusManagerModal"),K=(0,A.useHoverReferenceInteraction)(k,{enabled:null!=k&&f&&("touch"!==U||V!==y.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,I.safePolygon)(),restMs:g,delay:{close:h},triggerElementRef:O,isActiveTrigger:j,isClosing:()=>"ending"===S.select("transitionStatus")}),G=(0,M.useClick)(k,{enabled:null!=k,stickIfOpen:B}),$=(0,o.useInteractions)([G]),_=S.useState("triggerProps",L),{getButtonProps:q,buttonRef:J}=(0,N.useButton)({disabled:i,native:l}),X=r.useMemo(()=>({open:e=>e&&V===y.REASONS.triggerPress?T.pressableTriggerOpenStateMapping.open(e):T.triggerOpenStateMapping.open(e)}),[V]),Y=(0,P.useRenderElement)("button",e,{state:{disabled:i,open:E},ref:[J,t,z,O],props:[$.getReferenceProps(),K,_,{[C.CLICK_TRIGGER_IDENTIFIER]:"",id:R},v,q],stateAttributesMapping:X}),{preFocusGuardRef:Z,handlePreFocusGuardFocus:Q,handleFocusTargetFocus:ee}=(0,H.useTriggerFocusGuards)(S,O);return j&&!W?(0,n.jsxs)(r.Fragment,{children:[(0,n.jsx)(F.FocusGuard,{ref:Z,onFocus:Q}),(0,n.jsx)(r.Fragment,{children:Y},R),(0,n.jsx)(F.FocusGuard,{ref:S.context.triggerFocusTargetRef,onFocus:ee})]}):(0,n.jsx)(r.Fragment,{children:Y},R)});var L=e.i(128108);let V=r.createContext(void 0),B=r.forwardRef(function(e,t){let{keepMounted:r=!1,...s}=e,{store:a}=p();return a.useState("mounted")||r?(0,n.jsx)(V.Provider,{value:r,children:(0,n.jsx)(L.FloatingPortal,{ref:t,...s})}):null});var U=e.i(677822),W=e.i(277642);let K=r.createContext(void 0);function G(){let e=r.useContext(K);if(!e)throw Error((0,d.default)(46));return e}var $=e.i(576557),_=e.i(251817),q=e.i(427708),J=e.i(909852),X=e.i(263635),Y=e.i(900587);let Z=r.forwardRef(function(e,t){let{render:s,className:a,anchor:o,positionMethod:i="absolute",side:u="bottom",align:c="center",sideOffset:f=0,alignOffset:g=0,collisionBoundary:h="clipping-ancestors",collisionPadding:m=5,arrowPadding:x=5,sticky:v=!1,disableAnchorTracking:b=!1,collisionAvoidance:S=C.POPUP_COLLISION_AVOIDANCE,style:R,...j}=e,{store:k}=p(),w=function(){let e=r.useContext(V);if(void 0===e)throw Error((0,d.default)(45));return e}(),E=(0,l.useFloatingNodeId)(),O=k.useState("floatingRootContext"),N=k.useState("mounted"),T=k.useState("open"),P=k.useState("openChangeReason"),I=k.useState("activeTriggerElement"),M=k.useState("modal"),A=k.useState("openMethod"),D=k.useState("positionerElement"),F=k.useState("instantType"),H=k.useState("transitionStatus"),z=k.useState("hasViewport"),L=r.useRef(null),B=(0,q.useAnimationsFinished)(D,!1,!1),G=(0,$.useAnchorPositioning)({anchor:o,floatingRootContext:O,positionMethod:i,mounted:N,side:u,sideOffset:f,align:c,alignOffset:g,arrowPadding:x,collisionBoundary:h,collisionPadding:m,sticky:v,disableAnchorTracking:b,keepMounted:w,nodeId:E,collisionAvoidance:S,adaptiveOrigin:z?J.adaptiveOrigin:void 0}),Z=O.useState("domReferenceElement");(0,W.useIsoLayoutEffect)(()=>{let e=L.current;if(Z&&(L.current=Z),e&&Z&&Z!==e){k.set("instantType",void 0);let e=new AbortController;return B(()=>{k.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[Z,B,k]);let Q={open:T,side:G.side,align:G.align,anchorHidden:G.anchorHidden,instant:F};(0,Y.useAnchoredPopupScrollLock)(T&&!0===M&&P!==y.REASONS.triggerHover,"touch"===A,D,I);let ee=r.useCallback(e=>{k.set("positionerElement",e)},[k]),et=(0,X.usePositioner)(e,Q,{styles:G.positionerStyles,transitionStatus:H,props:j,refs:[t,ee],hidden:!N,inert:!T});return(0,n.jsxs)(K.Provider,{value:G,children:[N&&!0===M&&P!==y.REASONS.triggerHover&&(0,n.jsx)(_.InternalBackdrop,{ref:k.context.internalBackdropRef,inert:(0,U.inertValue)(!T),cutout:I}),(0,n.jsx)(l.FloatingNode,{id:E,children:et})]})});var Q=e.i(92615),ee=e.i(583289),et=e.i(795914),en=e.i(282458),er=e.i(273598),es=e.i(100229),ea=e.i(971109),eo=e.i(328657),ei=e.i(29905);let el=r.createContext(void 0);function eu(e){let{value:t,children:r}=e;return(0,n.jsx)(el.Provider,{value:t,children:r})}let ed={...T.popupStateMapping,...en.transitionStatusMapping},ec=r.forwardRef(function(e,t){let{className:s,render:a,initialFocus:o,finalFocus:i,style:l,...u}=e,{store:d}=p(),c=G(),f=null!=(0,ea.useToolbarRootContext)(!0),{context:g,hasClosePart:h}=function(){let[e,t]=r.useState(0),n=(0,ei.useStableCallback)(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:r.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}(),m=d.useState("open"),x=d.useState("openMethod"),v=d.useState("instantType"),b=d.useState("transitionStatus"),S=d.useState("popupProps"),C=d.useState("titleElementId"),R=d.useState("descriptionElementId"),j=d.useState("modal"),k=d.useState("mounted"),w=d.useState("openChangeReason"),E=d.useState("activeTriggerElement"),O=d.useState("floatingRootContext");(0,er.useOpenChangeComplete)({open:m,ref:d.context.popupRef,onComplete(){m&&d.context.onOpenChangeComplete?.(!0)}});let N=d.useState("disabled"),T=d.useState("openOnHover"),I=d.useState("closeDelay");(0,et.useHoverFloatingInteraction)(O,{enabled:T&&!N,closeDelay:I});let M=void 0===o?function(e){return"touch"!==e||d.context.popupRef.current}:o,A={open:m,side:c.side,align:c.align,instant:v,transitionStatus:b},D=!1!==j&&h;d.useSyncedValue("focusManagerModal",D);let F=r.useCallback(e=>{d.set("popupElement",e)},[d]),H=(0,P.useRenderElement)("div",e,{state:A,ref:[t,d.context.popupRef,F],props:[S,{"aria-labelledby":C,"aria-describedby":R,onKeyDown(e){f&&es.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,eo.getDisabledMountTransitionStyles)(b),u],stateAttributesMapping:ed});return(0,n.jsx)(ee.FloatingFocusManager,{context:O,openInteractionType:x,modal:D,disabled:!k||w===y.REASONS.triggerHover,initialFocus:M,returnFocus:i,restoreFocus:"popup",previousFocusableElement:(0,Q.isHTMLElement)(E)?E:void 0,nextFocusableElement:d.context.triggerFocusTargetRef,beforeContentFocusGuardRef:d.context.beforeContentFocusGuardRef,children:(0,n.jsx)(eu,{value:g,children:H})})}),ep=r.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,{store:o}=p(),i=o.useState("open"),{arrowRef:l,side:u,align:d,arrowUncentered:c,arrowStyles:f}=G();return(0,P.useRenderElement)("div",e,{state:{open:i,side:u,align:d,uncentered:c},ref:[t,l],props:[{style:f,"aria-hidden":!0},a],stateAttributesMapping:T.popupStateMapping})}),ef={...T.popupStateMapping,...en.transitionStatusMapping},eg=r.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,{store:o}=p(),i=o.useState("open"),l=o.useState("mounted"),u=o.useState("transitionStatus"),d=o.useState("openChangeReason");return(0,P.useRenderElement)("div",e,{state:{open:i,transitionStatus:u},ref:[o.context.backdropRef,t],props:[{role:"presentation",hidden:!l,style:{pointerEvents:d===y.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},a],stateAttributesMapping:ef})}),eh=r.forwardRef(function(e,t){let{render:n,className:r,style:s,...a}=e,{store:o}=p(),i=(0,D.useBaseUiId)(a.id);return(0,W.useIsoLayoutEffect)(()=>(o.set("titleElementId",i),()=>{o.set("titleElementId",void 0)}),[o,i]),(0,P.useRenderElement)("h2",e,{ref:t,props:[{id:i},a]})}),em=r.forwardRef(function(e,t){let{render:n,className:r,style:s,...a}=e,{store:o}=p(),i=(0,D.useBaseUiId)(a.id);return(0,W.useIsoLayoutEffect)(()=>(o.set("descriptionElementId",i),()=>{o.set("descriptionElementId",void 0)}),[o,i]),(0,P.useRenderElement)("p",e,{ref:t,props:[{id:i},a]})}),ex=r.forwardRef(function(e,t){let n,{render:s,className:a,disabled:o=!1,nativeButton:i=!0,style:l,...u}=e,{buttonRef:d,getButtonProps:c}=(0,N.useButton)({disabled:o,focusableWhenDisabled:!1,native:i}),{store:f}=p();return n=r.useContext(el),(0,W.useIsoLayoutEffect)(()=>n?.register(),[n]),(0,P.useRenderElement)("button",e,{ref:[t,d],props:[{onClick(e){f.setOpen(!1,(0,k.createChangeEventDetails)(y.REASONS.closePress,e.nativeEvent,e.currentTarget))}},u,c]})}),ev=((t={}).popupWidth="--popup-width",t.popupHeight="--popup-height",t);var ey=e.i(3310);let eb={activationDirection:e=>e?{"data-activation-direction":e}:null},eS=r.forwardRef(function(e,t){let{render:n,className:r,style:s,children:a,...o}=e,{store:i}=p(),{side:l}=G(),u=i.useState("instantType"),{children:d,state:c}=(0,ey.usePopupViewport)({store:i,side:l,cssVars:ev,children:a}),f={activationDirection:c.activationDirection,transitioning:c.transitioning,instant:u};return(0,P.useRenderElement)("div",e,{state:f,ref:t,props:[o,{children:d}],stateAttributesMapping:eb})});class eC{constructor(){this.store=new j}open(e){let t=e?this.store.context.triggerElements.getById(e)??void 0:void 0;if(e&&!t)throw Error((0,d.default)(80,e));this.store.setOpen(!0,(0,k.createChangeEventDetails)(y.REASONS.imperativeAction,void 0,t))}close(){this.store.setOpen(!1,(0,k.createChangeEventDetails)(y.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,ep,"Backdrop",0,eg,"Close",0,ex,"Description",0,em,"Handle",0,eC,"Popup",0,ec,"Portal",0,B,"Positioner",0,Z,"Root",0,function(e){return p(!0)?(0,n.jsx)(O,{props:e}):(0,n.jsx)(l.FloatingTree,{children:(0,n.jsx)(O,{props:e})})},"Title",0,eh,"Trigger",0,z,"Viewport",0,eS,"createHandle",0,function(){return new eC}],631858);var eR=e.i(631858),eR=eR,ej=e.i(465458);e.s(["Popover",0,function({...e}){return(0,n.jsx)(eR.Root,{"data-slot":"popover",...e})},"PopoverContent",0,function({className:e,align:t="center",alignOffset:r=0,side:s="bottom",sideOffset:a=4,...o}){return(0,n.jsx)(eR.Portal,{children:(0,n.jsx)(eR.Positioner,{align:t,alignOffset:r,side:s,sideOffset:a,className:"isolate z-50",children:(0,n.jsx)(eR.Popup,{"data-slot":"popover-content",className:(0,ej.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...o})})})},"PopoverTrigger",0,function({...e}){return(0,n.jsx)(eR.Trigger,{"data-slot":"popover-trigger",...e})}],996652)},144988,e=>{"use strict";let t=(0,e.i(433721).default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);e.s(["default",0,t])},601039,e=>{"use strict";let t=(0,e.i(433721).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],601039)},384389,e=>{"use strict";var t=e.i(764556),n=e.i(106206),r=e.i(128108),s=e.i(344180);let a=t.forwardRef(function(e,a){let{children:o,container:i,className:l,render:u,style:d,...c}=e,{portalNode:p,portalSubtree:f}=(0,r.useFloatingPortalNode)({container:i,ref:a,componentProps:e,elementProps:c});return f||p?(0,s.jsxs)(t.Fragment,{children:[f,p&&n.createPortal(o,p)]}):null});e.s(["FloatingPortalLite",0,a])},638322,e=>{"use strict";var t,n,r=e.i(344180);e.s([],935002),e.i(935002),e.i(8890);var s=e.i(764556),a=e.i(155461),o=e.i(166392),i=e.i(277642),l=e.i(267805);let u=s.createContext(void 0);function d(e){let t=s.useContext(u);if(void 0===t&&!e)throw Error((0,l.default)(72));return t}var c=e.i(92615),p=e.i(422561),f=e.i(29905),g=e.i(410421),h=e.i(150129);function m(e){return null!=e&&null!=e.clientX}var x=e.i(538501),v=e.i(427396),y=e.i(602453),b=e.i(279501),S=e.i(106206),C=e.i(332976),R=e.i(493696),j=e.i(549154),k=e.i(107164),w=e.i(742665),E=e.i(695011),O=e.i(561213);let N={...E.popupStoreSelectors,disabled:(0,C.createSelector)(e=>e.disabled),instantType:(0,C.createSelector)(e=>e.instantType),isInstantPhase:(0,C.createSelector)(e=>e.isInstantPhase),trackCursorAxis:(0,C.createSelector)(e=>e.trackCursorAxis),disableHoverablePopup:(0,C.createSelector)(e=>e.disableHoverablePopup),lastOpenChangeReason:(0,C.createSelector)(e=>e.openChangeReason),closeOnClick:(0,C.createSelector)(e=>e.closeOnClick),closeDelay:(0,C.createSelector)(e=>e.closeDelay),hasViewport:(0,C.createSelector)(e=>e.hasViewport)};class T extends R.ReactStore{constructor(e){super({...(0,E.createInitialPopupStoreState)(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1,...e},{popupRef:s.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new O.PopupTriggerMap},N)}setOpen=(e,t)=>{let n=t.reason,r=n===w.REASONS.triggerHover,s=e&&n===w.REASONS.triggerFocus,a=!e&&(n===w.REASONS.triggerPress||n===w.REASONS.escapeKey);if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let o=()=>{let r={open:e,openChangeReason:n};s?r.instantType="focus":a?r.instantType="dismiss":n===w.REASONS.triggerHover&&(r.instantType=void 0);let o=t.trigger?.id??null;(o||e)&&(r.activeTriggerId=o,r.activeTriggerElement=t.trigger??null),this.update(r)};r?S.flushSync(o):o()};static useStore(e,t){let n=(0,j.useRefWithInit)(()=>new T(t)).current,r=e??n,s=(0,k.useSyncedFloatingRootContext)({popupStore:r,onOpenChange:r.setOpen});return r.state.floatingRootContext=s,r}}let P=(0,a.fastComponent)(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:a,disableHoverablePopup:l=!1,trackCursorAxis:d="none",actionsRef:S,onOpenChange:C,onOpenChangeComplete:R,handle:j,triggerId:k,defaultTriggerId:E=null,children:O}=e,N=T.useStore(j?.store,{open:n,openProp:a,activeTriggerId:E,triggerIdProp:k});(0,o.useOnFirstRender)(()=>{void 0===a&&!1===N.state.open&&!0===n&&N.update({open:!0,activeTriggerId:E})}),N.useControlledProp("openProp",a),N.useControlledProp("triggerIdProp",k),N.useContextCallback("onOpenChange",C),N.useContextCallback("onOpenChangeComplete",R);let P=N.useState("open"),I=!t&&P,M=N.useState("activeTriggerId"),A=N.useState("payload");N.useSyncedValues({trackCursorAxis:d,disableHoverablePopup:l}),(0,i.useIsoLayoutEffect)(()=>{P&&t&&N.setOpen(!1,(0,y.createChangeEventDetails)(w.REASONS.disabled))},[P,t,N]),N.useSyncedValue("disabled",t),(0,b.useImplicitActiveTrigger)(N);let{forceUnmount:D,transitionStatus:F}=(0,b.useOpenStateTransitions)(I,N),H=N.select("floatingRootContext"),z=N.useState("isInstantPhase"),L=N.useState("instantType"),V=N.useState("lastOpenChangeReason"),B=s.useRef(null);(0,i.useIsoLayoutEffect)(()=>{"ending"===F&&V===w.REASONS.none||"ending"!==F&&z?("delay"!==L&&(B.current=L),N.set("instantType","delay")):null!==B.current&&(N.set("instantType",B.current),B.current=null)},[F,z,V,L,N]),(0,i.useIsoLayoutEffect)(()=>{I&&null==M&&N.set("payload",void 0)},[N,M,I]);let U=s.useCallback(()=>{N.setOpen(!1,(0,y.createChangeEventDetails)(w.REASONS.imperativeAction))},[N]);s.useImperativeHandle(S,()=>({unmount:D,close:U}),[D,U]);let W=(0,x.useDismiss)(H,{enabled:!t,referencePress:()=>N.select("closeOnClick")}),K=function(e,t={}){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),a=n.useState("floatingElement"),o=n.useState("domReferenceElement"),i=n.context.dataRef,{enabled:l=!0,axis:u="both"}=t,d=s.useRef(!1),x=s.useRef(null),[v,y]=s.useState(),[b,S]=s.useState([]),C=(0,f.useStableCallback)((e,t,r)=>{if(!d.current&&(!i.current.openEvent||m(i.current.openEvent))){var s,a;let l,d,c;n.set("positionReference",(s=r??o,a={x:e,y:t,axis:u,dataRef:i,pointerType:v},l=null,d=null,c=!1,{contextElement:s||void 0,getBoundingClientRect(){let e=s?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},t="x"===a.axis||"both"===a.axis,n="y"===a.axis||"both"===a.axis,r=["mouseenter","mousemove"].includes(a.dataRef.current.openEvent?.type||"")&&"touch"!==a.pointerType,o=e.width,i=e.height,u=e.x,p=e.y;return null==l&&a.x&&t&&(l=e.x-a.x),null==d&&a.y&&n&&(d=e.y-a.y),u-=l||0,p-=d||0,o=0,i=0,!c||r?(o="y"===a.axis?e.width:0,i="x"===a.axis?e.height:0,u=t&&null!=a.x?a.x:u,p=n&&null!=a.y?a.y:p):c&&!r&&(i="x"===a.axis?e.height:i,o="y"===a.axis?e.width:o),c=!0,{width:o,height:i,x:u,y:p,top:p,right:u+o,bottom:p+i,left:u}}}))}}),R=(0,f.useStableCallback)(e=>{r?x.current||S([]):C(e.clientX,e.clientY,e.currentTarget)}),j=(0,h.isMouseLikePointerType)(v)?a:r,k=s.useCallback(()=>{if(!j||!l)return;let e=(0,c.getWindow)(a);if(!i.current.openEvent||m(i.current.openEvent))return x.current=(0,p.addEventListener)(e,"mousemove",function(e){let t=(0,g.getTarget)(e);(0,g.contains)(a,t)?(x.current?.(),x.current=null):C(e.clientX,e.clientY)}),()=>{x.current?.(),x.current=null};n.set("positionReference",o)},[j,l,a,i,o,n,C]);s.useEffect(()=>k(),[k,b]),s.useEffect(()=>{l&&!a&&(d.current=!1)},[l,a]),s.useEffect(()=>{!l&&r&&(d.current=!0)},[l,r]);let w=s.useMemo(()=>{function e(e){y(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:R,onMouseEnter:R}},[R]);return s.useMemo(()=>l?{reference:w,trigger:w}:{},[l,w])}(H,{enabled:!t&&"none"!==d,axis:"none"===d?void 0:d}),{getReferenceProps:G,getFloatingProps:$,getTriggerProps:_}=(0,v.useInteractions)([W,K]),q=s.useMemo(()=>G(),[G]),J=s.useMemo(()=>_(),[_]),X=s.useMemo(()=>$(),[$]);return N.useSyncedValues({activeTriggerProps:q,inactiveTriggerProps:J,popupProps:X}),(0,r.jsx)(u.Provider,{value:N,children:"function"==typeof O?O({payload:A}):O})});var I=e.i(817955),M=e.i(969490),A=e.i(139236);let D=s.createContext(void 0);var F=e.i(499198),H=e.i(232449),z=e.i(49863);let L=s.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new H.Timeout,currentIdRef:{current:null},currentContextRef:{current:null}});function V(e){let{children:t,delay:n,timeoutMs:a=0}=e,o=s.useRef(n),i=s.useRef(n),l=s.useRef(null),u=s.useRef(null),d=(0,H.useTimeout)();return(0,r.jsx)(L.Provider,{value:s.useMemo(()=>({hasProvider:!0,delayRef:o,initialDelayRef:i,currentIdRef:l,timeoutMs:a,currentContextRef:u,timeout:d}),[a,d]),children:t})}var B=e.i(604921),U=e.i(480283);let W=((t={})[t.popupOpen=I.CommonTriggerDataAttributes.popupOpen]="popupOpen",t.triggerDisabled="data-trigger-disabled",t),K=(0,a.fastComponentRef)(function(e,t){let{className:n,render:r,handle:a,payload:o,disabled:u,delay:c,closeOnClick:p=!0,closeDelay:f,id:g,style:h,...m}=e,x=d(!0),v=a?.store??x;if(!v)throw Error((0,l.default)(82));let S=(0,A.useBaseUiId)(g),C=v.useState("isTriggerActive",S),R=v.useState("isOpenedByTrigger",S),j=v.useState("floatingRootContext"),k=s.useRef(null),E=c??600,O=f??0,{registerTrigger:N,isMountedByThisTrigger:T}=(0,b.useTriggerDataForwarding)(S,k,v,{payload:o,closeOnClick:p,closeDelay:O}),P=s.useContext(D),{delayRef:H,isInstantPhase:V,hasProvider:K}=function(e,t={open:!1}){let n="rootStore"in e?e.rootStore:e,r=n.useState("floatingId"),{open:a}=t,{currentIdRef:o,delayRef:l,timeoutMs:u,initialDelayRef:d,currentContextRef:c,hasProvider:p,timeout:f}=s.useContext(L),[g,h]=s.useState(!1);return(0,i.useIsoLayoutEffect)(()=>{function e(){h(!1),c.current?.setIsInstantPhase(!1),o.current=null,c.current=null,l.current=d.current}if(o.current&&!a&&o.current===r){if(h(!1),u)return f.start(u,()=>{n.select("open")||o.current&&o.current!==r||e()}),()=>{f.clear()};e()}},[a,r,o,l,u,d,c,f,n]),(0,i.useIsoLayoutEffect)(()=>{if(!a)return;let e=c.current,t=o.current;f.clear(),c.current={onOpenChange:n.setOpen,setIsInstantPhase:h},o.current=r,l.current={open:0,close:(0,z.getDelay)(d.current,"close")},null!==t&&t!==r?(h(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,(0,y.createChangeEventDetails)(w.REASONS.none))):(h(!1),e?.setIsInstantPhase(!1))},[a,r,n,o,l,u,d,c,f]),(0,i.useIsoLayoutEffect)(()=>()=>{c.current=null},[c]),s.useMemo(()=>({hasProvider:p,delayRef:l,isInstantPhase:g}),[p,l,g])}(j,{open:R});v.useSyncedValue("isInstantPhase",V);let G=v.useState("disabled"),$=u??G,_=v.useState("trackCursorAxis"),q=v.useState("disableHoverablePopup"),J=(0,U.useHoverReferenceInteraction)(j,{enabled:!$,mouseOnly:!0,move:!1,handleClose:q||"both"===_?null:(0,F.safePolygon)(),restMs(){let e=P?.delay,t="object"==typeof H.current?H.current.open:void 0,n=E;return K&&(n=0!==t?c??e??E:0),n},delay(){let e="object"==typeof H.current?H.current.close:void 0,t=O;return null==f&&K&&(t=e),{close:t}},triggerElementRef:k,isActiveTrigger:C,isClosing:()=>"ending"===v.select("transitionStatus")}),X=(0,B.useFocus)(j,{enabled:!$}).reference,Y=v.useState("triggerProps",T);return(0,M.useRenderElement)("button",e,{state:{open:R},ref:[t,N,k],props:[J,X,Y,{onPointerDown(){v.set("closeOnClick",p)},id:S,[W.triggerDisabled]:$?"":void 0},m],stateAttributesMapping:I.triggerOpenStateMapping})}),G=s.createContext(void 0);var $=e.i(384389);let _=s.forwardRef(function(e,t){let{keepMounted:n=!1,...s}=e;return d().useState("mounted")||n?(0,r.jsx)(G.Provider,{value:n,children:(0,r.jsx)($.FloatingPortalLite,{ref:t,...s})}):null}),q=s.createContext(void 0);function J(){let e=s.useContext(q);if(void 0===e)throw Error((0,l.default)(71));return e}var X=e.i(576557),Y=e.i(576487),Z=e.i(909852),Q=e.i(263635);let ee=s.forwardRef(function(e,t){let{render:n,className:a,anchor:o,positionMethod:i="absolute",side:u="top",align:c="center",sideOffset:p=0,alignOffset:f=0,collisionBoundary:g="clipping-ancestors",collisionPadding:h=5,arrowPadding:m=5,sticky:x=!1,disableAnchorTracking:v=!1,collisionAvoidance:y=Y.POPUP_COLLISION_AVOIDANCE,style:b,...S}=e,C=d(),R=function(){let e=s.useContext(G);if(void 0===e)throw Error((0,l.default)(70));return e}(),j=C.useState("open"),k=C.useState("mounted"),w=C.useState("trackCursorAxis"),E=C.useState("disableHoverablePopup"),O=C.useState("floatingRootContext"),N=C.useState("instantType"),T=C.useState("transitionStatus"),P=C.useState("hasViewport"),I=(0,X.useAnchorPositioning)({anchor:o,positionMethod:i,floatingRootContext:O,mounted:k,side:u,sideOffset:p,align:c,alignOffset:f,collisionBoundary:g,collisionPadding:h,sticky:x,arrowPadding:m,disableAnchorTracking:v,keepMounted:R,collisionAvoidance:y,adaptiveOrigin:P?Z.adaptiveOrigin:void 0}),M=s.useMemo(()=>({open:j,side:I.side,align:I.align,anchorHidden:I.anchorHidden,instant:"none"!==w?"tracking-cursor":N}),[j,I.side,I.align,I.anchorHidden,w,N]),A=(0,Q.usePositioner)(e,M,{styles:I.positionerStyles,transitionStatus:T,props:S,refs:[t,C.useStateSetter("positionerElement")],hidden:!k,inert:!j||"both"===w||E});return(0,r.jsx)(q.Provider,{value:I,children:A})});var et=e.i(282458),en=e.i(273598),er=e.i(328657),es=e.i(795914);let ea={...I.popupStateMapping,...et.transitionStatusMapping},eo=s.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,o=d(),{side:i,align:l}=J(),u=o.useState("open"),c=o.useState("instantType"),p=o.useState("transitionStatus"),f=o.useState("popupProps"),g=o.useState("floatingRootContext");(0,en.useOpenChangeComplete)({open:u,ref:o.context.popupRef,onComplete(){u&&o.context.onOpenChangeComplete?.(!0)}});let h=o.useState("disabled"),m=o.useState("closeDelay");return(0,es.useHoverFloatingInteraction)(g,{enabled:!h,closeDelay:m}),(0,M.useRenderElement)("div",e,{state:{open:u,side:i,align:l,instant:c,transitionStatus:p},ref:[t,o.context.popupRef,o.useStateSetter("popupElement")],props:[f,(0,er.getDisabledMountTransitionStyles)(p),a],stateAttributesMapping:ea})}),ei=s.forwardRef(function(e,t){let{className:n,render:r,style:s,...a}=e,o=d(),i=o.useState("open"),l=o.useState("instantType"),{arrowRef:u,side:c,align:p,arrowUncentered:f,arrowStyles:g}=J();return(0,M.useRenderElement)("div",e,{state:{open:i,side:c,align:p,uncentered:f,instant:l},ref:[t,u],props:[{style:g,"aria-hidden":!0},a],stateAttributesMapping:I.popupStateMapping})}),el=((n={}).popupWidth="--popup-width",n.popupHeight="--popup-height",n);var eu=e.i(3310);let ed={activationDirection:e=>e?{"data-activation-direction":e}:null},ec=s.forwardRef(function(e,t){let{render:n,className:r,style:s,children:a,...o}=e,i=d(),l=J(),u=i.useState("instantType"),{children:c,state:p}=(0,eu.usePopupViewport)({store:i,side:l.side,cssVars:el,children:a}),f={activationDirection:p.activationDirection,transitioning:p.transitioning,instant:u};return(0,M.useRenderElement)("div",e,{state:f,ref:t,props:[o,{children:c}],stateAttributesMapping:ed})});class ep{constructor(){this.store=new T}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,l.default)(81,e));this.store.setOpen(!0,(0,y.createChangeEventDetails)(w.REASONS.imperativeAction,void 0,t))}close(){this.store.setOpen(!1,(0,y.createChangeEventDetails)(w.REASONS.imperativeAction,void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",0,ei,"Handle",0,ep,"Popup",0,eo,"Portal",0,_,"Positioner",0,ee,"Provider",0,function(e){let{delay:t,closeDelay:n,timeout:a=400}=e,o=s.useMemo(()=>({delay:t,closeDelay:n}),[t,n]),i=s.useMemo(()=>({open:t,close:n}),[t,n]);return(0,r.jsx)(D.Provider,{value:o,children:(0,r.jsx)(V,{delay:i,timeoutMs:a,children:e.children})})},"Root",0,P,"Trigger",0,K,"Viewport",0,ec,"createHandle",0,function(){return new ep}],638295);var ef=e.i(638295),ef=ef,eg=e.i(465458);e.s(["Tooltip",0,function({...e}){return(0,r.jsx)(ef.Root,{"data-slot":"tooltip",...e})},"TooltipContent",0,function({className:e,side:t="top",sideOffset:n=4,align:s="center",alignOffset:a=0,children:o,...i}){return(0,r.jsx)(ef.Portal,{children:(0,r.jsx)(ef.Positioner,{align:s,alignOffset:a,side:t,sideOffset:n,className:"isolate z-50",children:(0,r.jsxs)(ef.Popup,{"data-slot":"tooltip-content",className:(0,eg.cn)("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...i,children:[o,(0,r.jsx)(ef.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})},"TooltipTrigger",0,function({...e}){return(0,r.jsx)(ef.Trigger,{"data-slot":"tooltip-trigger",...e})}],638322)},226651,e=>{"use strict";let t=(0,e.i(433721).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["default",0,t])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,177053,e=>{"use strict";var t=e.i(344180),a=e.i(523592);{let e=window.fetch,t="__api_patched__";window[t]||(window[t]=!0,window.fetch=function(t,s){if("string"==typeof t&&t.startsWith("/api/")){let e=(0,a.getActiveServerUrl)();e&&(t=`${e}${t}`)}return e.call(window,t,s)})}var s=e.i(764556),n=e.i(799543),r=e.i(437122),i=e.i(233297),o=e.i(286117);e.s(["AuthGuard",0,function({children:e}){let a=(0,n.usePathname)(),l=(0,n.useRouter)(),[d,c]=(0,s.useState)(!1),u=(0,o.isLoginPath)(a);return((0,s.useEffect)(()=>{if(u)return void c(!0);if(!(0,r.isAuthenticated)())return void(0,i.tauriNavigate)(l,"/login",!0);let e=(0,r.getToken)();fetch("/api/auth/check",{headers:null!==e?{Authorization:`Bearer ${e}`}:{}}).then(e=>401===e.status||403===e.status?((0,r.removeToken)(),(0,i.tauriNavigate)(l,"/login",!0),null):e.ok?e.json():{authenticated:!0}).then(e=>{null!==e&&(e.authenticated?c(!0):((0,r.removeToken)(),(0,i.tauriNavigate)(l,"/login",!0)))}).catch(()=>c(!0))},[u,l]),u||d)?(0,t.jsx)(t.Fragment,{children:e}):null}],177053)},478189,(e,t,a)=>{"use strict";t.exports="/__open-stack-frame-in-editor"},994876,e=>{"use strict";var t=e.i(344180),a=e.i(799543),s=e.i(764556),n=e.i(370383),r=e.i(928542),i=e.i(294237),o=e.i(564822),l=e.i(465458),d=e.i(260218),c=e.i(681622);e.i(362962);var u=e.i(14452),m=e.i(638322),p=e.i(433721);let x=(0,p.default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),h="sidebar_state",g=s.createContext(null);function f(){let e=s.useContext(g);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}function b({defaultOpen:e=!0,open:a,onOpenChange:n,className:r,style:i,children:d,...c}){let u=(0,o.useIsMobile)(),[m,p]=s.useState(!1),[x,f]=s.useState(e),v=a??x;s.useEffect(()=>{if(void 0!==a)return;let e=document.cookie.match(RegExp(`(?:^|; )${h}=([^;]*)`));e&&f("true"===e[1])},[]);let j=s.useCallback(e=>{let t="function"==typeof e?e(v):e;n?n(t):f(t),document.cookie=`${h}=${t}; path=/; max-age=604800`},[n,v]),w=s.useCallback(()=>u?p(e=>!e):j(e=>!e),[u,j,p]);s.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),w())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[w]);let k=v||u&&m?"expanded":"collapsed",N=s.useMemo(()=>({state:k,open:v,setOpen:j,isMobile:u,openMobile:m,setOpenMobile:p,toggleSidebar:w}),[k,v,j,u,m,p,w]);return(0,t.jsx)(g.Provider,{value:N,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...i},className:(0,l.cn)("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",r),...c,children:d})})}function v({side:e="left",variant:a="sidebar",collapsible:s="offcanvas",className:n,children:r,dir:i,...o}){let{isMobile:d,state:c,openMobile:m,setOpenMobile:p}=f();return"none"===s?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,l.cn)("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",n),...o,children:r}):d?(0,t.jsx)(u.Sheet,{open:m,onOpenChange:p,...o,children:(0,t.jsxs)(u.SheetContent,{dir:i,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(u.SheetHeader,{className:"sr-only",children:[(0,t.jsx)(u.SheetTitle,{children:"Sidebar"}),(0,t.jsx)(u.SheetDescription,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:r})]})}):(0,t.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":c,"data-collapsible":"collapsed"===c?s:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,l.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container","data-side":e,className:(0,l.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...o,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col group-data-[variant=floating]:rounded-xl group-data-[variant=floating]:bg-transparent",children:r})})]})}function j({className:e,onClick:a,...s}){let{toggleSidebar:n}=f();return(0,t.jsxs)(d.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:(0,l.cn)(e),onClick:e=>{a?.(e),n()},...s,children:[(0,t.jsx)(x,{}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function w({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,l.cn)("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})}function k({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,l.cn)("flex flex-col gap-2 p-2",e),...a})}function N({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,l.cn)("flex flex-col gap-2 p-2",e),...a})}function y({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,l.cn)("no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})}function S({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,l.cn)("flex w-full min-w-0 flex-col gap-0",e),...a})}function C({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,l.cn)("group/menu-item relative",e),...a})}let z=(0,i.cva)("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function D({render:e,isActive:a=!1,variant:s="default",size:i="default",tooltip:o,className:d,...c}){let{isMobile:u,state:p}=f(),x=(0,r.useRender)({defaultTagName:"button",props:(0,n.mergeProps)({className:(0,l.cn)(z({variant:s,size:i}),d)},c),render:o?(0,t.jsx)(m.TooltipTrigger,{render:e}):e,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:i,active:a}});return o?("string"==typeof o&&(o={children:o}),(0,t.jsxs)(m.Tooltip,{children:[x,(0,t.jsx)(m.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==p||u,...o})]})):x}function T({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:(0,l.cn)("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",e),...a})}function M({render:e,size:t="md",isActive:a=!1,className:s,...i}){return(0,r.useRender)({defaultTagName:"a",props:(0,n.mergeProps)({className:(0,l.cn)("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",s)},i),render:e,state:{slot:"sidebar-menu-sub-button",sidebar:"menu-sub-button",size:t,active:a}})}var P=e.i(244073),_=e.i(233297),I=e.i(341807),A=e.i(411649),L=e.i(451534);let O=(0,p.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var $=e.i(325443),E=e.i(990336),R=e.i(100559),W=e.i(962562),B=e.i(137340);let F=(0,p.default)("folder-search",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]);var H=e.i(327962),U=e.i(415360),G=e.i(191202),K=e.i(324216),J=e.i(588591),q=e.i(86477),V=e.i(549705),Q=e.i(238300),X=e.i(625873),Y=e.i(22906),Z=e.i(256186),ee=e.i(917955),et=e.i(996652),ea=e.i(650654),es=e.i(249673),en=e.i(226651),en=en,er=e.i(953700),ei=e.i(267624);function eo({routes:e}){let{state:n,isMobile:r,setOpenMobile:i}=f(),o="collapsed"===n,[d,c]=(0,s.useState)(new Set),u=(0,a.useRouter)(),m=(0,P.useTranslations)("common"),p=e=>{r&&i(!1),(0,_.tauriNavigate)(u,e)};return(0,t.jsx)(S,{children:e.map(e=>{let a=!o&&d.has(e.id),s=!!e.subs?.length,n=s||!!e.onAdd;return(0,t.jsx)(C,{children:n?o?(0,t.jsxs)(et.Popover,{children:[(0,t.jsx)(et.PopoverTrigger,{render:(0,t.jsx)(D,{className:"justify-center text-muted-foreground hover:bg-sidebar-muted hover:text-foreground",tooltip:e.title}),children:e.icon}),(0,t.jsxs)(et.PopoverContent,{side:"right",sideOffset:8,className:"w-56 p-1.5",children:[(0,t.jsx)("div",{className:"px-2 py-1.5 text-xs font-semibold text-muted-foreground mb-1",children:e.title}),e.subs?.map(a=>(0,t.jsxs)("div",{className:"group/sub relative flex items-center",children:[a.onClick?(0,t.jsxs)("button",{type:"button",onClick:a.onClick,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground",children:[a.icon,a.title]}):(0,t.jsxs)("button",{type:"button",onClick:()=>p(a.link),className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground",children:[a.icon,a.title]}),a.menuItems&&a.menuItems.length>0&&(0,t.jsxs)(ee.DropdownMenu,{children:[(0,t.jsx)(ee.DropdownMenuTrigger,{className:"absolute right-1 flex items-center justify-center rounded-md p-0.5 opacity-0 group-hover/sub:opacity-100 hover:bg-accent transition-opacity cursor-pointer",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(en.default,{className:"size-3.5 text-muted-foreground"})}),(0,t.jsx)(ee.DropdownMenuContent,{align:"end",side:"right",children:a.menuItems.map(e=>(0,t.jsxs)(ee.DropdownMenuItem,{variant:e.variant,onClick:e.onClick,children:[e.icon,e.label]},e.label))})]})]},`${e.id}-${a.title}`)),e.onAdd&&(0,t.jsxs)("button",{type:"button",onClick:e.onAdd,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground mt-0.5",children:[(0,t.jsx)(er.Plus,{className:"size-3.5"}),e.addLabel??m("add")]}),e.manageLink&&(0,t.jsxs)("button",{type:"button",onClick:()=>p(e.manageLink),className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground hover:bg-accent hover:text-accent-foreground mt-0.5",children:[(0,t.jsx)(ei.LayoutGrid,{className:"size-3.5"}),m("manage")]})]})]}):(0,t.jsxs)(Z.Collapsible,{open:a,onOpenChange:t=>c(a=>{let s=new Set(a);return t?s.add(e.id):s.delete(e.id),s}),className:"w-full",children:[(0,t.jsxs)(Z.CollapsibleTrigger,{render:(0,t.jsx)(D,{className:(0,l.cn)("group/hdr flex flex-1 items-center rounded-lg px-2 transition-colors",a?"bg-sidebar-muted text-foreground":"text-muted-foreground hover:bg-sidebar-muted hover:text-foreground")}),children:[e.icon,(0,t.jsx)("span",{className:"ml-2 flex-1 text-sm font-medium",children:e.title}),s&&(0,t.jsx)("span",{children:a?(0,t.jsx)(es.ChevronUp,{className:"size-4"}):(0,t.jsx)(ea.ChevronDown,{className:"size-4"})})]}),(0,t.jsx)(Z.CollapsibleContent,{children:(0,t.jsxs)(T,{className:"my-1 ml-3.5",children:[e.subs?.map(a=>(0,t.jsx)(C,{className:"h-auto",children:(0,t.jsxs)("div",{className:"group/sub relative flex items-center",children:[(0,t.jsx)(M,{render:a.onClick?(0,t.jsx)("button",{type:"button",onClick:a.onClick,className:"flex w-full items-center rounded-md px-4 py-1.5 text-sm font-medium text-muted-foreground hover:bg-sidebar-muted hover:text-foreground"}):(0,t.jsx)("button",{type:"button",onClick:()=>p(a.link),className:"flex w-full items-center rounded-md px-4 py-1.5 text-sm font-medium text-muted-foreground hover:bg-sidebar-muted hover:text-foreground"}),children:a.title}),a.menuItems&&a.menuItems.length>0&&(0,t.jsxs)(ee.DropdownMenu,{children:[(0,t.jsx)(ee.DropdownMenuTrigger,{className:"absolute right-1 flex items-center justify-center rounded-md p-0.5 opacity-0 group-hover/sub:opacity-100 hover:bg-sidebar-muted transition-opacity cursor-pointer",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(en.default,{className:"size-3.5 text-muted-foreground"})}),(0,t.jsx)(ee.DropdownMenuContent,{align:"end",side:"right",children:a.menuItems.map(e=>(0,t.jsxs)(ee.DropdownMenuItem,{variant:e.variant,onClick:e.onClick,children:[e.icon,e.label]},e.label))})]})]})},`${e.id}-${a.title}`)),e.onAdd&&(0,t.jsx)(C,{children:(0,t.jsxs)("button",{type:"button",onClick:e.onAdd,className:"flex w-full items-center gap-2 rounded-md px-4 py-1.5 text-sm font-medium text-muted-foreground hover:bg-sidebar-muted hover:text-foreground",children:[(0,t.jsx)(er.Plus,{className:"size-3.5"}),e.addLabel??m("add")]})}),e.manageLink&&(0,t.jsx)(C,{children:(0,t.jsxs)("button",{type:"button",onClick:()=>p(e.manageLink),className:"flex w-full items-center gap-2 rounded-md px-4 py-1.5 text-sm font-medium text-muted-foreground hover:bg-sidebar-muted hover:text-foreground",children:[(0,t.jsx)(ei.LayoutGrid,{className:"size-3.5"}),m("manage")]})})]})})]}):(0,t.jsxs)(D,{tooltip:e.title,render:(0,t.jsx)("button",{type:"button",onClick:()=>p(e.link),className:(0,l.cn)("flex items-center rounded-lg px-2 transition-colors text-muted-foreground hover:bg-sidebar-muted hover:text-foreground",o&&"justify-center")}),children:[e.icon,!o&&(0,t.jsx)("span",{className:"ml-2 text-sm font-medium",children:e.title})]})},e.id)})})}var el=e.i(636288),ed=e.i(36539),ed=ed;function ec({notifications:e}){let a=(0,P.useTranslations)("sidebar");return(0,t.jsxs)(ee.DropdownMenu,{children:[(0,t.jsx)(ee.DropdownMenuTrigger,{render:(0,t.jsx)(d.Button,{variant:"ghost",size:"icon",className:"rounded-full","aria-label":a("notifications.openAriaLabel")}),children:(0,t.jsx)(ed.default,{className:"size-5"})}),(0,t.jsxs)(ee.DropdownMenuContent,{side:"right",className:"w-80 my-6",children:[(0,t.jsx)(ee.DropdownMenuGroup,{children:(0,t.jsx)(ee.DropdownMenuLabel,{children:a("notifications.title")})}),(0,t.jsx)(ee.DropdownMenuSeparator,{}),e.map(({id:e,avatar:a,fallback:s,text:n,time:r})=>(0,t.jsxs)(ee.DropdownMenuItem,{className:"flex items-start gap-3",children:[(0,t.jsxs)(el.Avatar,{className:"size-8",children:[(0,t.jsx)(el.AvatarImage,{src:a,alt:"Avatar"}),(0,t.jsx)(el.AvatarFallback,{children:s})]}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:n}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:r})]})]},e)),(0,t.jsx)(ee.DropdownMenuSeparator,{}),(0,t.jsx)(ee.DropdownMenuItem,{className:"justify-center text-sm text-muted-foreground hover:text-primary",children:a("notifications.viewAll")})]})]})}var eu=e.i(344118);let em=(0,p.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var ep=e.i(210),ex=e.i(523592),eh=e.i(209988);function eg({open:e,onOpenChange:a,editingId:n,servers:r,onSave:i}){let o=(0,P.useTranslations)("sidebar"),l=(0,P.useTranslations)("common"),[u,m]=s.useState(""),[p,x]=s.useState(""),[h,g]=s.useState("");return s.useEffect(()=>{if(e&&n){let e=r.find(e=>e.id===n);e&&(m(e.name),x(e.url),g(e.secret||""))}else e&&(m(""),x(""),g(""))},[e,n,r]),(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(eh.DialogContent,{children:[(0,t.jsxs)(eh.DialogHeader,{children:[(0,t.jsx)(eh.DialogTitle,{children:o(n?"server.editServer":"server.addServer")}),(0,t.jsx)(eh.DialogDescription,{children:o(n?"server.editDescription":"server.addDescription")})]}),(0,t.jsxs)("div",{className:"space-y-4 py-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:l("name")}),(0,t.jsx)(c.Input,{value:u,onChange:e=>m(e.target.value),placeholder:"My Server"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:o("server.url")}),(0,t.jsx)(c.Input,{value:p,onChange:e=>x(e.target.value),placeholder:"http://192.168.1.100:3100",onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("label",{className:"text-sm font-medium",children:o("server.secret")}),(0,t.jsx)(c.Input,{type:"password",value:h,onChange:e=>g(e.target.value),placeholder:o("server.secretPlaceholder"),onKeyDown:e=>"Enter"===e.key&&e.preventDefault()})]})]}),(0,t.jsxs)(eh.DialogFooter,{children:[(0,t.jsx)(d.Button,{variant:"outline",onClick:()=>a(!1),children:l("cancel")}),(0,t.jsx)(d.Button,{onClick:()=>{if(!u.trim()||!p.trim())return;let e=p.trim().replace(/\/$/,"");/^https?:\/\//.test(e)||(e="http://"+e),n?i(r.map(t=>t.id===n?{...t,name:u.trim(),url:e,secret:h.trim()||void 0}:t)):i([...r,{id:Date.now().toString(),name:u.trim(),url:e,secret:h.trim()||void 0}]),a(!1)},disabled:!u.trim()||!p.trim(),children:l(n?"save":"add")})]})]})})}var ef=e.i(894920);function eb(){let{isMobile:e}=f(),a=(0,P.useTranslations)("sidebar"),[n,r]=s.useState(ex.loadServers),[i,o]=s.useState(ex.loadActiveId),[l,d]=s.useState(!1),[c,u]=s.useState(null),[m,p]=s.useState(!1),x=n.find(e=>e.id===i)||n[0],h=e=>{o(e.id),(0,ex.saveActiveId)(e.id),(0,ex.setActiveServerCookie)(e.url),window.location.reload()};return x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S,{children:(0,t.jsx)(C,{children:(0,t.jsxs)(ee.DropdownMenu,{children:[(0,t.jsxs)(ee.DropdownMenuTrigger,{render:(0,t.jsx)(D,{size:"lg",className:"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"}),children:[(0,t.jsx)("div",{className:"flex aspect-square size-8 items-center justify-center rounded-lg bg-background text-foreground",children:(0,t.jsx)(R.Server,{className:"size-4"})}),(0,t.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,t.jsx)("span",{className:"truncate font-semibold",children:x.name}),(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:x.url.replace(/^https?:\/\//,"")})]}),(0,t.jsx)(em,{className:"ml-auto"})]}),(0,t.jsxs)(ee.DropdownMenuContent,{className:"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg mb-4",align:"start",side:e?"bottom":"right",sideOffset:4,children:[(0,t.jsx)(ee.DropdownMenuGroup,{children:(0,t.jsx)(ee.DropdownMenuLabel,{className:"text-xs text-muted-foreground",children:a("server.servers")})}),n.map(e=>(0,t.jsxs)(ee.DropdownMenuItem,{onClick:()=>h(e),className:"gap-2 p-2",children:[(0,t.jsx)("div",{className:"flex size-6 items-center justify-center rounded-sm border",children:(0,t.jsx)(R.Server,{className:"size-3.5 shrink-0"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-sm truncate",children:e.name}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground truncate",children:e.url})]}),e.id===i&&(0,t.jsx)(eu.Check,{className:"size-4 text-primary shrink-0"})]},e.id)),(0,t.jsx)(ee.DropdownMenuSeparator,{}),(0,t.jsxs)(ee.DropdownMenuItem,{className:"gap-2 p-2",onClick:()=>{u(null),d(!0)},children:[(0,t.jsx)("div",{className:"flex size-6 items-center justify-center rounded-md border bg-background",children:(0,t.jsx)(er.Plus,{className:"size-4"})}),(0,t.jsx)("div",{className:"font-medium text-muted-foreground",children:a("server.addServer")})]}),(0,t.jsxs)(ee.DropdownMenuItem,{className:"gap-2 p-2",onClick:()=>p(!0),children:[(0,t.jsx)("div",{className:"flex size-6 items-center justify-center rounded-md border bg-background",children:(0,t.jsx)(ep.Settings2,{className:"size-4"})}),(0,t.jsx)("div",{className:"font-medium text-muted-foreground",children:a("server.manageServers")})]})]})]})})}),(0,t.jsx)(eg,{open:l,onOpenChange:d,editingId:c,servers:n,onSave:e=>{r(e),(0,ex.saveServers)(e);let t=c?e.find(e=>e.id===c):e[e.length-1];c&&t&&c===i&&(0,ex.setActiveServerCookie)(t.url)}}),(0,t.jsx)(ef.ServerManagerDialog,{open:m,onOpenChange:p,servers:n,activeId:i,onUpdate:e=>{r(e),(0,ex.saveServers)(e);let t=e.find(e=>e.id===i);t&&(0,ex.setActiveServerCookie)(t.url)},onRemove:e=>{if("default"===e)return;let t=n.filter(t=>t.id!==e);if(r(t),(0,ex.saveServers)(t),i===e){let e=t.find(e=>"default"===e.id)||t[0];e&&h(e)}},onSwitch:h})]}):null}var ev=e.i(524),ej=e.i(361031),ew=e.i(286117);function ek(e){return`/workspace/${e}`}function eN(){let{state:e}=f(),n=(0,a.usePathname)(),r=(0,a.useRouter)(),i=(0,P.useTranslations)("sidebar"),d=(0,P.useTranslations)("common"),c=[{id:"1",avatar:"/avatars/01.png",fallback:"OM",text:i("notifications.sample1"),time:i("notifications.sample1Time")},{id:"2",avatar:"/avatars/02.png",fallback:"JL",text:i("notifications.sample2"),time:i("notifications.sample2Time")},{id:"3",avatar:"/avatars/03.png",fallback:"HH",text:i("notifications.sample3"),time:i("notifications.sample3Time")}],u="collapsed"===e,m=(0,ew.isWorkspacePath)(n),p=(0,o.useIsMobile)(),x=(0,ew.workspaceIdFromLocation)(n,window.location.search),h=(0,ej.useWorkspaceStore)(e=>e.workspaces),g=(0,ej.useWorkspaceStore)(e=>e.setWorkspaces),b=(0,ej.useWorkspaceStore)(e=>e.upsertWorkspace),w=(0,ej.useWorkspaceStore)(e=>e.removeWorkspace),[S,C]=(0,s.useState)(!1),[z,D]=(0,s.useState)(!1),[T,M]=(0,s.useState)(!1),[Z,ee]=(0,s.useState)(!1),[et,ea]=(0,s.useState)(!1),[es,en]=(0,s.useState)(!1),[er,ei]=(0,s.useState)(!1),[el,ed]=(0,s.useState)(null),[eu,em]=(0,s.useState)(void 0),ep=(0,s.useCallback)(()=>{fetch("/api/workspaces").then(e=>e.json()).then(g).catch(()=>{})},[g]);(0,s.useEffect)(()=>{ep()},[ep]);let ex=async e=>{if(el){let t=await fetch(`/api/workspaces/${el.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});b(await t.json())}else{let t=await fetch("/api/workspaces",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});b(await t.json())}},eh=async e=>{if(await fetch(`/api/workspaces/${e.id}`,{method:"DELETE"}),w(e.id),x===e.id){let t=h.filter(t=>t.id!==e.id);(0,_.tauriNavigate)(r,t.length>0?ek(t[0].id):"/")}},eg=[{id:"home",title:i("nav.home"),icon:(0,t.jsx)(A.Home,{className:"size-4"}),link:"/"},{id:"workspaces",title:i("nav.workspaces"),icon:(0,t.jsx)(L.FolderOpen,{className:"size-4"}),link:"/",onAdd:()=>{ed(null),ei(!0)},addLabel:i("nav.addWorkspace"),manageLink:"/workspaces",subs:[...h.map(e=>({title:e.name,link:ek(e.id),icon:(0,t.jsx)(L.FolderOpen,{className:"size-4"}),menuItems:[{label:d("edit"),icon:(0,t.jsx)(W.Pencil,{className:"size-3.5"}),onClick:()=>{ed(e),ei(!0)}},{label:d("open"),icon:(0,t.jsx)(F,{className:"size-3.5"}),onClick:()=>fetch(`/api/workspaces/${e.id}/reveal`,{method:"POST"})},{label:d("delete"),icon:(0,t.jsx)(B.Trash2,{className:"size-3.5"}),variant:"destructive",onClick:()=>eh(e)}]}))]},{id:"workflows",title:i("nav.workflows"),icon:(0,t.jsx)(H.GitBranch,{className:"size-4"}),link:"/workflows"},{id:"settings",title:i("nav.settings"),icon:(0,t.jsx)(O,{className:"size-4"}),link:"#",subs:p?[{title:i("nav.general"),link:"/settings"},{title:i("nav.agents"),link:"/settings/agents",icon:(0,t.jsx)($.Bot,{className:"size-3.5"})},{title:i("nav.skills"),link:"/settings/skills",icon:(0,t.jsx)(U.Sparkles,{className:"size-3.5"})},{title:i("nav.mcps"),link:"/settings/mcps",icon:(0,t.jsx)(G.Plug,{className:"size-3.5"})},{title:i("nav.models"),link:"/settings/models",icon:(0,t.jsx)(E.Brain,{className:"size-3.5"})},{title:i("nav.providers"),link:"/settings/providers",icon:(0,t.jsx)(R.Server,{className:"size-3.5"})}]:[{title:i("nav.general"),link:"#",onClick:()=>D(!0)},{title:i("nav.agents"),link:"#",icon:(0,t.jsx)($.Bot,{className:"size-3.5"}),onClick:()=>C(!0)},{title:i("nav.skills"),link:"#",icon:(0,t.jsx)(U.Sparkles,{className:"size-3.5"}),onClick:()=>ea(!0)},{title:i("nav.mcps"),link:"#",icon:(0,t.jsx)(G.Plug,{className:"size-3.5"}),onClick:()=>en(!0)},{title:i("nav.models"),link:"#",icon:(0,t.jsx)(E.Brain,{className:"size-3.5"}),onClick:()=>{em(void 0),M(!0)}},{title:i("nav.providers"),link:"#",icon:(0,t.jsx)(R.Server,{className:"size-3.5"}),onClick:()=>ee(!0)}]}];return(0,t.jsxs)(v,{variant:"floating",collapsible:"icon",className:(0,l.cn)(m&&"bg-[#f2f3f5] dark:bg-[#0f1117]"),children:[(0,t.jsxs)(k,{className:(0,l.cn)("flex rounded-xl border border-border bg-card mx-2 mt-2 px-3 py-2.5 shadow-[0_1px_3px_rgba(0,0,0,0.04)]",u?"flex-row items-center justify-between gap-y-4 md:flex-col md:items-center md:justify-center":"flex-row items-center justify-between"),children:[(0,t.jsx)("a",{href:"#",className:"flex items-center gap-2",children:(0,t.jsx)(K.UserIcon,{size:u?"sm":"md"})}),(0,t.jsxs)(I.motion.div,{className:(0,l.cn)("flex items-center gap-2",u?"flex-row md:flex-col-reverse":"flex-row"),initial:{opacity:0},animate:{opacity:1},transition:{duration:.8},children:[(0,t.jsx)(ec,{notifications:c}),(0,t.jsx)(j,{})]},u?"header-collapsed":"header-expanded")]}),(0,t.jsx)(y,{className:"gap-2 mx-2 my-2 rounded-xl border border-border bg-card p-2 shadow-[0_1px_3px_rgba(0,0,0,0.04)]",children:(0,t.jsx)(eo,{routes:eg})}),(0,t.jsx)(N,{className:"mx-2 mb-2 rounded-xl border border-border bg-card p-2 shadow-[0_1px_3px_rgba(0,0,0,0.04)]",children:(0,t.jsx)(eb,{})}),(0,t.jsx)(J.AgentDialog,{open:S,onOpenChange:C}),(0,t.jsx)(X.SkillsDialog,{open:et,onOpenChange:ea}),(0,t.jsx)(Y.McpsDialog,{open:es,onOpenChange:en}),(0,t.jsx)(Q.SettingsDialog,{open:z,onOpenChange:D}),(0,t.jsx)(q.ModelsDialog,{open:T,onOpenChange:M,initialProvider:eu}),(0,t.jsx)(V.ProvidersDialog,{open:Z,onOpenChange:ee,onAddModel:e=>{em(e),M(!0)}}),(0,t.jsx)(ev.WorkspaceDialog,{open:er,onOpenChange:ei,workspace:el,onSubmit:ex})]})}function ey(){let e=(0,ej.useWorkspaceStore)(e=>e.workspaces),{toggleSidebar:s}=f(),n=(0,a.useRouter)(),r=(0,a.usePathname)(),i=(0,a.useSearchParams)(),o=(0,ew.workspaceIdFromLocation)(r,i.toString());return 0===e.length?null:(0,t.jsxs)("div",{className:"flex items-center h-12 px-3 bg-transparent overflow-x-auto shrink-0",children:[(0,t.jsx)("button",{onClick:()=>s(),className:"flex items-center justify-center size-8 rounded-lg text-muted-foreground hover:bg-accent/50 transition-colors shrink-0 md:hidden",children:(0,t.jsx)(x,{size:16})}),(0,t.jsx)("div",{className:"flex items-center gap-1 rounded-xl p-1",children:e.map(e=>(0,t.jsx)("button",{onClick:()=>{var t;return(0,_.tauriNavigate)(n,(t=e.id,`/workspace/${t}`))},className:(0,l.cn)("flex items-center gap-1.5 px-3.5 h-7 text-[13px] font-medium rounded-lg transition-all whitespace-nowrap",o===e.id?"bg-primary text-primary-foreground shadow-[rgba(0,0,0,0.08)_0px_4px_6px]":"text-muted-foreground hover:text-foreground hover:bg-accent/50"),children:(0,t.jsx)("span",{className:"max-w-[160px] truncate",children:e.name})},e.id))})]})}e.i(8890);var eS=e.i(478189);function eC(){let[e,t]=(0,s.useState)(!1),[a,n]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{n(!0)},[]),(0,s.useEffect)(()=>{if(!e)return;let a=e=>{e.preventDefault(),e.stopPropagation();let a=e.target;if(!(a instanceof HTMLElement))return;let s=function(e){let t=e.closest("[data-inspector-relative-path]");if(t?.dataset.inspectorRelativePath)return{relativePath:t.dataset.inspectorRelativePath,lineNumber:t.dataset.inspectorLine??"1",columnNumber:t.dataset.inspectorColumn??"1"};let a=function e(t){if(!t)return;let a=Object.keys(t).find(e=>e.startsWith("__reactFiber$")||e.startsWith("__reactInternalInstance$"));return a?t[a]:e(t.parentElement)}(e);for(;a;){let e=a._debugSource??a._debugOwner?._debugSource;if(e?.fileName&&e.lineNumber)return{absolutePath:e.fileName,lineNumber:String(e.lineNumber),columnNumber:String(e.columnNumber??1)};a=a.return??void 0}}(a);console.debug("[react-dev-inspector] native click",s),t(!1),s?(e=>{if(!e)return;let t="codeInfo"in e?e.codeInfo:e,{lineNumber:a,columnNumber:s,relativePath:n,absolutePath:r}=t,i=!!n,o=i?n:r;if(!o)return console.error("[react-dev-inspector] Cannot open editor without source fileName",t);let l=i?`${eS.default}/relative`:eS.default;fetch(`${l}?${new URLSearchParams({fileName:o,lineNumber:a,colNumber:s})}`)})(s):console.warn("[react-dev-inspector] no React source info found",a)};return window.addEventListener("click",a,!0),()=>window.removeEventListener("click",a,!0)},[e]),null}e.s(["AppShell",0,function({children:e}){let s=(0,a.usePathname)();return(0,ew.isLoginPath)(s)?(0,t.jsx)(t.Fragment,{children:e}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eC,{}),(0,t.jsxs)(b,{className:"bg-[#f2f3f5] dark:bg-[#0f1117]",children:[(0,t.jsx)(eN,{}),(0,t.jsxs)(w,{className:"!bg-transparent",children:[(0,t.jsx)(ey,{}),e]})]})]})}],994876)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837121,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}}]);