@agent-spaces/server 0.3.62 → 0.3.64

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 (367) hide show
  1. package/dist/adapters/agent-runtime-types.js +12 -0
  2. package/dist/adapters/claude-code-runtime/index.js +3 -0
  3. package/dist/adapters/claude-code-runtime/message-format.js +1 -1
  4. package/dist/adapters/codex-runtime.js +2 -2
  5. package/dist/adapters/git.js +161 -57
  6. package/dist/adapters/langchain-runtime.js +2 -2
  7. package/dist/adapters/open-agent-sdk-runtime.js +2 -2
  8. package/dist/agents/agent-designer.js +66 -12
  9. package/dist/agents/commit-agent.js +1 -0
  10. package/dist/agents/issue-agent-progress.js +4 -2
  11. package/dist/agents/issue-agent-runner.js +5 -5
  12. package/dist/agents/issue-task-controller.js +96 -15
  13. package/dist/app.js +123 -5
  14. package/dist/package.json +1 -1
  15. package/dist/routes/agent-commands.js +72 -0
  16. package/dist/routes/agent-sse.js +10 -2
  17. package/dist/routes/agent.js +15 -1
  18. package/dist/routes/database.js +345 -0
  19. package/dist/routes/git.js +52 -1
  20. package/dist/routes/hooks.js +88 -0
  21. package/dist/routes/issue.js +59 -1
  22. package/dist/routes/kanban.js +39 -0
  23. package/dist/routes/output-style.js +48 -0
  24. package/dist/routes/prompt-template.js +2 -2
  25. package/dist/routes/skill.js +86 -15
  26. package/dist/routes/task.js +13 -1
  27. package/dist/services/agent-commands.js +168 -0
  28. package/dist/services/builtin-tools/command-tools.js +117 -0
  29. package/dist/services/builtin-tools/database-tools.js +578 -0
  30. package/dist/services/builtin-tools/index.js +5 -0
  31. package/dist/services/builtin-tools/input-helpers.js +26 -0
  32. package/dist/services/builtin-tools/issue-tools.js +209 -0
  33. package/dist/services/builtin-tools/kanban-tools.js +277 -0
  34. package/dist/services/database-vector.js +244 -0
  35. package/dist/services/hook-engine.js +118 -0
  36. package/dist/services/issue.js +6 -0
  37. package/dist/services/kanban.js +50 -0
  38. package/dist/services/notification-hub/bot-agent.js +1 -0
  39. package/dist/services/output-style.js +134 -0
  40. package/dist/services/prompt-template.js +2 -2
  41. package/dist/services/skill.js +148 -35
  42. package/dist/storage/database-store.js +365 -0
  43. package/dist/storage/hook-store.js +55 -0
  44. package/dist/storage/kanban-store.js +142 -0
  45. package/dist/web/404.html +1 -1
  46. package/dist/web/__next.__PAGE__.txt +4 -4
  47. package/dist/web/__next._full.txt +26 -30
  48. package/dist/web/__next._head.txt +4 -4
  49. package/dist/web/__next._index.txt +14 -14
  50. package/dist/web/__next._tree.txt +3 -8
  51. package/dist/web/_next/static/chunks/0-9194nbxy_6d.js +1 -0
  52. package/dist/web/_next/static/chunks/0-f~0xmwl__u5.js +1 -0
  53. package/dist/web/_next/static/chunks/0.n~yfwf4~6w-.js +1 -0
  54. package/dist/web/_next/static/chunks/002_j970b9gdx.js +1 -0
  55. package/dist/web/_next/static/chunks/01iqv28_snwus.js +1 -0
  56. package/dist/web/_next/static/chunks/01~quun6sefgl.js +1 -0
  57. package/dist/web/_next/static/chunks/02mf61htij8g0.js +31 -0
  58. package/dist/web/_next/static/chunks/03scq1-0ykve3.js +1 -0
  59. package/dist/web/_next/static/chunks/04a4vsq2wknm4.js +1 -0
  60. package/dist/web/_next/static/chunks/04dg4l4hv11q2.js +3 -0
  61. package/dist/web/_next/static/chunks/04fxddw-y20~-.js +7 -0
  62. package/dist/web/_next/static/chunks/04w7~5ooz_pwm.js +1 -0
  63. package/dist/web/_next/static/chunks/05oc21sj24wtq.js +1 -0
  64. package/dist/web/_next/static/chunks/{0zd1o3u04~qvo.js → 05psi2gtx~bev.js} +7 -7
  65. package/dist/web/_next/static/chunks/{0-oog4zg4_m~m.css → 062f9zqctzg.b.css} +0 -3
  66. package/dist/web/_next/static/chunks/{12odetnu-lyrr.js → 06whz1~s_7pva.js} +12 -12
  67. package/dist/web/_next/static/chunks/08ckpwmmwlors.js +3 -0
  68. package/dist/web/_next/static/chunks/08k~meqbd8d6v.js +1 -0
  69. package/dist/web/_next/static/chunks/099h96wjsdb25.js +2 -0
  70. package/dist/web/_next/static/chunks/09h23logvq65m.js +1 -0
  71. package/dist/web/_next/static/chunks/{0njy89g5coeyi.js → 0_8dm7bxp18xo.js} +6 -6
  72. package/dist/web/_next/static/chunks/0_mvduwjsm35w.js +1 -0
  73. package/dist/web/_next/static/chunks/0_vi1a~g4wx46.js +3 -0
  74. package/dist/web/_next/static/chunks/0a5y-vhf4i5id.js +3 -0
  75. package/dist/web/_next/static/chunks/0ake2f3x2uan4.js +24 -0
  76. package/dist/web/_next/static/chunks/{0tvd~rxgf0oh_.js → 0bbmx45w_h5np.js} +1 -1
  77. package/dist/web/_next/static/chunks/0ck8dw_9-1cdx.js +1 -0
  78. package/dist/web/_next/static/chunks/{07a0rktf_nr5h.js → 0ctg5qmw7uu.1.js} +2 -2
  79. package/dist/web/_next/static/chunks/0ewceguykiut5.js +1 -0
  80. package/dist/web/_next/static/chunks/0f7cb9li~3jra.js +67 -0
  81. package/dist/web/_next/static/chunks/0fttswpzu69qx.js +1 -0
  82. package/dist/web/_next/static/chunks/0ghs9on7wodrm.js +1 -0
  83. package/dist/web/_next/static/chunks/0ghx3j_.-gdyd.js +1 -0
  84. package/dist/web/_next/static/chunks/{0202ia13sijwb.js → 0h18ej5yf974e.js} +1 -1
  85. package/dist/web/_next/static/chunks/0h9cu-k6z5o08.js +1 -0
  86. package/dist/web/_next/static/chunks/0i39jifmxla7q.js +1 -0
  87. package/dist/web/_next/static/chunks/0iuf30t0rjsjv.js +19 -0
  88. package/dist/web/_next/static/chunks/0jb4~3qqkw2ps.js +1 -0
  89. package/dist/web/_next/static/chunks/0k4zdm72k_bfy.js +1 -0
  90. package/dist/web/_next/static/chunks/{08o-zmr-40r5g.js → 0m11vvph7q94-.js} +1 -1
  91. package/dist/web/_next/static/chunks/0n6_4so_afuwk.js +71 -0
  92. package/dist/web/_next/static/chunks/0nb8.iteznuvx.js +1 -0
  93. package/dist/web/_next/static/chunks/0np.d~hc1-pmh.js +4 -0
  94. package/dist/web/_next/static/chunks/{0qpq0~_58fe9a.js → 0oaq67r7ix.vg.js} +1 -1
  95. package/dist/web/_next/static/chunks/{0d_dp_4ofz0l3.css → 0ojcao3hdm36s.css} +0 -1
  96. package/dist/web/_next/static/chunks/0os58q93stt7j.js +3 -0
  97. package/dist/web/_next/static/chunks/{0gig.k.rq8d0x.js → 0ppr271hz0xoq.js} +1 -1
  98. package/dist/web/_next/static/chunks/0s9lmk8iauou3.js +1 -0
  99. package/dist/web/_next/static/chunks/0sp_zbx~w0am7.js +1 -0
  100. package/dist/web/_next/static/chunks/0tel~zsv4z8l_.js +1 -0
  101. package/dist/web/_next/static/chunks/0twamv4wr_dbv.js +1 -0
  102. package/dist/web/_next/static/chunks/0uhol5wafdbl~.js +1 -0
  103. package/dist/web/_next/static/chunks/0v3a_x4vt42kx.js +5 -0
  104. package/dist/web/_next/static/chunks/{002-dxhags4dj.js → 0v6hte2z-32ca.js} +2 -2
  105. package/dist/web/_next/static/chunks/0v7q4mys.mnm..css +1 -0
  106. package/dist/web/_next/static/chunks/0vbqaynjq8ga..js +3 -0
  107. package/dist/web/_next/static/chunks/0xbaakj0dfc0..js +1 -0
  108. package/dist/web/_next/static/chunks/{0..g0jl-8qup7.js → 0xoo17yef_b8g.js} +1 -1
  109. package/dist/web/_next/static/chunks/0xt-8wk21gs7g.js +1 -0
  110. package/dist/web/_next/static/chunks/0za1r07-6az6w.js +1 -0
  111. package/dist/web/_next/static/chunks/0z~vqzbm_q371.js +1 -0
  112. package/dist/web/_next/static/chunks/0~3xm80~j9ddg.js +1 -0
  113. package/dist/web/_next/static/chunks/0~u.5r3-t7179.js +1 -0
  114. package/dist/web/_next/static/chunks/10l-9myrdo3x9.js +1 -0
  115. package/dist/web/_next/static/chunks/11-czmcci_55y.js +1 -0
  116. package/dist/web/_next/static/chunks/11k-.49r~1mfm.js +1 -0
  117. package/dist/web/_next/static/chunks/{0k.8qdk7oi_os.js → 128ugqd34tr_-.js} +1 -1
  118. package/dist/web/_next/static/chunks/12jm4gwmvq-0q.js +90 -0
  119. package/dist/web/_next/static/chunks/{0rke_patcovgr.js → 1442stwa0gbxe.js} +1 -1
  120. package/dist/web/_next/static/chunks/{0jokpgh485~28.js → 14hqmid8q4apf.js} +11 -11
  121. package/dist/web/_next/static/chunks/14s37n6h0_q3x.js +16 -0
  122. package/dist/web/_next/static/chunks/161ik5kfyuwtd.js +1 -0
  123. package/dist/web/_next/static/chunks/16sg-lflc8csx.js +1 -0
  124. package/dist/web/_next/static/chunks/17k~zbv0_4rep.js +1 -0
  125. package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +1 -0
  126. package/dist/web/_next/static/chunks/{turbopack-0lrdxynxb9-1t.js → turbopack-0ndm2zc_pdptk.js} +1 -1
  127. package/dist/web/_not-found/__next._full.txt +30 -31
  128. package/dist/web/_not-found/__next._head.txt +4 -4
  129. package/dist/web/_not-found/__next._index.txt +14 -14
  130. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
  131. package/dist/web/_not-found/__next._not-found.txt +3 -3
  132. package/dist/web/_not-found/__next._tree.txt +3 -3
  133. package/dist/web/_not-found.html +1 -1
  134. package/dist/web/_not-found.txt +30 -31
  135. package/dist/web/index.html +1 -1
  136. package/dist/web/index.txt +26 -30
  137. package/dist/web/login/__next._full.txt +32 -36
  138. package/dist/web/login/__next._head.txt +4 -4
  139. package/dist/web/login/__next._index.txt +14 -14
  140. package/dist/web/login/__next._tree.txt +3 -8
  141. package/dist/web/login/__next.login.__PAGE__.txt +4 -4
  142. package/dist/web/login/__next.login.txt +3 -3
  143. package/dist/web/login.html +1 -1
  144. package/dist/web/login.txt +32 -36
  145. package/dist/web/settings/__next._full.txt +29 -34
  146. package/dist/web/settings/__next._head.txt +4 -4
  147. package/dist/web/settings/__next._index.txt +14 -14
  148. package/dist/web/settings/__next._tree.txt +3 -8
  149. package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
  150. package/dist/web/settings/__next.settings.txt +5 -5
  151. package/dist/web/settings/agents/__next._full.txt +27 -32
  152. package/dist/web/settings/agents/__next._head.txt +4 -4
  153. package/dist/web/settings/agents/__next._index.txt +14 -14
  154. package/dist/web/settings/agents/__next._tree.txt +3 -8
  155. package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
  156. package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
  157. package/dist/web/settings/agents/__next.settings.txt +5 -5
  158. package/dist/web/settings/agents.html +1 -1
  159. package/dist/web/settings/agents.txt +27 -32
  160. package/dist/web/settings/mcps/__next._full.txt +27 -32
  161. package/dist/web/settings/mcps/__next._head.txt +4 -4
  162. package/dist/web/settings/mcps/__next._index.txt +14 -14
  163. package/dist/web/settings/mcps/__next._tree.txt +3 -8
  164. package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
  165. package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
  166. package/dist/web/settings/mcps/__next.settings.txt +5 -5
  167. package/dist/web/settings/mcps.html +1 -1
  168. package/dist/web/settings/mcps.txt +27 -32
  169. package/dist/web/settings/models/__next._full.txt +27 -32
  170. package/dist/web/settings/models/__next._head.txt +4 -4
  171. package/dist/web/settings/models/__next._index.txt +14 -14
  172. package/dist/web/settings/models/__next._tree.txt +3 -8
  173. package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
  174. package/dist/web/settings/models/__next.settings.models.txt +3 -3
  175. package/dist/web/settings/models/__next.settings.txt +5 -5
  176. package/dist/web/settings/models.html +1 -1
  177. package/dist/web/settings/models.txt +27 -32
  178. package/dist/web/settings/output-styles/__next._full.txt +38 -0
  179. package/dist/web/settings/output-styles/__next._head.txt +6 -0
  180. package/dist/web/settings/output-styles/__next._index.txt +15 -0
  181. package/dist/web/settings/output-styles/__next._tree.txt +3 -0
  182. package/dist/web/settings/output-styles/__next.settings.output-styles.__PAGE__.txt +9 -0
  183. package/dist/web/settings/output-styles/__next.settings.output-styles.txt +5 -0
  184. package/dist/web/settings/output-styles/__next.settings.txt +7 -0
  185. package/dist/web/settings/output-styles.html +1 -0
  186. package/dist/web/settings/output-styles.txt +38 -0
  187. package/dist/web/settings/prompts/__next._full.txt +27 -32
  188. package/dist/web/settings/prompts/__next._head.txt +4 -4
  189. package/dist/web/settings/prompts/__next._index.txt +14 -14
  190. package/dist/web/settings/prompts/__next._tree.txt +3 -8
  191. package/dist/web/settings/prompts/__next.settings.prompts.__PAGE__.txt +4 -4
  192. package/dist/web/settings/prompts/__next.settings.prompts.txt +3 -3
  193. package/dist/web/settings/prompts/__next.settings.txt +5 -5
  194. package/dist/web/settings/prompts.html +1 -1
  195. package/dist/web/settings/prompts.txt +27 -32
  196. package/dist/web/settings/providers/__next._full.txt +27 -32
  197. package/dist/web/settings/providers/__next._head.txt +4 -4
  198. package/dist/web/settings/providers/__next._index.txt +14 -14
  199. package/dist/web/settings/providers/__next._tree.txt +3 -8
  200. package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
  201. package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
  202. package/dist/web/settings/providers/__next.settings.txt +5 -5
  203. package/dist/web/settings/providers.html +1 -1
  204. package/dist/web/settings/providers.txt +27 -32
  205. package/dist/web/settings/skills/__next._full.txt +27 -32
  206. package/dist/web/settings/skills/__next._head.txt +4 -4
  207. package/dist/web/settings/skills/__next._index.txt +14 -14
  208. package/dist/web/settings/skills/__next._tree.txt +3 -8
  209. package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
  210. package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
  211. package/dist/web/settings/skills/__next.settings.txt +5 -5
  212. package/dist/web/settings/skills.html +1 -1
  213. package/dist/web/settings/skills.txt +27 -32
  214. package/dist/web/settings/tools/__next._full.txt +38 -0
  215. package/dist/web/settings/tools/__next._head.txt +6 -0
  216. package/dist/web/settings/tools/__next._index.txt +15 -0
  217. package/dist/web/settings/tools/__next._tree.txt +3 -0
  218. package/dist/web/settings/tools/__next.settings.tools.__PAGE__.txt +9 -0
  219. package/dist/web/settings/tools/__next.settings.tools.txt +5 -0
  220. package/dist/web/settings/tools/__next.settings.txt +7 -0
  221. package/dist/web/settings/tools.html +1 -0
  222. package/dist/web/settings/tools.txt +38 -0
  223. package/dist/web/settings.html +1 -1
  224. package/dist/web/settings.txt +29 -34
  225. package/dist/web/workflows/__next._full.txt +34 -37
  226. package/dist/web/workflows/__next._head.txt +4 -4
  227. package/dist/web/workflows/__next._index.txt +14 -14
  228. package/dist/web/workflows/__next._tree.txt +3 -8
  229. package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
  230. package/dist/web/workflows/__next.workflows.txt +3 -3
  231. package/dist/web/workflows.html +1 -1
  232. package/dist/web/workflows.txt +34 -37
  233. package/dist/web/workspace/_/__next._full.txt +32 -77
  234. package/dist/web/workspace/_/__next._head.txt +4 -4
  235. package/dist/web/workspace/_/__next._index.txt +14 -14
  236. package/dist/web/workspace/_/__next._tree.txt +4 -23
  237. package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -18
  238. package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
  239. package/dist/web/workspace/_/__next.workspace.txt +3 -3
  240. package/dist/web/workspace/_.html +1 -1
  241. package/dist/web/workspace/_.txt +32 -77
  242. package/dist/web/workspaces/__next._full.txt +32 -38
  243. package/dist/web/workspaces/__next._head.txt +4 -4
  244. package/dist/web/workspaces/__next._index.txt +14 -14
  245. package/dist/web/workspaces/__next._tree.txt +3 -8
  246. package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
  247. package/dist/web/workspaces/__next.workspaces.txt +3 -3
  248. package/dist/web/workspaces.html +1 -1
  249. package/dist/web/workspaces.txt +32 -38
  250. package/dist/ws/agent-prompt.js +45 -8
  251. package/dist/ws/agent-runner.js +10 -6
  252. package/package.json +11 -10
  253. package/public/output-styles/carmack-mode.md +381 -0
  254. package/public/output-styles/codex-rigor-mode.md +114 -0
  255. package/public/output-styles/dhh-mode.md +265 -0
  256. package/public/output-styles/evan-you-mode.md +539 -0
  257. package/public/output-styles/index.json +37 -0
  258. package/public/output-styles/jobs-mode.md +369 -0
  259. package/public/output-styles/linus-mode.md +135 -0
  260. package/public/output-styles/uncle-bob-mode.md +221 -0
  261. package/public/prompt/andrej-karpathy-skills.md +65 -0
  262. package/public/prompt/claude-token-efficient-coding.md +35 -0
  263. package/public/prompt/index.json +12 -0
  264. package/public/skills/index.json +92 -0
  265. package/public/skills/planning-with-files/planning-with-files-zh/SKILL.md +243 -0
  266. package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.ps1 +44 -0
  267. package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.sh +46 -0
  268. package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.ps1 +124 -0
  269. package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.sh +124 -0
  270. package/public/skills/planning-with-files/planning-with-files-zh/scripts/session-catchup.py +438 -0
  271. package/public/skills/planning-with-files/planning-with-files-zh/templates/findings.md +29 -0
  272. package/public/skills/planning-with-files/planning-with-files-zh/templates/progress.md +40 -0
  273. package/public/skills/planning-with-files/planning-with-files-zh/templates/task_plan.md +58 -0
  274. package/public/skills/superpowers/brainstorming/SKILL.md +164 -0
  275. package/public/skills/superpowers/brainstorming/scripts/frame-template.html +214 -0
  276. package/public/skills/superpowers/brainstorming/scripts/helper.js +88 -0
  277. package/public/skills/superpowers/brainstorming/scripts/server.cjs +354 -0
  278. package/public/skills/superpowers/brainstorming/scripts/start-server.sh +148 -0
  279. package/public/skills/superpowers/brainstorming/scripts/stop-server.sh +56 -0
  280. package/public/skills/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
  281. package/public/skills/superpowers/brainstorming/visual-companion.md +287 -0
  282. package/public/skills/superpowers/dispatching-parallel-agents/SKILL.md +182 -0
  283. package/public/skills/superpowers/executing-plans/SKILL.md +70 -0
  284. package/public/skills/superpowers/finishing-a-development-branch/SKILL.md +251 -0
  285. package/public/skills/superpowers/receiving-code-review/SKILL.md +213 -0
  286. package/public/skills/superpowers/requesting-code-review/SKILL.md +103 -0
  287. package/public/skills/superpowers/requesting-code-review/code-reviewer.md +168 -0
  288. package/public/skills/superpowers/subagent-driven-development/SKILL.md +279 -0
  289. package/public/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +25 -0
  290. package/public/skills/superpowers/subagent-driven-development/implementer-prompt.md +113 -0
  291. package/public/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  292. package/public/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
  293. package/public/skills/superpowers/systematic-debugging/SKILL.md +296 -0
  294. package/public/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
  295. package/public/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
  296. package/public/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
  297. package/public/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
  298. package/public/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
  299. package/public/skills/superpowers/systematic-debugging/test-academic.md +14 -0
  300. package/public/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
  301. package/public/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
  302. package/public/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
  303. package/public/skills/superpowers/test-driven-development/SKILL.md +371 -0
  304. package/public/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
  305. package/public/skills/superpowers/using-git-worktrees/SKILL.md +215 -0
  306. package/public/skills/superpowers/using-superpowers/SKILL.md +117 -0
  307. package/public/skills/superpowers/using-superpowers/references/codex-tools.md +59 -0
  308. package/public/skills/superpowers/using-superpowers/references/copilot-tools.md +42 -0
  309. package/public/skills/superpowers/using-superpowers/references/gemini-tools.md +51 -0
  310. package/public/skills/superpowers/verification-before-completion/SKILL.md +139 -0
  311. package/public/skills/superpowers/writing-plans/SKILL.md +152 -0
  312. package/public/skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
  313. package/public/skills/superpowers/writing-skills/SKILL.md +655 -0
  314. package/public/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
  315. package/public/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  316. package/public/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
  317. package/public/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
  318. package/public/skills/superpowers/writing-skills/render-graphs.js +168 -0
  319. package/public/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
  320. package/dist/web/_next/static/chunks/0-81wi7xr2nd-.js +0 -270
  321. package/dist/web/_next/static/chunks/00lca9lsasdm7.js +0 -1
  322. package/dist/web/_next/static/chunks/01gi~q0c6ez6..js +0 -1
  323. package/dist/web/_next/static/chunks/02shswpmybici.js +0 -1
  324. package/dist/web/_next/static/chunks/05tx6hzdtkgi9.js +0 -2
  325. package/dist/web/_next/static/chunks/07nbyndvzftr1.js +0 -3
  326. package/dist/web/_next/static/chunks/0bn~onkv~9xza.js +0 -1
  327. package/dist/web/_next/static/chunks/0g-0n6glz_z6w.js +0 -1
  328. package/dist/web/_next/static/chunks/0gyede80jpy3n.js +0 -4
  329. package/dist/web/_next/static/chunks/0hrbuvzuxrjfl.js +0 -1
  330. package/dist/web/_next/static/chunks/0i51q.5s_-.vh.css +0 -1
  331. package/dist/web/_next/static/chunks/0qf163pbrwy4z.js +0 -1
  332. package/dist/web/_next/static/chunks/0rnt-f3pjxb-d.js +0 -5
  333. package/dist/web/_next/static/chunks/0tgbcgsca9mrg.js +0 -1
  334. package/dist/web/_next/static/chunks/0tyhv6.y7~yxd.js +0 -1
  335. package/dist/web/_next/static/chunks/0u7_qd9hzqwac.js +0 -1
  336. package/dist/web/_next/static/chunks/0vuvql8rloda5.js +0 -1
  337. package/dist/web/_next/static/chunks/0wv0h27jafag4.js +0 -1
  338. package/dist/web/_next/static/chunks/0wwvc4zc2q6bn.js +0 -1
  339. package/dist/web/_next/static/chunks/0xmmk3vebw8xs.js +0 -1
  340. package/dist/web/_next/static/chunks/0xwqf.llmm_u2.js +0 -31
  341. package/dist/web/_next/static/chunks/0yo22_w53mo~5.js +0 -1
  342. package/dist/web/_next/static/chunks/12c0jp0qvlr1t.js +0 -1
  343. package/dist/web/_next/static/chunks/12pg1nn3v~~5k.js +0 -1
  344. package/dist/web/_next/static/chunks/16cyr8ilpx1nn.js +0 -1
  345. package/dist/web/_next/static/media/0a7740363b4d4863-s.1110aazvokzp..woff2 +0 -0
  346. package/dist/web/_next/static/media/0da9c7f357bd9d4d-s.0ek5sshv8wk3m.woff2 +0 -0
  347. package/dist/web/_next/static/media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2 +0 -0
  348. package/dist/web/_next/static/media/41e95f694c5c4549-s.0r1jrq7neqdsq.woff2 +0 -0
  349. package/dist/web/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2 +0 -0
  350. package/dist/web/_next/static/media/5f9d24ebef5d5292-s.0esuu2f5si~v8.woff2 +0 -0
  351. package/dist/web/_next/static/media/6c55a692938ebbbc-s.0g6rbszwfgn9y.woff2 +0 -0
  352. package/dist/web/_next/static/media/8e6fa89aa22d24ec-s.p.0uvzar8hswo3p.woff2 +0 -0
  353. package/dist/web/_next/static/media/a218039a3287bcfd-s.p.17-1enzs_j91b.woff2 +0 -0
  354. package/dist/web/_next/static/media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2 +0 -0
  355. package/dist/web/_next/static/media/bdc7e24a509eb931-s.0apt5mko2.qn3.woff2 +0 -0
  356. package/dist/web/_next/static/media/c3cb240f9c892514-s.163v2i5cux7-c.woff2 +0 -0
  357. package/dist/web/_next/static/media/e2334d715941921e-s.p.12skym0rqknxy.woff2 +0 -0
  358. package/public/avatars/1777813826407-bea0ja-minimax.svg +0 -1
  359. package/public/avatars/1777813967088-3xlvd0-minimax.svg +0 -1
  360. package/public/avatars/1777814041714-yp0qeq-minimax.svg +0 -1
  361. package/public/avatars/1777904986095-rg26je-icon.png +0 -0
  362. package/public/avatars/1778953228323-5je54x-user.jpg +0 -0
  363. package/public/avatars/1778954057880-g01q6y-user.jpg +0 -0
  364. /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_buildManifest.js +0 -0
  365. /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_clientMiddlewareManifest.js +0 -0
  366. /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_ssgManifest.js +0 -0
  367. /package/public/avatars/{1777815865622-08wp9m-user.jpg → user.jpg} +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,499198,e=>{"use strict";var t=e.i(92615),n=e.i(232449),i=e.i(410421),r=e.i(404196);let o=.1*.1;function l(e,t,n,i,r,o){return i>=t!=o>=t&&e<=(r-n)*(t-i)/(o-i)+n}function s(e,t,n,i,r,o,s,a,u,c){let f=!1;return l(e,t,n,i,r,o)&&(f=!f),l(e,t,r,o,s,a)&&(f=!f),l(e,t,s,a,u,c)&&(f=!f),l(e,t,u,c,n,i)&&(f=!f),f}function a(e,t,n,i,r,o){let l=Math.min(n,r),s=Math.max(n,r),a=Math.min(i,o),u=Math.max(i,o);return e>=l&&e<=s&&t>=a&&t<=u}e.s(["safePolygon",0,function(e={}){let{blockPointerEvents:l=!1}=e,u=new n.Timeout,c=({x:e,y:n,placement:l,elements:c,onClose:f,nodeId:d,tree:g})=>{let m=l?.split("-")[0],p=!1,h=null,v=null,y="u">typeof performance?performance.now():0;return function(l){u.clear();let E=c.domReference,x=c.floating;if(!E||!x||null==m||null==e||null==n)return;let{clientX:b,clientY:w}=l,S=(0,i.getTarget)(l),R="mouseleave"===l.type,C=(0,i.contains)(x,S),T=(0,i.contains)(E,S);if(C&&(p=!0,!R))return;if(T&&(p=!1,!R)){p=!0;return}if(R&&(0,t.isElement)(l.relatedTarget)&&(0,i.contains)(x,l.relatedTarget))return;function A(){return!!(g&&(0,r.getNodeChildren)(g.nodesRef.current,d).length>0)}function P(){A()||(u.clear(),f())}if(A())return;let O=E.getBoundingClientRect(),L=x.getBoundingClientRect(),M=e>L.right-L.width/2,k=n>L.bottom-L.height/2,D=L.width>O.width,I=L.height>O.height,N=(D?O:L).left,H=(D?O:L).right,F=(I?O:L).top,W=(I?O:L).bottom;if("top"===m&&n>=O.bottom-1||"bottom"===m&&n<=O.top+1||"left"===m&&e>=O.right-1||"right"===m&&e<=O.left+1)return void P();let $=!1;switch(m){case"top":$=a(b,w,N,O.top+1,H,L.bottom-1);break;case"bottom":$=a(b,w,N,L.top+1,H,O.bottom-1);break;case"left":$=a(b,w,L.right-1,W,O.left+1,F);break;case"right":$=a(b,w,O.right-1,W,L.left+1,F)}if($)return;if(p&&(!(b>=O.x)||!(b<=O.x+O.width)||!(w>=O.y)||!(w<=O.y+O.height))||!R&&function(e,t){let n=performance.now(),i=n-y;if(null===h||null===v||0===i)return h=e,v=t,y=n,!1;let r=e-h,l=t-v;return h=e,v=t,y=n,r*r+l*l<i*i*o}(b,w))return void P();let V=!1;switch(m){case"top":{let t=D?.25:2,i=n+.5+1,r=M||D?L.bottom-.5:L.top,o=M?D?L.bottom-.5:L.top:L.bottom-.5;V=s(b,w,D||M?e+t:e-t,i,D?e-t:M?e+t:e-t,i,L.left,r,L.right,o);break}case"bottom":{let t=D?.25:2,i=n-.5,r=M||D?L.top+.5:L.bottom,o=M?D?L.top+.5:L.bottom:L.top+.5;V=s(b,w,D||M?e+t:e-t,i,D?e-t:M?e+t:e-t,i,L.left,r,L.right,o);break}case"left":{let t=I?.25:2,i=e+.5+1,r=k||I?L.right-.5:L.left,o=k?I?L.right-.5:L.left:L.right-.5;V=s(b,w,r,L.top,o,L.bottom,i,I||k?n+t:n-t,i,I?n-t:k?n+t:n-t);break}case"right":{let t=I?.25:2,i=e-.5,r=k||I?L.left+.5:L.right,o=k?I?L.left+.5:L.right:L.left+.5;V=s(b,w,i,I||k?n+t:n-t,i,I?n-t:k?n+t:n-t,r,L.top,o,L.bottom)}}V?p||u.start(40,P):P()}};return c.__options={...e,blockPointerEvents:l},c}])},49863,e=>{"use strict";var t=e.i(150129);e.s(["getDelay",0,function(e,n,i){let r=null==i||(0,t.isMouseLikePointerType)(i)?"function"==typeof e?e():e:0;return"number"==typeof r?r:r?.[n]},"getRestMs",0,function(e){return"function"==typeof e?e():e},"isClickLikeOpenEvent",0,function(e,t){return t||"click"===e||"mousedown"===e}])},84076,e=>{"use strict";var t=e.i(130522),n=e.i(549154),i=e.i(232449);e.i(922970);class r{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new i.Timeout,this.restTimeout=new i.Timeout,this.handleCloseOptions=void 0}static create(){return new r}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose}let o=new WeakMap;function l(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&o.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),o.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}e.s(["applySafePolygonPointerEventsMutation",0,function(e,t){let{scopeElement:n,referenceElement:i,floatingElement:r}=t,s=o.get(n);s&&s!==e&&l(s),l(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=i,e.pointerEventsFloatingElement=r,o.set(n,e),n.style.pointerEvents="none",i.style.pointerEvents="auto",r.style.pointerEvents="auto"},"clearSafePolygonPointerEventsMutation",0,l,"useHoverInteractionSharedState",0,function(e){let i=(0,n.useRefWithInit)(r.create).current,o=e.context.dataRef.current;return o.hoverInteractionState||(o.hoverInteractionState=i),(0,t.useOnMount)(o.hoverInteractionState.disposeEffect),o.hoverInteractionState}])},480283,e=>{"use strict";var t=e.i(764556),n=e.i(106206),i=e.i(92615),r=e.i(422561),o=e.i(516366),l=e.i(106045),s=e.i(29905),a=e.i(526850),u=e.i(410421),c=e.i(922970),f=e.i(150129),d=e.i(602453),g=e.i(742665),m=e.i(389124),p=e.i(84076),h=e.i(49863);let v={current:null};e.s(["useHoverReferenceInteraction",0,function(e,y={}){let E="rootStore"in e?e.rootStore:e,{dataRef:x,events:b}=E.context,{enabled:w=!0,delay:S=0,handleClose:R=null,mouseOnly:C=!1,restMs:T=0,move:A=!0,triggerElementRef:P=v,externalTree:O,isActiveTrigger:L=!0,getHandleCloseContext:M,isClosing:k}=y,D=(0,m.useFloatingTree)(O),I=(0,p.useHoverInteractionSharedState)(E),N=t.useRef(!1),H=(0,l.useValueAsRef)(R),F=(0,l.useValueAsRef)(S),W=(0,l.useValueAsRef)(T),$=(0,l.useValueAsRef)(w),V=(0,l.useValueAsRef)(k);L&&(I.handleCloseOptions=H.current?.__options);let B=(0,s.useStableCallback)(()=>(0,h.isClickLikeOpenEvent)(x.current.openEvent?.type,I.interactedInside)),z=(0,s.useStableCallback)(e=>(0,c.isTargetInsideEnabledTrigger)(e,E.context.triggerElements)),_=(0,s.useStableCallback)((e,t,n)=>{let r=E.context.triggerElements;return r.hasElement(t)?!e||!(0,u.contains)(e,t):!!(0,i.isElement)(n)&&r.hasMatchingElement(e=>(0,u.contains)(e,n))&&(!e||!(0,u.contains)(e,n))}),j=(0,s.useStableCallback)((e,t=!0)=>{let n=(0,h.getDelay)(F.current,"close",I.pointerType);n?I.openChangeTimeout.start(n,()=>{E.setOpen(!1,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e)),D?.events.emit("floating.closed",e)}):t&&(I.openChangeTimeout.clear(),E.setOpen(!1,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e)),D?.events.emit("floating.closed",e))}),Y=(0,s.useStableCallback)(()=>{I.handler&&((0,a.ownerDocument)(E.select("domReferenceElement")).removeEventListener("mousemove",I.handler),I.handler=void 0)}),X=(0,s.useStableCallback)(()=>{(0,p.clearSafePolygonPointerEventsMutation)(I)});return t.useEffect(()=>Y,[Y]),t.useEffect(()=>{if(w)return b.on("openchange",e),()=>{b.off("openchange",e)};function e(e){e.open?N.current=!1:(N.current=e.reason===g.REASONS.triggerHover,Y(),I.openChangeTimeout.clear(),I.restTimeout.clear(),I.blockMouseMove=!0,I.restTimeoutPending=!1)}},[w,b,I,Y]),t.useEffect(()=>{if(!w)return;let e=P.current??(L?E.select("domReferenceElement"):null);if((0,i.isElement)(e))return A?(0,o.mergeCleanups)((0,r.addEventListener)(e,"mousemove",t,{once:!0}),(0,r.addEventListener)(e,"mouseenter",t),(0,r.addEventListener)(e,"mouseleave",n)):(0,o.mergeCleanups)((0,r.addEventListener)(e,"mouseenter",t),(0,r.addEventListener)(e,"mouseleave",n));function t(e){if(I.openChangeTimeout.clear(),I.blockMouseMove=!1,C&&!(0,f.isMouseLikePointerType)(I.pointerType))return;let t=(0,h.getRestMs)(W.current),n=(0,h.getDelay)(F.current,"open",I.pointerType),r=(0,u.getTarget)(e),o=e.currentTarget??null,l=E.select("domReferenceElement"),s=o;if((0,i.isElement)(r)&&!E.context.triggerElements.hasElement(r)){for(let e of E.context.triggerElements.elements())if((0,u.contains)(e,r)){s=e;break}}(0,i.isElement)(o)&&(0,i.isElement)(l)&&!E.context.triggerElements.hasElement(o)&&(0,u.contains)(o,l)&&(s=l);let a=null!=s&&_(l,s,r),c=E.select("open"),m=V.current?.()??"ending"===E.select("transitionStatus"),p=!c&&m&&N.current,v=!a&&(0,i.isElement)(s)&&(0,i.isElement)(l)&&(0,u.contains)(l,s)&&p,y=t>0&&!n,x=!c||a;a&&(c||p)||v?E.setOpen(!0,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e,s)):!y&&(n?I.openChangeTimeout.start(n,()=>{x&&E.setOpen(!0,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e,s))}):x&&E.setOpen(!0,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e,s)))}function n(e){if(B())return void X();Y();let t=E.select("domReferenceElement"),n=(0,a.ownerDocument)(t);I.restTimeout.clear(),I.restTimeoutPending=!1;let i=x.current.floatingContext??M?.();if(!z(e.relatedTarget)){if(H.current&&i){E.select("open")||I.openChangeTimeout.clear();let t=P.current;I.handler=H.current({...i,tree:D,x:e.clientX,y:e.clientY,onClose(){X(),Y(),$.current&&!B()&&t===E.select("domReferenceElement")&&j(e,!0)}}),n.addEventListener("mousemove",I.handler),I.handler(e);return}"touch"===I.pointerType&&(0,u.contains)(E.select("floatingElement"),e.relatedTarget)||j(e)}}},[Y,X,x,F,j,E,w,H,I,L,_,B,z,C,A,W,P,D,$,M,V]),t.useMemo(()=>{if(w)return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,i=e.currentTarget,r=E.select("domReferenceElement"),o=E.select("open"),l=_(r,i,e.target);if(C&&!(0,f.isMouseLikePointerType)(I.pointerType))return;if(o&&l&&I.handleCloseOptions?.blockPointerEvents){let e=E.select("floatingElement");if(e){let t=I.handleCloseOptions?.getScope?.()??i.ownerDocument.body;(0,p.applySafePolygonPointerEventsMutation)(I,{scopeElement:t,referenceElement:i,floatingElement:e})}}let s=(0,h.getRestMs)(W.current);function a(){if(I.restTimeoutPending=!1,B())return;let e=E.select("open");I.blockMouseMove||e&&!l||E.setOpen(!0,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,t,i))}(!o||l)&&0!==s&&(!l&&I.restTimeoutPending&&e.movementX**2+e.movementY**2<2||(I.restTimeout.clear(),"touch"===I.pointerType?n.flushSync(()=>{a()}):l&&o?a():(I.restTimeoutPending=!0,I.restTimeout.start(s,a))))}};function e(e){I.pointerType=e.pointerType}},[w,I,B,_,C,E,W])}])},576557,909852,e=>{"use strict";var t=e.i(764556),n=e.i(641645),i=e.i(526850),r=e.i(285182),o=e.i(277642),l=e.i(106045),s=e.i(29905);function a(e,t,i){let r,{reference:o,floating:l}=e,s=(0,n.getSideAxis)(t),a=(0,n.getAlignmentAxis)(t),u=(0,n.getAxisLength)(a),c=(0,n.getSide)(t),f="y"===s,d=o.x+o.width/2-l.width/2,g=o.y+o.height/2-l.height/2,m=o[u]/2-l[u]/2;switch(c){case"top":r={x:d,y:o.y-l.height};break;case"bottom":r={x:d,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:g};break;case"left":r={x:o.x-l.width,y:g};break;default:r={x:o.x,y:o.y}}switch((0,n.getAlignment)(t)){case"start":r[a]-=m*(i&&f?-1:1);break;case"end":r[a]+=m*(i&&f?-1:1)}return r}async function u(e,t){var i;void 0===t&&(t={});let{x:r,y:o,platform:l,rects:s,elements:a,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:g=!1,padding:m=0}=(0,n.evaluate)(t,e),p=(0,n.getPaddingObject)(m),h=a[g?"floating"===d?"reference":"floating":d],v=(0,n.rectToClientRect)(await l.getClippingRect({element:null==(i=await (null==l.isElement?void 0:l.isElement(h)))||i?h:h.contextElement||await (null==l.getDocumentElement?void 0:l.getDocumentElement(a.floating)),boundary:c,rootBoundary:f,strategy:u})),y="floating"===d?{x:r,y:o,width:s.floating.width,height:s.floating.height}:s.reference,E=await (null==l.getOffsetParent?void 0:l.getOffsetParent(a.floating)),x=await (null==l.isElement?void 0:l.isElement(E))&&await (null==l.getScale?void 0:l.getScale(E))||{x:1,y:1},b=(0,n.rectToClientRect)(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:y,offsetParent:E,strategy:u}):y);return{top:(v.top-b.top+p.top)/x.y,bottom:(b.bottom-v.bottom+p.bottom)/x.y,left:(v.left-b.left+p.left)/x.x,right:(b.right-v.right+p.right)/x.x}}let c=async(e,t,n)=>{let{placement:i="bottom",strategy:r="absolute",middleware:o=[],platform:l}=n,s=l.detectOverflow?l:{...l,detectOverflow:u},c=await (null==l.isRTL?void 0:l.isRTL(t)),f=await l.getElementRects({reference:e,floating:t,strategy:r}),{x:d,y:g}=a(f,i,c),m=i,p=0,h={};for(let n=0;n<o.length;n++){let u=o[n];if(!u)continue;let{name:v,fn:y}=u,{x:E,y:x,data:b,reset:w}=await y({x:d,y:g,initialPlacement:i,placement:m,strategy:r,middlewareData:h,rects:f,platform:s,elements:{reference:e,floating:t}});d=null!=E?E:d,g=null!=x?x:g,h[v]={...h[v],...b},w&&p<50&&(p++,"object"==typeof w&&(w.placement&&(m=w.placement),w.rects&&(f=!0===w.rects?await l.getElementRects({reference:e,floating:t,strategy:r}):w.rects),{x:d,y:g}=a(f,m,c)),n=-1)}return{x:d,y:g,placement:m,strategy:r,middlewareData:h}};function f(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function d(e){return n.sides.some(t=>e[t]>=0)}let g=new Set(["left","top"]);async function m(e,t){let{placement:i,platform:r,elements:o}=e,l=await (null==r.isRTL?void 0:r.isRTL(o.floating)),s=(0,n.getSide)(i),a=(0,n.getAlignment)(i),u="y"===(0,n.getSideAxis)(i),c=g.has(s)?-1:1,f=l&&u?-1:1,d=(0,n.evaluate)(t,e),{mainAxis:m,crossAxis:p,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return a&&"number"==typeof h&&(p="end"===a?-1*h:h),u?{x:p*f,y:m*c}:{x:m*c,y:p*f}}var p=e.i(92615);function h(e){let t=(0,p.getComputedStyle)(e),i=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=(0,p.isHTMLElement)(e),l=o?e.offsetWidth:i,s=o?e.offsetHeight:r,a=(0,n.round)(i)!==l||(0,n.round)(r)!==s;return a&&(i=l,r=s),{width:i,height:r,$:a}}function v(e){return(0,p.isElement)(e)?e:e.contextElement}function y(e){let t=v(e);if(!(0,p.isHTMLElement)(t))return(0,n.createCoords)(1);let i=t.getBoundingClientRect(),{width:r,height:o,$:l}=h(t),s=(l?(0,n.round)(i.width):i.width)/r,a=(l?(0,n.round)(i.height):i.height)/o;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}let E=(0,n.createCoords)(0);function x(e){let t=(0,p.getWindow)(e);return(0,p.isWebKit)()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:E}function b(e,t,i,r){var o;void 0===t&&(t=!1),void 0===i&&(i=!1);let l=e.getBoundingClientRect(),s=v(e),a=(0,n.createCoords)(1);t&&(r?(0,p.isElement)(r)&&(a=y(r)):a=y(e));let u=(void 0===(o=i)&&(o=!1),r&&(!o||r===(0,p.getWindow)(s))&&o)?x(s):(0,n.createCoords)(0),c=(l.left+u.x)/a.x,f=(l.top+u.y)/a.y,d=l.width/a.x,g=l.height/a.y;if(s){let e=(0,p.getWindow)(s),t=r&&(0,p.isElement)(r)?(0,p.getWindow)(r):r,n=e,i=(0,p.getFrameElement)(n);for(;i&&r&&t!==n;){let e=y(i),t=i.getBoundingClientRect(),r=(0,p.getComputedStyle)(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,f*=e.y,d*=e.x,g*=e.y,c+=o,f+=l,n=(0,p.getWindow)(i),i=(0,p.getFrameElement)(n)}}return(0,n.rectToClientRect)({width:d,height:g,x:c,y:f})}function w(e,t){let n=(0,p.getNodeScroll)(e).scrollLeft;return t?t.left+n:b((0,p.getDocumentElement)(e)).left+n}function S(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-w(e,n),y:n.top+t.scrollTop}}function R(e,t,i){var r;let o;if("viewport"===t)o=function(e,t){let n=(0,p.getWindow)(e),i=(0,p.getDocumentElement)(e),r=n.visualViewport,o=i.clientWidth,l=i.clientHeight,s=0,a=0;if(r){o=r.width,l=r.height;let e=(0,p.isWebKit)();(!e||e&&"fixed"===t)&&(s=r.offsetLeft,a=r.offsetTop)}let u=w(i);if(u<=0){let e=i.ownerDocument,t=e.body,n=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(i.clientWidth-t.clientWidth-r);l<=25&&(o-=l)}else u<=25&&(o+=u);return{width:o,height:l,x:s,y:a}}(e,i);else if("document"===t){let t,i,l,s,a,u,c;r=(0,p.getDocumentElement)(e),t=(0,p.getDocumentElement)(r),i=(0,p.getNodeScroll)(r),l=r.ownerDocument.body,s=(0,n.max)(t.scrollWidth,t.clientWidth,l.scrollWidth,l.clientWidth),a=(0,n.max)(t.scrollHeight,t.clientHeight,l.scrollHeight,l.clientHeight),u=-i.scrollLeft+w(r),c=-i.scrollTop,"rtl"===(0,p.getComputedStyle)(l).direction&&(u+=(0,n.max)(t.clientWidth,l.clientWidth)-s),o={width:s,height:a,x:u,y:c}}else if((0,p.isElement)(t)){let e,r,l,s,a,u;r=(e=b(t,!0,"fixed"===i)).top+t.clientTop,l=e.left+t.clientLeft,s=(0,p.isHTMLElement)(t)?y(t):(0,n.createCoords)(1),a=t.clientWidth*s.x,u=t.clientHeight*s.y,o={width:a,height:u,x:l*s.x,y:r*s.y}}else{let n=x(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return(0,n.rectToClientRect)(o)}function C(e){return"static"===(0,p.getComputedStyle)(e).position}function T(e,t){if(!(0,p.isHTMLElement)(e)||"fixed"===(0,p.getComputedStyle)(e).position)return null;if(t)return t(e);let n=e.offsetParent;return(0,p.getDocumentElement)(e)===n&&(n=n.ownerDocument.body),n}function A(e,t){let n=(0,p.getWindow)(e);if((0,p.isTopLayer)(e))return n;if(!(0,p.isHTMLElement)(e)){let t=(0,p.getParentNode)(e);for(;t&&!(0,p.isLastTraversableNode)(t);){if((0,p.isElement)(t)&&!C(t))return t;t=(0,p.getParentNode)(t)}return n}let i=T(e,t);for(;i&&(0,p.isTableElement)(i)&&C(i);)i=T(i,t);return i&&(0,p.isLastTraversableNode)(i)&&C(i)&&!(0,p.isContainingBlock)(i)?n:i||(0,p.getContainingBlock)(e)||n}let P=async function(e){let t=this.getOffsetParent||A,i=this.getDimensions,r=await i(e.floating);return{reference:function(e,t,i){let r=(0,p.isHTMLElement)(t),o=(0,p.getDocumentElement)(t),l="fixed"===i,s=b(e,!0,l,t),a={scrollLeft:0,scrollTop:0},u=(0,n.createCoords)(0);if(r||!r&&!l)if(("body"!==(0,p.getNodeName)(t)||(0,p.isOverflowElement)(o))&&(a=(0,p.getNodeScroll)(t)),r){let e=b(t,!0,l,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else o&&(u.x=w(o));l&&!r&&o&&(u.x=w(o));let c=!o||r||l?(0,n.createCoords)(0):S(o,a);return{x:s.left+a.scrollLeft-u.x-c.x,y:s.top+a.scrollTop-u.y-c.y,width:s.width,height:s.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},O={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:i,offsetParent:r,strategy:o}=e,l="fixed"===o,s=(0,p.getDocumentElement)(r),a=!!t&&(0,p.isTopLayer)(t.floating);if(r===s||a&&l)return i;let u={scrollLeft:0,scrollTop:0},c=(0,n.createCoords)(1),f=(0,n.createCoords)(0),d=(0,p.isHTMLElement)(r);if((d||!d&&!l)&&(("body"!==(0,p.getNodeName)(r)||(0,p.isOverflowElement)(s))&&(u=(0,p.getNodeScroll)(r)),d)){let e=b(r);c=y(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}let g=!s||d||l?(0,n.createCoords)(0):S(s,u);return{width:i.width*c.x,height:i.height*c.y,x:i.x*c.x-u.scrollLeft*c.x+f.x+g.x,y:i.y*c.y-u.scrollTop*c.y+f.y+g.y}},getDocumentElement:p.getDocumentElement,getClippingRect:function(e){let{element:t,boundary:i,rootBoundary:r,strategy:o}=e,l=[..."clippingAncestors"===i?(0,p.isTopLayer)(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let i=(0,p.getOverflowAncestors)(e,[],!1).filter(e=>(0,p.isElement)(e)&&"body"!==(0,p.getNodeName)(e)),r=null,o="fixed"===(0,p.getComputedStyle)(e).position,l=o?(0,p.getParentNode)(e):e;for(;(0,p.isElement)(l)&&!(0,p.isLastTraversableNode)(l);){let t=(0,p.getComputedStyle)(l),n=(0,p.isContainingBlock)(l);n||"fixed"!==t.position||(r=null),(o?n||r:!(!n&&"static"===t.position&&r&&("absolute"===r.position||"fixed"===r.position)||(0,p.isOverflowElement)(l)&&!n&&function e(t,n){let i=(0,p.getParentNode)(t);return!(i===n||!(0,p.isElement)(i)||(0,p.isLastTraversableNode)(i))&&("fixed"===(0,p.getComputedStyle)(i).position||e(i,n))}(e,l)))?r=t:i=i.filter(e=>e!==l),l=(0,p.getParentNode)(l)}return t.set(e,i),i}(t,this._c):[].concat(i),r],s=R(t,l[0],o),a=s.top,u=s.right,c=s.bottom,f=s.left;for(let e=1;e<l.length;e++){let i=R(t,l[e],o);a=(0,n.max)(i.top,a),u=(0,n.min)(i.right,u),c=(0,n.min)(i.bottom,c),f=(0,n.max)(i.left,f)}return{width:u-f,height:c-a,x:f,y:a}},getOffsetParent:A,getElementRects:P,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=h(e);return{width:t,height:n}},getScale:y,isElement:p.isElement,isRTL:function(e){return"rtl"===(0,p.getComputedStyle)(e).direction}};function L(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function M(e,t,i,r){let o;void 0===r&&(r={});let{ancestorScroll:l=!0,ancestorResize:s=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:u="function"==typeof IntersectionObserver,animationFrame:c=!1}=r,f=v(e),d=l||s?[...f?(0,p.getOverflowAncestors)(f):[],...t?(0,p.getOverflowAncestors)(t):[]]:[];d.forEach(e=>{l&&e.addEventListener("scroll",i,{passive:!0}),s&&e.addEventListener("resize",i)});let g=f&&u?function(e,t){let i,r=null,o=(0,p.getDocumentElement)(e);function l(){var e;clearTimeout(i),null==(e=r)||e.disconnect(),r=null}return!function s(a,u){void 0===a&&(a=!1),void 0===u&&(u=1),l();let c=e.getBoundingClientRect(),{left:f,top:d,width:g,height:m}=c;if(a||t(),!g||!m)return;let p={rootMargin:-(0,n.floor)(d)+"px "+-(0,n.floor)(o.clientWidth-(f+g))+"px "+-(0,n.floor)(o.clientHeight-(d+m))+"px "+-(0,n.floor)(f)+"px",threshold:(0,n.max)(0,(0,n.min)(1,u))||1},h=!0;function v(t){let n=t[0].intersectionRatio;if(n!==u){if(!h)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}1!==n||L(c,e.getBoundingClientRect())||s(),h=!1}try{r=new IntersectionObserver(v,{...p,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(v,p)}r.observe(e)}(!0),l}(f,i):null,m=-1,h=null;a&&(h=new ResizeObserver(e=>{let[n]=e;n&&n.target===f&&h&&t&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),i()}),f&&!c&&h.observe(f),t&&h.observe(t));let y=c?b(e):null;return c&&function t(){let n=b(e);y&&!L(y,n)&&i(),y=n,o=requestAnimationFrame(t)}(),i(),()=>{var e;d.forEach(e=>{l&&e.removeEventListener("scroll",i),s&&e.removeEventListener("resize",i)}),null==g||g(),null==(e=h)||e.disconnect(),h=null,c&&cancelAnimationFrame(o)}}var k=e.i(106206),D="u">typeof document?t.useLayoutEffect:function(){};function I(e,t){let n,i,r;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(i=n;0!=i--;)if(!I(e[i],t[i]))return!1;return!0}if((n=(r=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(i=n;0!=i--;)if(!({}).hasOwnProperty.call(t,r[i]))return!1;for(i=n;0!=i--;){let n=r[i];if(("_owner"!==n||!e.$$typeof)&&!I(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function N(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function H(e,t){let n=N(e);return Math.round(t*n)/n}function F(e){let n=t.useRef(e);return D(()=>{n.current=e}),n}var W=e.i(389124);e.i(8890);var $=e.i(394822),V=e.i(549154),B=e.i(807323),z=e.i(561213),_=e.i(189131);let j={name:"hide",async fn(e){var t;let i,{width:r,height:o,x:l,y:s}=e.rects.reference,a=await (t=void 0,{name:(i={name:"hide",options:t={},async fn(e){let{rects:i,platform:r}=e,{strategy:o="referenceHidden",...l}=(0,n.evaluate)(t,e);switch(o){case"referenceHidden":{let t=f(await r.detectOverflow(e,{...l,elementContext:"reference"}),i.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:d(t)}}}case"escaped":{let t=f(await r.detectOverflow(e,{...l,altBoundary:!0}),i.floating);return{data:{escapedOffsets:t,escaped:d(t)}}}default:return{}}}}).name,fn:i.fn,options:[void 0,void 0]}).fn(e);return{data:{referenceHidden:a.data?.referenceHidden||0===r&&0===o&&0===l&&0===s}}}},Y={sideX:"left",sideY:"top"};function X(e,t,n){let i="inline-start"===e||"inline-end"===e;return({top:"top",right:i?n?"inline-start":"inline-end":"right",bottom:"bottom",left:i?n?"inline-end":"inline-start":"left"})[t]}function q(e,t,i){let{rects:r,placement:o}=e;return{side:X(t,(0,n.getSide)(o),i),align:(0,n.getAlignment)(o)||"center",anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function K(e){return null!=e&&"current"in e}e.s(["DEFAULT_SIDES",0,Y,"adaptiveOrigin",0,{name:"adaptiveOrigin",async fn(e){let{x:t,y:o,rects:{floating:l},elements:{floating:s},platform:a,strategy:u,placement:c}=e,f=(0,r.ownerWindow)(s),d=f.getComputedStyle(s);if("0s"===d.transitionDuration||""===d.transitionDuration)return{x:t,y:o,data:Y};let g=await a.getOffsetParent?.(s),m={width:0,height:0};if("fixed"===u&&f?.visualViewport)m={width:f.visualViewport.width,height:f.visualViewport.height};else if(g===f){let e=(0,i.ownerDocument)(s);m={width:e.documentElement.clientWidth,height:e.documentElement.clientHeight}}else await a.isElement?.(g)&&(m=await a.getDimensions(g));let p=(0,n.getSide)(c),h=t,v=o;return"left"===p&&(h=m.width-(t+l.width)),"top"===p&&(v=m.height-(o+l.height)),{x:h,y:v,data:{sideX:"left"===p?"right":Y.sideX,sideY:"top"===p?"bottom":Y.sideY}}}}],909852),e.s(["useAnchorPositioning",0,function(e){var a,u,f,d,h,v,y,E,x,b,w,S;let R,C,T,A,{anchor:P,positionMethod:L="absolute",side:U="bottom",sideOffset:G=0,align:J="center",alignOffset:Q=0,collisionBoundary:Z,collisionPadding:ee=5,sticky:et=!1,arrowPadding:en=5,disableAnchorTracking:ei=!1,keepMounted:er=!1,floatingRootContext:eo,mounted:el,collisionAvoidance:es,shiftCrossAxis:ea=!1,nodeId:eu,adaptiveOrigin:ec,lazyFlip:ef=!1,externalTree:ed}=e,[eg,em]=t.useState(null);el||null===eg||em(null);let ep=es.side||"flip",eh=es.align||"flip",ev=es.fallbackAxisSide||"end",ey="function"==typeof P?P:void 0,eE=(0,s.useStableCallback)(ey),ex=ey?eE:P,eb=(0,l.useValueAsRef)(P),ew=(0,l.useValueAsRef)(el),eS="rtl"===(0,_.useDirection)(),eR=eg||({top:"top",right:"right",bottom:"bottom",left:"left","inline-end":eS?"left":"right","inline-start":eS?"right":"left"})[U],eC="center"===J?eR:`${eR}-${J}`,eT=ee,eA=+("bottom"===U),eP=+("top"===U),eO=+("right"===U),eL=+("left"===U);"number"==typeof eT?eT={top:eT+eA,right:eT+eL,bottom:eT+eP,left:eT+eO}:eT&&(eT={top:(eT.top||0)+eA,right:(eT.right||0)+eL,bottom:(eT.bottom||0)+eP,left:(eT.left||0)+eO});let eM={boundary:"clipping-ancestors"===Z?"clippingAncestors":Z,padding:eT},ek=t.useRef(null),eD=(0,l.useValueAsRef)(G),eI=(0,l.useValueAsRef)(Q),eN=[(a=e=>{let t=q(e,U,eS),n="function"==typeof eD.current?eD.current(t):eD.current,i="function"==typeof eI.current?eI.current(t):eI.current;return{mainAxis:n,crossAxis:i,alignmentAxis:i}},u=["function"!=typeof G?G:0,"function"!=typeof Q?Q:0,eS,U],void 0===(f=a)&&(f=0),{name:(R={name:"offset",options:f,async fn(e){var t,n;let{x:i,y:r,placement:o,middlewareData:l}=e,s=await m(e,f);return o===(null==(t=l.offset)?void 0:t.placement)&&null!=(n=l.arrow)&&n.alignmentOffset?{}:{x:i+s.x,y:r+s.y,data:{...s,placement:o}}}}).name,fn:R.fn,options:[a,u]})],eH="none"===eh&&"shift"!==ep,eF=!eH&&(et||ea||"shift"===ep),eW="none"===ep?null:{name:(C={name:"flip",options:h=d={...eM,padding:{top:eT.top+1,right:eT.right+1,bottom:eT.bottom+1,left:eT.left+1},mainAxis:!ea&&"flip"===ep,crossAxis:"flip"===eh&&"alignment",fallbackAxisSideDirection:ev},async fn(e){var t,i,r,o,l;let{placement:s,middlewareData:a,rects:u,initialPlacement:c,platform:f,elements:d}=e,{mainAxis:g=!0,crossAxis:m=!0,fallbackPlacements:p,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:E=!0,...x}=(0,n.evaluate)(h,e);if(null!=(t=a.arrow)&&t.alignmentOffset)return{};let b=(0,n.getSide)(s),w=(0,n.getSideAxis)(c),S=(0,n.getSide)(c)===c,R=await (null==f.isRTL?void 0:f.isRTL(d.floating)),C=p||(S||!E?[(0,n.getOppositePlacement)(c)]:(0,n.getExpandedPlacements)(c)),T="none"!==y;!p&&T&&C.push(...(0,n.getOppositeAxisPlacements)(c,E,y,R));let A=[c,...C],P=await f.detectOverflow(e,x),O=[],L=(null==(i=a.flip)?void 0:i.overflows)||[];if(g&&O.push(P[b]),m){let e=(0,n.getAlignmentSides)(s,u,R);O.push(P[e[0]],P[e[1]])}if(L=[...L,{placement:s,overflows:O}],!O.every(e=>e<=0)){let e=((null==(r=a.flip)?void 0:r.index)||0)+1,t=A[e];if(t&&("alignment"!==m||w===(0,n.getSideAxis)(t)||L.every(e=>(0,n.getSideAxis)(e.placement)!==w||e.overflows[0]>0)))return{data:{index:e,overflows:L},reset:{placement:t}};let i=null==(o=L.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!i)switch(v){case"bestFit":{let e=null==(l=L.filter(e=>{if(T){let t=(0,n.getSideAxis)(e.placement);return t===w||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:l[0];e&&(i=e);break}case"initialPlacement":i=c}if(s!==i)return{reset:{placement:i}}}return{}}}).name,fn:C.fn,options:[d,void 0]},e$=eH?null:(v=e=>{var t,r;let o=(0,i.ownerDocument)(e.elements.floating).documentElement;return{...eM,rootBoundary:ea?{x:0,y:0,width:o.clientWidth,height:o.clientHeight}:void 0,mainAxis:"none"!==eh,crossAxis:eF,limiter:et||ea?void 0:{fn:(void 0===(r=t=e=>{if(!ek.current)return{};let{width:t,height:i}=ek.current.getBoundingClientRect(),r=(0,n.getSideAxis)((0,n.getSide)(e.placement)),o="y"===r?eT.left+eT.right:eT.top+eT.bottom;return{offset:("y"===r?t:i)/2+o/2}})&&(r={}),{options:r,fn(e){let{x:t,y:i,placement:o,rects:l,middlewareData:s}=e,{offset:a=0,mainAxis:u=!0,crossAxis:c=!0}=(0,n.evaluate)(r,e),f={x:t,y:i},d=(0,n.getSideAxis)(o),m=(0,n.getOppositeAxis)(d),p=f[m],h=f[d],v=(0,n.evaluate)(a,e),y="number"==typeof v?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){let e="y"===m?"height":"width",t=l.reference[m]-l.floating[e]+y.mainAxis,n=l.reference[m]+l.reference[e]-y.mainAxis;p<t?p=t:p>n&&(p=n)}if(c){var E,x;let e="y"===m?"width":"height",t=g.has((0,n.getSide)(o)),i=l.reference[d]-l.floating[e]+(t&&(null==(E=s.offset)?void 0:E[d])||0)+(t?0:y.crossAxis),r=l.reference[d]+l.reference[e]+(t?0:(null==(x=s.offset)?void 0:x[d])||0)-(t?y.crossAxis:0);h<i?h=i:h>r&&(h=r)}return{[m]:p,[d]:h}}}).fn,options:[t,void 0]}}},y=[eM,et,ea,eT,eh],void 0===(E=v)&&(E={}),{name:(T={name:"shift",options:E,async fn(e){let{x:t,y:i,placement:r,platform:o}=e,{mainAxis:l=!0,crossAxis:s=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...u}=(0,n.evaluate)(E,e),c={x:t,y:i},f=await o.detectOverflow(e,u),d=(0,n.getSideAxis)((0,n.getSide)(r)),g=(0,n.getOppositeAxis)(d),m=c[g],p=c[d];if(l){let e="y"===g?"top":"left",t="y"===g?"bottom":"right",i=m+f[e],r=m-f[t];m=(0,n.clamp)(i,m,r)}if(s){let e="y"===d?"top":"left",t="y"===d?"bottom":"right",i=p+f[e],r=p-f[t];p=(0,n.clamp)(i,p,r)}let h=a.fn({...e,[g]:m,[d]:p});return{...h,data:{x:h.x-t,y:h.y-i,enabled:{[g]:l,[d]:s}}}}}).name,fn:T.fn,options:[v,y]});"shift"===ep||"shift"===eh||"center"===J?eN.push(e$,eW):eN.push(eW,e$),eN.push({name:(A={name:"size",options:b=x={...eM,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:i}){if(!ew.current)return;let o=e.style;o.setProperty("--available-width",`${t}px`),o.setProperty("--available-height",`${n}px`);let l=(0,r.ownerWindow)(e).devicePixelRatio||1,{x:s,y:a,width:u,height:c}=i.reference,f=(Math.round((s+u)*l)-Math.round(s*l))/l,d=(Math.round((a+c)*l)-Math.round(a*l))/l;o.setProperty("--anchor-width",`${f}px`),o.setProperty("--anchor-height",`${d}px`)}},async fn(e){var t,i;let r,o,{placement:l,rects:s,platform:a,elements:u}=e,{apply:c=()=>{},...f}=(0,n.evaluate)(b,e),d=await a.detectOverflow(e,f),g=(0,n.getSide)(l),m=(0,n.getAlignment)(l),p="y"===(0,n.getSideAxis)(l),{width:h,height:v}=s.floating;"top"===g||"bottom"===g?(r=g,o=m===(await (null==a.isRTL?void 0:a.isRTL(u.floating))?"start":"end")?"left":"right"):(o=g,r="end"===m?"top":"bottom");let y=v-d.top-d.bottom,E=h-d.left-d.right,x=(0,n.min)(v-d[r],y),w=(0,n.min)(h-d[o],E),S=!e.middlewareData.shift,R=x,C=w;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(C=E),null!=(i=e.middlewareData.shift)&&i.enabled.y&&(R=y),S&&!m){let e=(0,n.max)(d.left,0),t=(0,n.max)(d.right,0),i=(0,n.max)(d.top,0),r=(0,n.max)(d.bottom,0);p?C=h-2*(0!==e||0!==t?e+t:(0,n.max)(d.left,d.right)):R=v-2*(0!==i||0!==r?i+r:(0,n.max)(d.top,d.bottom))}await c({...e,availableWidth:C,availableHeight:R});let T=await a.getDimensions(u.floating);return h!==T.width||v!==T.height?{reset:{rects:!0}}:{}}}).name,fn:A.fn,options:[x,void 0]},(w=()=>({element:ek.current||(0,i.ownerDocument)(ek.current).createElement("div"),padding:en,offsetParent:"floating"}),S=[en],{name:"arrow",options:w,async fn(e){let{x:t,y:i,placement:r,rects:o,platform:l,elements:s,middlewareData:a}=e,{element:u,padding:c=0,offsetParent:f="real"}=(0,n.evaluate)(w,e)||{};if(null==u)return{};let d=(0,n.getPaddingObject)(c),g={x:t,y:i},m=(0,n.getAlignmentAxis)(r),p=(0,n.getAxisLength)(m),h=await l.getDimensions(u),v="y"===m,y=v?"clientHeight":"clientWidth",E=o.reference[p]+o.reference[m]-g[m]-o.floating[p],x=g[m]-o.reference[m],b="real"===f?await l.getOffsetParent?.(u):s.floating,S=s.floating[y]||o.floating[p];S&&await l.isElement?.(b)||(S=s.floating[y]||o.floating[p]);let R=S/2-h[p]/2-1,C=Math.min(d[v?"top":"left"],R),T=Math.min(d[v?"bottom":"right"],R),A=S-h[p]-T,P=S/2-h[p]/2+(E/2-x/2),O=(0,n.clamp)(C,P,A),L=!a.arrow&&null!=(0,n.getAlignment)(r)&&P!==O&&o.reference[p]/2-(P<C?C:T)-h[p]/2<0,M=L?P<C?P-C:P-A:0;return{[m]:g[m]+M,data:{[m]:O,centerOffset:P-O-M,...L&&{alignmentOffset:M}},reset:L}},options:[w,S]}),{name:"transformOrigin",fn(e){let{elements:t,middlewareData:i,placement:r,rects:o,y:l}=e,s=(0,n.getSide)(r),a=(0,n.getSideAxis)(s),u=ek.current,c=i.arrow?.x||0,f=i.arrow?.y||0,d=u?.clientWidth||0,g=u?.clientHeight||0,m=c+d/2,p=f+g/2,h=Math.abs(i.shift?.y||0),v=o.reference.height/2,y="function"==typeof G?G(q(e,U,eS)):G,E=h>y,x={top:`${m}px calc(100% + ${y}px)`,bottom:`${m}px ${-y}px`,left:`calc(100% + ${y}px) ${p}px`,right:`${-y}px ${p}px`}[s],b=`${m}px ${o.reference.y+v-l}px`;return t.floating.style.setProperty("--transform-origin",eF&&"y"===a&&E?b:x),{}}},j,ec),(0,o.useIsoLayoutEffect)(()=>{!el&&eo&&eo.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[el,eo]);let eV=t.useMemo(()=>({elementResize:!ei&&"u">typeof ResizeObserver,layoutShift:!ei&&"u">typeof IntersectionObserver}),[ei]),{refs:eB,elements:ez,x:e_,y:ej,middlewareData:eY,update:eX,placement:eq,context:eK,isPositioned:eU,floatingStyles:eG}=function(e={}){let{nodeId:n,externalTree:i}=e,r=function(e){let{open:t=!1,onOpenChange:n,elements:i={}}=e,r=(0,$.useId)(),l=null!=(0,W.useFloatingParentNodeId)(),s=(0,V.useRefWithInit)(()=>new B.FloatingRootStore({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:i.reference??null,floatingElement:i.floating??null,triggerElements:new z.PopupTriggerMap,floatingId:r,syncOnly:!1,nested:l})).current;return(0,o.useIsoLayoutEffect)(()=>{let e={open:t,floatingId:r};void 0!==i.reference&&(e.referenceElement=i.reference,e.domReferenceElement=(0,p.isElement)(i.reference)?i.reference:null),void 0!==i.floating&&(e.floatingElement=i.floating),s.update(e)},[t,r,i.reference,i.floating,s]),s.context.onOpenChange=n,s.context.nested=l,s}(e),l=e.rootContext||r,s={reference:l.useState("referenceElement"),floating:l.useState("floatingElement"),domReference:l.useState("domReferenceElement")},[a,u]=t.useState(null),f=t.useRef(null),d=(0,W.useFloatingTree)(i);(0,o.useIsoLayoutEffect)(()=>{s.domReference&&(f.current=s.domReference)},[s.domReference]);let g=function(e){void 0===e&&(e={});let{placement:n="bottom",strategy:i="absolute",middleware:r=[],platform:o,elements:{reference:l,floating:s}={},transform:a=!0,whileElementsMounted:u,open:f}=e,[d,g]=t.useState({x:0,y:0,strategy:i,placement:n,middlewareData:{},isPositioned:!1}),[m,p]=t.useState(r);I(m,r)||p(r);let[h,v]=t.useState(null),[y,E]=t.useState(null),x=t.useCallback(e=>{e!==R.current&&(R.current=e,v(e))},[]),b=t.useCallback(e=>{e!==C.current&&(C.current=e,E(e))},[]),w=l||h,S=s||y,R=t.useRef(null),C=t.useRef(null),T=t.useRef(d),A=null!=u,P=F(u),L=F(o),M=F(f),W=t.useCallback(()=>{var e,t;let r,o,l;if(!R.current||!C.current)return;let s={placement:n,strategy:i,middleware:m};L.current&&(s.platform=L.current),(e=R.current,t=C.current,r=new Map,l={...(o={platform:O,...s}).platform,_c:r},c(e,t,{...o,platform:l})).then(e=>{let t={...e,isPositioned:!1!==M.current};$.current&&!I(T.current,t)&&(T.current=t,k.flushSync(()=>{g(t)}))})},[m,n,i,L,M]);D(()=>{!1===f&&T.current.isPositioned&&(T.current.isPositioned=!1,g(e=>({...e,isPositioned:!1})))},[f]);let $=t.useRef(!1);D(()=>($.current=!0,()=>{$.current=!1}),[]),D(()=>{if(w&&(R.current=w),S&&(C.current=S),w&&S){if(P.current)return P.current(w,S,W);W()}},[w,S,W,P,A]);let V=t.useMemo(()=>({reference:R,floating:C,setReference:x,setFloating:b}),[x,b]),B=t.useMemo(()=>({reference:w,floating:S}),[w,S]),z=t.useMemo(()=>{let e={position:i,left:0,top:0};if(!B.floating)return e;let t=H(B.floating,d.x),n=H(B.floating,d.y);return a?{...e,transform:"translate("+t+"px, "+n+"px)",...N(B.floating)>=1.5&&{willChange:"transform"}}:{position:i,left:t,top:n}},[i,a,B.floating,d.x,d.y]);return t.useMemo(()=>({...d,update:W,refs:V,elements:B,floatingStyles:z}),[d,W,V,B,z])}({...e,elements:{...s,...a&&{reference:a}}}),m=t.useCallback(e=>{let t=(0,p.isElement)(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;u(t),g.refs.setReference(t)},[g.refs]),[h,v]=t.useState(void 0),[y,E]=t.useState(null);l.useSyncedValue("referenceElement",h??null);let x=(0,p.isElement)(h)?h:null;l.useSyncedValue("domReferenceElement",void 0===h?s.domReference:x),l.useSyncedValue("floatingElement",y);let b=t.useCallback(e=>{((0,p.isElement)(e)||null===e)&&(f.current=e,v(e)),((0,p.isElement)(g.refs.reference.current)||null===g.refs.reference.current||null!==e&&!(0,p.isElement)(e))&&g.refs.setReference(e)},[g.refs,v]),w=t.useCallback(e=>{E(e),g.refs.setFloating(e)},[g.refs]),S=t.useMemo(()=>({...g.refs,setReference:b,setFloating:w,setPositionReference:m,domReference:f}),[g.refs,b,w,m]),R=t.useMemo(()=>({...g.elements,domReference:s.domReference}),[g.elements,s.domReference]),C=l.useState("open"),T=l.useState("floatingId"),A=t.useMemo(()=>({...g,dataRef:l.context.dataRef,open:C,onOpenChange:l.setOpen,events:l.context.events,floatingId:T,refs:S,elements:R,nodeId:n,rootStore:l}),[g,S,R,n,l,C,T]);return(0,o.useIsoLayoutEffect)(()=>{l.context.dataRef.current.floatingContext=A;let e=d?.nodesRef.current.find(e=>e.id===n);e&&(e.context=A)}),t.useMemo(()=>({...g,context:A,refs:S,elements:R,rootStore:l}),[g,S,R,A,l])}({rootContext:eo,open:er?el:void 0,placement:eC,middleware:eN,strategy:L,whileElementsMounted:er?void 0:(...e)=>M(...e,eV),nodeId:eu,externalTree:ed}),{sideX:eJ,sideY:eQ}=eY.adaptiveOrigin||Y,eZ=eU?L:"fixed",e0=t.useMemo(()=>{let e=ec?{position:eZ,[eJ]:e_,[eQ]:ej}:{position:eZ,...eG};return eU||(e.opacity=0),e},[ec,eZ,eJ,e_,eQ,ej,eG,eU]),e1=t.useRef(null);(0,o.useIsoLayoutEffect)(()=>{if(!el)return;let e=eb.current,t="function"==typeof e?e():e,n=(K(t)?t.current:t)||null;n!==e1.current&&(eB.setPositionReference(n),e1.current=n)},[el,eB,ex,eb]),t.useEffect(()=>{if(!el)return;let e=eb.current;"function"!=typeof e&&K(e)&&e.current!==e1.current&&(eB.setPositionReference(e.current),e1.current=e.current)},[el,eB,ex,eb]),t.useEffect(()=>{if(er&&el&&ez.domReference&&ez.floating)return M(ez.domReference,ez.floating,eX,eV)},[er,el,ez,eX,eV]);let e2=(0,n.getSide)(eq),e5=X(U,e2,eS),e6=(0,n.getAlignment)(eq)||"center",e4=!!eY.hide?.referenceHidden;(0,o.useIsoLayoutEffect)(()=>{ef&&el&&eU&&em(e2)},[ef,el,eU,e2]);let e9=t.useMemo(()=>({position:"absolute",top:eY.arrow?.y,left:eY.arrow?.x}),[eY.arrow]),e7=eY.arrow?.centerOffset!==0;return t.useMemo(()=>({positionerStyles:e0,arrowStyles:e9,arrowRef:ek,arrowUncentered:e7,side:e5,align:e6,physicalSide:e2,anchorHidden:e4,refs:eB,context:eK,isPositioned:eU,update:eX}),[e0,e9,ek,e7,e5,e6,e2,e4,eB,eK,eU,eX])}],576557)},328657,e=>{"use strict";var t=e.i(863728),n=e.i(576487);e.s(["getDisabledMountTransitionStyles",0,function(e){return"starting"===e?n.DISABLED_TRANSITIONS_STYLE:t.EMPTY_OBJECT}])},263635,e=>{"use strict";var t=e.i(817955),n=e.i(969490),i=e.i(328657);e.s(["usePositioner",0,function(e,r,{styles:o,transitionStatus:l,props:s,refs:a,hidden:u,inert:c=!1}){let f={...o};return c&&(f.pointerEvents="none"),(0,n.useRenderElement)("div",e,{state:r,ref:a,props:[{role:"presentation",hidden:u,style:f},(0,i.getDisabledMountTransitionStyles)(l),s],stateAttributesMapping:t.popupStateMapping})}])},795914,e=>{"use strict";var t=e.i(764556),n=e.i(92615),i=e.i(422561),r=e.i(516366),o=e.i(29905),l=e.i(277642),s=e.i(232449),a=e.i(526850),u=e.i(410421),c=e.i(922970),f=e.i(404196),d=e.i(602453),g=e.i(742665),m=e.i(389124),p=e.i(84076),h=e.i(49863);e.s(["useHoverFloatingInteraction",0,function(e,v={}){let y="rootStore"in e?e.rootStore:e,E=y.useState("open"),x=y.useState("floatingElement"),b=y.useState("domReferenceElement"),{dataRef:w}=y.context,{enabled:S=!0,closeDelay:R=0,nodeId:C}=v,T=(0,p.useHoverInteractionSharedState)(y),A=(0,m.useFloatingTree)(),P=(0,m.useFloatingParentNodeId)(),O=(0,o.useStableCallback)(()=>(0,h.isClickLikeOpenEvent)(w.current.openEvent?.type,T.interactedInside)),L=(0,o.useStableCallback)(()=>{let e=w.current.openEvent?.type;return e?.includes("mouse")&&"mousedown"!==e}),M=(0,o.useStableCallback)(e=>(0,c.isTargetInsideEnabledTrigger)(e,y.context.triggerElements)),k=t.useCallback(e=>{let t=(0,h.getDelay)(R,"close",T.pointerType),n=()=>{y.setOpen(!1,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,e)),A?.events.emit("floating.closed",e)};t?T.openChangeTimeout.start(t,n):(T.openChangeTimeout.clear(),n())},[R,y,T,A]),D=(0,o.useStableCallback)(()=>{(0,p.clearSafePolygonPointerEventsMutation)(T)}),I=(0,o.useStableCallback)(e=>{let t=(0,u.getTarget)(e);if(!(0,c.isInteractiveElement)(t)){T.interactedInside=!1;return}T.interactedInside=t?.closest("[aria-haspopup]")!=null});(0,l.useIsoLayoutEffect)(()=>{E||(T.pointerType=void 0,T.restTimeoutPending=!1,T.interactedInside=!1,D())},[E,T,D]),t.useEffect(()=>D,[D]),(0,l.useIsoLayoutEffect)(()=>{if(S&&E&&T.handleCloseOptions?.blockPointerEvents&&L()&&(0,n.isElement)(b)&&x){let e=(0,a.ownerDocument)(x),t=A?.nodesRef.current.find(e=>e.id===P)?.context?.elements.floating;t&&(t.style.pointerEvents="");let n=T.handleCloseOptions?.getScope?.()??T.pointerEventsScopeElement??t??b.closest("[data-rootownerid]")??e.body;return(0,p.applySafePolygonPointerEventsMutation)(T,{scopeElement:n,referenceElement:b,floatingElement:x}),()=>{D()}}},[S,E,b,x,T,L,A,P,D]);let N=(0,s.useTimeout)();t.useEffect(()=>{if(S)return(0,r.mergeCleanups)(x&&(0,i.addEventListener)(x,"mouseenter",function(){T.openChangeTimeout.clear(),N.clear(),A?.events.off("floating.closed",e),D()}),x&&(0,i.addEventListener)(x,"mouseleave",function(t){if(A&&P&&(0,f.getNodeChildren)(A.nodesRef.current,P).length>0)return void A.events.on("floating.closed",e);if(M(t.relatedTarget))return;let i=w.current.floatingContext?.nodeId??C,r=t.relatedTarget;if(!(A&&i&&(0,n.isElement)(r)&&(0,f.getNodeChildren)(A.nodesRef.current,i,!1).some(e=>(0,u.contains)(e.context?.elements.floating,r)))){if(T.handler)return void T.handler(t);D(),O()||k(t)}}),x&&(0,i.addEventListener)(x,"pointerdown",I,!0),()=>{A?.events.off("floating.closed",e)});function e(t){A&&P&&!((0,f.getNodeChildren)(A.nodesRef.current,P).length>0)&&N.start(0,()=>{A.events.off("floating.closed",e),y.setOpen(!1,(0,d.createChangeEventDetails)(g.REASONS.triggerHover,t)),A.events.emit("floating.closed",t)})}},[S,x,y,w,C,O,M,k,D,I,T,A,P,N])}])},3310,e=>{"use strict";var t=e.i(764556),n=e.i(106206),i=e.i(677822),r=e.i(859092),o=e.i(277642),l=e.i(29905),s=e.i(526850),a=e.i(427708),u=e.i(863728),c=e.i(730774);let f=()=>!0;function d(e,t,n){let i=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{e.style.setProperty(t,i)}}function g(e,t){let n=[];for(let[i,r]of Object.entries(t))n.push(d(e,i,r));return n.length?()=>{n.forEach(e=>e())}:u.NOOP}function m(e,t){let n="auto"===t?"auto":`${t.width}px`,i="auto"===t?"auto":`${t.height}px`;e.style.setProperty("--popup-width",n),e.style.setProperty("--popup-height",i)}function p(e,t){let n="max-content"===t?"max-content":`${t.width}px`,i="max-content"===t?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",n),e.style.setProperty("--positioner-height",i)}var h=e.i(189131),v=e.i(344180);e.s(["usePopupViewport",0,function(e){let y,{store:E,side:x,cssVars:b,children:w}=e,S=(0,h.useDirection)(),R=E.useState("activeTriggerElement"),C=E.useState("activeTriggerId"),T=E.useState("open"),A=E.useState("payload"),P=E.useState("mounted"),O=E.useState("popupElement"),L=E.useState("positionerElement"),M=function(e){let[n,i]=t.useState({current:e,previous:null});return e!==n.current&&i({current:e,previous:n.current}),n.previous}(T?R:null),k=function(e,n){let[i,r]=t.useState(0),l=t.useRef(e),s=t.useRef(n),a=t.useRef(!1);return(0,o.useIsoLayoutEffect)(()=>{let t=l.current,i=n!==s.current;e!==t?(r(e=>e+1),a.current=!i):a.current&&i&&(r(e=>e+1),a.current=!1),l.current=e,s.current=n},[e,n]),`${e??"current"}-${i}`}(C,A),D=t.useRef(null),[I,N]=t.useState(null),[H,F]=t.useState(null),W=t.useRef(null),$=t.useRef(null),V=(0,a.useAnimationsFinished)(W,!0,!1),B=(0,r.useAnimationFrame)(),[z,_]=t.useState(null),[j,Y]=t.useState(!1);(0,o.useIsoLayoutEffect)(()=>(E.set("hasViewport",!0),()=>{E.set("hasViewport",!1)}),[E]);let X=(0,l.useStableCallback)(()=>{W.current?.style.setProperty("animation","none"),W.current?.style.setProperty("transition","none"),$.current?.style.setProperty("display","none")}),q=(0,l.useStableCallback)(e=>{W.current?.style.removeProperty("animation"),W.current?.style.removeProperty("transition"),$.current?.style.removeProperty("display"),e&&_(e)}),K=t.useRef(null);(0,o.useIsoLayoutEffect)(()=>{var e,t;let i,r,o,l;R&&M&&R!==M&&K.current!==R&&D.current&&(N(D.current),Y(!0),F((e=M,t=R,i=e.getBoundingClientRect(),r=t.getBoundingClientRect(),o={x:i.left+i.width/2,y:i.top+i.height/2},{horizontal:(l={x:r.left+r.width/2,y:r.top+r.height/2}).x-o.x,vertical:l.y-o.y})),B.request(()=>{n.flushSync(()=>{Y(!1)}),V(()=>{N(null),_(null),D.current=null})}),K.current=R)},[R,M,I,V,B]),(0,o.useIsoLayoutEffect)(()=>{let e=W.current;if(!e)return;let t=(0,s.ownerDocument)(e).createElement("div");for(let n of Array.from(e.childNodes))t.appendChild(n.cloneNode(!0));D.current=t});let U=null!=I;return y=U?(0,v.jsxs)(t.Fragment,{children:[(0,v.jsx)("div",{"data-previous":!0,inert:(0,i.inertValue)(!0),ref:$,style:{...z?{[b.popupWidth]:`${z.width}px`,[b.popupHeight]:`${z.height}px`}:null,position:"absolute"},"data-ending-style":j?void 0:""},"previous"),(0,v.jsx)("div",{"data-current":!0,ref:W,"data-starting-style":j?"":void 0,children:w},k)]}):(0,v.jsx)("div",{"data-current":!0,ref:W,children:w},k),(0,o.useIsoLayoutEffect)(()=>{let e=$.current;e&&I&&e.replaceChildren(...Array.from(I.childNodes))},[I]),!function(e){let{popupElement:n,positionerElement:i,content:s,mounted:h,enabled:v=f,onMeasureLayout:y,onMeasureLayoutComplete:E,side:x,direction:b}=e,w=(0,a.useAnimationsFinished)(n,!0,!1),S=(0,r.useAnimationFrame)(),R=t.useRef(null),C=t.useRef(null),T=t.useRef(!0),A=t.useRef(u.NOOP),P=(0,l.useStableCallback)(y),O=(0,l.useStableCallback)(E),L=t.useMemo(()=>{let e="top"===x,t="left"===x;return"rtl"===b?(e=e||"inline-end"===x,t=t||"inline-end"===x):(e=e||"inline-start"===x,t=t||"inline-start"===x),e?{position:"absolute",["top"===x?"bottom":"top"]:"0",[t?"right":"left"]:"0"}:u.EMPTY_OBJECT},[x,b]);(0,o.useIsoLayoutEffect)(()=>{if(!h||!v()||"function"!=typeof ResizeObserver){A.current=u.NOOP,T.current=!0,R.current=null,C.current=null;return}if(!n||!i)return;A.current=g(n,L);let e=new ResizeObserver(e=>{let t=e[0];t&&(C.current={width:Math.ceil(t.borderBoxSize[0].inlineSize),height:Math.ceil(t.borderBoxSize[0].blockSize)})});e.observe(n),m(n,"auto");let t=d(n,"position","static"),r=d(n,"transform","none"),o=d(n,"scale","1"),l=g(i,{"--available-width":"max-content","--available-height":"max-content"});function s(){t(),r(),l(),o()}if(P?.(),T.current||null===R.current){p(i,"max-content");let t=(0,c.getCssDimensions)(n);return R.current=t,p(i,t),s(),O?.(null,t),T.current=!1,()=>{e.disconnect(),A.current(),A.current=u.NOOP}}m(n,"auto"),p(i,"max-content");let a=R.current??C.current,f=(0,c.getCssDimensions)(n);if(R.current=f,!a)return p(i,f),s(),O?.(null,f),()=>{e.disconnect(),S.cancel(),A.current(),A.current=u.NOOP};m(n,a),s(),O?.(a,f),p(i,f);let y=new AbortController;return S.request(()=>{m(n,f),w(()=>{n.style.setProperty("--popup-width","auto"),n.style.setProperty("--popup-height","auto")},y.signal)}),()=>{e.disconnect(),y.abort(),S.cancel(),A.current(),A.current=u.NOOP}},[s,n,i,w,S,v,h,P,O,L])}({popupElement:O,positionerElement:L,mounted:P,content:A,onMeasureLayout:X,onMeasureLayoutComplete:q,side:x,direction:S}),{children:y,state:{activationDirection:function(e){if(e){var t,n;return`${(t=e.horizontal)>5?"right":t<-5?"left":""} ${(n=e.vertical)>5?"down":n<-5?"up":""}`}}(H),transitioning:U}}}],3310)},900587,e=>{"use strict";var t=e.i(764556),n=e.i(526850),i=e.i(993351),r=e.i(277642);e.s(["useAnchoredPopupScrollLock",0,function(e,o,l,s){let[a,u]=t.useState(!1);(0,r.useIsoLayoutEffect)(()=>{if(!e||!o||null==l)return void u(!1);let t=(0,n.ownerDocument)(l).documentElement.clientWidth,i=l.offsetWidth;u(t>0&&i>0&&i>=t-20)},[e,o,l]),(0,i.useScrollLock)(e&&(!o||a),s)}])},660079,e=>{"use strict";var t=e.i(764556),n=e.i(106206),i=e.i(29905),r=e.i(410421),o=e.i(878984),l=e.i(602453),s=e.i(742665);e.s(["useTriggerFocusGuards",0,function(e,a){let u=t.useRef(null),c=(0,i.useStableCallback)(t=>{n.flushSync(()=>{e.setOpen(!1,(0,l.createChangeEventDetails)(s.REASONS.focusOut,t.nativeEvent,t.currentTarget))});let i=(0,o.getTabbableBeforeElement)(u.current);i?.focus()});return{preFocusGuardRef:u,handlePreFocusGuardFocus:c,handleFocusTargetFocus:(0,i.useStableCallback)(t=>{let i=e.select("positionerElement");if(i&&(0,o.isOutsideEvent)(t,i))e.context.beforeContentFocusGuardRef.current?.focus();else{n.flushSync(()=>{e.setOpen(!1,(0,l.createChangeEventDetails)(s.REASONS.focusOut,t.nativeEvent,t.currentTarget))});let u=(0,o.getTabbableAfterElement)(e.context.triggerFocusTargetRef.current||a.current);for(;null!==u&&(0,r.contains)(i,u);){let e=u;if((u=(0,o.getNextTabbable)(u))===e)break}u?.focus()}})}}])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,940361,e=>{"use strict";var t=e.i(344180);e.s([],2365),e.i(2365);var n=e.i(764556),a=e.i(394822),r=e.i(174465),s=e.i(648224),o=e.i(35359);e.i(8890);var l=e.i(422561),i=e.i(526850),c=e.i(232449),u=e.i(410421),d=e.i(150129),p=e.i(969490),x=e.i(602453),h=e.i(817955),m=e.i(742665),f=e.i(87709);let g=n.forwardRef(function(e,t){let{render:a,className:s,style:g,...v}=e,{setAnchor:b,actionsRef:j,internalBackdropRef:y,backdropRef:C,positionerRef:k,allowMouseUpTriggerRef:w,initialCursorPointRef:N,rootId:S}=(0,r.useContextMenuRootContext)(!1),{store:T}=(0,o.useMenuRootContext)(!1),M=T.useState("open"),D=T.useState("disabled"),I=n.useRef(null),R=n.useRef(null),P=(0,c.useTimeout)(),O=(0,c.useTimeout)(),F=n.useRef(!1);function z(e,t,n){let a=n.type.startsWith("touch");N.current={x:e,y:t},b({getBoundingClientRect:()=>DOMRect.fromRect({width:10*!!a,height:10*!!a,x:e,y:t})}),F.current=!1,j.current?.setOpen(!0,(0,x.createChangeEventDetails)(m.REASONS.triggerPress,n)),O.start(500,()=>{F.current=!0})}function $(){P.clear(),R.current=null}return n.useEffect(()=>{let e=(0,i.ownerDocument)(I.current);return(0,l.addEventListener)(e,"contextmenu",function(e){if(D)return;let t=(0,u.getTarget)(e);((0,u.contains)(I.current,t)||(0,u.contains)(y.current,t)||(0,u.contains)(C.current,t))&&e.preventDefault()})},[C,D,y]),(0,p.useRenderElement)("div",e,{state:{open:M},ref:[I,t],props:[{onContextMenu:function(e){if(D)return;w.current=!0,(0,d.stopEvent)(e),z(e.clientX,e.clientY,e.nativeEvent);let t=(0,i.ownerDocument)(I.current);(0,l.addEventListener)(t,"mouseup",e=>{if(w.current=!1,!F.current)return;O.clear(),F.current=!1;let t=(0,u.getTarget)(e);(0,u.contains)(k.current,t)||S&&t&&(0,f.findRootOwnerId)(t)===S||j.current?.setOpen(!1,(0,x.createChangeEventDetails)(m.REASONS.cancelOpen,e))},{once:!0})},onTouchStart:function(e){if(!D&&(w.current=!1,1===e.touches.length)){e.stopPropagation();let t=e.touches[0];R.current={x:t.clientX,y:t.clientY},P.start(500,()=>{R.current&&z(R.current.x,R.current.y,e.nativeEvent)})}},onTouchMove:function(e){if(P.isStarted()&&R.current&&1===e.touches.length){let t=e.touches[0],n=Math.abs(t.clientX-R.current.x),a=Math.abs(t.clientY-R.current.y);(n>10||a>10)&&P.clear()}},onTouchEnd:$,onTouchCancel:$,style:{WebkitTouchCallout:"none"}},v],stateAttributesMapping:h.pressableTriggerOpenStateMapping})});var v=e.i(487455),b=e.i(293209),j=e.i(503662),y=e.i(33427),C=e.i(324573),k=e.i(582883),w=e.i(277658),N=e.i(349204),S=e.i(28051),T=e.i(597375),M=e.i(81752),D=e.i(59354),I=e.i(300637),R=e.i(281478),P=e.i(65255),O=e.i(327794),F=e.i(362962);e.s(["Arrow",()=>C.MenuArrow,"Backdrop",()=>v.MenuBackdrop,"CheckboxItem",()=>S.MenuCheckboxItem,"CheckboxItemIndicator",()=>T.MenuCheckboxItemIndicator,"Group",()=>k.MenuGroup,"GroupLabel",()=>w.MenuGroupLabel,"Item",()=>N.MenuItem,"LinkItem",()=>M.MenuLinkItem,"Popup",()=>y.MenuPopup,"Portal",()=>b.MenuPortal,"Positioner",()=>j.MenuPositioner,"RadioGroup",()=>D.MenuRadioGroup,"RadioItem",()=>I.MenuRadioItem,"RadioItemIndicator",()=>R.MenuRadioItemIndicator,"Root",0,function(e){let[l,i]=n.useState({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,x:0,y:0})}),c=n.useRef(null),u=n.useRef(null),d=n.useRef(null),p=n.useRef(null),x=n.useRef(!0),h=n.useRef(null),m=(0,a.useId)(),f=n.useMemo(()=>({anchor:l,setAnchor:i,actionsRef:d,backdropRef:c,internalBackdropRef:u,positionerRef:p,allowMouseUpTriggerRef:x,initialCursorPointRef:h,rootId:m}),[l,m]);return(0,t.jsx)(r.ContextMenuRootContext.Provider,{value:f,children:(0,t.jsx)(o.MenuRootContext.Provider,{value:void 0,children:(0,t.jsx)(s.Menu.Root,{...e})})})},"Separator",()=>F.Separator,"SubmenuRoot",()=>P.MenuSubmenuRoot,"SubmenuTrigger",()=>O.MenuSubmenuTrigger,"Trigger",0,g],912001);var z=e.i(912001),z=z,$=e.i(465458),E=e.i(932031);function L({className:e,align:n="start",alignOffset:a=4,side:r="right",sideOffset:s=0,...o}){return(0,t.jsx)(z.Portal,{children:(0,t.jsx)(z.Positioner,{className:"isolate z-50 outline-none",align:n,alignOffset:a,side:r,sideOffset:s,children:(0,t.jsx)(z.Popup,{"data-slot":"context-menu-content",className:(0,$.cn)("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none 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})})})}e.i(299648),e.s(["ContextMenu",0,function({...e}){return(0,t.jsx)(z.Root,{"data-slot":"context-menu",...e})},"ContextMenuContent",0,L,"ContextMenuItem",0,function({className:e,inset:n,variant:a="default",...r}){return(0,t.jsx)(z.Item,{"data-slot":"context-menu-item","data-inset":n,"data-variant":a,className:(0,$.cn)("group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive",e),...r})},"ContextMenuSeparator",0,function({className:e,...n}){return(0,t.jsx)(z.Separator,{"data-slot":"context-menu-separator",className:(0,$.cn)("-mx-1 my-1 h-px bg-border",e),...n})},"ContextMenuSub",0,function({...e}){return(0,t.jsx)(z.SubmenuRoot,{"data-slot":"context-menu-sub",...e})},"ContextMenuSubContent",0,function({...e}){return(0,t.jsx)(L,{"data-slot":"context-menu-sub-content",className:"shadow-lg",side:"right",...e})},"ContextMenuSubTrigger",0,function({className:e,inset:n,children:a,...r}){return(0,t.jsxs)(z.SubmenuTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":n,className:(0,$.cn)("flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[a,(0,t.jsx)(E.ChevronRightIcon,{className:"ml-auto"})]})},"ContextMenuTrigger",0,function({className:e,...n}){return(0,t.jsx)(z.Trigger,{"data-slot":"context-menu-trigger",className:(0,$.cn)("select-none",e),...n})}],940361)},913796,e=>{"use strict";var t=e.i(344180),n=e.i(764556),a=e.i(751962),r=e.i(887354),s=e.i(433721);let o=(0,s.default)("case-sensitive",[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]]),l=(0,s.default)("regex",[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]]);var i=e.i(992764),c=e.i(650654),u=e.i(62669),d=e.i(359209),p=e.i(691223),x=e.i(244073),h=e.i(465458),m=e.i(681622),f=e.i(613087),g=e.i(940361),v=e.i(231352);function b({workspaceId:e}){let a=(0,x.useTranslations)("editor"),{jumpToPosition:s}=(0,p.useEditorStore)(),[y,C]=(0,n.useState)(""),[k,w]=(0,n.useState)(!1),[N,S]=(0,n.useState)(!1),[T,M]=(0,n.useState)(!1),[D,I]=(0,n.useState)({}),[R,P]=(0,n.useState)(0),[O,F]=(0,n.useState)(new Set),z=(0,n.useRef)(void 0),$=(0,n.useCallback)(async t=>{if(!t.trim()){I({}),P(0);return}M(!0);try{let n=new URLSearchParams({q:t,regex:String(k),caseSensitive:String(N)}),a=await fetch(`/api/workspaces/${e}/search/code?${n}`),r=(await a.json()).results||[],s={};for(let e of r)s[e.file]||(s[e.file]=[]),s[e.file].push(e);I(s),P(r.length),F(new Set(Object.keys(s)))}catch{I({}),P(0)}finally{M(!1)}},[e,k,N]),E=(0,n.useCallback)(e=>{C(e),clearTimeout(z.current),z.current=setTimeout(()=>$(e),300)},[$]);(0,n.useEffect)(()=>{y.trim()&&$(y)},[$,N,k,y]);let L=Object.keys(D).length;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"px-2 py-2 border-b space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)(r.Search,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,t.jsx)(m.Input,{type:"text",value:y,onChange:e=>E(e.target.value),placeholder:a("searchPlaceholder"),className:"h-6 bg-transparent text-xs border-0 focus-visible:ring-0 focus-visible:border-0 px-1",spellCheck:!1}),T&&(0,t.jsx)(u.Loader2,{className:"size-3 animate-spin text-muted-foreground"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsx)("button",{onClick:()=>S(!N),className:(0,h.cn)("p-1 rounded text-xs",N?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground","cursor-pointer"),children:(0,t.jsx)(o,{className:"size-3"})}),(0,t.jsx)("button",{onClick:()=>w(!k),className:(0,h.cn)("p-1 rounded text-xs",k?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground","cursor-pointer"),children:(0,t.jsx)(l,{className:"size-3"})})]})]}),!T&&y.trim()&&R>0&&(0,t.jsx)("div",{className:"px-2 py-1 text-[10px] text-muted-foreground border-b",children:a("searchResults",{count:R,files:L})}),(0,t.jsxs)("div",{className:"flex-1 overflow-auto",children:[(0,t.jsxs)("div",{className:"py-1",children:[T&&0===R?(0,t.jsx)("div",{className:"space-y-1 px-2",children:Array.from({length:3},(e,n)=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 py-0.5",children:[(0,t.jsx)(f.Skeleton,{className:"size-3"}),(0,t.jsx)(f.Skeleton,{className:"size-3"}),(0,t.jsx)(f.Skeleton,{className:"h-4 w-32"}),(0,t.jsx)(f.Skeleton,{className:"h-3 w-6 ml-auto"})]}),Array.from({length:3},(e,n)=>(0,t.jsxs)("div",{className:"flex items-start gap-2 pl-4 py-0.5",children:[(0,t.jsx)(f.Skeleton,{className:"h-3 w-6 shrink-0"}),(0,t.jsx)(f.Skeleton,{className:"h-3 flex-1"})]},n))]},n))}):null,!T&&Object.entries(D).map(([n,a])=>(0,t.jsxs)("div",{children:[(0,t.jsxs)(g.ContextMenu,{children:[(0,t.jsx)(g.ContextMenuTrigger,{className:"contents",children:(0,t.jsxs)("button",{onClick:()=>{F(e=>{let t=new Set(e);return t.has(n)?t.delete(n):t.add(n),t})},className:"w-full flex items-center gap-1 px-2 py-0.5 text-xs font-medium hover:bg-accent/50 cursor-pointer",children:[O.has(n)?(0,t.jsx)(c.ChevronDown,{className:"size-3 text-muted-foreground shrink-0"}):(0,t.jsx)(i.ChevronRight,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)(d.FileIconImg,{name:n}),(0,t.jsx)("span",{className:"truncate",children:n}),(0,t.jsxs)("span",{className:"text-muted-foreground ml-auto shrink-0",children:["(",a.length,")"]})]})}),(0,t.jsx)(v.FileContextMenu,{filePath:n,workspaceId:e})]}),O.has(n)&&a.map((n,a)=>(0,t.jsxs)("button",{onClick:()=>{var t;return t=n.file,void s(e,t,n.line,n.column)},className:"w-full flex items-start gap-2 pl-6 pr-2 py-0.5 text-xs hover:bg-accent/50 text-left font-mono cursor-pointer",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-8 text-right shrink-0",children:n.line}),(0,t.jsx)("span",{className:"truncate",children:(0,t.jsx)(j,{text:n.text,start:n.matchStart,length:n.matchLength})})]},a))]},n))]}),!T&&y.trim()&&0===R&&(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:a("noResults")}),!T&&R>=200&&(0,t.jsx)("div",{className:"px-2 py-2 text-xs text-muted-foreground text-center",children:a("tooManyResults")})]})]})}function j({text:e,start:n,length:a}){if(n<0||a<=0||n>=e.length)return(0,t.jsx)("span",{children:e});let r=e.slice(0,n),s=e.slice(n,n+a),o=e.slice(n+a);return(0,t.jsxs)("span",{children:[r,(0,t.jsx)("span",{className:"bg-yellow-200/60 dark:bg-yellow-800/40 rounded-sm px-px",children:s}),o]})}var y=e.i(833237),C=e.i(601039),k=e.i(226651),k=k,w=e.i(129981),N=e.i(159619),S=e.i(198699),T=e.i(687204),M=e.i(972846),D=e.i(360112),I=e.i(812057),R=e.i(917955),P=e.i(209988),O=e.i(260218),F=e.i(434805),z=e.i(361031),$=e.i(250226);function E(e){let t=[],n=e=>{for(let a of e)"file"===a.type&&t.push(a),a.children&&n(a.children)};return n(e),t}let L="agent-spaces:file-tree-expanded:",A="application/x-agent-spaces-file-path";function _(e){try{let t=localStorage.getItem(L+e);if(t)return new Set(JSON.parse(t))}catch{}return new Set}function B(e,t){try{localStorage.setItem(L+e,JSON.stringify([...t]))}catch{}}function U({files:e,selectedPath:r,onSelect:s,workspaceId:o,boundDir:l,emptyText:i}){let c=(0,n.useMemo)(()=>(function(e){let t=new Map,n=[];for(let a of e){let e=a.path.indexOf("/");if(-1===e)n.push(a);else{let n=a.path.substring(0,e),r=t.get(n);r||(r=[],t.set(n,r)),r.push(a)}}let a=[...n];for(let[e,n]of t)a.push({name:e,path:e,type:"directory",children:n});return a})(e),[e]),[u,d]=(0,n.useState)(()=>new Set(c.filter(e=>"directory"===e.type).map(e=>e.path)));return 0===e.length?(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:i}):(0,t.jsx)(a.FileTree,{expanded:u,onExpandedChange:d,selectedPath:r,onFileSelect:s,workspaceId:o,boundDir:l,children:(0,t.jsx)(a.FileTreeNodes,{nodes:c})})}e.s(["EditorPanel",0,function({workspaceId:e}){let s,o,{tree:l,treeLoading:i,loadTree:c,loadDirectory:u,openFile:j,openFiles:L,revealPath:G,clearRevealPath:J,loadingDirs:W}=(0,p.useEditorStore)(),q=(0,z.useWorkspaceStore)(t=>t.workspaces.find(t=>t.id===e)),H=q?.boundDirs?.[0]||"",K=(0,x.useTranslations)("editor"),X=(0,x.useTranslations)("common"),[Y,V]=(0,n.useState)(),[Q,Z]=(0,n.useState)(()=>_(e)),[ee,et]=(0,n.useState)(!1),[en,ea]=(0,n.useState)(""),[er,es]=(0,n.useState)({open:!1,mode:"file",targetDir:"",value:""}),[eo,el]=(0,n.useState)({open:!1,path:"",value:""}),[ei,ec]=(0,n.useState)({open:!1,path:"",value:"",mode:"move"}),[eu,ed]=(0,n.useState)(""),[ep,ex]=(0,n.useState)([]),[eh,em]=(0,n.useState)(!1),[ef,eg]=(0,n.useState)(null),[ev,eb]=(0,n.useState)(null),ej=(0,n.useRef)(null),ey=(0,n.useRef)(void 0),[eC,ek]=(0,n.useState)("all"),[ew,eN]=(0,n.useState)("files"),eS=(0,n.useMemo)(()=>(function e(t,n){if(!n)return t;let a=n.toLowerCase(),r=[];for(let s of t)if("directory"===s.type){let t=s.children?e(s.children,n):[];t.length>0&&r.push({...s,children:t})}else s.name.toLowerCase().includes(a)&&r.push(s);return r})(l,eu),[l,eu]),eT=(0,n.useMemo)(()=>{let e,t;return e={},(t=n=>{for(let a of n)"file"===a.type&&null!=a.size&&(e[a.path]=a.size),a.children&&t(a.children)})(l),e},[l]);(0,n.useEffect)(()=>(clearTimeout(ey.current),eu.trim())?(ey.current=setTimeout(async()=>{em(!0);try{let t=await fetch(`/api/workspaces/${e}/search/files?q=${encodeURIComponent(eu.trim())}`),n=await t.json();ex(n.results||[])}catch{ex([])}finally{em(!1)}},300),()=>clearTimeout(ey.current)):void ex([]),[eu,e]);let eM=eu.trim()&&ep.length>0?ep.filter(e=>"file"===e.type).map(e=>({path:e.path,name:e.name,type:"file"})):[],eD=(0,n.useMemo)(()=>{let e=E(l).filter(e=>e.modifiedAt);return e.sort((e,t)=>(t.modifiedAt||"").localeCompare(e.modifiedAt||"")),e.slice(0,50)},[l]),eI=(0,n.useMemo)(()=>{let e=new Set(L.map(e=>e.path));return[...E(l).filter(t=>e.has(t.path))].reverse()},[l,L]),eR=(0,n.useMemo)(()=>{let e,t;return eu?new Set((e=[],(t=n=>{for(let a of n)"directory"===a.type&&(e.push(a.path),a.children&&t(a.children))})(eS),e)):Q},[eu,eS,Q]),eP=(0,n.useCallback)(()=>{let{mode:t,targetDir:n,value:a}=er;if(!a.trim())return;let r=a.trim(),s=n?n+"/"+r:r;fetch(`/api/workspaces/${e}/files/content`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:"folder"===t?s+"/.gitkeep":s,content:""})}).then(()=>{c(e),es(e=>({...e,open:!1}))})},[er,e,c]),eO=(0,n.useCallback)((e,t)=>{es({open:!0,mode:e,targetDir:t,value:""})},[]);(0,n.useEffect)(()=>{let t=_(e);Z(t),c(e).then(()=>{for(let n of t)u(e,n)})},[e,c,u]);let eF=(0,n.useCallback)(t=>{Z(t),B(e,t)},[e]),ez=async t=>{await fetch(`/api/workspaces/${e}/files?path=${encodeURIComponent(t)}`,{method:"DELETE"}),c(e)},e$=(0,n.useCallback)(e=>{let t=e.split("/").pop()||"";el({open:!0,path:e,value:t})},[]),eE=(0,n.useCallback)(async()=>{let{path:t,value:n}=eo;if(!n.trim()||n.trim()===t.split("/").pop())return void el(e=>({...e,open:!1}));let a=t.substring(0,t.lastIndexOf("/")),r=a?`${a}/${n.trim()}`:n.trim();(await fetch(`/api/workspaces/${e}/files/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:t,newPath:r})})).ok&&(c(e),el(e=>({...e,open:!1})))},[eo,e,c]),eL=(0,n.useCallback)(e=>{let t=e.substring(0,e.lastIndexOf("/"));ec({open:!0,path:e,value:t?H.replace(/\/+$/,"")+"/"+t:H.replace(/\/+$/,""),mode:"move"})},[H]),eA=(0,n.useCallback)(e=>{let t=e.substring(0,e.lastIndexOf("/"));ec({open:!0,path:e,value:t?H.replace(/\/+$/,"")+"/"+t:H.replace(/\/+$/,""),mode:"copy"})},[H]),e_=(0,n.useCallback)(async()=>{let{path:t,value:n,mode:a}=ei;if(!n.trim())return;let r=H.replace(/\/+$/,""),s=n.trim();s.startsWith(r)&&(s=s.slice(r.length).replace(/^\/+/,""));let o=t.split("/").pop()||"",l=s?`${s}/${o}`:o,i="copy"===a?{srcPath:t,destPath:l}:{oldPath:t,newPath:l};(await fetch(`/api/workspaces/${e}${"copy"===a?"/files/copy":"/files/rename"}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})).ok&&(c(e),ec(e=>({...e,open:!1})))},[ei,e,c,H]),eB=(0,n.useCallback)(e=>{let t=n=>{for(let a of n){if(a.path===e)return a;if(a.children){let e=t(a.children);if(e)return e}}};return t(l)},[l]),eU=(0,n.useCallback)(e=>{let t=e.lastIndexOf("/");return t>-1?e.slice(0,t):""},[]),eG=(0,n.useCallback)(e=>ej.current||ef||e.dataTransfer.getData(A)||e.dataTransfer.getData("text/plain"),[ef]),eJ=(0,n.useCallback)(e=>{let t=eB(e);return t?.type==="directory"?e:eU(e)},[eB,eU]),eW=(0,n.useCallback)(async()=>{for(let t of(await c(e),Q))await u(e,t)},[Q,u,c,e]),eq=(0,n.useCallback)(async(t,n)=>{let a=t.split("/").pop()||"",r=n?`${n}/${a}`:a;!a||r===t||eU(t)===n||n===t||n.startsWith(`${t}/`)||((await fetch(`/api/workspaces/${e}/files/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:t,newPath:r})})).ok?(Y===t&&V(r),await eW()):D.toast.error("移动失败"))},[eU,eW,Y,e]),eH=(0,n.useCallback)((e,t)=>{ej.current=t,eg(t),e.dataTransfer.setData(A,t),e.dataTransfer.setData("text/plain",t),e.dataTransfer.effectAllowed="move"},[]),eK=(0,n.useCallback)(()=>{ej.current=null,eg(null),eb(null)},[]),eX=(0,n.useCallback)((e,t)=>{e.preventDefault();let n=eG(e);if(!n||n===t)return;let a=eJ(t);if(a===n||a.startsWith(`${n}/`)){eb(null),e.dataTransfer.dropEffect="none";return}eb(t),e.dataTransfer.dropEffect="move"},[eG,eJ]),eY=(0,n.useCallback)(()=>{eb(null)},[]),eV=(0,n.useCallback)(async(e,t)=>{e.preventDefault();let n=eG(e);if(eb(null),eg(null),ej.current=null,!n||n===t)return;let a=eJ(t);await eq(n,a)},[eG,eJ,eq]),eQ=(0,n.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),eb(t),e.dataTransfer.dropEffect="move"},[]),eZ=(0,n.useCallback)(async e=>{e.preventDefault(),e.stopPropagation();let t=eG(e);eb(null),eg(null),ej.current=null,t&&await eq(t,"")},[eG,eq]),e0=(0,n.useCallback)((e,t)=>{eb(e=>e===t?null:e)},[]);return(0,n.useEffect)(()=>{if(!G)return;let t=G.split("/").filter(Boolean),n=[],a="";for(let e=0;e<t.length-1;e++)a=a?`${a}/${t[e]}`:t[e],n.push(a);Z(t=>{let a=new Set(t);for(let e of n)a.add(e);return B(e,a),a}),(async()=>{if("__search_panel__"===G){eN("search"),J();return}for(let t of n)await u(e,t);V(G),J()})()},[G,e,u,J]),(0,t.jsxs)("div",{className:"relative flex flex-col h-full",children:[(0,t.jsxs)(I.Tabs,{value:ew,onValueChange:eN,className:"flex flex-col h-full",children:[(0,t.jsxs)(I.TabsList,{className:"w-full h-8 shrink-0 rounded-none border-b bg-transparent p-0",children:[(0,t.jsx)(I.TabsTrigger,{value:"files",className:"flex-1 gap-1 rounded-none border border-b-2 border-transparent text-xs text-muted-foreground data-[active]:border-b-primary data-[active]:bg-transparent data-[active]:text-foreground data-[active]:shadow-none",children:K("explorer")}),(0,t.jsx)(I.TabsTrigger,{value:"search",className:"flex-1 gap-1 rounded-none border border-b-2 border-transparent text-xs text-muted-foreground data-[active]:border-b-primary data-[active]:bg-transparent data-[active]:text-foreground data-[active]:shadow-none",children:K("search")})]}),(0,t.jsxs)(I.TabsContent,{value:"files",className:"flex flex-col flex-1 min-h-0 mt-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 border-b shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center flex-1 gap-1 px-1.5 py-0.5 rounded bg-muted/50",children:[(0,t.jsx)(r.Search,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)(m.Input,{type:"text",value:eu,onChange:e=>ed(e.target.value),placeholder:K("searchFiles")+"...",className:"h-6 bg-transparent text-xs border-0 focus-visible:ring-0 focus-visible:border-0 px-1",spellCheck:!1}),eu&&(0,t.jsx)("button",{onClick:()=>ed(""),className:"p-0.5 hover:bg-accent rounded cursor-pointer",children:(0,t.jsx)(M.X,{className:"size-3 text-muted-foreground"})})]}),(0,t.jsxs)(R.DropdownMenu,{children:[(0,t.jsx)(R.DropdownMenuTrigger,{className:"p-0.5 hover:bg-accent rounded",children:(0,t.jsx)(k.default,{className:"size-3"})}),(0,t.jsxs)(R.DropdownMenuContent,{children:[(0,t.jsxs)(R.DropdownMenuItem,{onClick:()=>{ea(""),et(!0)},children:[(0,t.jsx)(w.Upload,{className:"size-4"}),K("importFile")]}),(0,t.jsxs)(R.DropdownMenuItem,{onClick:()=>{let e=Y||"",t=e?H?H.replace(/\/+$/,"")+"/"+e:e:H;navigator.clipboard.writeText(t),D.toast.success(K("copied"))},children:[(0,t.jsx)(N.Copy,{className:"size-4"}),K("copyPath")]}),(0,t.jsxs)(R.DropdownMenuItem,{onClick:()=>eO("file",""),children:[(0,t.jsx)(T.FilePlus,{className:"size-4"}),K("newFile")]}),(0,t.jsxs)(R.DropdownMenuItem,{onClick:()=>eO("folder",""),children:[(0,t.jsx)(S.FolderPlus,{className:"size-4"}),K("newFolder")]})]})]}),(0,t.jsx)("button",{onClick:()=>c(e),className:"p-0.5 hover:bg-accent rounded cursor-pointer",disabled:i,children:(0,t.jsx)(C.RefreshCw,{className:`size-3 ${i?"animate-spin":""}`})})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-auto py-1",children:"all"===eC?eu.trim()?(0,t.jsx)(t.Fragment,{children:eh&&0===ep.length?(0,t.jsx)("div",{className:"space-y-0.5 px-2",children:Array.from({length:6},(e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-[3px]",children:[(0,t.jsx)(f.Skeleton,{className:"size-4 shrink-0"}),(0,t.jsx)(f.Skeleton,{className:"h-4 flex-1"})]},n))}):0===ep.length?(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:K("noResults")}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"px-2 py-0.5 text-[10px] text-muted-foreground",children:K("searchResults",{count:ep.length,files:ep.length})}),eM.map(n=>(0,t.jsxs)(g.ContextMenu,{children:[(0,t.jsx)(g.ContextMenuTrigger,{className:"contents",children:(0,t.jsxs)("button",{onClick:()=>{V(n.path),j(e,n.path),$.useMobilePanelStore.getState().setActivePanel("code-editor")},className:`w-full flex items-center gap-1.5 px-3 py-[3px] text-xs hover:bg-accent/50 transition-colors ${Y===n.path?"bg-accent":""}`,children:[(0,t.jsx)(d.FileIconImg,{name:n.name}),(0,t.jsx)("span",{className:"truncate",children:n.name}),n.path.includes("/")&&(0,t.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground truncate max-w-[100px]",children:n.path.replace(/\/[^/]*$/,"")})]})}),(0,t.jsx)(v.FileContextMenu,{filePath:n.path,workspaceId:e,boundDir:H})]},n.path))]})}):(0,t.jsxs)(t.Fragment,{children:[i&&0===l.length&&(0,t.jsx)("div",{className:"space-y-0.5 px-2",children:Array.from({length:8},(e,n)=>(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-[3px]",children:[(0,t.jsx)(f.Skeleton,{className:"size-4 shrink-0"}),(0,t.jsx)(f.Skeleton,{className:"h-4 flex-1"})]},n))}),0===l.length&&!i&&(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:K("noFiles")}),l.length>0&&(0,t.jsx)(a.FileTree,{expanded:eR,onExpandedChange:eF,selectedPath:Y,onFileSelect:t=>{V(t),j(e,t),$.useMobilePanelStore.getState().setActivePanel("code-editor")},workspaceId:e,onDelete:ez,onImport:e=>{ea(e),et(!0)},onCopyPath:e=>{navigator.clipboard.writeText(H?H.replace(/\/+$/,"")+"/"+e:e),D.toast.success(K("copied"))},onCreateFile:e=>eO("file",e),onCreateFolder:e=>eO("folder",e),onRename:e$,onMove:eL,onCopyItem:eA,onLoadDirectory:t=>u(e,t),loadingDirs:W,boundDir:H,fileSizeMap:eT,refreshInterval:5e3,draggedOverPath:ev,onItemDragStart:eH,onItemDragOver:eX,onItemDragLeave:eY,onItemDrop:eV,onItemDragEnd:eK,rootDropTargetId:"__file_tree_root_drop_target__",onRootDropLineDragOver:eQ,onRootDropLineDragEnter:eQ,onRootDropLineDragLeave:e0,onRootDropLineDrop:eZ,children:(0,t.jsx)(a.FileTreeNodes,{nodes:eS})})]}):(0,t.jsx)(U,{files:(s="recent"===eC?eD:eI,o=eu.toLowerCase(),eu?s.filter(e=>e.name.toLowerCase().includes(o)):s),selectedPath:Y,onSelect:t=>{V(t),j(e,t),$.useMobilePanelStore.getState().setActivePanel("code-editor")},workspaceId:e,boundDir:H,emptyText:K("noFiles")})}),(0,t.jsx)("div",{className:"shrink-0 border-t flex h-7",children:[["all","allFiles"],["recent","recentlyAdded"],["open","recentlyOpened"]].map(([e,n])=>(0,t.jsx)("button",{onClick:()=>ek(e),className:`flex-1 text-[11px] border-b-2 transition-colors ${eC===e?"border-b-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:K(n)},e))})]})]}),(0,t.jsx)("div",{className:(0,h.cn)("absolute inset-x-0 bottom-0 top-8 z-10","search"!==ew&&"hidden"),children:(0,t.jsx)(b,{workspaceId:e})}),(0,t.jsx)(y.ImportFileDialog,{open:ee,onOpenChange:et,workspaceId:e,targetPath:en,onImported:()=>c(e)}),(0,t.jsx)(P.Dialog,{open:er.open,onOpenChange:e=>es(t=>({...t,open:e})),children:(0,t.jsxs)(P.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(P.DialogHeader,{children:(0,t.jsx)(P.DialogTitle,{children:"file"===er.mode?K("newFile"):K("newFolder")})}),(0,t.jsx)(m.Input,{autoFocus:!0,placeholder:"file"===er.mode?K("newFileName"):K("newFolderName"),value:er.value,onChange:e=>es(t=>({...t,value:e.target.value})),onKeyDown:e=>"Enter"===e.key&&eP()}),(0,t.jsxs)(P.DialogFooter,{children:[(0,t.jsx)(O.Button,{variant:"outline",onClick:()=>es(e=>({...e,open:!1})),children:X("cancel")}),(0,t.jsx)(O.Button,{onClick:eP,disabled:!er.value.trim(),children:X("create")})]})]})}),(0,t.jsx)(P.Dialog,{open:eo.open,onOpenChange:e=>el(t=>({...t,open:e})),children:(0,t.jsxs)(P.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(P.DialogHeader,{children:(0,t.jsx)(P.DialogTitle,{children:K("renameTitle")})}),(0,t.jsx)(m.Input,{autoFocus:!0,placeholder:K("renamePlaceholder"),value:eo.value,onChange:e=>el(t=>({...t,value:e.target.value})),onKeyDown:e=>"Enter"===e.key&&eE()}),(0,t.jsxs)(P.DialogFooter,{children:[(0,t.jsx)(O.Button,{variant:"outline",onClick:()=>el(e=>({...e,open:!1})),children:X("cancel")}),(0,t.jsx)(O.Button,{onClick:eE,disabled:!eo.value.trim(),children:K("rename")})]})]})}),(0,t.jsx)(P.Dialog,{open:ei.open,onOpenChange:e=>ec(t=>({...t,open:e})),children:(0,t.jsxs)(P.DialogContent,{className:"sm:max-w-[480px]",children:[(0,t.jsx)(P.DialogHeader,{children:(0,t.jsx)(P.DialogTitle,{children:"move"===ei.mode?K("moveTitle"):K("copyTitle")})}),(0,t.jsx)(F.FolderPicker,{value:ei.value,onChange:e=>ec(t=>({...t,value:e})),placeholder:"move"===ei.mode?K("movePlaceholder"):K("copyPlaceholder")}),(0,t.jsxs)(P.DialogFooter,{children:[(0,t.jsx)(O.Button,{variant:"outline",onClick:()=>ec(e=>({...e,open:!1})),children:X("cancel")}),(0,t.jsx)(O.Button,{onClick:e_,disabled:!ei.value.trim(),children:"move"===ei.mode?K("move"):K("copyFile")})]})]})})]})}],913796)},388576,e=>{e.n(e.i(913796))}]);