@agent-spaces/server 0.3.63 → 0.3.65
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.
- package/dist/adapters/claude-code-runtime/index.js +68 -2
- package/dist/adapters/claude-code-runtime/message-format.js +27 -1
- package/dist/adapters/claude-code-runtime/sdk-config.js +12 -0
- package/dist/adapters/git.js +168 -57
- package/dist/agents/agent-designer.js +66 -12
- package/dist/agents/agent-message-parts.js +1 -1
- package/dist/agents/commit-agent.js +4 -2
- package/dist/agents/issue-task-controller.js +7 -3
- package/dist/app.js +56 -69
- package/dist/package.json +1 -1
- package/dist/routes/agent-commands.js +72 -0
- package/dist/routes/agent-sse.js +7 -0
- package/dist/routes/agent.js +18 -1
- package/dist/routes/database.js +346 -0
- package/dist/routes/git.js +198 -267
- package/dist/routes/kanban.js +39 -0
- package/dist/routes/robot-account.js +68 -0
- package/dist/services/agent-commands.js +168 -0
- package/dist/services/agent.js +36 -2
- package/dist/services/builtin-tools/command-tools.js +117 -0
- package/dist/services/builtin-tools/database-tools.js +578 -0
- package/dist/services/builtin-tools/index.js +5 -0
- package/dist/services/builtin-tools/input-helpers.js +26 -0
- package/dist/services/builtin-tools/issue-tools.js +209 -0
- package/dist/services/builtin-tools/kanban-tools.js +281 -0
- package/dist/services/database-vector.js +244 -0
- package/dist/services/git-operation-log.js +40 -0
- package/dist/services/global-wechat-qr.js +72 -0
- package/dist/services/hook-engine.js +175 -17
- package/dist/services/kanban.js +50 -0
- package/dist/services/notification-hub/bot-agent.js +3 -1
- package/dist/services/notification-hub/service.js +12 -2
- package/dist/services/robot-account.js +34 -0
- package/dist/services/workspace.js +2 -0
- package/dist/storage/database-store.js +365 -0
- package/dist/storage/kanban-store.js +142 -0
- package/dist/storage/robot-account-store.js +39 -0
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +4 -4
- package/dist/web/__next._full.txt +24 -31
- package/dist/web/__next._head.txt +4 -4
- package/dist/web/__next._index.txt +14 -14
- package/dist/web/__next._tree.txt +3 -8
- package/dist/web/_next/static/chunks/0-a.-hl3wv99k.js +1 -0
- package/dist/web/_next/static/chunks/{0ctg5qmw7uu.1.js → 0-pi.67w.ymsr.js} +3 -3
- package/dist/web/_next/static/chunks/0-v_p6j5u3_9l.js +1 -0
- package/dist/web/_next/static/chunks/0.-x29t-8gk0r.js +1 -0
- package/dist/web/_next/static/chunks/0.6b64sy0g5.3.js +3 -0
- package/dist/web/_next/static/chunks/0.l5e8~r7_0~p.js +1 -0
- package/dist/web/_next/static/chunks/00-syqzi-6zxr.js +1 -0
- package/dist/web/_next/static/chunks/{13~y-b.b9rrw4.js → 01~quun6sefgl.js} +1 -1
- package/dist/web/_next/static/chunks/02802taez976w.js +67 -0
- package/dist/web/_next/static/chunks/02j4sr9psucf-.js +1 -0
- package/dist/web/_next/static/chunks/033.awk90g6eh.js +1 -0
- package/dist/web/_next/static/chunks/06.kdsa9rr2h1.js +1 -0
- package/dist/web/_next/static/chunks/{0-oog4zg4_m~m.css → 062f9zqctzg.b.css} +0 -3
- package/dist/web/_next/static/chunks/06si8l0doqe8p.js +1 -0
- package/dist/web/_next/static/chunks/08ugbvzr20drp.js +2 -0
- package/dist/web/_next/static/chunks/{0kof5qdg8c2-k.js → 08x85faoz58i7.js} +37 -37
- package/dist/web/_next/static/chunks/0_cqojbge48kq.js +5 -0
- package/dist/web/_next/static/chunks/0_mvduwjsm35w.js +1 -0
- package/dist/web/_next/static/chunks/0d6~~lv0-6kex.js +3 -0
- package/dist/web/_next/static/chunks/{0ogpc3f3keopc.js → 0db14450oqzhg.js} +2 -2
- package/dist/web/_next/static/chunks/0fttswpzu69qx.js +1 -0
- package/dist/web/_next/static/chunks/0gdwop9cnpmtu.js +1 -0
- package/dist/web/_next/static/chunks/0ghx3j_.-gdyd.js +1 -0
- package/dist/web/_next/static/chunks/0j-l7l_k9jt45.js +1 -0
- package/dist/web/_next/static/chunks/0k4zdm72k_bfy.js +1 -0
- package/dist/web/_next/static/chunks/0kbvoxla7f751.js +1 -0
- package/dist/web/_next/static/chunks/{0aa6bcdmtpekn.js → 0l2w0qz1ea7ql.js} +2 -2
- package/dist/web/_next/static/chunks/0p3h-h3zj5ujg.js +30 -0
- package/dist/web/_next/static/chunks/0paaat8y96ayc.js +7 -0
- package/dist/web/_next/static/chunks/0pm-un~-sy3rl.js +1 -0
- package/dist/web/_next/static/chunks/0pq318f8xgafg.js +1 -0
- package/dist/web/_next/static/chunks/0t6s8of0qr6nc.js +1 -0
- package/dist/web/_next/static/chunks/0u6h-hqc_i52e.js +1 -0
- package/dist/web/_next/static/chunks/0uxzi~9b~k4mn.js +31 -0
- package/dist/web/_next/static/chunks/{002-dxhags4dj.js → 0v6hte2z-32ca.js} +2 -2
- package/dist/web/_next/static/chunks/{014x2qbuiszni.js → 0vis~lx0nxgn-.js} +3 -3
- package/dist/web/_next/static/chunks/{0y09i51u6ixq5.js → 0w7.tb29958zj.js} +1 -1
- package/dist/web/_next/static/chunks/0xbaakj0dfc0..js +1 -0
- package/dist/web/_next/static/chunks/0yd.m1afqg.2t.js +3 -0
- package/dist/web/_next/static/chunks/0yhbr8hl09b-5.js +1 -0
- package/dist/web/_next/static/chunks/0zncg76rgtbm-.js +1 -0
- package/dist/web/_next/static/chunks/0z~vqzbm_q371.js +1 -0
- package/dist/web/_next/static/chunks/0~~_ltu6dx_ch.js +1 -0
- package/dist/web/_next/static/chunks/{02c22g~xd-y30.js → 11cchuwoupmbf.js} +2 -2
- package/dist/web/_next/static/chunks/12jm4gwmvq-0q.js +90 -0
- package/dist/web/_next/static/chunks/12oxcgyhpaxw~.js +1 -0
- package/dist/web/_next/static/chunks/1452eibz62gs6.css +1 -0
- package/dist/web/_next/static/chunks/16zlreiems5cn.js +1 -0
- package/dist/web/_next/static/chunks/18awqjk9-o5m0.js +1 -0
- package/dist/web/_next/static/chunks/18c7g84y01mj0.js +1 -0
- package/dist/web/_next/static/chunks/{turbopack-0ndm2zc_pdptk.js → turbopack-11qjwlynmfc-n.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +31 -30
- package/dist/web/_not-found/__next._head.txt +4 -4
- package/dist/web/_not-found/__next._index.txt +14 -14
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/dist/web/_not-found/__next._not-found.txt +3 -3
- package/dist/web/_not-found/__next._tree.txt +3 -3
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +31 -30
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +24 -31
- package/dist/web/login/__next._full.txt +32 -36
- package/dist/web/login/__next._head.txt +4 -4
- package/dist/web/login/__next._index.txt +14 -14
- package/dist/web/login/__next._tree.txt +3 -8
- package/dist/web/login/__next.login.__PAGE__.txt +4 -4
- package/dist/web/login/__next.login.txt +3 -3
- package/dist/web/login.html +1 -1
- package/dist/web/login.txt +32 -36
- package/dist/web/settings/__next._full.txt +34 -38
- package/dist/web/settings/__next._head.txt +4 -4
- package/dist/web/settings/__next._index.txt +14 -14
- package/dist/web/settings/__next._tree.txt +3 -8
- package/dist/web/settings/__next.settings.__PAGE__.txt +4 -4
- package/dist/web/settings/__next.settings.txt +5 -5
- package/dist/web/settings/agents/__next._full.txt +27 -32
- package/dist/web/settings/agents/__next._head.txt +4 -4
- package/dist/web/settings/agents/__next._index.txt +14 -14
- package/dist/web/settings/agents/__next._tree.txt +3 -8
- package/dist/web/settings/agents/__next.settings.agents.__PAGE__.txt +4 -4
- package/dist/web/settings/agents/__next.settings.agents.txt +3 -3
- package/dist/web/settings/agents/__next.settings.txt +5 -5
- package/dist/web/settings/agents.html +1 -1
- package/dist/web/settings/agents.txt +27 -32
- package/dist/web/settings/mcps/__next._full.txt +27 -32
- package/dist/web/settings/mcps/__next._head.txt +4 -4
- package/dist/web/settings/mcps/__next._index.txt +14 -14
- package/dist/web/settings/mcps/__next._tree.txt +3 -8
- package/dist/web/settings/mcps/__next.settings.mcps.__PAGE__.txt +4 -4
- package/dist/web/settings/mcps/__next.settings.mcps.txt +3 -3
- package/dist/web/settings/mcps/__next.settings.txt +5 -5
- package/dist/web/settings/mcps.html +1 -1
- package/dist/web/settings/mcps.txt +27 -32
- package/dist/web/settings/models/__next._full.txt +27 -32
- package/dist/web/settings/models/__next._head.txt +4 -4
- package/dist/web/settings/models/__next._index.txt +14 -14
- package/dist/web/settings/models/__next._tree.txt +3 -8
- package/dist/web/settings/models/__next.settings.models.__PAGE__.txt +4 -4
- package/dist/web/settings/models/__next.settings.models.txt +3 -3
- package/dist/web/settings/models/__next.settings.txt +5 -5
- package/dist/web/settings/models.html +1 -1
- package/dist/web/settings/models.txt +27 -32
- package/dist/web/settings/output-styles/__next._full.txt +27 -32
- package/dist/web/settings/output-styles/__next._head.txt +4 -4
- package/dist/web/settings/output-styles/__next._index.txt +14 -14
- package/dist/web/settings/output-styles/__next._tree.txt +3 -8
- package/dist/web/settings/output-styles/__next.settings.output-styles.__PAGE__.txt +4 -4
- package/dist/web/settings/output-styles/__next.settings.output-styles.txt +3 -3
- package/dist/web/settings/output-styles/__next.settings.txt +5 -5
- package/dist/web/settings/output-styles.html +1 -1
- package/dist/web/settings/output-styles.txt +27 -32
- package/dist/web/settings/prompts/__next._full.txt +27 -32
- package/dist/web/settings/prompts/__next._head.txt +4 -4
- package/dist/web/settings/prompts/__next._index.txt +14 -14
- package/dist/web/settings/prompts/__next._tree.txt +3 -8
- package/dist/web/settings/prompts/__next.settings.prompts.__PAGE__.txt +4 -4
- package/dist/web/settings/prompts/__next.settings.prompts.txt +3 -3
- package/dist/web/settings/prompts/__next.settings.txt +5 -5
- package/dist/web/settings/prompts.html +1 -1
- package/dist/web/settings/prompts.txt +27 -32
- package/dist/web/settings/providers/__next._full.txt +27 -32
- package/dist/web/settings/providers/__next._head.txt +4 -4
- package/dist/web/settings/providers/__next._index.txt +14 -14
- package/dist/web/settings/providers/__next._tree.txt +3 -8
- package/dist/web/settings/providers/__next.settings.providers.__PAGE__.txt +4 -4
- package/dist/web/settings/providers/__next.settings.providers.txt +3 -3
- package/dist/web/settings/providers/__next.settings.txt +5 -5
- package/dist/web/settings/providers.html +1 -1
- package/dist/web/settings/providers.txt +27 -32
- package/dist/web/settings/skills/__next._full.txt +27 -32
- package/dist/web/settings/skills/__next._head.txt +4 -4
- package/dist/web/settings/skills/__next._index.txt +14 -14
- package/dist/web/settings/skills/__next._tree.txt +3 -8
- package/dist/web/settings/skills/__next.settings.skills.__PAGE__.txt +4 -4
- package/dist/web/settings/skills/__next.settings.skills.txt +3 -3
- package/dist/web/settings/skills/__next.settings.txt +5 -5
- package/dist/web/settings/skills.html +1 -1
- package/dist/web/settings/skills.txt +27 -32
- package/dist/web/settings/tools/__next._full.txt +38 -0
- package/dist/web/settings/tools/__next._head.txt +6 -0
- package/dist/web/settings/tools/__next._index.txt +15 -0
- package/dist/web/settings/tools/__next._tree.txt +3 -0
- package/dist/web/settings/tools/__next.settings.tools.__PAGE__.txt +9 -0
- package/dist/web/settings/tools/__next.settings.tools.txt +5 -0
- package/dist/web/settings/tools/__next.settings.txt +7 -0
- package/dist/web/settings/tools.html +1 -0
- package/dist/web/settings/tools.txt +38 -0
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +34 -38
- package/dist/web/workflows/__next._full.txt +32 -38
- package/dist/web/workflows/__next._head.txt +4 -4
- package/dist/web/workflows/__next._index.txt +14 -14
- package/dist/web/workflows/__next._tree.txt +3 -8
- package/dist/web/workflows/__next.workflows.__PAGE__.txt +4 -4
- package/dist/web/workflows/__next.workflows.txt +3 -3
- package/dist/web/workflows.html +1 -1
- package/dist/web/workflows.txt +32 -38
- package/dist/web/workspace/_/__next._full.txt +31 -36
- package/dist/web/workspace/_/__next._head.txt +4 -4
- package/dist/web/workspace/_/__next._index.txt +14 -14
- package/dist/web/workspace/_/__next._tree.txt +4 -8
- package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -3
- package/dist/web/workspace/_/__next.workspace.$d$id.txt +3 -3
- package/dist/web/workspace/_/__next.workspace.txt +3 -3
- package/dist/web/workspace/_.html +1 -1
- package/dist/web/workspace/_.txt +31 -36
- package/dist/web/workspaces/__next._full.txt +30 -37
- package/dist/web/workspaces/__next._head.txt +4 -4
- package/dist/web/workspaces/__next._index.txt +14 -14
- package/dist/web/workspaces/__next._tree.txt +3 -8
- package/dist/web/workspaces/__next.workspaces.__PAGE__.txt +4 -4
- package/dist/web/workspaces/__next.workspaces.txt +3 -3
- package/dist/web/workspaces.html +1 -1
- package/dist/web/workspaces.txt +30 -37
- package/dist/ws/agent-prompt.js +45 -8
- package/dist/ws/agent-runner.js +88 -10
- package/package.json +1 -1
- package/dist/web/_next/static/chunks/0-1bfvfwifh-m.js +0 -1
- package/dist/web/_next/static/chunks/02mf61htij8g0.js +0 -31
- package/dist/web/_next/static/chunks/046me66nilkff.js +0 -1
- package/dist/web/_next/static/chunks/04v-pqqs-2lvp.css +0 -1
- package/dist/web/_next/static/chunks/06w~.izyfylap.js +0 -1
- package/dist/web/_next/static/chunks/09t62a89~jesc.js +0 -3
- package/dist/web/_next/static/chunks/09y_3krccdd~u.js +0 -1
- package/dist/web/_next/static/chunks/0_e~hmntdfop9.js +0 -1
- package/dist/web/_next/static/chunks/0_udc.6.tueey.js +0 -1
- package/dist/web/_next/static/chunks/0cke33d38fnby.js +0 -90
- package/dist/web/_next/static/chunks/0cyq~8xb~r5fc.js +0 -1
- package/dist/web/_next/static/chunks/0ewceguykiut5.js +0 -1
- package/dist/web/_next/static/chunks/0fxa1edqr7dve.js +0 -1
- package/dist/web/_next/static/chunks/0hra80eyuu37u.js +0 -1
- package/dist/web/_next/static/chunks/0ie7y4k2ncvnn.js +0 -1
- package/dist/web/_next/static/chunks/0igc~uli58ncw.js +0 -2
- package/dist/web/_next/static/chunks/0msb2mi3hiu5_.js +0 -67
- package/dist/web/_next/static/chunks/0p1n8bvfnpl41.js +0 -1
- package/dist/web/_next/static/chunks/0ppr271hz0xoq.js +0 -1
- package/dist/web/_next/static/chunks/0s_dva~eh2yhi.js +0 -3
- package/dist/web/_next/static/chunks/0typj55ox8d5i.js +0 -1
- package/dist/web/_next/static/chunks/0w2p4ldi2aymp.js +0 -1
- package/dist/web/_next/static/chunks/0zc0xgp5ourcn.js +0 -1
- package/dist/web/_next/static/chunks/0zmhdridea1s5.js +0 -90
- package/dist/web/_next/static/chunks/10.alq.6stmld.js +0 -1
- package/dist/web/_next/static/chunks/11b3zgk1etlkw.js +0 -7
- package/dist/web/_next/static/chunks/11qp8r5dotf7d.js +0 -1
- package/dist/web/_next/static/chunks/12mxlicp247c8.js +0 -1
- package/dist/web/_next/static/chunks/135w27dd8c19s.js +0 -5
- package/dist/web/_next/static/chunks/176dc-dtokxxi.js +0 -16
- package/dist/web/_next/static/chunks/17g-0pqre.anw.js +0 -1
- package/dist/web/_next/static/media/0a7740363b4d4863-s.1110aazvokzp..woff2 +0 -0
- package/dist/web/_next/static/media/0da9c7f357bd9d4d-s.0ek5sshv8wk3m.woff2 +0 -0
- package/dist/web/_next/static/media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2 +0 -0
- package/dist/web/_next/static/media/41e95f694c5c4549-s.0r1jrq7neqdsq.woff2 +0 -0
- package/dist/web/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2 +0 -0
- package/dist/web/_next/static/media/5f9d24ebef5d5292-s.0esuu2f5si~v8.woff2 +0 -0
- package/dist/web/_next/static/media/6c55a692938ebbbc-s.0g6rbszwfgn9y.woff2 +0 -0
- package/dist/web/_next/static/media/8e6fa89aa22d24ec-s.p.0uvzar8hswo3p.woff2 +0 -0
- package/dist/web/_next/static/media/a218039a3287bcfd-s.p.17-1enzs_j91b.woff2 +0 -0
- package/dist/web/_next/static/media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2 +0 -0
- package/dist/web/_next/static/media/bdc7e24a509eb931-s.0apt5mko2.qn3.woff2 +0 -0
- package/dist/web/_next/static/media/c3cb240f9c892514-s.163v2i5cux7-c.woff2 +0 -0
- package/dist/web/_next/static/media/e2334d715941921e-s.p.12skym0rqknxy.woff2 +0 -0
- package/public/output-styles/carmack-mode.md +0 -381
- package/public/output-styles/codex-rigor-mode.md +0 -114
- package/public/output-styles/dhh-mode.md +0 -265
- package/public/output-styles/evan-you-mode.md +0 -539
- package/public/output-styles/index.json +0 -37
- package/public/output-styles/jobs-mode.md +0 -369
- package/public/output-styles/linus-mode.md +0 -135
- package/public/output-styles/uncle-bob-mode.md +0 -221
- package/public/prompt/andrej-karpathy-skills.md +0 -65
- package/public/prompt/claude-token-efficient-coding.md +0 -35
- package/public/prompt/index.json +0 -12
- package/public/skills/index.json +0 -92
- package/public/skills/planning-with-files/planning-with-files-zh/SKILL.md +0 -243
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.ps1 +0 -44
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.sh +0 -46
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.ps1 +0 -124
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.sh +0 -124
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/session-catchup.py +0 -438
- package/public/skills/planning-with-files/planning-with-files-zh/templates/findings.md +0 -29
- package/public/skills/planning-with-files/planning-with-files-zh/templates/progress.md +0 -40
- package/public/skills/planning-with-files/planning-with-files-zh/templates/task_plan.md +0 -58
- package/public/skills/superpowers/brainstorming/SKILL.md +0 -164
- package/public/skills/superpowers/brainstorming/scripts/frame-template.html +0 -214
- package/public/skills/superpowers/brainstorming/scripts/helper.js +0 -88
- package/public/skills/superpowers/brainstorming/scripts/server.cjs +0 -354
- package/public/skills/superpowers/brainstorming/scripts/start-server.sh +0 -148
- package/public/skills/superpowers/brainstorming/scripts/stop-server.sh +0 -56
- package/public/skills/superpowers/brainstorming/spec-document-reviewer-prompt.md +0 -49
- package/public/skills/superpowers/brainstorming/visual-companion.md +0 -287
- package/public/skills/superpowers/dispatching-parallel-agents/SKILL.md +0 -182
- package/public/skills/superpowers/executing-plans/SKILL.md +0 -70
- package/public/skills/superpowers/finishing-a-development-branch/SKILL.md +0 -251
- package/public/skills/superpowers/receiving-code-review/SKILL.md +0 -213
- package/public/skills/superpowers/requesting-code-review/SKILL.md +0 -103
- package/public/skills/superpowers/requesting-code-review/code-reviewer.md +0 -168
- package/public/skills/superpowers/subagent-driven-development/SKILL.md +0 -279
- package/public/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +0 -25
- package/public/skills/superpowers/subagent-driven-development/implementer-prompt.md +0 -113
- package/public/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +0 -61
- package/public/skills/superpowers/systematic-debugging/CREATION-LOG.md +0 -119
- package/public/skills/superpowers/systematic-debugging/SKILL.md +0 -296
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +0 -158
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting.md +0 -115
- package/public/skills/superpowers/systematic-debugging/defense-in-depth.md +0 -122
- package/public/skills/superpowers/systematic-debugging/find-polluter.sh +0 -63
- package/public/skills/superpowers/systematic-debugging/root-cause-tracing.md +0 -169
- package/public/skills/superpowers/systematic-debugging/test-academic.md +0 -14
- package/public/skills/superpowers/systematic-debugging/test-pressure-1.md +0 -58
- package/public/skills/superpowers/systematic-debugging/test-pressure-2.md +0 -68
- package/public/skills/superpowers/systematic-debugging/test-pressure-3.md +0 -69
- package/public/skills/superpowers/test-driven-development/SKILL.md +0 -371
- package/public/skills/superpowers/test-driven-development/testing-anti-patterns.md +0 -299
- package/public/skills/superpowers/using-git-worktrees/SKILL.md +0 -215
- package/public/skills/superpowers/using-superpowers/SKILL.md +0 -117
- package/public/skills/superpowers/using-superpowers/references/codex-tools.md +0 -59
- package/public/skills/superpowers/using-superpowers/references/copilot-tools.md +0 -42
- package/public/skills/superpowers/using-superpowers/references/gemini-tools.md +0 -51
- package/public/skills/superpowers/verification-before-completion/SKILL.md +0 -139
- package/public/skills/superpowers/writing-plans/SKILL.md +0 -152
- package/public/skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +0 -49
- package/public/skills/superpowers/writing-skills/SKILL.md +0 -655
- package/public/skills/superpowers/writing-skills/anthropic-best-practices.md +0 -1150
- package/public/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
- package/public/skills/superpowers/writing-skills/graphviz-conventions.dot +0 -172
- package/public/skills/superpowers/writing-skills/persuasion-principles.md +0 -187
- package/public/skills/superpowers/writing-skills/render-graphs.js +0 -168
- package/public/skills/superpowers/writing-skills/testing-skills-with-subagents.md +0 -384
- /package/dist/web/_next/static/{OoXAsPtrUWjC1l898FSvI → x4-CsKe6qUQyFDWVtfvUg}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{OoXAsPtrUWjC1l898FSvI → x4-CsKe6qUQyFDWVtfvUg}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{OoXAsPtrUWjC1l898FSvI → x4-CsKe6qUQyFDWVtfvUg}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,913796,e=>{"use strict";var t=e.i(344180),s=e.i(764556),a=e.i(932031),n=e.i(984178),l=e.i(383171),r=e.i(415955),i=e.i(137340),o=e.i(307858),c=e.i(129981),d=e.i(159619),x=e.i(198699),p=e.i(433721);let h=(0,p.default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]),u=(0,p.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var m=e.i(962562);let g=(0,p.default)("move-right",[["path",{d:"M18 8L22 12L18 16",key:"1r0oui"}],["path",{d:"M2 12H22",key:"1m8cig"}]]);var f=e.i(256186),j=e.i(940361),v=e.i(209988),C=e.i(260218),b=e.i(465458),y=e.i(193251);let N=(0,p.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var k=e.i(244073);function w({filePath:e,workspaceId:s,boundDir:a,onRename:n,onMove:l,onCopyItem:r}){let i=(0,k.useTranslations)("editor");return(0,t.jsxs)(j.ContextMenuContent,{children:[n&&(0,t.jsxs)(j.ContextMenuItem,{onClick:n,children:[(0,t.jsx)(m.Pencil,{className:"size-4"}),i("rename")]}),l&&(0,t.jsxs)(j.ContextMenuItem,{onClick:l,children:[(0,t.jsx)(g,{className:"size-4"}),i("move")]}),r&&(0,t.jsxs)(j.ContextMenuItem,{onClick:r,children:[(0,t.jsx)(d.Copy,{className:"size-4"}),i("copyFile")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>{let t=a?a.replace(/\/+$/,"")+"/"+e:e;navigator.clipboard.writeText(t)},children:[(0,t.jsx)(d.Copy,{className:"size-4"}),i("copyPath")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>{fetch(`/api/workspaces/${s}/files/reveal?path=${encodeURIComponent(e)}`,{method:"POST"})},children:[(0,t.jsx)(o.ExternalLink,{className:"size-4"}),i("revealInFinder")]}),(0,t.jsx)(j.ContextMenuSeparator,{}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>{let t=`/api/workspaces/${s}/files/download?path=${encodeURIComponent(e)}`,a=document.createElement("a");a.href=t,a.download="",document.body.appendChild(a),a.click(),document.body.removeChild(a)},children:[(0,t.jsx)(y.Download,{className:"size-4"}),i("download")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>{let t=`${window.location.origin}/api/workspaces/${s}/files/download?path=${encodeURIComponent(e)}`;navigator.clipboard.writeText(t)},children:[(0,t.jsx)(N,{className:"size-4"}),i("copyDownloadUrl")]})]})}let S=(0,s.createContext)({expandedPaths:new Set,togglePath:()=>void 0}),T=({expanded:e,defaultExpanded:a=new Set,selectedPath:n,onFileSelect:l,onExpandedChange:r,workspaceId:i,onDelete:o,onImport:c,onCopyPath:d,onCreateFile:x,onCreateFolder:p,onRename:h,onMove:u,onCopyItem:m,onLoadDirectory:g,loadingDirs:f,boundDir:j,fileSizeMap:v,refreshInterval:C,ignoredPaths:y,className:N,children:k,...w})=>{let[T,D]=(0,s.useState)(a),I=e??T;return(0,s.useEffect)(()=>{if(!C||!g||0===I.size)return;let e=setInterval(()=>{I.forEach(e=>g(e))},C);return()=>clearInterval(e)},[C,g,I]),(0,t.jsx)(S.Provider,{value:{expandedPaths:I,togglePath:e=>{let t=new Set(I);t.has(e)?t.delete(e):t.add(e),D(t),r?.(t)},selectedPath:n,onFileSelect:l,workspaceId:i,onDelete:o,onImport:c,onCopyPath:d,onCreateFile:x,onCreateFolder:p,onRename:h,onMove:u,onCopyItem:m,onLoadDirectory:g,loadingDirs:f,boundDir:j,fileSizeMap:v,ignoredPaths:y},children:(0,t.jsx)("div",{className:(0,b.cn)("flex flex-col bg-background font-mono text-sm h-full",N),role:"tree",...w,children:(0,t.jsx)("div",{className:"p-2 flex-1 min-h-0 overflow-y-auto overflow-x-auto",children:k})})})},D=(0,s.createContext)({path:"",name:"",isExpanded:!1,ignored:!1}),I=({path:e,name:n,folderIcon:p,ignored:u,className:y,children:N,...w})=>{let{expandedPaths:T,togglePath:I,selectedPath:z,onFileSelect:F,workspaceId:$,onDelete:O,onImport:R,onCopyPath:E,onCreateFile:L,onCreateFolder:B,onRename:A,onMove:U,onCopyItem:H,onLoadDirectory:q,loadingDirs:J,boundDir:K}=(0,s.useContext)(S),V=(0,s.useContext)(D),W=T.has(e),_=u||V.ignored,G=z===e,X=!!J?.has(e),Q=(0,k.useTranslations)("editor"),Y=(0,k.useTranslations)("common"),[Z,ee]=(0,s.useState)(!1);return(0,t.jsxs)(D.Provider,{value:{path:e,name:n,isExpanded:W,ignored:_},children:[(0,t.jsxs)(j.ContextMenu,{children:[(0,t.jsx)(f.Collapsible,{onOpenChange:()=>{let t=!W;I(e),t&&q&&q(e)},open:W,children:(0,t.jsxs)("div",{className:y,role:"treeitem","aria-selected":!1,tabIndex:0,...w,children:[(0,t.jsx)(j.ContextMenuTrigger,{className:"contents",children:(0,t.jsxs)("div",{className:"group/folder relative",children:[(0,t.jsxs)(f.CollapsibleTrigger,{className:(0,b.cn)("flex w-full items-center gap-1 rounded px-2 py-1 pr-16 text-left transition-colors hover:bg-muted/50",G&&"bg-muted",_&&"opacity-50"),children:[(0,t.jsx)(a.ChevronRightIcon,{className:(0,b.cn)("size-4 shrink-0 text-muted-foreground transition-transform",W&&"rotate-90")}),(0,t.jsx)(M,{children:p?p(W):W?(0,t.jsx)(r.FolderOpenIcon,{className:"size-4 text-blue-500"}):(0,t.jsx)(l.FolderIcon,{className:"size-4 text-blue-500"})}),(0,t.jsx)(P,{children:n}),X&&(0,t.jsx)("span",{className:"size-3 border border-muted-foreground border-t-transparent rounded-full animate-spin shrink-0"})]}),(0,t.jsxs)("div",{className:"absolute right-1 top-1/2 -translate-y-1/2 flex items-center gap-1 invisible group-hover/folder:visible",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("button",{onClick:()=>{fetch(`/api/workspaces/${$}/files/reveal?path=${encodeURIComponent(e)}`,{method:"POST"})},className:"p-0.5 rounded hover:bg-accent",title:Q("revealInFinder"),children:(0,t.jsx)(o.ExternalLink,{className:"size-3 text-muted-foreground"})}),(0,t.jsx)("button",{onClick:()=>ee(!0),className:"p-0.5 rounded hover:bg-accent",title:Y("delete"),children:(0,t.jsx)(i.Trash2,{className:"size-3 text-muted-foreground hover:text-destructive"})})]})]})}),(0,t.jsx)(f.CollapsibleContent,{children:(0,t.jsx)("div",{className:"ml-4 border-l pl-2",children:X?(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"size-3 border border-muted-foreground border-t-transparent rounded-full animate-spin shrink-0"}),(0,t.jsx)("span",{children:Q("loading")})]}):N})})]})}),(0,t.jsxs)(j.ContextMenuContent,{children:[(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>A?.(e),children:[(0,t.jsx)(m.Pencil,{className:"size-4"}),Q("rename")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>U?.(e),children:[(0,t.jsx)(g,{className:"size-4"}),Q("move")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>H?.(e),children:[(0,t.jsx)(d.Copy,{className:"size-4"}),Q("copyFile")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>R?.(e),children:[(0,t.jsx)(c.Upload,{className:"size-4"}),Q("importFile")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>{let t=K?K.replace(/\/+$/,"")+"/"+e:e;navigator.clipboard.writeText(t)},children:[(0,t.jsx)(d.Copy,{className:"size-4"}),Q("copyPath")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>L?.(e),children:[(0,t.jsx)(h,{className:"size-4"}),Q("newFile")]}),(0,t.jsxs)(j.ContextMenuItem,{onClick:()=>B?.(e),children:[(0,t.jsx)(x.FolderPlus,{className:"size-4"}),Q("newFolder")]})]})]}),(0,t.jsx)(v.Dialog,{open:Z,onOpenChange:ee,children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsxs)(v.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Trash2,{className:"size-5 text-destructive"}),Q("deleteFolderTitle")]})}),(0,t.jsx)(v.DialogDescription,{children:Q("deleteFolderDesc",{name:n})}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>ee(!1),children:Y("cancel")}),(0,t.jsx)(C.Button,{variant:"destructive",onClick:()=>{ee(!1),O?.(e)},children:Y("delete")})]})]})})]})},z=(0,s.createContext)({path:"",name:""}),F=({path:e,name:a,icon:l,ignored:r,className:c,children:d,...x})=>{let{selectedPath:p,onFileSelect:h,workspaceId:m,onDelete:g,onRename:f,onMove:y,onCopyItem:N,fileSizeMap:T,boundDir:I}=(0,s.useContext)(S),F=(0,s.useContext)(D),O=r||F.ignored,R=p===e,E=(0,k.useTranslations)("editor"),L=(0,k.useTranslations)("common"),[B,A]=(0,s.useState)(!1),[U,H]=(0,s.useState)(!1),q=(0,s.useRef)(null);(0,s.useEffect)(()=>{R&&q.current&&q.current.scrollIntoView({block:"nearest",inline:"nearest"})},[R]);let J=T?.[e],K=null!=J&&J>1048576,V=(0,s.useCallback)(()=>{K?A(!0):h?.(e)},[K,h,e]),W=(0,s.useCallback)(()=>{A(!1),h?.(e)},[h,e]);return(0,t.jsxs)(z.Provider,{value:{path:e,name:a},children:[(0,t.jsxs)(j.ContextMenu,{children:[(0,t.jsx)(j.ContextMenuTrigger,{className:"contents",children:(0,t.jsx)("div",{ref:q,className:(0,b.cn)("group/file flex cursor-pointer items-center gap-1 rounded px-2 py-1 transition-colors hover:bg-muted/50",R&&"bg-muted",O&&"opacity-50",c),onClick:V,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&V()},role:"treeitem","aria-selected":!1,tabIndex:0,...x,children:d??(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"size-4"}),(0,t.jsx)(M,{children:l??(0,t.jsx)(n.FileIcon,{className:"size-4 text-muted-foreground"})}),(0,t.jsx)(P,{children:a}),(0,t.jsxs)($,{children:[(0,t.jsx)("button",{onClick:()=>{fetch(`/api/workspaces/${m}/files/reveal?path=${encodeURIComponent(e)}`,{method:"POST"})},className:"p-0.5 rounded hover:bg-accent",title:E("revealInFinder"),children:(0,t.jsx)(o.ExternalLink,{className:"size-3 text-muted-foreground"})}),(0,t.jsx)("button",{onClick:()=>H(!0),className:"p-0.5 rounded hover:bg-accent",title:L("delete"),children:(0,t.jsx)(i.Trash2,{className:"size-3 text-muted-foreground hover:text-destructive"})})]})]})})}),(0,t.jsx)(w,{filePath:e,workspaceId:m,boundDir:I,onRename:()=>f?.(e),onMove:()=>y?.(e),onCopyItem:()=>N?.(e)})]}),(0,t.jsx)(v.Dialog,{open:B,onOpenChange:A,children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsxs)(v.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(u,{className:"size-5 text-yellow-500"}),E("fileTooLargeTitle")]})}),(0,t.jsx)(v.DialogDescription,{className:"break-all",children:E("fileTooLargeDesc",{name:a,size:J<1024?`${J} B`:J<1048576?`${(J/1024).toFixed(1)} KB`:`${(J/1048576).toFixed(1)} MB`})}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>A(!1),children:L("cancel")}),(0,t.jsx)(C.Button,{onClick:W,children:E("openAnyway")})]})]})}),(0,t.jsx)(v.Dialog,{open:U,onOpenChange:H,children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsxs)(v.DialogTitle,{className:"flex items-center gap-2",children:[(0,t.jsx)(i.Trash2,{className:"size-5 text-destructive"}),E("deleteFileTitle")]})}),(0,t.jsx)(v.DialogDescription,{children:E("deleteFileDesc",{name:a})}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>H(!1),children:L("cancel")}),(0,t.jsx)(C.Button,{variant:"destructive",onClick:()=>{H(!1),g?.(e)},children:L("delete")})]})]})})]})},M=({className:e,children:s,...a})=>(0,t.jsx)("span",{className:(0,b.cn)("shrink-0",e),...a,children:s}),P=({className:e,children:s,...a})=>(0,t.jsx)("span",{className:(0,b.cn)("truncate flex-1 min-w-0",e),...a,children:s}),$=({className:e,children:s,...a})=>(0,t.jsx)("div",{className:(0,b.cn)("ml-auto flex items-center gap-1 shrink-0 invisible group-hover/file:visible",e),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:"group",...a,children:s});var O=e.i(887354);let R=(0,p.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"}]]),E=(0,p.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 L=e.i(992764),B=e.i(650654),A=e.i(62669),U=e.i(359209),H=e.i(691223),q=e.i(681622),J=e.i(613087);function K({workspaceId:e}){let a=(0,k.useTranslations)("editor"),{jumpToPosition:n}=(0,H.useEditorStore)(),[l,r]=(0,s.useState)(""),[i,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)(!1),[x,p]=(0,s.useState)(!1),[h,u]=(0,s.useState)({}),[m,g]=(0,s.useState)(0),[f,v]=(0,s.useState)(new Set),C=(0,s.useRef)(void 0),y=(0,s.useCallback)(async t=>{if(!t.trim()){u({}),g(0);return}p(!0);try{let s=new URLSearchParams({q:t,regex:String(i),caseSensitive:String(c)}),a=await fetch(`/api/workspaces/${e}/search/code?${s}`),n=(await a.json()).results||[],l={};for(let e of n)l[e.file]||(l[e.file]=[]),l[e.file].push(e);u(l),g(n.length),v(new Set(Object.keys(l)))}catch{u({}),g(0)}finally{p(!1)}},[e,i,c]),N=(0,s.useCallback)(e=>{r(e),clearTimeout(C.current),C.current=setTimeout(()=>y(e),300)},[y]);(0,s.useEffect)(()=>{l.trim()&&y(l)},[y,c,i,l]);let S=Object.keys(h).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)(O.Search,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,t.jsx)(q.Input,{type:"text",value:l,onChange:e=>N(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}),x&&(0,t.jsx)(A.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:()=>d(!c),className:(0,b.cn)("p-1 rounded text-xs",c?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(R,{className:"size-3"})}),(0,t.jsx)("button",{onClick:()=>o(!i),className:(0,b.cn)("p-1 rounded text-xs",i?"bg-accent text-accent-foreground":"text-muted-foreground hover:text-foreground"),children:(0,t.jsx)(E,{className:"size-3"})})]})]}),!x&&l.trim()&&m>0&&(0,t.jsx)("div",{className:"px-2 py-1 text-[10px] text-muted-foreground border-b",children:a("searchResults",{count:m,files:S})}),(0,t.jsxs)("div",{className:"flex-1 overflow-auto",children:[(0,t.jsxs)("div",{className:"py-1",children:[x&&0===m?(0,t.jsx)("div",{className:"space-y-1 px-2",children:Array.from({length:3},(e,s)=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 py-0.5",children:[(0,t.jsx)(J.Skeleton,{className:"size-3"}),(0,t.jsx)(J.Skeleton,{className:"size-3"}),(0,t.jsx)(J.Skeleton,{className:"h-4 w-32"}),(0,t.jsx)(J.Skeleton,{className:"h-3 w-6 ml-auto"})]}),Array.from({length:3},(e,s)=>(0,t.jsxs)("div",{className:"flex items-start gap-2 pl-4 py-0.5",children:[(0,t.jsx)(J.Skeleton,{className:"h-3 w-6 shrink-0"}),(0,t.jsx)(J.Skeleton,{className:"h-3 flex-1"})]},s))]},s))}):null,!x&&Object.entries(h).map(([s,a])=>(0,t.jsxs)("div",{children:[(0,t.jsxs)(j.ContextMenu,{children:[(0,t.jsx)(j.ContextMenuTrigger,{className:"contents",children:(0,t.jsxs)("button",{onClick:()=>{v(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},className:"w-full flex items-center gap-1 px-2 py-0.5 text-xs font-medium hover:bg-accent/50",children:[f.has(s)?(0,t.jsx)(B.ChevronDown,{className:"size-3 text-muted-foreground shrink-0"}):(0,t.jsx)(L.ChevronRight,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)(U.FileIconImg,{name:s}),(0,t.jsx)("span",{className:"truncate",children:s}),(0,t.jsxs)("span",{className:"text-muted-foreground ml-auto shrink-0",children:["(",a.length,")"]})]})}),(0,t.jsx)(w,{filePath:s,workspaceId:e})]}),f.has(s)&&a.map((s,a)=>(0,t.jsxs)("button",{onClick:()=>{var t;return t=s.file,void n(e,t,s.line,s.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",children:[(0,t.jsx)("span",{className:"text-muted-foreground w-8 text-right shrink-0",children:s.line}),(0,t.jsx)("span",{className:"truncate",children:(0,t.jsx)(V,{text:s.text,start:s.matchStart,length:s.matchLength})})]},a))]},s))]}),!x&&l.trim()&&0===m&&(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:a("noResults")}),!x&&m>=200&&(0,t.jsx)("div",{className:"px-2 py-2 text-xs text-muted-foreground text-center",children:a("tooManyResults")})]})]})}function V({text:e,start:s,length:a}){if(s<0||a<=0||s>=e.length)return(0,t.jsx)("span",{children:e});let n=e.slice(0,s),l=e.slice(s,s+a),r=e.slice(s+a);return(0,t.jsxs)("span",{children:[n,(0,t.jsx)("span",{className:"bg-yellow-200/60 dark:bg-yellow-800/40 rounded-sm px-px",children:l}),r]})}var W=e.i(812057),_=e.i(434805),G=e.i(460578),X=e.i(882469);let Q=(0,p.default)("folder-input",[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]);var Y=e.i(437122),Z=e.i(360112);function ee({open:e,onOpenChange:a,workspaceId:n,targetPath:l,onImported:r}){let i=(0,k.useTranslations)("editor"),[o,d]=(0,s.useState)(!1),[x,p]=(0,s.useState)(""),[h,u]=(0,s.useState)(""),[m,g]=(0,s.useState)([]),f=(0,s.useCallback)(()=>{p(""),u(""),g([]),d(!1)},[]),j=(0,s.useCallback)(e=>{e||f(),a(e)},[a,f]),b=async()=>{if(x.trim()){d(!0);try{(await (0,Y.fetchWithAuth)(`/api/workspaces/${n}/files/import-url`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:x.trim(),targetDir:l})})).ok?(Z.toast.success(i("importSuccess")),r(),j(!1)):Z.toast.error(i("importFailed"))}catch{Z.toast.error(i("importFailed"))}finally{d(!1)}}},y=async()=>{if(h.trim()){d(!0);try{(await (0,Y.fetchWithAuth)(`/api/workspaces/${n}/files/import-path`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({absPath:h.trim(),targetDir:l})})).ok?(Z.toast.success(i("importSuccess")),r(),j(!1)):Z.toast.error(i("importFailed"))}catch{Z.toast.error(i("importFailed"))}finally{d(!1)}}},N=async()=>{if(0!==m.length){d(!0);try{let e=await Promise.all(m.map(async e=>{var t;return{name:e.file.name,content:await (t=e.file,new Promise((e,s)=>{let a=new FileReader;a.onload=()=>{let t=a.result;e(t.split(",")[1]||t)},a.onerror=s,a.readAsDataURL(t)}))}}));(await (0,Y.fetchWithAuth)(`/api/workspaces/${n}/files/upload`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetDir:l,files:e})})).ok?(Z.toast.success(i("importSuccess")),r(),j(!1)):Z.toast.error(i("importFailed"))}catch{Z.toast.error(i("importFailed"))}finally{d(!1)}}};return(0,t.jsx)(v.Dialog,{open:e,onOpenChange:j,children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[520px]",children:[(0,t.jsxs)(v.DialogHeader,{children:[(0,t.jsx)(v.DialogTitle,{children:i("importFile")}),(0,t.jsx)(v.DialogDescription,{children:i("importFileDesc")})]}),(0,t.jsxs)(W.Tabs,{defaultValue:"upload",className:"w-full flex flex-col gap-3",children:[(0,t.jsxs)(W.TabsList,{className:"w-full grid grid-cols-3",children:[(0,t.jsxs)(W.TabsTrigger,{value:"upload",className:"gap-1 text-xs",children:[(0,t.jsx)(c.Upload,{className:"size-3"}),i("importUpload")]}),(0,t.jsxs)(W.TabsTrigger,{value:"url",className:"gap-1 text-xs",children:[(0,t.jsx)(X.Globe,{className:"size-3"}),i("importOnline")]}),(0,t.jsxs)(W.TabsTrigger,{value:"internal",className:"gap-1 text-xs",children:[(0,t.jsx)(Q,{className:"size-3"}),i("importInternal")]})]}),(0,t.jsxs)(W.TabsContent,{value:"upload",className:"space-y-3 pt-2",children:[(0,t.jsx)(G.FileUpload,{value:m,onChange:g}),(0,t.jsx)(C.Button,{className:"w-full",onClick:N,disabled:0===m.length||o,children:o?(0,t.jsx)(A.Loader2,{className:"size-4 animate-spin"}):i("importUpload")})]}),(0,t.jsxs)(W.TabsContent,{value:"url",className:"space-y-3 pt-2",children:[(0,t.jsx)(q.Input,{placeholder:"https://example.com/file.js",value:x,onChange:e=>p(e.target.value),onKeyDown:e=>"Enter"===e.key&&b()}),(0,t.jsx)(C.Button,{className:"w-full",onClick:b,disabled:!x.trim()||o,children:o?(0,t.jsx)(A.Loader2,{className:"size-4 animate-spin"}):i("importOnline")})]}),(0,t.jsxs)(W.TabsContent,{value:"internal",className:"space-y-3 pt-2",children:[(0,t.jsx)(_.FolderPicker,{value:h,onChange:u,allowFiles:!0}),(0,t.jsx)(C.Button,{className:"w-full",onClick:y,disabled:!h.trim()||o,children:o?(0,t.jsx)(A.Loader2,{className:"size-4 animate-spin"}):i("importInternal")})]})]})]})})}var et=e.i(601039),es=e.i(226651),es=es,ea=e.i(972846),en=e.i(917955),el=e.i(361031),er=e.i(250226);function ei(e){let t=[],s=e=>{for(let a of e)"file"===a.type&&t.push(a),a.children&&s(a.children)};return s(e),t}function eo({nodes:e}){return e.map(e=>"directory"===e.type?(0,t.jsx)(I,{path:e.path,name:e.name,ignored:e.ignored,folderIcon:s=>(0,t.jsx)(U.FolderIconImg,{name:e.name,isOpen:s}),children:e.children&&(0,t.jsx)(eo,{nodes:e.children})},e.path):(0,t.jsx)(F,{path:e.path,name:e.name,icon:(0,t.jsx)(U.FileIconImg,{name:e.name}),ignored:e.ignored},e.path))}let ec="agent-spaces:file-tree-expanded:";function ed(e){try{let t=localStorage.getItem(ec+e);if(t)return new Set(JSON.parse(t))}catch{}return new Set}function ex(e,t){try{localStorage.setItem(ec+e,JSON.stringify([...t]))}catch{}}e.s(["EditorPanel",0,function({workspaceId:e}){let a,n,l,{tree:r,treeLoading:i,loadTree:o,loadDirectory:p,openFile:u,openFiles:m,revealPath:g,clearRevealPath:f,loadingDirs:y}=(0,H.useEditorStore)(),N=(0,el.useWorkspaceStore)(t=>t.workspaces.find(t=>t.id===e)),S=N?.boundDirs?.[0]||"",D=(0,k.useTranslations)("editor"),I=(0,k.useTranslations)("common"),[z,F]=(0,s.useState)(),[M,P]=(0,s.useState)(()=>ed(e)),[$,R]=(0,s.useState)(!1),[E,L]=(0,s.useState)(""),[B,A]=(0,s.useState)({open:!1,mode:"file",targetDir:"",value:""}),[V,G]=(0,s.useState)({open:!1,path:"",value:""}),[X,Q]=(0,s.useState)({open:!1,path:"",value:"",mode:"move"}),[Y,ec]=(0,s.useState)(""),[ep,eh]=(0,s.useState)([]),[eu,em]=(0,s.useState)(!1),eg=(0,s.useRef)(void 0),[ef,ej]=(0,s.useState)("all"),[ev,eC]=(0,s.useState)("files"),eb=(0,s.useMemo)(()=>(function e(t,s){if(!s)return t;let a=s.toLowerCase(),n=[];for(let l of t)if("directory"===l.type){let t=l.children?e(l.children,s):[];t.length>0&&n.push({...l,children:t})}else l.name.toLowerCase().includes(a)&&n.push(l);return n})(r,Y),[r,Y]),ey=(0,s.useMemo)(()=>{let e,t;return e={},(t=s=>{for(let a of s)"file"===a.type&&null!=a.size&&(e[a.path]=a.size),a.children&&t(a.children)})(r),e},[r]);(0,s.useEffect)(()=>(clearTimeout(eg.current),Y.trim())?(eg.current=setTimeout(async()=>{em(!0);try{let t=await fetch(`/api/workspaces/${e}/search/files?q=${encodeURIComponent(Y.trim())}`),s=await t.json();eh(s.results||[])}catch{eh([])}finally{em(!1)}},300),()=>clearTimeout(eg.current)):void eh([]),[Y,e]);let eN=Y.trim()&&ep.length>0?ep.filter(e=>"file"===e.type).map(e=>({path:e.path,name:e.name,type:"file"})):[],ek=(0,s.useMemo)(()=>{let e=ei(r).filter(e=>e.modifiedAt);return e.sort((e,t)=>(t.modifiedAt||"").localeCompare(e.modifiedAt||"")),e.slice(0,50)},[r]),ew=(0,s.useMemo)(()=>{let e=new Set(m.map(e=>e.path));return[...ei(r).filter(t=>e.has(t.path))].reverse()},[r,m]),eS=(0,s.useMemo)(()=>{let e,t;return Y?new Set((e=[],(t=s=>{for(let a of s)"directory"===a.type&&(e.push(a.path),a.children&&t(a.children))})(eb),e)):M},[Y,eb,M]),eT=(0,s.useCallback)(()=>{let{mode:t,targetDir:s,value:a}=B;if(!a.trim())return;let n=a.trim(),l=s?s+"/"+n:n;fetch(`/api/workspaces/${e}/files/content`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:"folder"===t?l+"/.gitkeep":l,content:""})}).then(()=>{o(e),A(e=>({...e,open:!1}))})},[B,e,o]),eD=(0,s.useCallback)((e,t)=>{A({open:!0,mode:e,targetDir:t,value:""})},[]);(0,s.useEffect)(()=>{let t=ed(e);P(t),o(e).then(()=>{for(let s of t)p(e,s)})},[e,o,p]);let eI=(0,s.useCallback)(t=>{P(t),ex(e,t)},[e]),ez=async t=>{await fetch(`/api/workspaces/${e}/files?path=${encodeURIComponent(t)}`,{method:"DELETE"}),o(e)},eF=(0,s.useCallback)(e=>{let t=e.split("/").pop()||"";G({open:!0,path:e,value:t})},[]),eM=(0,s.useCallback)(async()=>{let{path:t,value:s}=V;if(!s.trim()||s.trim()===t.split("/").pop())return void G(e=>({...e,open:!1}));let a=t.substring(0,t.lastIndexOf("/")),n=a?`${a}/${s.trim()}`:s.trim();(await fetch(`/api/workspaces/${e}/files/rename`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPath:t,newPath:n})})).ok&&(o(e),G(e=>({...e,open:!1})))},[V,e,o]),eP=(0,s.useCallback)(e=>{let t=e.substring(0,e.lastIndexOf("/"));Q({open:!0,path:e,value:t?S.replace(/\/+$/,"")+"/"+t:S.replace(/\/+$/,""),mode:"move"})},[S]),e$=(0,s.useCallback)(e=>{let t=e.substring(0,e.lastIndexOf("/"));Q({open:!0,path:e,value:t?S.replace(/\/+$/,"")+"/"+t:S.replace(/\/+$/,""),mode:"copy"})},[S]),eO=(0,s.useCallback)(async()=>{let{path:t,value:s,mode:a}=X;if(!s.trim())return;let n=S.replace(/\/+$/,""),l=s.trim();l.startsWith(n)&&(l=l.slice(n.length).replace(/^\/+/,""));let r=t.split("/").pop()||"",i=l?`${l}/${r}`:r,c="copy"===a?{srcPath:t,destPath:i}:{oldPath:t,newPath:i};(await fetch(`/api/workspaces/${e}${"copy"===a?"/files/copy":"/files/rename"}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})).ok&&(o(e),Q(e=>({...e,open:!1})))},[X,e,o,S]);return(0,s.useEffect)(()=>{if(!g)return;let t=g.split("/").filter(Boolean),s=[],a="";for(let e=0;e<t.length-1;e++)a=a?`${a}/${t[e]}`:t[e],s.push(a);P(t=>{let a=new Set(t);for(let e of s)a.add(e);return ex(e,a),a}),(async()=>{if("__search_panel__"===g){eC("search"),f();return}for(let t of s)await p(e,t);F(g),f()})()},[g,e,p,f]),(0,t.jsxs)("div",{className:"relative flex flex-col h-full",children:[(0,t.jsxs)(W.Tabs,{value:ev,onValueChange:eC,className:"flex flex-col h-full",children:[(0,t.jsxs)(W.TabsList,{className:"w-full h-8 shrink-0 rounded-none border-b bg-transparent p-0",children:[(0,t.jsx)(W.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:D("explorer")}),(0,t.jsx)(W.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:D("search")})]}),(0,t.jsxs)(W.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)(O.Search,{className:"size-3 text-muted-foreground shrink-0"}),(0,t.jsx)(q.Input,{type:"text",value:Y,onChange:e=>ec(e.target.value),placeholder:D("searchFiles")+"...",className:"h-6 bg-transparent text-xs border-0 focus-visible:ring-0 focus-visible:border-0 px-1",spellCheck:!1}),Y&&(0,t.jsx)("button",{onClick:()=>ec(""),className:"p-0.5 hover:bg-accent rounded",children:(0,t.jsx)(ea.X,{className:"size-3 text-muted-foreground"})})]}),(0,t.jsxs)(en.DropdownMenu,{children:[(0,t.jsx)(en.DropdownMenuTrigger,{className:"p-0.5 hover:bg-accent rounded",children:(0,t.jsx)(es.default,{className:"size-3"})}),(0,t.jsxs)(en.DropdownMenuContent,{children:[(0,t.jsxs)(en.DropdownMenuItem,{onClick:()=>{L(""),R(!0)},children:[(0,t.jsx)(c.Upload,{className:"size-4"}),D("importFile")]}),(0,t.jsxs)(en.DropdownMenuItem,{onClick:()=>{let e=z||"",t=e?S?S.replace(/\/+$/,"")+"/"+e:e:S;navigator.clipboard.writeText(t),Z.toast.success(D("copied"))},children:[(0,t.jsx)(d.Copy,{className:"size-4"}),D("copyPath")]}),(0,t.jsxs)(en.DropdownMenuItem,{onClick:()=>eD("file",""),children:[(0,t.jsx)(h,{className:"size-4"}),D("newFile")]}),(0,t.jsxs)(en.DropdownMenuItem,{onClick:()=>eD("folder",""),children:[(0,t.jsx)(x.FolderPlus,{className:"size-4"}),D("newFolder")]})]})]}),(0,t.jsx)("button",{onClick:()=>o(e),className:"p-0.5 hover:bg-accent rounded",disabled:i,children:(0,t.jsx)(et.RefreshCw,{className:`size-3 ${i?"animate-spin":""}`})})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0 overflow-auto py-1",children:"all"===ef?Y.trim()?(0,t.jsx)(t.Fragment,{children:eu&&0===ep.length?(0,t.jsx)("div",{className:"space-y-0.5 px-2",children:Array.from({length:6},(e,s)=>(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-[3px]",children:[(0,t.jsx)(J.Skeleton,{className:"size-4 shrink-0"}),(0,t.jsx)(J.Skeleton,{className:"h-4 flex-1"})]},s))}):0===ep.length?(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:D("noResults")}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"px-2 py-0.5 text-[10px] text-muted-foreground",children:D("searchResults",{count:ep.length,files:ep.length})}),eN.map(s=>(0,t.jsxs)(j.ContextMenu,{children:[(0,t.jsx)(j.ContextMenuTrigger,{className:"contents",children:(0,t.jsxs)("button",{onClick:()=>{F(s.path),u(e,s.path),er.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 ${z===s.path?"bg-accent":""}`,children:[(0,t.jsx)(U.FileIconImg,{name:s.name}),(0,t.jsx)("span",{className:"truncate",children:s.name}),s.path.includes("/")&&(0,t.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground truncate max-w-[100px]",children:s.path.replace(/\/[^/]*$/,"")})]})}),(0,t.jsx)(w,{filePath:s.path,workspaceId:e,boundDir:S})]},s.path))]})}):(0,t.jsxs)(t.Fragment,{children:[i&&0===r.length&&(0,t.jsx)("div",{className:"space-y-0.5 px-2",children:Array.from({length:8},(e,s)=>(0,t.jsxs)("div",{className:"flex items-center gap-1 px-2 py-[3px]",children:[(0,t.jsx)(J.Skeleton,{className:"size-4 shrink-0"}),(0,t.jsx)(J.Skeleton,{className:"h-4 flex-1"})]},s))}),0===r.length&&!i&&(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:D("noFiles")}),r.length>0&&(0,t.jsx)(T,{expanded:eS,onExpandedChange:eI,selectedPath:z,onFileSelect:t=>{F(t),u(e,t),er.useMobilePanelStore.getState().setActivePanel("code-editor")},workspaceId:e,onDelete:ez,onImport:e=>{L(e),R(!0)},onCopyPath:e=>{navigator.clipboard.writeText(S?S.replace(/\/+$/,"")+"/"+e:e),Z.toast.success(D("copied"))},onCreateFile:e=>eD("file",e),onCreateFolder:e=>eD("folder",e),onRename:eF,onMove:eP,onCopyItem:e$,onLoadDirectory:t=>p(e,t),loadingDirs:y,boundDir:S,fileSizeMap:ey,refreshInterval:5e3,children:(0,t.jsx)(eo,{nodes:eb})})]}):(a="recent"===ef?ek:ew,n=Y.toLowerCase(),0===(l=Y?a.filter(e=>e.name.toLowerCase().includes(n)):a).length?(0,t.jsx)("div",{className:"px-2 py-4 text-xs text-muted-foreground text-center",children:D("noFiles")}):l.map(s=>(0,t.jsxs)("button",{onClick:()=>{F(s.path),u(e,s.path),er.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 ${z===s.path?"bg-accent":""}`,children:[(0,t.jsx)(U.FileIconImg,{name:s.name}),(0,t.jsx)("span",{className:"truncate",children:s.name}),s.path.includes("/")&&(0,t.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground truncate max-w-[100px]",children:s.path.replace(/\/[^/]*$/,"")})]},s.path)))}),(0,t.jsx)("div",{className:"shrink-0 border-t flex h-7",children:[["all","allFiles"],["recent","recentlyAdded"],["open","recentlyOpened"]].map(([e,s])=>(0,t.jsx)("button",{onClick:()=>ej(e),className:`flex-1 text-[11px] border-b-2 transition-colors ${ef===e?"border-b-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:D(s)},e))})]})]}),(0,t.jsx)("div",{className:(0,b.cn)("absolute inset-x-0 bottom-0 top-8 z-10","search"!==ev&&"hidden"),children:(0,t.jsx)(K,{workspaceId:e})}),(0,t.jsx)(ee,{open:$,onOpenChange:R,workspaceId:e,targetPath:E,onImported:()=>o(e)}),(0,t.jsx)(v.Dialog,{open:B.open,onOpenChange:e=>A(t=>({...t,open:e})),children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsx)(v.DialogTitle,{children:"file"===B.mode?D("newFile"):D("newFolder")})}),(0,t.jsx)(q.Input,{autoFocus:!0,placeholder:"file"===B.mode?D("newFileName"):D("newFolderName"),value:B.value,onChange:e=>A(t=>({...t,value:e.target.value})),onKeyDown:e=>"Enter"===e.key&&eT()}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>A(e=>({...e,open:!1})),children:I("cancel")}),(0,t.jsx)(C.Button,{onClick:eT,disabled:!B.value.trim(),children:I("create")})]})]})}),(0,t.jsx)(v.Dialog,{open:V.open,onOpenChange:e=>G(t=>({...t,open:e})),children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[400px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsx)(v.DialogTitle,{children:D("renameTitle")})}),(0,t.jsx)(q.Input,{autoFocus:!0,placeholder:D("renamePlaceholder"),value:V.value,onChange:e=>G(t=>({...t,value:e.target.value})),onKeyDown:e=>"Enter"===e.key&&eM()}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>G(e=>({...e,open:!1})),children:I("cancel")}),(0,t.jsx)(C.Button,{onClick:eM,disabled:!V.value.trim(),children:D("rename")})]})]})}),(0,t.jsx)(v.Dialog,{open:X.open,onOpenChange:e=>Q(t=>({...t,open:e})),children:(0,t.jsxs)(v.DialogContent,{className:"sm:max-w-[480px]",children:[(0,t.jsx)(v.DialogHeader,{children:(0,t.jsx)(v.DialogTitle,{children:"move"===X.mode?D("moveTitle"):D("copyTitle")})}),(0,t.jsx)(_.FolderPicker,{value:X.value,onChange:e=>Q(t=>({...t,value:e})),placeholder:"move"===X.mode?D("movePlaceholder"):D("copyPlaceholder")}),(0,t.jsxs)(v.DialogFooter,{children:[(0,t.jsx)(C.Button,{variant:"outline",onClick:()=>Q(e=>({...e,open:!1})),children:I("cancel")}),(0,t.jsx)(C.Button,{onClick:eO,disabled:!X.value.trim(),children:"move"===X.mode?D("move"):D("copyFile")})]})]})})]})}],913796)},388576,e=>{e.n(e.i(913796))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,212965,e=>{"use strict";let t=(0,e.i(433721).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",0,t],212965)},250438,e=>{"use strict";var t=e.i(558680);e.s(["ChevronDownIcon",()=>t.default])},161610,321137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var a in t)r[a]=t[a];return r}function a(){}var n="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",f=/^#([0-9a-f]{3,8})$/,s=RegExp(`^rgb\\(${n},${n},${n}\\)$`),u=RegExp(`^rgb\\(${o},${o},${o}\\)$`),l=RegExp(`^rgba\\(${n},${n},${n},${i}\\)$`),d=RegExp(`^rgba\\(${o},${o},${o},${i}\\)$`),c=RegExp(`^hsl\\(${i},${o},${o}\\)$`),h=RegExp(`^hsla\\(${i},${o},${o},${i}\\)$`),g={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function b(){return this.rgb().formatRgb()}function p(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=f.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?m(t):3===r?new v(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?y(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?y(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=s.exec(e))?new v(t[1],t[2],t[3],1):(t=u.exec(e))?new v(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=l.exec(e))?y(t[1],t[2],t[3],t[4]):(t=d.exec(e))?y(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=c.exec(e))?j(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?j(t[1],t[2]/100,t[3]/100,t[4]):g.hasOwnProperty(e)?m(g[e]):"transparent"===e?new v(NaN,NaN,NaN,0):null}function m(e){return new v(e>>16&255,e>>8&255,255&e,1)}function y(e,t,r,a){return a<=0&&(e=t=r=NaN),new v(e,t,r,a)}function w(e,t,r,n){var i;return 1==arguments.length?((i=e)instanceof a||(i=p(i)),i)?new v((i=i.rgb()).r,i.g,i.b,i.opacity):new v:new v(e,t,r,null==n?1:n)}function v(e,t,r,a){this.r=+e,this.g=+t,this.b=+r,this.opacity=+a}function $(){return`#${A(this.r)}${A(this.g)}${A(this.b)}`}function N(){let e=k(this.opacity);return`${1===e?"rgb(":"rgba("}${M(this.r)}, ${M(this.g)}, ${M(this.b)}${1===e?")":`, ${e})`}`}function k(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function M(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function A(e){return((e=M(e))<16?"0":"")+e.toString(16)}function j(e,t,r,a){return a<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new q(e,t,r,a)}function R(e){if(e instanceof q)return new q(e.h,e.s,e.l,e.opacity);if(e instanceof a||(e=p(e)),!e)return new q;if(e instanceof q)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),o=Math.max(t,r,n),f=NaN,s=o-i,u=(o+i)/2;return s?(f=t===o?(r-n)/s+(r<n)*6:r===o?(n-t)/s+2:(t-r)/s+4,s/=u<.5?o+i:2-o-i,f*=60):s=u>0&&u<1?0:f,new q(f,s,u,e.opacity)}function q(e,t,r,a){this.h=+e,this.s=+t,this.l=+r,this.opacity=+a}function C(e){return(e=(e||0)%360)<0?e+360:e}function E(e){return Math.max(0,Math.min(1,e||0))}function H(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(a,p,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return R(this).formatHsl()},formatRgb:b,toString:b}),t(v,w,r(a,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new v(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new v(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new v(M(this.r),M(this.g),M(this.b),k(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatHex8:function(){return`#${A(this.r)}${A(this.g)}${A(this.b)}${A((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:N,toString:N})),t(q,function(e,t,r,a){return 1==arguments.length?R(e):new q(e,t,r,null==a?1:a)},r(a,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new q(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new q(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,a=r+(r<.5?r:1-r)*t,n=2*r-a;return new v(H(e>=240?e-240:e+120,n,a),H(e,n,a),H(e<120?e+240:e-120,n,a),this.opacity)},clamp(){return new q(C(this.h),E(this.s),E(this.l),k(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=k(this.opacity);return`${1===e?"hsl(":"hsla("}${C(this.h)}, ${100*E(this.s)}%, ${100*E(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",0,p,"rgb",0,w],321137),e.s(["color",0,p],161610)},145665,181503,e=>{"use strict";var t=e.i(321137);function r(e,t,r,a,n){var i=e*e,o=i*e;return((1-3*e+3*i-o)*t+(4-6*i+3*o)*r+(1+3*e+3*i-3*o)*a+o*n)/6}let a=e=>()=>e;function n(e,t){var r=t-e;return r?function(t){return e+t*r}:a(isNaN(e)?t:e)}e.s(["default",0,a],181503);let i=function e(r){var i,o=1==(i=+r)?n:function(e,t){var r,n,o;return t-e?(r=e,n=t,r=Math.pow(r,o=i),n=Math.pow(n,o)-r,o=1/o,function(e){return Math.pow(r+e*n,o)}):a(isNaN(e)?t:e)};function f(e,r){var a=o((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),i=o(e.g,r.g),f=o(e.b,r.b),s=n(e.opacity,r.opacity);return function(t){return e.r=a(t),e.g=i(t),e.b=f(t),e.opacity=s(t),e+""}}return f.gamma=e,f}(1);function o(e){return function(r){var a,n,i=r.length,o=Array(i),f=Array(i),s=Array(i);for(a=0;a<i;++a)n=(0,t.rgb)(r[a]),o[a]=n.r||0,f[a]=n.g||0,s[a]=n.b||0;return o=e(o),f=e(f),s=e(s),n.opacity=1,function(e){return n.r=o(e),n.g=f(e),n.b=s(e),n+""}}}o(function(e){var t=e.length-1;return function(a){var n=a<=0?a=0:a>=1?(a=1,t-1):Math.floor(a*t),i=e[n],o=e[n+1],f=n>0?e[n-1]:2*i-o,s=n<t-1?e[n+2]:2*o-i;return r((a-n/t)*t,f,i,o,s)}}),o(function(e){var t=e.length;return function(a){var n=Math.floor(((a%=1)<0?++a:a)*t),i=e[(n+t-1)%t],o=e[n%t],f=e[(n+1)%t],s=e[(n+2)%t];return r((a-n/t)*t,i,o,f,s)}}),e.s(["default",0,i],145665)},819505,238816,97376,e=>{"use strict";e.s(["genericArray",()=>r],819505);var t=e.i(213570);function r(e,r){var a,n=r?r.length:0,i=e?Math.min(n,e.length):0,o=Array(i),f=Array(n);for(a=0;a<i;++a)o[a]=(0,t.default)(e[a],r[a]);for(;a<n;++a)f[a]=r[a];return function(e){for(a=0;a<i;++a)f[a]=o[a](e);return f}}e.s(["default",0,function(e,t){t||(t=[]);var r,a=e?Math.min(t.length,e.length):0,n=t.slice();return function(i){for(r=0;r<a;++r)n[r]=e[r]*(1-i)+t[r]*i;return n}},"isNumberArray",0,function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}],238816),e.s(["default",0,function(e,t){var r=new Date;return e*=1,t*=1,function(a){return r.setTime(e*(1-a)+t*a),r}}],97376)},842541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},905660,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(213570);function r(e,r){var a,n={},i={};for(a in(null===e||"object"!=typeof e)&&(e={}),(null===r||"object"!=typeof r)&&(r={}),r)a in e?n[a]=(0,t.default)(e[a],r[a]):i[a]=r[a];return function(e){for(a in n)i[a]=n[a](e);return i}}},647483,e=>{"use strict";var t=e.i(842541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,a=RegExp(r.source,"g");e.s(["default",0,function(e,n){var i,o,f,s,u,l=r.lastIndex=a.lastIndex=0,d=-1,c=[],h=[];for(e+="",n+="";(f=r.exec(e))&&(s=a.exec(n));)(u=s.index)>l&&(u=n.slice(l,u),c[d]?c[d]+=u:c[++d]=u),(f=f[0])===(s=s[0])?c[d]?c[d]+=s:c[++d]=s:(c[++d]=null,h.push({i:d,x:(0,t.default)(f,s)})),l=a.lastIndex;return l<n.length&&(u=n.slice(l),c[d]?c[d]+=u:c[++d]=u),c.length<2?h[0]?(i=h[0].x,function(e){return i(e)+""}):(o=n,function(){return o}):(n=h.length,function(e){for(var t,r=0;r<n;++r)c[(t=h[r]).i]=t.x(e);return c.join("")})}])},678152,213570,e=>{"use strict";e.s(["default",()=>l],213570);var t=e.i(161610),r=e.i(145665),a=e.i(819505),n=e.i(97376),i=e.i(842541),o=e.i(905660),f=e.i(647483),s=e.i(181503),u=e.i(238816);function l(e,l){var d,c=typeof l;return null==l||"boolean"===c?(0,s.default)(l):("number"===c?i.default:"string"===c?(d=(0,t.color)(l))?(l=d,r.default):f.default:l instanceof t.color?r.default:l instanceof Date?n.default:(0,u.isNumberArray)(l)?u.default:Array.isArray(l)?a.genericArray:"function"!=typeof l.valueOf&&"function"!=typeof l.toString||isNaN(l)?o.default:i.default)(e,l)}e.s(["interpolate",0,l],678152)},77075,e=>{"use strict";var t=e.i(842541);e.s(["interpolateNumber",()=>t.default])},212603,e=>{"use strict";var t=e.i(344180),r=e.i(465458);e.s(["Card",0,function({className:e,size:a="default",...n}){return(0,t.jsx)("div",{"data-slot":"card","data-size":a,className:(0,r.cn)("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...n})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,r.cn)("px-4 group-data-[size=sm]/card:px-3",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,r.cn)("text-sm text-muted-foreground",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,r.cn)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,r.cn)("font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e),...a})}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,362962,e=>{"use strict";var t=e.i(764556),n=e.i(969490);let r=t.forwardRef(function(e,t){let{className:r,render:o,orientation:i="horizontal",style:u,...s}=e;return(0,n.useRenderElement)("div",e,{state:{orientation:i},ref:t,props:[{role:"separator","aria-orientation":i},s]})});e.s(["Separator",0,r])},676185,922528,35359,324573,e=>{"use strict";e.s([],676185),e.i(8890);var t=e.i(764556),n=e.i(267805);let r=t.createContext(void 0);function o(e){let o=t.useContext(r);if(void 0===o&&!e)throw Error((0,n.default)(33));return o}e.s(["MenuPositionerContext",0,r,"useMenuPositionerContext",0,o],922528);let i=t.createContext(void 0);function u(e){let r=t.useContext(i);if(void 0===r&&!e)throw Error((0,n.default)(36));return r}e.s(["MenuRootContext",0,i,"useMenuRootContext",0,u],35359);var s=e.i(969490),a=e.i(817955);let l=t.forwardRef(function(e,t){let{className:n,render:r,style:i,...l}=e,{store:c}=u(),{arrowRef:d,side:p,align:f,arrowUncentered:g,arrowStyles:m}=o(),v=c.useState("open");return(0,s.useRenderElement)("div",e,{ref:[d,t],stateAttributesMapping:a.popupStateMapping,state:{open:v,side:p,align:f,uncentered:g},props:{style:m,"aria-hidden":!0,...l}})});e.s(["MenuArrow",0,l],324573)},174465,e=>{"use strict";var t=e.i(267805),n=e.i(764556);let r=n.createContext(void 0);e.s(["ContextMenuRootContext",0,r,"useContextMenuRootContext",0,function(e=!0){let o=n.useContext(r);if(void 0===o&&!e)throw Error((0,t.default)(25));return o}])},487455,287591,28051,597375,582883,277658,349204,81752,33427,293209,503662,59354,300637,281478,517510,9952,149292,65255,87709,989479,743303,e=>{"use strict";e.i(8890);var t,n,r=e.i(764556),o=e.i(35359),i=e.i(969490),u=e.i(817955),s=e.i(282458),a=e.i(174465),l=e.i(742665);let c={...u.popupStateMapping,...s.transitionStatusMapping},d=r.forwardRef(function(e,t){let{className:n,render:r,style:u,...s}=e,{store:d}=(0,o.useMenuRootContext)(),p=d.useState("open"),f=d.useState("mounted"),g=d.useState("transitionStatus"),m=d.useState("lastOpenChangeReason"),v=(0,a.useContextMenuRootContext)();return(0,i.useRenderElement)("div",e,{ref:v?.backdropRef?[t,v.backdropRef]:t,state:{open:p,transitionStatus:g},stateAttributesMapping:c,props:[{role:"presentation",hidden:!f,style:{pointerEvents:m===l.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},s]})});e.s(["MenuBackdrop",0,d],487455);var p=e.i(29905),f=e.i(535270),g=e.i(267805);let m=r.createContext(void 0);var v=e.i(204133),R=e.i(931709),h=e.i(370383),x=e.i(454889);function S(e){let{closeOnClick:t,highlighted:n,id:o,nodeId:i,store:u,typingRef:s,itemRef:c,itemMetadata:d}=e,{events:p}=u.useState("floatingTreeRoot"),f=(0,a.useContextMenuRootContext)(!0),g=void 0!==f;return r.useMemo(()=>({id:o,role:"menuitem",tabIndex:n?0:-1,onKeyDown(e){" "===e.key&&s?.current&&e.preventDefault()},onMouseMove(e){i&&p.emit("itemhover",{nodeId:i,target:e.currentTarget})},onClick(e){t&&p.emit("close",{domEvent:e,reason:l.REASONS.itemPress})},onMouseUp(e){if(f){let t=f.initialCursorPointRef.current;if(f.initialCursorPointRef.current=null,g&&t&&1>=Math.abs(e.clientX-t.x)&&1>=Math.abs(e.clientY-t.y)||g&&!x.isMac&&2===e.button)return}c.current&&u.context.allowMouseUpTriggerRef.current&&(!g||2===e.button)&&(!d||"regular-item"===d.type)&&c.current.click()}}),[t,n,o,p,i,u,s,c,f,g,d])}let b={type:"regular-item"};function E(e){let{closeOnClick:t,disabled:n=!1,highlighted:o,id:i,store:u,typingRef:s=u.context.typingRef,nativeButton:a,itemMetadata:l,nodeId:c}=e,d=r.useRef(null),{getButtonProps:p,buttonRef:f}=(0,R.useButton)({disabled:n,focusableWhenDisabled:!0,native:a,composite:!0}),g=S({closeOnClick:t,highlighted:o,id:i,nodeId:c,store:u,typingRef:s,itemRef:d,itemMetadata:l}),m=r.useCallback(e=>(0,h.mergeProps)(g,{onMouseEnter(){"submenu-trigger"===l.type&&l.setActive()}},e,p),[g,p,l]),x=(0,v.useMergedRefs)(d,f);return r.useMemo(()=>({getItemProps:m,itemRef:x}),[m,x])}e.s(["REGULAR_ITEM",0,b,"useMenuItem",0,E],287591);var C=e.i(296615),M=e.i(139236);let y=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t),I={checked:e=>e?{[y.checked]:""}:{[y.unchecked]:""},...s.transitionStatusMapping};var O=e.i(922528),T=e.i(602453),k=e.i(344180);let P=r.forwardRef(function(e,t){let{render:n,className:u,id:s,label:a,nativeButton:c=!1,disabled:d=!1,closeOnClick:g=!1,checked:v,defaultChecked:R,onCheckedChange:h,style:x,...S}=e,y=(0,C.useCompositeListItem)({label:a}),P=(0,O.useMenuPositionerContext)(!0),A=(0,M.useBaseUiId)(s),{store:w}=(0,o.useMenuRootContext)(),N=w.useState("isActive",y.index),L=w.useState("itemProps"),[D,F]=(0,f.useControlled)({controlled:v,default:R??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:_,itemRef:H}=E({closeOnClick:g,disabled:d,highlighted:N,id:A,store:w,nativeButton:c,nodeId:P?.context.nodeId,itemMetadata:b}),U=r.useMemo(()=>({disabled:d,highlighted:N,checked:D}),[d,N,D]),B=(0,p.useStableCallback)(e=>{let t={...(0,T.createChangeEventDetails)(l.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}};h?.(!D,t),t.isCanceled||F(e=>!e)}),W=(0,i.useRenderElement)("div",e,{state:U,stateAttributesMapping:I,props:[L,{role:"menuitemcheckbox","aria-checked":D,onClick:B},S,_],ref:[H,t,y.ref]});return(0,k.jsx)(m.Provider,{value:U,children:W})});e.s(["MenuCheckboxItem",0,P],28051);var A=e.i(254891),w=e.i(273598);let N=r.forwardRef(function(e,t){let{render:n,className:o,style:u,keepMounted:s=!1,...a}=e,l=function(){let e=r.useContext(m);if(void 0===e)throw Error((0,g.default)(30));return e}(),c=r.useRef(null),{transitionStatus:d,setMounted:p}=(0,A.useTransitionStatus)(l.checked);(0,w.useOpenChangeComplete)({open:l.checked,ref:c,onComplete(){l.checked||p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:d};return(0,i.useRenderElement)("span",e,{state:f,ref:[t,c],stateAttributesMapping:I,props:{"aria-hidden":!0,...a},enabled:s||l.checked})});e.s(["MenuCheckboxItemIndicator",0,N],597375);let L=r.createContext(void 0),D=r.forwardRef(function(e,t){let{render:n,className:o,style:u,...s}=e,[a,l]=r.useState(void 0),c=r.useMemo(()=>({setLabelId:l}),[l]),d=(0,i.useRenderElement)("div",e,{ref:t,props:{role:"group","aria-labelledby":a,...s}});return(0,k.jsx)(L.Provider,{value:c,children:d})});e.s(["MenuGroup",0,D],582883);var F=e.i(277642);let _=r.forwardRef(function(e,t){let{className:n,render:o,id:u,style:s,...a}=e,l=(0,M.useBaseUiId)(u),{setLabelId:c}=function(){let e=r.useContext(L);if(void 0===e)throw Error((0,g.default)(31));return e}();return(0,F.useIsoLayoutEffect)(()=>(c(l),()=>{c(void 0)}),[c,l]),(0,i.useRenderElement)("div",e,{ref:t,props:{id:l,role:"presentation",...a}})});e.s(["MenuGroupLabel",0,_],277658);let H=r.forwardRef(function(e,t){let{render:n,className:r,id:u,label:s,nativeButton:a=!1,disabled:l=!1,closeOnClick:c=!0,style:d,...p}=e,f=(0,C.useCompositeListItem)({label:s}),g=(0,O.useMenuPositionerContext)(!0),m=(0,M.useBaseUiId)(u),{store:v}=(0,o.useMenuRootContext)(),R=v.useState("isActive",f.index),h=v.useState("itemProps"),{getItemProps:x,itemRef:S}=E({closeOnClick:c,disabled:l,highlighted:R,id:m,store:v,nativeButton:a,nodeId:g?.context.nodeId,itemMetadata:b});return(0,i.useRenderElement)("div",e,{state:{disabled:l,highlighted:R},props:[h,p,x],ref:[S,t,f.ref]})});e.s(["MenuItem",0,H],349204);let U=r.forwardRef(function(e,t){let{render:n,className:u,id:s,label:a,closeOnClick:l=!1,style:c,...d}=e,p=r.useRef(null),f=(0,C.useCompositeListItem)({label:a}),g=(0,O.useMenuPositionerContext)(!0),m=g?.context.nodeId,v=(0,M.useBaseUiId)(s),{store:x}=(0,o.useMenuRootContext)(),b=x.useState("isActive",f.index),E=x.useState("itemProps"),y=x.context.typingRef,{getButtonProps:I,buttonRef:T}=(0,R.useButton)({native:!1,composite:!0}),k=S({closeOnClick:l,highlighted:b,id:v,nodeId:m,store:x,typingRef:y,itemRef:p}),P=r.useMemo(()=>({highlighted:b}),[b]);return(0,i.useRenderElement)("a",e,{state:P,props:[E,d,function(e){return(0,h.mergeProps)(k,e,I)}],ref:[p,T,t,f.ref]})});e.s(["MenuLinkItem",0,U],81752);var B=e.i(583289),W=e.i(795914),G=e.i(971109),V=e.i(100229),j=e.i(328657);let K={...u.popupStateMapping,...s.transitionStatusMapping},Y=r.forwardRef(function(e,t){let{render:n,className:u,style:s,finalFocus:a,...c}=e,{store:d}=(0,o.useMenuRootContext)(),{side:p,align:f}=(0,O.useMenuPositionerContext)(),g=null!=(0,G.useToolbarRootContext)(!0),m=d.useState("open"),v=d.useState("transitionStatus"),R=d.useState("popupProps"),h=d.useState("mounted"),x=d.useState("instantType"),S=d.useState("activeTriggerElement"),b=d.useState("parent"),E=d.useState("lastOpenChangeReason"),C=d.useState("rootId"),M=d.useState("floatingRootContext"),y=d.useState("floatingTreeRoot"),I=d.useState("closeDelay"),P=d.useState("activeTriggerElement"),A="context-menu"===b.type;(0,w.useOpenChangeComplete)({open:m,ref:d.context.popupRef,onComplete(){m&&d.context.onOpenChangeComplete?.(!0)}}),r.useEffect(()=>{function e(e){d.setOpen(!1,(0,T.createChangeEventDetails)(e.reason,e.domEvent))}return y.events.on("close",e),()=>{y.events.off("close",e)}},[y.events,d]);let N=d.useState("hoverEnabled"),L=d.useState("disabled");(0,W.useHoverFloatingInteraction)(M,{enabled:N&&!L&&!A&&"menubar"!==b.type,closeDelay:I});let D={transitionStatus:v,side:p,align:f,open:m,nested:"menu"===b.type,instant:x},F=r.useCallback(e=>{d.set("popupElement",e)},[d]),_=(0,i.useRenderElement)("div",e,{state:D,ref:[t,d.context.popupRef,F],stateAttributesMapping:K,props:[R,{onKeyDown(e){g&&V.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,j.getDisabledMountTransitionStyles)(v),c,{"data-rootownerid":C}]}),H=void 0===b.type||A;return(S||"menubar"===b.type&&E!==l.REASONS.outsidePress)&&(H=!0),(0,k.jsx)(B.FloatingFocusManager,{context:M,modal:A,disabled:!h,returnFocus:void 0===a?H:a,initialFocus:"menu"!==b.type,restoreFocus:!0,externalTree:"menubar"!==b.type?y:void 0,previousFocusableElement:P,nextFocusableElement:void 0===b.type?d.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===b.type?d.context.beforeContentFocusGuardRef:void 0,children:_})});e.s(["MenuPopup",0,Y],33427);var q=e.i(128108);let J=r.createContext(void 0),$=r.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=(0,o.useMenuRootContext)();return i.useState("mounted")||n?(0,k.jsx)(J.Provider,{value:n,children:(0,k.jsx)(q.FloatingPortal,{ref:t,...r})}):null});e.s(["MenuPortal",0,$],293209);var z=e.i(677822),X=e.i(232449),Q=e.i(389124),Z=e.i(576557),ee=e.i(756432),et=e.i(251817),en=e.i(576487),er=e.i(909852),eo=e.i(427708),ei=e.i(263635),eu=e.i(900587);let es=r.forwardRef(function(e,t){let{anchor:n,positionMethod:i="absolute",className:u,render:s,side:c,align:d,sideOffset:p=0,alignOffset:f=0,collisionBoundary:m="clipping-ancestors",collisionPadding:v=5,arrowPadding:R=5,sticky:h=!1,disableAnchorTracking:x=!1,collisionAvoidance:S=en.DROPDOWN_COLLISION_AVOIDANCE,style:b,...E}=e,{store:C}=(0,o.useMenuRootContext)(),M=function(){let e=r.useContext(J);if(void 0===e)throw Error((0,g.default)(32));return e}(),y=(0,a.useContextMenuRootContext)(!0),I=C.useState("parent"),P=C.useState("floatingRootContext"),A=C.useState("floatingTreeRoot"),w=C.useState("mounted"),N=C.useState("open"),L=C.useState("modal"),D=C.useState("openMethod"),_=C.useState("activeTriggerElement"),H=C.useState("transitionStatus"),U=C.useState("positionerElement"),B=C.useState("instantType"),W=C.useState("hasViewport"),G=C.useState("lastOpenChangeReason"),V=C.useState("floatingNodeId"),j=C.useState("floatingParentNodeId"),K=P.useState("domReferenceElement"),Y=r.useRef(null),q=(0,eo.useAnimationsFinished)(U,!1,!1),$=n,es=p,ea=f,el=d,ec=S;"context-menu"===I.type&&($=n??I.context?.anchor,el=el??"start",c||"center"===el||(ea=e.alignOffset??2,es=e.sideOffset??-5));let ed=c,ep=el;"menu"===I.type?(ed=ed??"inline-end",ep=ep??"start",ec=e.collisionAvoidance??en.POPUP_COLLISION_AVOIDANCE):"menubar"===I.type&&(ed=ed??"bottom",ep=ep??"start");let ef="context-menu"===I.type,eg=(0,Z.useAnchorPositioning)({anchor:$,floatingRootContext:P,positionMethod:y?"fixed":i,mounted:w,side:ed,sideOffset:es,align:ep,alignOffset:ea,arrowPadding:ef?0:R,collisionBoundary:m,collisionPadding:v,sticky:h,nodeId:V,keepMounted:M,disableAnchorTracking:x,collisionAvoidance:ec,shiftCrossAxis:ef&&!("side"in ec&&"flip"===ec.side),externalTree:A,adaptiveOrigin:W?er.adaptiveOrigin:void 0});r.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===V&&C.set("hoverEnabled",!1),e.nodeId!==V&&e.parentNodeId===C.select("floatingParentNodeId")&&C.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.siblingOpen)))}return A.events.on("menuopenchange",e),()=>{A.events.off("menuopenchange",e)}},[C,A.events,V]),r.useEffect(()=>{if(null!=C.select("floatingParentNodeId"))return A.events.on("menuopenchange",e),()=>{A.events.off("menuopenchange",e)};function e(e){if(e.open||e.nodeId!==C.select("floatingParentNodeId"))return;let t=e.reason??l.REASONS.siblingOpen;C.setOpen(!1,(0,T.createChangeEventDetails)(t))}},[A.events,C]);let em=(0,X.useTimeout)();r.useEffect(()=>{N||em.clear()},[N,em]),r.useEffect(()=>{function e(e){if(N&&e.nodeId===C.select("floatingParentNodeId"))if(e.target&&_&&_!==e.target){let e=C.select("closeDelay");e>0?em.isStarted()||em.start(e,()=>{C.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.siblingOpen))}):C.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.siblingOpen))}else em.clear()}return A.events.on("itemhover",e),()=>{A.events.off("itemhover",e)}},[A.events,N,_,C,em]),r.useEffect(()=>{let e={open:N,nodeId:V,parentNodeId:j,reason:C.select("lastOpenChangeReason")};A.events.emit("menuopenchange",e)},[A.events,N,C,V,j]),(0,F.useIsoLayoutEffect)(()=>{let e=Y.current;if(K&&(Y.current=K),e&&K&&K!==e){C.set("instantType",void 0);let e=new AbortController;return q(()=>{C.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[K,q,C]);let ev={open:N,side:eg.side,align:eg.align,anchorHidden:eg.anchorHidden,nested:"menu"===I.type,instant:B},eR="menubar"===I.type&&I.context.modal,eh=L&&G!==l.REASONS.triggerHover;(0,eu.useAnchoredPopupScrollLock)(N&&(eR||eh),"touch"===D,U,_);let ex=(0,ei.usePositioner)(e,ev,{styles:eg.positionerStyles,transitionStatus:H,props:E,refs:[t,C.useStateSetter("positionerElement")],hidden:!w,inert:!N}),eS=w&&"menu"!==I.type&&("menubar"!==I.type&&L&&G!==l.REASONS.triggerHover||"menubar"===I.type&&I.context.modal),eb=null;return"menubar"===I.type?eb=I.context.contentElement:void 0===I.type&&(eb=_),(0,k.jsxs)(O.MenuPositionerContext.Provider,{value:eg,children:[eS&&(0,k.jsx)(et.InternalBackdrop,{ref:"context-menu"===I.type||"nested-context-menu"===I.type?I.context.internalBackdropRef:null,inert:(0,z.inertValue)(!N),cutout:eb}),(0,k.jsx)(Q.FloatingNode,{id:V,children:(0,k.jsx)(ee.CompositeList,{elementsRef:C.context.itemDomElements,labelsRef:C.context.itemLabels,children:ex})})]})});e.s(["MenuPositioner",0,es],503662);let ea=r.createContext(void 0),el=r.memo(r.forwardRef(function(e,t){let{render:n,className:o,value:u,defaultValue:s,onValueChange:a,disabled:l=!1,style:c,...d}=e,[g,m]=(0,f.useControlled)({controlled:u,default:s,name:"MenuRadioGroup"}),v=(0,p.useStableCallback)(a),R=(0,p.useStableCallback)((e,t)=>{v?.(e,t),t.isCanceled||m(e)}),h=(0,i.useRenderElement)("div",e,{state:{disabled:l},ref:t,props:{role:"group","aria-disabled":l||void 0,...d}}),x=r.useMemo(()=>({value:g,setValue:R,disabled:l}),[g,R,l]);return(0,k.jsx)(ea.Provider,{value:x,children:h})}));e.s(["MenuRadioGroup",0,el],59354);let ec=r.createContext(void 0),ed=r.forwardRef(function(e,t){let{render:n,className:u,id:s,label:a,nativeButton:c=!1,disabled:d=!1,closeOnClick:f=!1,value:m,style:v,...R}=e,h=(0,C.useCompositeListItem)({label:a}),x=(0,O.useMenuPositionerContext)(!0),S=(0,M.useBaseUiId)(s),{store:y}=(0,o.useMenuRootContext)(),P=y.useState("isActive",h.index),A=y.useState("itemProps"),{value:w,setValue:N,disabled:L}=function(){let e=r.useContext(ea);if(void 0===e)throw Error((0,g.default)(34));return e}(),D=L||d,F=w===m,{getItemProps:_,itemRef:H}=E({closeOnClick:f,disabled:D,highlighted:P,id:S,store:y,nativeButton:c,nodeId:x?.context.nodeId,itemMetadata:b}),U=r.useMemo(()=>({disabled:D,highlighted:P,checked:F}),[D,P,F]),B=(0,p.useStableCallback)(e=>{N(m,{...(0,T.createChangeEventDetails)(l.REASONS.itemPress,e.nativeEvent),preventUnmountOnClose:()=>{}})}),W=(0,i.useRenderElement)("div",e,{state:U,stateAttributesMapping:I,props:[A,{role:"menuitemradio","aria-checked":F,onClick:B},R,_],ref:[H,t,h.ref]});return(0,k.jsx)(ec.Provider,{value:U,children:W})});e.s(["MenuRadioItem",0,ed],300637);let ep=r.forwardRef(function(e,t){let{render:n,className:o,style:u,keepMounted:s=!1,...a}=e,l=function(){let e=r.useContext(ec);if(void 0===e)throw Error((0,g.default)(35));return e}(),c=r.useRef(null),{transitionStatus:d,setMounted:p}=(0,A.useTransitionStatus)(l.checked);(0,w.useOpenChangeComplete)({open:l.checked,ref:c,onComplete(){l.checked||p(!1)}});let f={checked:l.checked,disabled:l.disabled,highlighted:l.highlighted,transitionStatus:d};return(0,i.useRenderElement)("span",e,{state:f,stateAttributesMapping:I,ref:[t,c],props:{"aria-hidden":!0,...a},enabled:s||l.checked})});e.s(["MenuRadioItemIndicator",0,ep],281478);var ef=e.i(394822),eg=e.i(166392),em=e.i(863728),ev=e.i(155461),eR=e.i(538501),eh=e.i(427396),ex=e.i(92615),eS=e.i(106045),eb=e.i(526850),eE=e.i(410421),eC=e.i(922970),eM=e.i(150129),ey=e.i(877580),eI=e.i(913652),eO=e.i(118214);function eT(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function ek(e,t){return eT(t,e===eO.ARROW_UP||e===eO.ARROW_DOWN,e===eO.ARROW_LEFT||e===eO.ARROW_RIGHT)}function eP(e,t,n){return eT(t,e===eO.ARROW_DOWN,n?e===eO.ARROW_LEFT:e===eO.ARROW_RIGHT)||"Enter"===e||" "===e||""===e}var eA=e.i(974578),ew=e.i(107164);let eN=r.createContext(null);function eL(e){let t=r.useContext(eN);if(null===t&&!e)throw Error((0,g.default)(5));return t}var eD=e.i(189131),eF=e.i(564846),e_=e.i(332976),eH=e.i(493696),eU=e.i(549154),eB=e.i(478333),eW=e.i(695011),eG=e.i(561213);let eV={...eW.popupStoreSelectors,disabled:(0,e_.createSelector)(e=>"menubar"===e.parent.type&&e.parent.context.disabled||e.disabled),modal:(0,e_.createSelector)(e=>(void 0===e.parent.type||"context-menu"===e.parent.type)&&(e.modal??!0)),openMethod:(0,e_.createSelector)(e=>e.openMethod),allowMouseEnter:(0,e_.createSelector)(e=>e.allowMouseEnter),stickIfOpen:(0,e_.createSelector)(e=>e.stickIfOpen),parent:(0,e_.createSelector)(e=>e.parent),rootId:(0,e_.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("rootId"):void 0!==e.parent.type?e.parent.context.rootId:e.rootId),activeIndex:(0,e_.createSelector)(e=>e.activeIndex),isActive:(0,e_.createSelector)((e,t)=>e.activeIndex===t),hoverEnabled:(0,e_.createSelector)(e=>e.hoverEnabled),instantType:(0,e_.createSelector)(e=>e.instantType),lastOpenChangeReason:(0,e_.createSelector)(e=>e.openChangeReason),floatingTreeRoot:(0,e_.createSelector)(e=>"menu"===e.parent.type?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:(0,e_.createSelector)(e=>e.floatingNodeId),floatingParentNodeId:(0,e_.createSelector)(e=>e.floatingParentNodeId),itemProps:(0,e_.createSelector)(e=>e.itemProps),closeDelay:(0,e_.createSelector)(e=>e.closeDelay),hasViewport:(0,e_.createSelector)(e=>e.hasViewport),keyboardEventRelay:(0,e_.createSelector)(e=>e.keyboardEventRelay?e.keyboardEventRelay:"menu"===e.parent.type?e.parent.store.select("keyboardEventRelay"):void 0)};class ej extends eH.ReactStore{constructor(e){super({...{...(0,eW.createInitialPopupStoreState)(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new eB.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:em.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1},...e},{positionerRef:r.createRef(),popupRef:r.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:r.createRef(),beforeContentFocusGuardRef:r.createRef(),onOpenChangeComplete:void 0,triggerElements:new eG.PopupTriggerMap},eV),this.unsubscribeParentListener=this.observe("parent",e=>{if(this.unsubscribeParentListener?.(),"menu"===e.type){let t=e.store.select("rootId"),n=e.store.select("floatingTreeRoot"),r=e.store.select("keyboardEventRelay");this.unsubscribeParentListener=e.store.subscribe(()=>{let o=e.store.select("rootId"),i=e.store.select("floatingTreeRoot"),u=e.store.select("keyboardEventRelay");(t!==o||n!==i||r!==u)&&(t=o,n=i,r=u,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}void 0!==e.type&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:t})}static useStore(e,t){let n=(0,eU.useRefWithInit)(()=>new ej(t)).current;return e??n}unsubscribeParentListener=null}e.s(["MenuStore",0,ej],517510);var eK=e.i(279501);let eY=r.createContext(void 0);function eq(){return r.useContext(eY)}e.s(["MenuSubmenuRootContext",0,eY,"useMenuSubmenuRootContext",0,eq],9952);let eJ=(0,ev.fastComponent)(function(e){let t,{children:n,open:i,onOpenChange:u,onOpenChangeComplete:s,defaultOpen:c=!1,disabled:d=!1,modal:f,loopFocus:g=!0,orientation:m="vertical",actionsRef:v,closeParentOnEsc:R=!1,handle:x,triggerId:S,defaultTriggerId:b=null,highlightItemOnHover:E=!0}=e,C=(0,a.useContextMenuRootContext)(!0),M=(0,o.useMenuRootContext)(!0),y=eL(!0),I=eq(),O=r.useMemo(()=>I&&M?{type:"menu",store:M.store}:y?{type:"menubar",context:y}:C&&!M?{type:"context-menu",context:C}:{type:void 0},[C,M,y,I]),P=ej.useStore(x?.store,{open:c,openProp:i,activeTriggerId:b,triggerIdProp:S,parent:O});(0,eg.useOnFirstRender)(()=>{void 0===i&&!1===P.state.open&&!0===c&&P.update({open:!0,activeTriggerId:b})}),P.useControlledProp("openProp",i),P.useControlledProp("triggerIdProp",S),P.useContextCallback("onOpenChangeComplete",s);let A=P.useState("floatingTreeRoot"),w=(0,Q.useFloatingNodeId)(A),N=(0,Q.useFloatingParentNodeId)();(0,F.useIsoLayoutEffect)(()=>{C&&!M?P.update({parent:{type:"context-menu",context:C},floatingNodeId:w,floatingParentNodeId:N}):M&&P.update({floatingNodeId:w,floatingParentNodeId:N})},[C,M,w,N,P]);let L=P.useState("open"),D=P.useState("activeTriggerElement"),_=P.useState("positionerElement"),H=P.useState("hoverEnabled"),U=P.useState("disabled"),B=P.useState("lastOpenChangeReason"),W=P.useState("parent"),G=P.useState("activeIndex"),V=P.useState("payload"),j=P.useState("floatingParentNodeId"),K=r.useRef(null),Y=null!=j,{openMethod:q,triggerProps:J}=(0,eF.useOpenInteractionType)(L);P.useSyncedValues({disabled:d,modal:void 0===W.type?f:void 0,openMethod:q,rootId:(0,ef.useId)()}),(0,eK.useImplicitActiveTrigger)(P);let{forceUnmount:$}=(0,eK.useOpenStateTransitions)(L,P,()=>{P.update({allowMouseEnter:!1,stickIfOpen:!0})}),z=r.useRef("context-menu"!==W.type),Z=(0,X.useTimeout)();r.useEffect(()=>{if(L||(K.current=null),"context-menu"===W.type){if(!L){Z.clear(),z.current=!1;return}Z.start(500,()=>{z.current=!0})}},[Z,L,W.type]),(0,F.useIsoLayoutEffect)(()=>{L||H||P.set("hoverEnabled",!0)},[L,H,P]);let ee=r.useRef(!0),et=(0,X.useTimeout)(),er=(0,p.useStableCallback)((e,t)=>{let n=t.reason;if(L===e&&t.trigger===D&&B===n||(t.preventUnmountOnClose=()=>{P.set("preventUnmountingOnClose",!0)},e||null!=t.trigger||(t.trigger=D??void 0),u?.(e,t),t.isCanceled))return;P.state.floatingRootContext.dispatchOpenChange(e,t);let r=t.event;if(!1===e&&r?.type==="click"&&"touch"===r.pointerType&&!ee.current)return;if(!e&&null!==G){let e=P.context.itemDomElements.current[G];queueMicrotask(()=>{e?.setAttribute("tabindex","-1")})}e&&n===l.REASONS.triggerFocus?(ee.current=!1,et.start(300,()=>{ee.current=!0})):(ee.current=!0,et.clear());let o=(n===l.REASONS.triggerPress||n===l.REASONS.itemPress)&&0===r.detail&&r?.isTrusted,i=!e&&(n===l.REASONS.escapeKey||null==n),s={open:e,openChangeReason:n};K.current=t.event??null;let a=t.trigger?.id??null;(a||e)&&(s.activeTriggerId=a,s.activeTriggerElement=t.trigger??null),P.update(s),"menubar"===W.type&&(n===l.REASONS.triggerFocus||n===l.REASONS.focusOut||n===l.REASONS.triggerHover||n===l.REASONS.listNavigation||n===l.REASONS.siblingOpen)?P.set("instantType","group"):o||i?P.set("instantType",o?"click":"dismiss"):P.set("instantType",void 0)}),eo=r.useCallback(()=>{P.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.imperativeAction))},[P]);r.useImperativeHandle(v,()=>({unmount:$,close:eo}),[$,eo]),"context-menu"===W.type&&(t=W.context),r.useImperativeHandle(t?.positionerRef,()=>_,[_]),r.useImperativeHandle(t?.actionsRef,()=>({setOpen:er}),[er]);let ei=(0,ew.useSyncedFloatingRootContext)({popupStore:P,onOpenChange:er}),eu=ei.context.events;r.useEffect(()=>{let e=({open:e,eventDetails:t})=>er(e,t);return eu.on("setOpen",e),()=>{eu?.off("setOpen",e)}},[eu,er]);let es=(0,eR.useDismiss)(ei,{enabled:!U,bubbles:{escapeKey:R&&"menu"===W.type},outsidePress:()=>"context-menu"!==W.type||K.current?.type==="contextmenu"||z.current,externalTree:Y?A:void 0}),ea=(0,eA.useRole)(ei,{role:"menu"}),el=(0,eD.useDirection)(),ec=r.useCallback(e=>{P.select("activeIndex")!==e&&P.set("activeIndex",e)},[P]),ed=function(e,t){let n="rootStore"in e?e.rootStore:e,o=n.useState("open"),i=n.useState("floatingElement"),u=n.useState("domReferenceElement"),s=n.context.dataRef,{listRef:a,activeIndex:c,onNavigate:d=()=>{},enabled:f=!0,selectedIndex:g=null,allowEscape:m=!1,loopFocus:v=!1,nested:R=!1,rtl:h=!1,virtual:x=!1,focusItemOnOpen:S="auto",focusItemOnHover:b=!0,openOnArrowKeyDown:E=!0,disabledIndices:C,orientation:M="vertical",parentOrientation:y,cols:I=1,id:O,resetOnPointerLeave:k=!0,externalTree:P}=t,A=(0,eC.getFloatingFocusElement)(i),w=(0,eS.useValueAsRef)(A),N=(0,Q.useFloatingParentNodeId)(),L=(0,Q.useFloatingTree)(P);(0,F.useIsoLayoutEffect)(()=>{s.current.orientation=M},[s,M]);let D=(0,eC.isTypeableCombobox)(u),_=r.useRef(S),H=r.useRef(g??-1),U=r.useRef(null),B=r.useRef(!0),W=(0,p.useStableCallback)(e=>{d(-1===H.current?null:H.current,e)}),G=r.useRef(W),V=r.useRef(!!i),j=r.useRef(o),K=r.useRef(!1),Y=r.useRef(!1),q=r.useRef(null),J=(0,eS.useValueAsRef)(C),$=(0,eS.useValueAsRef)(o),z=(0,eS.useValueAsRef)(g),X=(0,eS.useValueAsRef)(k),Z=(0,p.useStableCallback)(()=>{function e(e){x?L?.events.emit("virtualfocus",e):q.current=(0,eI.enqueueFocus)(e,{sync:K.current,preventScroll:!0})}let t=a.current[H.current],n=Y.current;t&&e(t),(K.current?e=>e():requestAnimationFrame)(()=>{let r=a.current[H.current]||t;!r||(t||e(r),en&&(n||!B.current)&&r.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,F.useIsoLayoutEffect)(()=>{f&&(o&&i?(H.current=g??-1,_.current&&null!=g&&(Y.current=!0,W())):V.current&&(H.current=-1,G.current()))},[f,o,i,g,W]),(0,F.useIsoLayoutEffect)(()=>{if(f){if(!o){K.current=!1;return}if(i)if(null==c){if(K.current=!1,null!=z.current)return;if(V.current&&(H.current=-1,Z()),(!j.current||!V.current)&&_.current&&(null!=U.current||!0===_.current&&null==U.current)){let e=0,t=()=>{null==a.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(t),e+=1):(H.current=null==U.current||eP(U.current,M,h)||R?(0,ey.getMinListIndex)(a):(0,ey.getMaxListIndex)(a),U.current=null,W())};t()}}else(0,ey.isIndexOutOfListBounds)(a.current,c)||(H.current=c,Z(),Y.current=!1)}},[f,o,i,c,z,R,a,M,h,W,Z,J]),(0,F.useIsoLayoutEffect)(()=>{if(!f||i||!L||x||!V.current)return;let e=L.nodesRef.current,t=e.find(e=>e.id===N)?.context?.elements.floating,n=(0,eE.activeElement)((0,eb.ownerDocument)(i)),r=e.some(e=>e.context&&(0,eE.contains)(e.context.elements.floating,n));t&&!r&&B.current&&t.focus({preventScroll:!0})},[f,i,L,N,x]),(0,F.useIsoLayoutEffect)(()=>{G.current=W,j.current=o,V.current=!!i}),(0,F.useIsoLayoutEffect)(()=>{o||(U.current=null,_.current=S)},[o,S]);let ee=null!=c,et=(0,p.useStableCallback)(e=>{if(!$.current)return;let t=a.current.indexOf(e.currentTarget);-1!==t&&(H.current!==t||c!==t)&&(H.current=t,W(e))}),en=r.useMemo(()=>({onFocus(e){K.current=!0,et(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){K.current=!0,Y.current=!1,b&&et(e)},onPointerLeave(e){if(!$.current||!B.current||"touch"===e.pointerType)return;K.current=!0;let t=e.relatedTarget;if(!(!b||a.current.includes(t))&&X.current&&(q.current?.(),q.current=null,H.current=-1,W(e),!x)){let e=w.current,t=(0,eE.activeElement)((0,eb.ownerDocument)(e));e&&(0,eE.contains)(e,t)&&e.focus({preventScroll:!0})}}}),[et,$,w,b,a,W,X,x]),er=r.useCallback(()=>y??L?.nodesRef.current.find(e=>e.id===N)?.context?.dataRef?.current.orientation,[N,L,y]),eo=(0,p.useStableCallback)(e=>{var t;let r,i;if(B.current=!1,K.current=!0,229===e.which||!$.current&&e.currentTarget===w.current)return;if(R&&(t=e.key,r=h?t===eO.ARROW_RIGHT:t===eO.ARROW_LEFT,i=t===eO.ARROW_UP,"both"===M||"horizontal"===M&&I&&I>1?"Escape"===t:eT(M,r,i))){ek(e.key,er())||(0,eM.stopEvent)(e),n.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.listNavigation,e.nativeEvent)),(0,ex.isHTMLElement)(u)&&(x?L?.events.emit("virtualfocus",u):u.focus());return}let s=H.current,c=(0,ey.getMinListIndex)(a,C),d=(0,ey.getMaxListIndex)(a,C);if(D||("Home"===e.key&&((0,eM.stopEvent)(e),H.current=c,W(e)),"End"===e.key&&((0,eM.stopEvent)(e),H.current=d,W(e))),I>1){let t=Array.from({length:a.current.length},()=>({width:1,height:1})),n=(0,ey.createGridCellMap)(t,I,!1),r=n.findIndex(e=>null!=e&&!(0,ey.isListIndexDisabled)(a.current,e,C)),o=n.reduce((e,t,n)=>null==t||(0,ey.isListIndexDisabled)(a.current,t,C)?e:n,-1),i=n[(0,ey.getGridNavigatedIndex)(n.map(e=>null!=e?a.current[e]:null),{event:e,orientation:M,loopFocus:v,rtl:h,cols:I,disabledIndices:(0,ey.getGridCellIndices)([...("function"!=typeof C?C:null)||a.current.map((e,t)=>(0,ey.isListIndexDisabled)(a.current,t,C)?t:void 0),void 0],n),minIndex:r,maxIndex:o,prevIndex:(0,ey.getGridCellIndexOfCorner)(H.current>d?c:H.current,t,n,I,e.key===eO.ARROW_DOWN?"bl":e.key===(h?eO.ARROW_LEFT:eO.ARROW_RIGHT)?"tr":"tl"),stopEvent:!0})];if(null!=i&&(H.current=i,W(e)),"both"===M)return}if(ek(e.key,M)){if((0,eM.stopEvent)(e),o&&!x&&(0,eE.activeElement)(e.currentTarget.ownerDocument)===e.currentTarget){H.current=eP(e.key,M,h)?c:d,W(e);return}eP(e.key,M,h)?v?s>=d?m&&s!==a.current.length?H.current=-1:(K.current=!1,H.current=c):H.current=(0,ey.findNonDisabledListIndex)(a.current,{startingIndex:s,disabledIndices:C}):H.current=Math.min(d,(0,ey.findNonDisabledListIndex)(a.current,{startingIndex:s,disabledIndices:C})):v?s<=c?m&&-1!==s?H.current=a.current.length:(K.current=!1,H.current=d):H.current=(0,ey.findNonDisabledListIndex)(a.current,{startingIndex:s,decrement:!0,disabledIndices:C}):H.current=Math.max(c,(0,ey.findNonDisabledListIndex)(a.current,{startingIndex:s,decrement:!0,disabledIndices:C})),(0,ey.isIndexOutOfListBounds)(a.current,H.current)&&(H.current=-1),W(e)}}),ei=r.useMemo(()=>x&&o&&ee&&{"aria-activedescendant":`${O}-${c}`},[x,o,ee,O,c]),eu=r.useMemo(()=>({"aria-orientation":"both"===M?void 0:M,...!D?ei:{},onKeyDown(e){if("Tab"===e.key&&e.shiftKey&&o&&!x){let t=(0,eE.getTarget)(e.nativeEvent);if(t&&!(0,eE.contains)(w.current,t))return;(0,eM.stopEvent)(e),n.setOpen(!1,(0,T.createChangeEventDetails)(l.REASONS.focusOut,e.nativeEvent)),(0,ex.isHTMLElement)(u)&&u.focus();return}eo(e)},onPointerMove(){B.current=!0}}),[ei,eo,w,M,D,n,o,x,u]),es=r.useMemo(()=>{function e(e){"auto"===S&&(0,eM.isVirtualClick)(e.nativeEvent)&&(_.current=!x)}function t(e){_.current=S,"auto"===S&&(0,eM.isVirtualPointerEvent)(e.nativeEvent)&&(_.current=!0)}return{onKeyDown(e){var t,r;let o=n.select("open");B.current=!1;let i=e.key.startsWith("Arrow"),u=(t=e.key,r=er(),eT(r,h?t===eO.ARROW_LEFT:t===eO.ARROW_RIGHT,t===eO.ARROW_DOWN)),s=ek(e.key,M),c=(R?u:s)||"Enter"===e.key||""===e.key.trim();if(x&&o)return eo(e);if(o||E||!i){if(c){let t=ek(e.key,er());U.current=R&&t?null:e.key}if(R){u&&((0,eM.stopEvent)(e),o?(H.current=(0,ey.getMinListIndex)(a,J.current),W(e)):n.setOpen(!0,(0,T.createChangeEventDetails)(l.REASONS.listNavigation,e.nativeEvent,e.currentTarget)));return}s&&(null!=z.current&&(H.current=z.current),(0,eM.stopEvent)(e),!o&&E?n.setOpen(!0,(0,T.createChangeEventDetails)(l.REASONS.listNavigation,e.nativeEvent,e.currentTarget)):eo(e),o&&W(e))}},onFocus(e){n.select("open")&&!x&&(H.current=-1,W(e))},onPointerDown:t,onPointerEnter:t,onMouseDown:e,onClick:e}},[eo,J,S,a,R,W,n,E,M,er,h,z,x]),ea=r.useMemo(()=>({...ei,...es}),[ei,es]);return r.useMemo(()=>f?{reference:ea,floating:eu,item:en,trigger:es}:{},[f,ea,eu,es,en])}(ei,{enabled:!U,listRef:P.context.itemDomElements,activeIndex:G,nested:void 0!==W.type,loopFocus:g,orientation:m,parentOrientation:"menubar"===W.type?W.context.orientation:void 0,rtl:"rtl"===el,disabledIndices:em.EMPTY_ARRAY,onNavigate:ec,openOnArrowKeyDown:"context-menu"!==W.type,externalTree:Y?A:void 0,focusItemOnHover:E}),ep=r.useCallback(e=>{P.context.typingRef.current=e},[P]),ev=function(e,t){let n="rootStore"in e?e.rootStore:e,o=n.context.dataRef,i=n.useState("open"),{listRef:u,elementsRef:s,activeIndex:a,onMatch:l,onTypingChange:c,enabled:d=!0,resetMs:f=750,selectedIndex:g=null}=t,m=(0,X.useTimeout)(),v=r.useRef(""),R=r.useRef(g??a??-1),h=r.useRef(null);(0,F.useIsoLayoutEffect)(()=>{(i||null===g)&&(m.clear(),h.current=null,""!==v.current&&(v.current=""))},[i,g,m]),(0,F.useIsoLayoutEffect)(()=>{i&&""===v.current&&(R.current=g??a??-1)},[i,g,a]);let x=(0,p.useStableCallback)(e=>{e?o.current.typing||(o.current.typing=e,c?.(e)):o.current.typing&&(o.current.typing=e,c?.(e))}),S=(0,p.useStableCallback)(e=>{function t(e,n,r=0){if(0===e.length)return -1;let o=(r%e.length+e.length)%e.length,i=n.toLocaleLowerCase();for(let t=0;t<e.length;t+=1){let n=(o+t)%e.length,r=e[n];if(r?.toLocaleLowerCase().startsWith(i)&&function(e){let t=s?.current[e];return!t||(0,ey.isElementVisible)(t)}(n))return n}return -1}let n=u.current;if(v.current.length>0&&" "===e.key&&((0,eM.stopEvent)(e),x(!0)),v.current.length>0&&" "!==v.current[0]&&-1===t(n,v.current)&&" "!==e.key&&x(!1),null==n||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;i&&" "!==e.key&&((0,eM.stopEvent)(e),x(!0));let r=""===v.current;r&&(R.current=g??a??-1),n.every(e=>!e||e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase())&&v.current===e.key&&(v.current="",R.current=h.current),v.current+=e.key,m.start(f,()=>{v.current="",R.current=h.current,x(!1)});let o=r?g??a??-1:R.current,c=t(n,v.current,(o??0)+1);-1!==c?(l?.(c),h.current=c):" "!==e.key&&(v.current="",x(!1))}),b=(0,p.useStableCallback)(e=>{let t=e.relatedTarget,r=n.select("domReferenceElement"),o=n.select("floatingElement"),i=(0,eE.contains)(r,t),u=(0,eE.contains)(o,t);i||u||(m.clear(),v.current="",R.current=h.current,x(!1))}),E=r.useMemo(()=>({onKeyDown:S,onBlur:b}),[S,b]),C=r.useMemo(()=>({onKeyDown:S,onBlur:b}),[S,b]);return r.useMemo(()=>d?{reference:E,floating:C}:{},[d,E,C])}(ei,{listRef:P.context.itemLabels,elementsRef:P.context.itemDomElements,activeIndex:G,resetMs:en.TYPEAHEAD_RESET_MS,onMatch:e=>{L&&e!==G&&P.set("activeIndex",e)},onTypingChange:ep}),{getReferenceProps:eN,getFloatingProps:e_,getItemProps:eH,getTriggerProps:eU}=(0,eh.useInteractions)([es,ea,ed,ev]),eB=r.useMemo(()=>{let e=(0,h.mergeProps)(eN(),{onMouseMove(){P.set("allowMouseEnter",!0)}},J);return delete e.role,e},[eN,P,J]),eW=r.useMemo(()=>{let e=eU();if(!e)return e;let t=(0,h.mergeProps)(e,J);return delete t.role,delete t["aria-controls"],t},[eU,J]),eG=r.useMemo(()=>e_({onMouseMove(){P.set("allowMouseEnter",!0),"menu"===W.type&&P.set("hoverEnabled",!1)},onClick(){P.select("hoverEnabled")&&P.set("hoverEnabled",!1)},onKeyDown(e){let t=P.select("keyboardEventRelay");t&&!e.isPropagationStopped()&&t(e)}}),[e_,W.type,P]),eV=r.useMemo(()=>eH(),[eH]);P.useSyncedValues({floatingRootContext:ei,activeTriggerProps:eB,inactiveTriggerProps:eW,popupProps:eG,itemProps:eV});let eY=r.useMemo(()=>({store:P,parent:O}),[P,O]),eJ=(0,k.jsx)(o.MenuRootContext.Provider,{value:eY,children:"function"==typeof n?n({payload:V}):n});return void 0===W.type||"context-menu"===W.type?(0,k.jsx)(Q.FloatingTree,{externalTree:A,children:eJ}):eJ});e.s(["MenuRoot",0,eJ],149292),e.s(["MenuSubmenuRoot",0,function(e){let t=(0,o.useMenuRootContext)().store,n=r.useMemo(()=>({parentMenu:t}),[t]);return(0,k.jsx)(eY.Provider,{value:n,children:(0,k.jsx)(eJ,{...e})})}],65255);var e$=e.i(499198),ez=e.i(934940),eX=e.i(604921),eQ=e.i(480283),eZ=e.i(285182),e0=e.i(530909);function e1(e){let{render:t,className:n,style:r,state:o=em.EMPTY_OBJECT,props:u=em.EMPTY_ARRAY,refs:s=em.EMPTY_ARRAY,metadata:a,stateAttributesMapping:l,tag:c="div",...d}=e,{compositeProps:p,compositeRef:f}=(0,e0.useCompositeItem)({metadata:a});return(0,i.useRenderElement)(c,e,{state:o,ref:[...s,f],props:[p,...u,d],stateAttributesMapping:l})}var e5=e.i(352360);function e2(e){return(0,ex.isHTMLElement)(e)&&e.hasAttribute("data-rootownerid")?e.getAttribute("data-rootownerid")??void 0:(0,ex.isLastTraversableNode)(e)?void 0:e2((0,ex.getParentNode)(e))}e.s(["findRootOwnerId",0,e2],87709);var e9=e.i(660079),e3=e.i(601957);let e7=(0,ev.fastComponentRef)(function(e,t){let n,s,c,{render:d,className:f,disabled:m=!1,nativeButton:v=!0,id:h,openOnHover:x,delay:S=100,closeDelay:b=0,handle:E,payload:C,style:y,...I}=e,O=(0,o.useMenuRootContext)(!0),T=E?.store??O?.store;if(!T)throw Error((0,g.default)(85));let P=(0,M.useBaseUiId)(h),A=T.useState("isTriggerActive",P),w=T.useState("floatingRootContext"),N=T.useState("isOpenedByTrigger",P),L=r.useRef(null),D=(n=(0,a.useContextMenuRootContext)(!0),s=(0,o.useMenuRootContext)(!0),c=eL(!0),r.useMemo(()=>c?{type:"menubar",context:c}:n&&!s?{type:"context-menu",context:n}:{type:void 0},[n,s,c])),_=(0,e5.useCompositeRootContext)(!0),H=(0,Q.useFloatingTree)(),U=r.useMemo(()=>H??new eB.FloatingTreeStore,[H]),B=(0,Q.useFloatingNodeId)(U),W=(0,Q.useFloatingParentNodeId)(),{registerTrigger:G,isMountedByThisTrigger:V}=(0,eK.useTriggerDataForwarding)(P,L,T,{payload:C,closeDelay:b,parent:D,floatingTreeRoot:U,floatingNodeId:B,floatingParentNodeId:W,keyboardEventRelay:_?.relayKeyboardEvent}),j="menubar"===D.type,K=T.useState("disabled"),Y=m||K||j&&D.context.disabled,{getButtonProps:q,buttonRef:J}=(0,R.useButton)({disabled:Y,native:v});r.useEffect(()=>{N||void 0!==D.type||(T.context.allowMouseUpTriggerRef.current=!1)},[T,N,D.type]);let $=r.useRef(null),z=(0,X.useTimeout)(),Z=(0,p.useStableCallback)(e=>{if(!$.current)return;z.clear(),T.context.allowMouseUpTriggerRef.current=!1;let t=e.target;if((0,eE.contains)($.current,t)||(0,eE.contains)(T.select("positionerElement"),t)||t===$.current||null!=t&&e2(t)===T.select("rootId"))return;let n=function(e){let t=e.getBoundingClientRect(),n=(0,eZ.ownerWindow)(e),r=n.getComputedStyle(e,"::before"),o=n.getComputedStyle(e,"::after");if("none"===r.content&&"none"===o.content)return t;let i=parseFloat(r.width)||0,u=parseFloat(r.height)||0,s=parseFloat(o.width)||0,a=parseFloat(o.height)||0,l=Math.max(t.width,i,s),c=Math.max(t.height,u,a),d=l-t.width,p=c-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-p/2,bottom:t.bottom+p/2}}($.current);e.clientX>=n.left-2&&e.clientX<=n.right+2&&e.clientY>=n.top-2&&e.clientY<=n.bottom+2||U.events.emit("close",{domEvent:e,reason:l.REASONS.cancelOpen})});r.useEffect(()=>{N&&T.select("lastOpenChangeReason")===l.REASONS.triggerHover&&(0,eb.ownerDocument)($.current).addEventListener("mouseup",Z,{once:!0})},[N,Z,T]);let ee=j&&D.context.hasSubmenuOpen,et=x??ee,er=(0,eQ.useHoverReferenceInteraction)(w,{enabled:et&&!Y&&"context-menu"!==D.type&&(!j||ee&&!V),handleClose:(0,e$.safePolygon)({blockPointerEvents:!j}),mouseOnly:!0,move:!1,restMs:void 0===D.type?S:void 0,delay:{close:b},triggerElementRef:L,externalTree:U,isActiveTrigger:A,isClosing:()=>"ending"===T.select("transitionStatus")}),eo=function(e,t){let n=(0,X.useTimeout)(),[o,i]=r.useState(!1);return(0,F.useIsoLayoutEffect)(()=>{e&&"trigger-hover"===t?(i(!0),n.start(en.PATIENT_CLICK_THRESHOLD,()=>{i(!1)})):e||(n.clear(),i(!1))},[e,t,n]),o}(N,T.select("lastOpenChangeReason")),ei=(0,ez.useClick)(w,{enabled:!Y&&"context-menu"!==D.type,event:N&&j?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===D.type&&eo}),eu=(0,eX.useFocus)(w,{enabled:!Y&&ee}),es=function(e){let{enabled:t=!0,mouseDownAction:n,open:o}=e,i=r.useRef(!1);return r.useMemo(()=>t?{onMouseDown:e=>{("open"===n&&!o||"close"===n&&o)&&(i.current=!0,(0,eb.ownerDocument)(e.currentTarget).addEventListener("click",()=>{i.current=!1},{once:!0}))},onClick:e=>{i.current&&(i.current=!1,e.preventBaseUIHandler())}}:em.EMPTY_OBJECT,[t,n,o])}({open:N,enabled:j,mouseDownAction:"open"}),ea=(0,eh.useInteractions)([ei,eu]),el={disabled:Y,open:N},ec=T.useState("triggerProps",V),ed=[$,t,J,G,L],ep=[ea.getReferenceProps(),er??em.EMPTY_OBJECT,ec,{"aria-haspopup":"menu",id:P,onMouseDown:e=>{T.select("open")||(z.start(200,()=>{T.context.allowMouseUpTriggerRef.current=!0}),(0,eb.ownerDocument)(e.currentTarget).addEventListener("mouseup",Z,{once:!0}))}},j?{role:"menuitem"}:{},es,I,q],{preFocusGuardRef:ef,handlePreFocusGuardFocus:eg,handleFocusTargetFocus:ev}=(0,e9.useTriggerFocusGuards)(T,L),eR=(0,i.useRenderElement)("button",e,{enabled:!j,stateAttributesMapping:u.pressableTriggerOpenStateMapping,state:el,ref:ed,props:ep});return j?(0,k.jsx)(e1,{tag:"button",render:d,className:f,style:y,state:el,refs:ed,props:ep,stateAttributesMapping:u.pressableTriggerOpenStateMapping}):N?(0,k.jsxs)(r.Fragment,{children:[(0,k.jsx)(e3.FocusGuard,{ref:ef,onFocus:eg},`${P}-pre-focus-guard`),(0,k.jsx)(r.Fragment,{children:eR},P),(0,k.jsx)(e3.FocusGuard,{ref:T.context.triggerFocusTargetRef,onFocus:ev},`${P}-post-focus-guard`)]}):(0,k.jsx)(r.Fragment,{children:eR},P)});e.s(["MenuTrigger",0,e7],989479);var e4=e.i(3310);let e8=((n={}).popupWidth="--popup-width",n.popupHeight="--popup-height",n),e6={activationDirection:e=>e?{"data-activation-direction":e}:null},te=r.forwardRef(function(e,t){let{render:n,className:r,style:u,children:s,...a}=e,{store:l}=(0,o.useMenuRootContext)(),{side:c}=(0,O.useMenuPositionerContext)(),d=l.useState("instantType"),{children:p,state:f}=(0,e4.usePopupViewport)({store:l,side:c,cssVars:e8,children:s}),g={activationDirection:f.activationDirection,transitioning:f.transitioning,instant:d};return(0,i.useRenderElement)("div",e,{state:g,ref:t,props:[a,{children:p}],stateAttributesMapping:e6})});e.s(["MenuViewport",0,te],743303)},648224,327794,e=>{"use strict";e.i(676185);var t=e.i(324573),n=e.i(487455),r=e.i(28051),o=e.i(597375),i=e.i(582883),u=e.i(277658),s=e.i(349204),a=e.i(81752),l=e.i(33427),c=e.i(293209),d=e.i(503662),p=e.i(59354),f=e.i(300637),g=e.i(281478),m=e.i(149292),v=e.i(65255),R=e.i(989479),h=e.i(743303),x=e.i(362962);e.i(8890);var S=e.i(267805),b=e.i(764556),E=e.i(499198),C=e.i(934940),M=e.i(480283),y=e.i(427396),I=e.i(35359),O=e.i(139236),T=e.i(817955),k=e.i(296615),P=e.i(287591),A=e.i(969490),w=e.i(922528),N=e.i(279501),L=e.i(9952);let D=b.forwardRef(function(e,t){let{render:n,className:r,label:o,id:i,nativeButton:u=!1,openOnHover:s=!0,delay:a=100,closeDelay:l=0,disabled:c=!1,style:d,...p}=e,f=(0,k.useCompositeListItem)(),g=(0,w.useMenuPositionerContext)(),{store:m}=(0,I.useMenuRootContext)(),v=(0,O.useBaseUiId)(i),R=m.useState("open"),h=m.useState("floatingRootContext"),x=m.useState("floatingTreeRoot"),D=(0,N.useTriggerRegistration)(v,m),F=b.useCallback(e=>{let t=D(e);return null!==e&&m.select("open")&&null==m.select("activeTriggerId")&&m.update({activeTriggerId:v,activeTriggerElement:e,closeDelay:l}),t},[D,l,m,v]),_=b.useRef(null),H=b.useCallback(e=>{_.current=e,m.set("activeTriggerElement",e)},[m]),U=(0,L.useMenuSubmenuRootContext)();if(!U?.parentMenu)throw Error((0,S.default)(37));m.useSyncedValue("closeDelay",l);let B=U.parentMenu,W=B.useState("itemProps"),G=B.useState("isActive",f.index),V=b.useMemo(()=>({type:"submenu-trigger",setActive(){B.set("activeIndex",f.index)}}),[B,f.index]),j=m.useState("disabled"),K=c||j,{getItemProps:Y,itemRef:q}=(0,P.useMenuItem)({closeOnClick:!1,disabled:K,highlighted:G,id:v,store:m,typingRef:B.context.typingRef,nativeButton:u,itemMetadata:V,nodeId:g?.context.nodeId}),J=m.useState("hoverEnabled"),$=B.useState("allowMouseEnter"),z=(0,M.useHoverReferenceInteraction)(h,{enabled:J&&s&&!K,handleClose:(0,E.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:a,delay:$?{open:a,close:l}:0,triggerElementRef:_,externalTree:x,isClosing:()=>"ending"===m.select("transitionStatus")}),X=(0,C.useClick)(h,{enabled:!K,event:"mousedown",toggle:!s,ignoreMouse:s,stickIfOpen:!1}),Q=(0,y.useInteractions)([X]),Z=m.useState("triggerProps",!0);return delete Z.id,(0,A.useRenderElement)("div",e,{state:{disabled:K,highlighted:G,open:R},stateAttributesMapping:T.triggerOpenStateMapping,props:[Q.getReferenceProps(),z,Z,W,{tabIndex:R||G?0:-1,onBlur(){G&&B.set("activeIndex",null)}},p,Y],ref:[t,f.ref,q,F,H]})});e.s(["MenuSubmenuTrigger",0,D],327794);var F=e.i(602453),_=e.i(517510);class H{constructor(){this.store=new _.MenuStore}open(e){let t=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!t)throw Error((0,S.default)(83,e));this.store.setOpen(!0,(0,F.createChangeEventDetails)("imperative-action",void 0,t))}close(){this.store.setOpen(!1,(0,F.createChangeEventDetails)("imperative-action",void 0,void 0))}get isOpen(){return this.store.state.open}}e.s(["Arrow",()=>t.MenuArrow,"Backdrop",()=>n.MenuBackdrop,"CheckboxItem",()=>r.MenuCheckboxItem,"CheckboxItemIndicator",()=>o.MenuCheckboxItemIndicator,"Group",()=>i.MenuGroup,"GroupLabel",()=>u.MenuGroupLabel,"Handle",0,H,"Item",()=>s.MenuItem,"LinkItem",()=>a.MenuLinkItem,"Popup",()=>l.MenuPopup,"Portal",()=>c.MenuPortal,"Positioner",()=>d.MenuPositioner,"RadioGroup",()=>p.MenuRadioGroup,"RadioItem",()=>f.MenuRadioItem,"RadioItemIndicator",()=>g.MenuRadioItemIndicator,"Root",()=>m.MenuRoot,"Separator",()=>x.Separator,"SubmenuRoot",()=>v.MenuSubmenuRoot,"SubmenuTrigger",0,D,"Trigger",()=>R.MenuTrigger,"Viewport",()=>h.MenuViewport,"createHandle",0,function(){return new H}],449931);var U=e.i(449931);e.s(["Menu",0,U],648224)},299648,e=>{"use strict";var t=e.i(50153);e.s(["CheckIcon",()=>t.default])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,972846,e=>{"use strict";var t=e.i(912248);e.s(["X",()=>t.default])},604921,e=>{"use strict";var t=e.i(764556),r=e.i(92615),n=e.i(422561),o=e.i(516366),a=e.i(454889),i=e.i(232449),l=e.i(526850),s=e.i(410421),u=e.i(922970),c=e.i(602453),d=e.i(742665),f=e.i(134055);let h=a.isMac&&a.isSafari;e.s(["useFocus",0,function(e,a={}){let v="rootStore"in e?e.rootStore:e,{events:p,dataRef:m}=v.context,{enabled:g=!0,delay:w}=a,x=t.useRef(!1),b=t.useRef(null),y=(0,i.useTimeout)(),S=t.useRef(!0);t.useEffect(()=>{let e=v.select("domReferenceElement");if(!g)return;let t=(0,r.getWindow)(e);return(0,o.mergeCleanups)((0,n.addEventListener)(t,"blur",function(){let e=v.select("domReferenceElement");!v.select("open")&&(0,r.isHTMLElement)(e)&&e===(0,s.activeElement)((0,l.ownerDocument)(e))&&(x.current=!0)}),h&&(0,n.addEventListener)(t,"keydown",function(){S.current=!0},!0),h&&(0,n.addEventListener)(t,"pointerdown",function(){S.current=!1},!0))},[v,g]),t.useEffect(()=>{if(g)return p.on("openchange",e),()=>{p.off("openchange",e)};function e(e){if(e.reason===d.REASONS.triggerPress||e.reason===d.REASONS.escapeKey){let e=v.select("domReferenceElement");(0,r.isElement)(e)&&(b.current=e,x.current=!0)}}},[p,g,v]);let E=t.useMemo(()=>({onMouseLeave(){x.current=!1,b.current=null},onFocus(e){let t=e.currentTarget;if(x.current){if(b.current===t)return;x.current=!1,b.current=null}let n=(0,s.getTarget)(e.nativeEvent);if((0,r.isElement)(n)){if(h&&!e.relatedTarget){if(!S.current&&!(0,u.isTypeableElement)(n))return}else if(!(0,u.matchesFocusVisible)(n))return}let o=(0,u.isTargetInsideEnabledTrigger)(e.relatedTarget,v.context.triggerElements),{nativeEvent:a,currentTarget:i}=e,l="function"==typeof w?w():w;v.select("open")&&o||0===l||void 0===l?v.setOpen(!0,(0,c.createChangeEventDetails)(d.REASONS.triggerFocus,a,i)):y.start(l,()=>{x.current||v.setOpen(!0,(0,c.createChangeEventDetails)(d.REASONS.triggerFocus,a,i))})},onBlur(e){x.current=!1,b.current=null;let t=e.relatedTarget,n=e.nativeEvent,o=(0,r.isElement)(t)&&t.hasAttribute((0,f.createAttribute)("focus-guard"))&&"outside"===t.getAttribute("data-type");y.start(0,()=>{let e=v.select("domReferenceElement"),r=(0,s.activeElement)((0,l.ownerDocument)(e));if(!t&&r===e||(0,s.contains)(m.current.floatingContext?.refs.floating.current,r)||(0,s.contains)(e,r)||o)return;let a=t??r;(0,u.isTargetInsideEnabledTrigger)(a,v.context.triggerElements)||v.setOpen(!1,(0,c.createChangeEventDetails)(d.REASONS.triggerFocus,n))})}}),[m,v,y,w]);return t.useMemo(()=>g?{reference:E,trigger:E}:{},[g,E])}])},932031,942917,e=>{"use strict";let t=(0,e.i(433721).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["default",0,t],942917),e.s(["ChevronRightIcon",0,t],932031)},917955,e=>{"use strict";var t=e.i(344180),r=e.i(648224),n=e.i(465458);e.i(932031),e.i(299648),e.s(["DropdownMenu",0,function({...e}){return(0,t.jsx)(r.Menu.Root,{"data-slot":"dropdown-menu",...e})},"DropdownMenuContent",0,function({align:e="start",alignOffset:o=0,side:a="bottom",sideOffset:i=4,className:l,...s}){return(0,t.jsx)(r.Menu.Portal,{children:(0,t.jsx)(r.Menu.Positioner,{className:"isolate z-50 outline-none",align:e,alignOffset:o,side:a,sideOffset:i,children:(0,t.jsx)(r.Menu.Popup,{"data-slot":"dropdown-menu-content",className:(0,n.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 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:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",l),...s})})})},"DropdownMenuGroup",0,function({...e}){return(0,t.jsx)(r.Menu.Group,{"data-slot":"dropdown-menu-group",...e})},"DropdownMenuItem",0,function({className:e,inset:o,variant:a="default",...i}){return(0,t.jsx)(r.Menu.Item,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":a,className:(0,n.cn)("group/dropdown-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 not-data-[variant=destructive]: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 data-[variant=destructive]:*:[svg]:text-destructive",e),...i})},"DropdownMenuLabel",0,function({className:e,inset:o,...a}){return(0,t.jsx)(r.Menu.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":o,className:(0,n.cn)("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7",e),...a})},"DropdownMenuSeparator",0,function({className:e,...o}){return(0,t.jsx)(r.Menu.Separator,{"data-slot":"dropdown-menu-separator",className:(0,n.cn)("-mx-1 my-1 h-px bg-border",e),...o})},"DropdownMenuShortcut",0,function({className:e,...r}){return(0,t.jsx)("span",{"data-slot":"dropdown-menu-shortcut",className:(0,n.cn)("ml-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground",e),...r})},"DropdownMenuTrigger",0,function({...e}){return(0,t.jsx)(r.Menu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}])},137340,288556,e=>{"use strict";let t=(0,e.i(433721).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["default",0,t],288556),e.s(["Trash2",0,t],137340)},816709,e=>{"use strict";var t=e.i(764556);let r=e=>{let t,r=new Set,n=(e,n)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=n?n:"object"!=typeof o||null===o)?o:Object.assign({},t,o),r.forEach(r=>r(t,e))}},o=()=>t,a={setState:n,getState:o,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(n,o,a);return a},n=e=>{let n=e?r(e):r,o=e=>(function(e,r=e=>e){let n=t.default.useSyncExternalStore(e.subscribe,t.default.useCallback(()=>r(e.getState()),[e,r]),t.default.useCallback(()=>r(e.getInitialState()),[e,r]));return t.default.useDebugValue(n),n})(n,e);return Object.assign(o,n),o};e.s(["create",0,e=>e?n(e):n],816709)},433721,e=>{"use strict";var t=e.i(764556);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.createContext)({}),i=(0,t.forwardRef)(({color:e,size:n,strokeWidth:i,absoluteStrokeWidth:l,className:s="",children:u,iconNode:c,...d},f)=>{let{size:h=24,strokeWidth:v=2,absoluteStrokeWidth:p=!1,color:m="currentColor",className:g=""}=(0,t.useContext)(a)??{},w=l??p?24*Number(i??v)/Number(n??h):i??v;return(0,t.createElement)("svg",{ref:f,...o,width:n??h??o.width,height:n??h??o.height,stroke:e??m,strokeWidth:w,className:r("lucide",g,s),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(d)&&{"aria-hidden":"true"},...d},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(u)?u:[u]])});e.s(["default",0,(e,o)=>{let a=(0,t.forwardRef)(({className:a,...l},s)=>(0,t.createElement)(i,{ref:s,iconNode:o,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...l}));return a.displayName=n(e),a}],433721)},250226,e=>{"use strict";let t=(0,e.i(816709).create)(e=>({activePanel:"channel-list",setActivePanel:t=>e({activePanel:t}),overlays:[],registerOverlay:(t,r,n)=>e(e=>{if(n?.ignoreBack)return e;let o=e.overlays.findIndex(e=>e.id===t);if(-1===o)return{overlays:[...e.overlays,{id:t,close:r}]};let a=[...e.overlays];return a[o]={id:t,close:r},{overlays:a}}),unregisterOverlay:t=>e(e=>({overlays:e.overlays.filter(e=>e.id!==t)})),handleBackAction:()=>{let{overlays:r,activePanel:n}=t.getState(),o=r[r.length-1];return o?(o.close(),!0):"issue-detail"===n?(e({activePanel:"issue-list"}),!0):"chat"===n&&(e({activePanel:"channel-list"}),!0)}}));e.s(["useMobilePanelStore",0,t])},523592,e=>{"use strict";var t=e.i(8890);let r="agent-spaces-servers",n="agent-spaces-active-server",o="active-server";function a(){let e=t.default.env.NEXT_PUBLIC_SERVER_URL?.trim();if(e)return e.replace(/\/$/,"");let{hostname:r,port:n}=window.location;return("localhost"===r||"127.0.0.1"===r)&&"3000"===n?`http://${r}:3100`:window.location.origin}let i=[{id:"default",name:"Default",url:a()}];function l(){try{let e=localStorage.getItem(r);return e?JSON.parse(e).map(e=>"default"!==e.id||e.url?e:{...e,url:a()}):i}catch{return i}}function s(){return localStorage.getItem(n)||"default"}function u(){let e=l(),t=s();return e.find(e=>e.id===t)||e[0]||null}function c(){return u()?.url??null}e.s(["getActiveServer",0,u,"getActiveServerUrl",0,c,"loadActiveId",0,s,"loadServers",0,l,"resolveServerAssetUrl",0,function(e){if(!e)return"";if(/^(?:[a-z][a-z\d+\-.]*:)?\/\//i.test(e)||e.startsWith("data:")||e.startsWith("blob:"))return e;let t=c();return t?`${t.replace(/\/$/,"")}${e.startsWith("/")?"":"/"}${e}`:e},"saveActiveId",0,function(e){localStorage.setItem(n,e)},"saveServers",0,function(e){localStorage.setItem(r,JSON.stringify(e))},"setActiveServerCookie",0,function(e){e?document.cookie=`${o}=${encodeURIComponent(e)}; path=/; max-age=31536000; SameSite=Lax`:document.cookie=`${o}=; path=/; max-age=0`}])},50153,e=>{"use strict";let t=(0,e.i(433721).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",0,t])},189131,e=>{"use strict";var t=e.i(764556);let r=t.createContext(void 0);e.s(["useDirection",0,function(){let e=t.useContext(r);return e?.direction??"ltr"}])},459250,e=>{"use strict";var t=e.i(764556);let r=t.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});e.s(["CompositeListContext",0,r,"useCompositeListContext",0,function(){return t.useContext(r)}])},296615,e=>{"use strict";var t,r=e.i(764556),n=e.i(277642),o=e.i(459250);let a=((t={})[t.None=0]="None",t[t.GuessFromOrder=1]="GuessFromOrder",t);e.s(["useCompositeListItem",0,function(e={}){let{label:t,metadata:i,textRef:l,indexGuessBehavior:s,index:u}=e,{register:c,unregister:d,subscribeMapChange:f,elementsRef:h,labelsRef:v,nextIndexRef:p}=(0,o.useCompositeListContext)(),m=r.useRef(-1),[g,w]=r.useState(u??(s===a.GuessFromOrder?()=>{if(-1===m.current){let e=p.current;p.current+=1,m.current=e}return m.current}:-1)),x=r.useRef(null),b=r.useCallback(e=>{if(x.current=e,-1!==g&&null!==e&&(h.current[g]=e,v)){let r=void 0!==t;v.current[g]=r?t:l?.current?.textContent??e.textContent}},[g,h,v,t,l]);return(0,n.useIsoLayoutEffect)(()=>{if(null!=u)return;let e=x.current;if(e)return c(e,i),()=>{d(e)}},[u,c,d,i]),(0,n.useIsoLayoutEffect)(()=>{if(null==u)return f(e=>{let t=x.current?e.get(x.current)?.index:null;null!=t&&w(t)})},[u,f,w]),r.useMemo(()=>({ref:b,index:g}),[g,b])}])},756432,e=>{"use strict";var t=e.i(764556),r=e.i(549154),n=e.i(29905),o=e.i(277642),a=e.i(459250),i=e.i(344180);function l(){return new Map}function s(){return new Set}function u(e,t){let r=e.compareDocumentPosition(t);return r&Node.DOCUMENT_POSITION_FOLLOWING||r&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:r&Node.DOCUMENT_POSITION_PRECEDING||r&Node.DOCUMENT_POSITION_CONTAINS?1:0}e.s(["CompositeList",0,function(e){let{children:c,elementsRef:d,labelsRef:f,onMapChange:h}=e,v=(0,n.useStableCallback)(h),p=t.useRef(0),m=(0,r.useRefWithInit)(s).current,g=(0,r.useRefWithInit)(l).current,[w,x]=t.useState(0),b=t.useRef(w),y=(0,n.useStableCallback)((e,t)=>{g.set(e,t??null),b.current+=1,x(b.current)}),S=(0,n.useStableCallback)(e=>{g.delete(e),b.current+=1,x(b.current)}),E=t.useMemo(()=>{let e=new Map;return Array.from(g.keys()).filter(e=>e.isConnected).sort(u).forEach((t,r)=>{let n=g.get(t)??{};e.set(t,{...n,index:r})}),e},[g,w]);(0,o.useIsoLayoutEffect)(()=>{if("function"!=typeof MutationObserver||0===E.size)return;let e=new MutationObserver(e=>{let t=new Set,r=e=>t.has(e)?t.delete(e):t.add(e);e.forEach(e=>{e.removedNodes.forEach(r),e.addedNodes.forEach(r)}),0===t.size&&(b.current+=1,x(b.current))});return E.forEach((t,r)=>{r.parentElement&&e.observe(r.parentElement,{childList:!0})}),()=>{e.disconnect()}},[E]),(0,o.useIsoLayoutEffect)(()=>{b.current===w&&(d.current.length!==E.size&&(d.current.length=E.size),f&&f.current.length!==E.size&&(f.current.length=E.size),p.current=E.size),v(E)},[v,E,d,f,w]),(0,o.useIsoLayoutEffect)(()=>()=>{d.current=[]},[d]),(0,o.useIsoLayoutEffect)(()=>()=>{f&&(f.current=[])},[f]);let C=(0,n.useStableCallback)(e=>(m.add(e),()=>{m.delete(e)}));(0,o.useIsoLayoutEffect)(()=>{m.forEach(e=>e(E))},[m,E]);let M=t.useMemo(()=>({register:y,unregister:S,subscribeMapChange:C,elementsRef:d,labelsRef:f,nextIndexRef:p}),[y,S,C,d,f,p]);return(0,i.jsx)(a.CompositeListContext.Provider,{value:M,children:c})}])},530909,e=>{"use strict";var t=e.i(764556),r=e.i(204133),n=e.i(352360),o=e.i(296615);e.s(["useCompositeItem",0,function(e={}){let{highlightItemOnHover:a,highlightedIndex:i,onHighlightedIndexChange:l}=(0,n.useCompositeRootContext)(),{ref:s,index:u}=(0,o.useCompositeListItem)(e),c=i===u,d=t.useRef(null),f=(0,r.useMergedRefs)(s,d);return{compositeProps:t.useMemo(()=>({tabIndex:c?0:-1,onFocus(){l(u)},onMouseMove(){let e=d.current;if(!a||!e)return;let t=e.hasAttribute("disabled")||"true"===e.ariaDisabled;c||t||e.focus()}}),[c,l,u,a]),compositeRef:f,index:u}}])},355819,e=>{"use strict";let t=(0,e.i(816709).create)((e,t)=>({agents:[],loaded:!1,loading:!1,ensure:async()=>{let{loaded:r,loading:n}=t();if(!r&&!n){e({loading:!0});try{let t=await fetch("/api/agents/presets");if(!t.ok)return;let r=await t.json();e({agents:r,loaded:!0})}catch{}finally{e({loading:!1})}}},toggleEnabled:async r=>{let n=t().agents.find(e=>e.id===r);if(!n)return;let o=!n.enabled;e(e=>({agents:e.agents.map(e=>e.id===r?{...e,enabled:o}:e)}));try{(await fetch(`/api/agents/presets/${r}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,enabled:o})})).ok||e(e=>({agents:e.agents.map(e=>e.id===r?{...e,enabled:n.enabled}:e)}))}catch{e(e=>({agents:e.agents.map(e=>e.id===r?{...e,enabled:n.enabled}:e)}))}}}));e.s(["findAgentById",0,function(e){return t.getState().agents.find(t=>t.id===e)},"useAgentStore",0,t])},611176,e=>{"use strict";var t=e.i(344180),r=e.i(764556),n=e.i(465458),o=e.i(523592),a=e.i(355819);let i=[[/generativelanguage\.googleapis\.com/i,"gemini"],[/aiplatform\.googleapis\.com/i,"google"],[/api\.anthropic\.com/i,"anthropic"],[/api\.openai\.com/i,"openai"],[/api\.deepseek\.com/i,"deepseek"],[/open\.bigmodel\.cn/i,"zhipu"],[/api\.moonshot\.cn/i,"kimi"],[/dashscope\.aliyuncs\.com/i,"alibaba"],[/dashscope\.com/i,"alibaba"],[/aip\.baidubce\.com/i,"baidu"],[/ark\.cn-beijing\.volces\.com/i,"doubao"],[/api\.coze\./i,"doubao"],[/api\.minimax\.chat/i,"minimax"],[/api\.minimaxi\.com/i,"minimax"],[/api\.mistral\.ai/i,"mistral"],[/api\.groq\.com/i,"xai"],[/api\.x\.ai/i,"xai"],[/openrouter\.ai/i,"openrouter"],[/api\.siliconflow\.cn/i,"siliconflow"],[/localhost.*11434/i,"ollama"],[/127\.0\.0\.1.*11434/i,"ollama"],[/api\.cohere\./i,"cohere"],[/api-inference\.huggingface\.co/i,"huggingface"],[/openai\.azure\.com/i,"azure"],[/\.openai\.azure\.com/i,"azure"],[/bedrock-runtime\..*\.amazonaws\.com/i,"aws"],[/api\.huawei\./i,"huawei"],[/hunyuan\.tencentcloudapi\.com/i,"tencent"],[/api\.01\.ai/i,"yi"],[/api\.stepfun\.com/i,"stepfun"],[/api\.novita\.ai/i,"novita"],[/integrate\.api\.nvidia\.com/i,"nvidia"],[/api\.cloudflare\.com\/client\/v4\/accounts/i,"cloudflare"],[/meta\.llama/i,"meta"]];e.s(["AgentIcon",0,function({agentId:e,name:l,avatarUrl:s,apiBase:u,className:c,onClick:d}){let f,h=(0,a.useAgentStore)(e=>e.agents),[v,p]=(0,r.useState)(!1),[m,g]=(0,r.useState)(!1),w=e?h.find(t=>t.id===e):void 0,x=l||w?.name||e||"?",b=s??w?.avatarUrl,y=u??w?.apiBase,S=!v&&(0,o.resolveServerAssetUrl)(b)||(m?"":(f=function(e){if(!e)return"";for(let[t,r]of i)if(t.test(e))return r;return""}(y))?(0,o.resolveServerAssetUrl)(`/static/provider-icons/${f}.svg`):"");(0,r.useEffect)(()=>{p(!1),g(!1)},[b,y]);let E=x.charAt(0).toUpperCase();return(0,t.jsx)("div",{onClick:d,className:(0,n.cn)("flex items-center justify-center overflow-hidden rounded-lg bg-muted shrink-0",S&&"bg-transparent",!d&&"pointer-events-none",d&&"cursor-pointer hover:opacity-80 transition-opacity",c),children:S?(0,t.jsx)("img",{src:S,alt:x,className:"size-full object-cover rounded-[inherit]",onError:()=>{!v&&b?p(!0):g(!0)}}):(0,t.jsx)("span",{className:"text-xs font-semibold select-none",children:E})})}])},394394,e=>{"use strict";var t=e.i(764556);let r=t.createContext(void 0),n={disableStyleElements:!1};e.s(["useCSPContext",0,function(){return t.useContext(r)??n}])},464111,e=>{"use strict";e.s(["clamp",0,function(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}])},191118,e=>{"use strict";var t,r,n,o,a,i=e.i(344180);e.s([],556166),e.i(556166),e.i(8890);var l=e.i(764556),s=e.i(29905),u=e.i(232449),c=e.i(267805);let d=l.createContext(void 0);function f(){let e=l.useContext(d);if(void 0===e)throw Error((0,c.default)(53));return e}var h=e.i(969490);let v=((t={}).scrollAreaCornerHeight="--scroll-area-corner-height",t.scrollAreaCornerWidth="--scroll-area-corner-width",t);function p(e,t,r){if(!e)return 0;let n=getComputedStyle(e),o="x"===r?"Inline":"Block";return"x"===r&&"margin"===t?2*parseFloat(n[`${t}InlineStart`]):parseFloat(n[`${t}${o}Start`])+parseFloat(n[`${t}${o}End`])}let m=((r={}).orientation="data-orientation",r.hovering="data-hovering",r.scrolling="data-scrolling",r.hasOverflowX="data-has-overflow-x",r.hasOverflowY="data-has-overflow-y",r.overflowXStart="data-overflow-x-start",r.overflowXEnd="data-overflow-x-end",r.overflowYStart="data-overflow-y-start",r.overflowYEnd="data-overflow-y-end",r),g="base-ui-disable-scrollbar";var w=e.i(139236);let x=((n={}).scrolling="data-scrolling",n.hasOverflowX="data-has-overflow-x",n.hasOverflowY="data-has-overflow-y",n.overflowXStart="data-overflow-x-start",n.overflowXEnd="data-overflow-x-end",n.overflowYStart="data-overflow-y-start",n.overflowYEnd="data-overflow-y-end",n),b={hasOverflowX:e=>e?{[x.hasOverflowX]:""}:null,hasOverflowY:e=>e?{[x.hasOverflowY]:""}:null,overflowXStart:e=>e?{[x.overflowXStart]:""}:null,overflowXEnd:e=>e?{[x.overflowXEnd]:""}:null,overflowYStart:e=>e?{[x.overflowYStart]:""}:null,overflowYEnd:e=>e?{[x.overflowYEnd]:""}:null,cornerHidden:()=>null};var y=e.i(410421),S=e.i(394394);let E={x:0,y:0},C={width:0,height:0},M={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},R={x:!0,y:!0,corner:!0},O=l.forwardRef(function(e,t){let r,{render:n,className:o,overflowEdgeThreshold:a,style:c,...f}=e,x=function(e){if("number"==typeof e){let t=Math.max(0,e);return{xStart:t,xEnd:t,yStart:t,yEnd:t}}return{xStart:Math.max(0,e?.xStart||0),xEnd:Math.max(0,e?.xEnd||0),yStart:Math.max(0,e?.yStart||0),yEnd:Math.max(0,e?.yEnd||0)}}(a),O=(0,w.useBaseUiId)(),A=(0,u.useTimeout)(),N=(0,u.useTimeout)(),{nonce:I,disableStyleElements:T}=(0,S.useCSPContext)(),[k,L]=l.useState(!1),[P,z]=l.useState(!1),[W,j]=l.useState(!1),[X,$]=l.useState(!1),[Y,D]=l.useState(!1),[H,U]=l.useState(C),[_,F]=l.useState(C),[B,G]=l.useState(M),[V,K]=l.useState(R),q=l.useRef(null),J=l.useRef(null),Z=l.useRef(null),Q=l.useRef(null),ee=l.useRef(null),et=l.useRef(null),er=l.useRef(null),en=l.useRef(!1),eo=l.useRef(0),ea=l.useRef(0),ei=l.useRef(0),el=l.useRef(0),es=l.useRef("vertical"),eu=l.useRef(E),ec=(0,s.useStableCallback)(e=>{let t=e.x-eu.current.x,r=e.y-eu.current.y;eu.current=e,0!==r&&(j(!0),A.start(500,()=>{j(!1)})),0!==t&&(z(!0),N.start(500,()=>{z(!1)}))}),ed=(0,s.useStableCallback)(e=>{0===e.button&&(en.current=!0,eo.current=e.clientY,ea.current=e.clientX,es.current=e.currentTarget.getAttribute(m.orientation),J.current&&(ei.current=J.current.scrollTop,el.current=J.current.scrollLeft),ee.current&&"vertical"===es.current&&ee.current.setPointerCapture(e.pointerId),et.current&&"horizontal"===es.current&&et.current.setPointerCapture(e.pointerId))}),ef=(0,s.useStableCallback)(e=>{if(!en.current)return;let t=e.clientY-eo.current,r=e.clientX-ea.current;if(J.current){let n=J.current.scrollHeight,o=J.current.clientHeight,a=J.current.scrollWidth,i=J.current.clientWidth;if(ee.current&&Z.current&&"vertical"===es.current){let r=p(Z.current,"padding","y"),a=p(ee.current,"margin","y"),i=ee.current.offsetHeight,l=Z.current.offsetHeight-i-r-a;J.current.scrollTop=ei.current+t/l*(n-o),e.preventDefault(),j(!0),A.start(500,()=>{j(!1)})}if(et.current&&Q.current&&"horizontal"===es.current){let t=p(Q.current,"padding","x"),n=p(et.current,"margin","x"),o=et.current.offsetWidth,l=Q.current.offsetWidth-o-t-n;J.current.scrollLeft=el.current+r/l*(a-i),e.preventDefault(),z(!0),N.start(500,()=>{z(!1)})}}}),eh=(0,s.useStableCallback)(e=>{en.current=!1,ee.current&&"vertical"===es.current&&ee.current.releasePointerCapture(e.pointerId),et.current&&"horizontal"===es.current&&et.current.releasePointerCapture(e.pointerId)});function ev(e){$("touch"===e.pointerType)}function ep(e){ev(e),"touch"!==e.pointerType&&L((0,y.contains)(q.current,e.target))}let em=l.useMemo(()=>({scrolling:P||W,hasOverflowX:!V.x,hasOverflowY:!V.y,overflowXStart:B.xStart,overflowXEnd:B.xEnd,overflowYStart:B.yStart,overflowYEnd:B.yEnd,cornerHidden:V.corner}),[P,W,V.x,V.y,V.corner,B]),eg={role:"presentation",onPointerEnter:ep,onPointerMove:ep,onPointerDown:ev,onPointerLeave(){L(!1)},style:{position:"relative",[v.scrollAreaCornerHeight]:`${H.height}px`,[v.scrollAreaCornerWidth]:`${H.width}px`}},ew=(0,h.useRenderElement)("div",e,{state:em,ref:[t,q],props:[eg,f],stateAttributesMapping:b}),ex=l.useMemo(()=>({handlePointerDown:ed,handlePointerMove:ef,handlePointerUp:eh,handleScroll:ec,cornerSize:H,setCornerSize:U,thumbSize:_,setThumbSize:F,hasMeasuredScrollbar:Y,setHasMeasuredScrollbar:D,touchModality:X,cornerRef:er,scrollingX:P,setScrollingX:z,scrollingY:W,setScrollingY:j,hovering:k,setHovering:L,viewportRef:J,rootRef:q,scrollbarYRef:Z,scrollbarXRef:Q,thumbYRef:ee,thumbXRef:et,rootId:O,hiddenState:V,setHiddenState:K,overflowEdges:B,setOverflowEdges:G,viewportState:em,overflowEdgeThreshold:x}),[ed,ef,eh,ec,H,_,Y,X,P,z,W,j,k,L,O,V,B,em,x]);return(0,i.jsxs)(d.Provider,{value:ex,children:[!T&&(r=I,(0,i.jsx)("style",{nonce:r,href:g,precedence:"base-ui:low",children:`.${g}{scrollbar-width:none}.${g}::-webkit-scrollbar{display:none}`})),ew]})});var A=e.i(277642),N=e.i(454889);let I=l.createContext(void 0);var T=e.i(189131),k=e.i(464111);let L=((o={}).scrollAreaOverflowXStart="--scroll-area-overflow-x-start",o.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",o.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",o.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",o);function P(e,t){if(t<=0)return 0;let r=(0,k.clamp)(e,0,t),n=t-r,o=r<=1,a=n<=1;return o&&a?r<=n?0:t:o?0:a?t:r}let z=!1,W=l.forwardRef(function(e,t){let{render:r,className:n,style:o,...a}=e,{viewportRef:c,scrollbarYRef:d,scrollbarXRef:v,thumbYRef:m,thumbXRef:w,cornerRef:x,cornerSize:y,setCornerSize:S,setThumbSize:E,rootId:C,setHiddenState:M,hiddenState:R,setHasMeasuredScrollbar:O,handleScroll:W,setHovering:j,setOverflowEdges:X,overflowEdges:$,overflowEdgeThreshold:Y,scrollingX:D,scrollingY:H}=f(),U=(0,T.useDirection)(),_=l.useRef(!0),F=l.useRef([NaN,NaN,NaN,NaN]),B=(0,u.useTimeout)(),G=(0,u.useTimeout)(),V=(0,s.useStableCallback)(()=>{var e;let t,r,n=c.current,o=d.current,a=v.current,i=m.current,l=w.current,s=x.current;if(!n)return;let u=n.scrollHeight,f=n.scrollWidth,h=n.clientHeight,g=n.clientWidth,b=n.scrollTop,C=n.scrollLeft,R=F.current,A=Number.isNaN(R[0]);if(R[0]=h,R[1]=u,R[2]=g,R[3]=f,A&&O(!0),0===u||0===f)return;let N=(t=(e=n).clientHeight>=e.scrollHeight,{y:t,x:r=e.clientWidth>=e.scrollWidth,corner:t||r}),I=N.y,T=N.x,z=g/f,W=h/u,j=Math.max(0,f-g),$=Math.max(0,u-h),D=0,H=0;!T&&(D=P("rtl"===U?(0,k.clamp)(-C,0,j):(0,k.clamp)(C,0,j),j),H=j-D);let _=I?0:(0,k.clamp)(b,0,$),B=I?0:P(_,$),G=I?0:$-B,V=T?0:g,K=I?0:h,q=0,J=0;T||I||(q=o?.offsetWidth||0,J=a?.offsetHeight||0);let Z=0===y.width&&0===y.height,Q=Z?q:0,ee=Z?J:0,et=p(a,"padding","x"),er=p(o,"padding","y"),en=p(l,"margin","x"),eo=p(i,"margin","y"),ea=V-et-en,ei=K-er-eo,el=a?Math.min(a.offsetWidth-Q,ea):ea,es=o?Math.min(o.offsetHeight-ee,ei):ei,eu=Math.max(16,el*z),ec=Math.max(16,es*W);if(E(e=>e.height===ec&&e.width===eu?e:{width:eu,height:ec}),o&&i){let e=o.offsetHeight-ec-er-eo,t=u-h,r=Math.min(e,Math.max(0,(0===t?0:b/t)*e));i.style.transform=`translate3d(0,${r}px,0)`}if(a&&l){let e=a.offsetWidth-eu-et-en,t=f-g,r=0===t?0:C/t,n="rtl"===U?(0,k.clamp)(r*e,-e,0):(0,k.clamp)(r*e,0,e);l.style.transform=`translate3d(${n}px,0,0)`}for(let[e,t]of[[L.scrollAreaOverflowXStart,D],[L.scrollAreaOverflowXEnd,H],[L.scrollAreaOverflowYStart,B],[L.scrollAreaOverflowYEnd,G]])n.style.setProperty(e,`${t}px`);s&&(T||I?S({width:0,height:0}):T||I||S({width:q,height:J})),M(e=>{var t,r;return t=e,r=N,t.y===r.y&&t.x===r.x&&t.corner===r.corner?t:r});let ed={xStart:!T&&D>Y.xStart,xEnd:!T&&H>Y.xEnd,yStart:!I&&B>Y.yStart,yEnd:!I&&G>Y.yEnd};X(e=>e.xStart===ed.xStart&&e.xEnd===ed.xEnd&&e.yStart===ed.yStart&&e.yEnd===ed.yEnd?e:ed)});function K(){_.current=!1}(0,A.useIsoLayoutEffect)(()=>{c.current&&(z||N.isWebKit||("u">typeof CSS&&"registerProperty"in CSS&&[L.scrollAreaOverflowXStart,L.scrollAreaOverflowXEnd,L.scrollAreaOverflowYStart,L.scrollAreaOverflowYEnd].forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),z=!0))},[c]),(0,A.useIsoLayoutEffect)(()=>{queueMicrotask(V)},[V,R,U]),(0,A.useIsoLayoutEffect)(()=>{c.current?.matches(":hover")&&j(!0)},[c,j]),l.useEffect(()=>{let e=c.current;if("u"<typeof ResizeObserver||!e)return;let t=!1,r=new ResizeObserver(()=>{if(!t){t=!0;let r=F.current;if(r[0]===e.clientHeight&&r[1]===e.scrollHeight&&r[2]===e.clientWidth&&r[3]===e.scrollWidth)return}V()});return r.observe(e),G.start(0,()=>{let t=e.getAnimations({subtree:!0});0!==t.length&&Promise.allSettled(t.map(e=>e.finished)).then(V).catch(()=>{})}),()=>{r.disconnect(),G.clear()}},[V,c,G]);let q={role:"presentation",...C&&{"data-id":`${C}-viewport`},tabIndex:R.x&&R.y?-1:0,className:g,style:{overflow:"scroll"},onScroll(){c.current&&(V(),_.current||W({x:c.current.scrollLeft,y:c.current.scrollTop}),B.start(100,()=>{_.current=!0}))},onWheel:K,onTouchMove:K,onPointerMove:K,onPointerEnter:K,onKeyDown:K},J=l.useMemo(()=>({scrolling:D||H,hasOverflowX:!R.x,hasOverflowY:!R.y,overflowXStart:$.xStart,overflowXEnd:$.xEnd,overflowYStart:$.yStart,overflowYEnd:$.yEnd,cornerHidden:R.corner}),[D,H,R.x,R.y,R.corner,$]),Z=(0,h.useRenderElement)("div",e,{ref:[t,c],state:J,props:[q,a],stateAttributesMapping:b}),Q=l.useMemo(()=>({computeThumbPosition:V}),[V]);return(0,i.jsx)(I.Provider,{value:Q,children:Z})});var j=e.i(422561);let X=l.createContext(void 0),$=((a={}).scrollAreaThumbHeight="--scroll-area-thumb-height",a.scrollAreaThumbWidth="--scroll-area-thumb-width",a),Y=l.forwardRef(function(e,t){let{render:r,className:n,orientation:o="vertical",keepMounted:a=!1,style:s,...u}=e,{hovering:c,scrollingX:d,scrollingY:m,hiddenState:g,overflowEdges:w,scrollbarYRef:x,scrollbarXRef:S,viewportRef:E,thumbYRef:C,thumbXRef:M,handlePointerDown:R,handlePointerUp:O,rootId:A,thumbSize:N,hasMeasuredScrollbar:I}=f(),k={hovering:c,scrolling:{horizontal:d,vertical:m}[o],orientation:o,hasOverflowX:!g.x,hasOverflowY:!g.y,overflowXStart:w.xStart,overflowXEnd:w.xEnd,overflowYStart:w.yStart,overflowYEnd:w.yEnd,cornerHidden:g.corner},L=(0,T.useDirection)();l.useEffect(()=>{let e=E.current,t="vertical"===o?x.current:S.current;if(t)return(0,j.addEventListener)(t,"wheel",function(r){if(e&&t&&!r.ctrlKey){if(r.preventDefault(),"vertical"===o){if(0===e.scrollTop&&r.deltaY<0)return}else if(0===e.scrollLeft&&r.deltaX<0)return;if("vertical"===o){if(e.scrollTop===e.scrollHeight-e.clientHeight&&r.deltaY>0)return}else if(e.scrollLeft===e.scrollWidth-e.clientWidth&&r.deltaX>0)return;"vertical"===o?e.scrollTop+=r.deltaY:e.scrollLeft+=r.deltaX}},{passive:!1})},[o,S,x,E]);let P={...A&&{"data-id":`${A}-scrollbar`},onPointerDown(e){if(0!==e.button)return;let t=(0,y.getTarget)(e.nativeEvent),r="vertical"===o?C.current:M.current;if(!(r&&(0,y.contains)(r,t))&&E.current){if(C.current&&x.current&&"vertical"===o){let t=p(C.current,"margin","y"),r=p(x.current,"padding","y"),n=C.current.offsetHeight,o=x.current.getBoundingClientRect(),a=e.clientY-o.top-n/2-r+t/2,i=E.current.scrollHeight,l=E.current.clientHeight,s=x.current.offsetHeight-n-r-t;E.current.scrollTop=a/s*(i-l)}if(M.current&&S.current&&"horizontal"===o){let t,r=p(M.current,"margin","x"),n=p(S.current,"padding","x"),o=M.current.offsetWidth,a=S.current.getBoundingClientRect(),i=e.clientX-a.left-o/2-n+r/2,l=E.current.scrollWidth,s=E.current.clientWidth,u=i/(S.current.offsetWidth-o-n-r);"rtl"===L?(t=(1-u)*(l-s),E.current.scrollLeft<=0&&(t=-t)):t=u*(l-s),E.current.scrollLeft=t}R(e)}},onPointerUp:O,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:I||a?void 0:"hidden",..."vertical"===o&&{top:0,bottom:`var(${v.scrollAreaCornerHeight})`,insetInlineEnd:0,[$.scrollAreaThumbHeight]:`${N.height}px`},..."horizontal"===o&&{insetInlineStart:0,insetInlineEnd:`var(${v.scrollAreaCornerWidth})`,bottom:0,[$.scrollAreaThumbWidth]:`${N.width}px`}}},z=(0,h.useRenderElement)("div",e,{ref:[t,"vertical"===o?x:S],state:k,props:[P,u],stateAttributesMapping:b}),W=l.useMemo(()=>({orientation:o}),[o]),Y="vertical"===o?g.y:g.x;return a||!Y?(0,i.jsx)(X.Provider,{value:W,children:z}):null}),D=l.forwardRef(function(e,t){let{render:r,className:n,style:o,...a}=e,i=l.useRef(null),{computeThumbPosition:s}=function(){let e=l.useContext(I);if(void 0===e)throw Error((0,c.default)(55));return e}(),{viewportState:u}=f();return(0,A.useIsoLayoutEffect)(()=>{if("u"<typeof ResizeObserver)return;let e=!1,t=new ResizeObserver(()=>{if(!e){e=!0;return}s()});return i.current&&t.observe(i.current),()=>{t.disconnect()}},[s]),(0,h.useRenderElement)("div",e,{ref:[t,i],state:u,stateAttributesMapping:b,props:[{role:"presentation",style:{minWidth:"fit-content"}},a]})}),H=l.forwardRef(function(e,t){let{render:r,className:n,style:o,...a}=e,{thumbYRef:i,thumbXRef:s,handlePointerDown:u,handlePointerMove:d,handlePointerUp:v,setScrollingX:p,setScrollingY:m,hasMeasuredScrollbar:g}=f(),{orientation:w}=function(){let e=l.useContext(X);if(void 0===e)throw Error((0,c.default)(54));return e}();return(0,h.useRenderElement)("div",e,{ref:[t,"vertical"===w?i:s],state:{orientation:w},props:[{onPointerDown:u,onPointerMove:d,onPointerUp(e){"vertical"===w&&m(!1),"horizontal"===w&&p(!1),v(e)},style:{visibility:g?void 0:"hidden",..."vertical"===w&&{height:`var(${$.scrollAreaThumbHeight})`},..."horizontal"===w&&{width:`var(${$.scrollAreaThumbWidth})`}}},a]})}),U=l.forwardRef(function(e,t){let{render:r,className:n,style:o,...a}=e,{cornerRef:i,cornerSize:l,hiddenState:s}=f(),u=(0,h.useRenderElement)("div",e,{ref:[t,i],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:l.width,height:l.height}},a]});return s.corner?null:u});e.s(["Content",0,D,"Corner",0,U,"Root",0,O,"Scrollbar",0,Y,"Thumb",0,H,"Viewport",0,W],787180);var _=e.i(787180),_=_,F=e.i(465458);function B({className:e,orientation:t="vertical",...r}){return(0,i.jsx)(_.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:(0,F.cn)("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",e),...r,children:(0,i.jsx)(_.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}e.s(["ScrollArea",0,function({className:e,children:t,...r}){return(0,i.jsxs)(_.Root,{"data-slot":"scroll-area",className:(0,F.cn)("relative overflow-hidden",e),...r,children:[(0,i.jsx)(_.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:t}),(0,i.jsx)(B,{}),(0,i.jsx)(_.Corner,{})]})}],191118)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,625873,e=>{"use strict";var t=e.i(344180),s=e.i(764556),n=e.i(244073),a=e.i(209988),i=e.i(260218),l=e.i(191118),r=e.i(513501),o=e.i(989484),c=e.i(193251),d=e.i(973370),m=e.i(887354),p=e.i(681622),h=e.i(917955),u=e.i(611176),x=e.i(255742),f=e.i(973767),g=e.i(129981),j=e.i(601039),y=e.i(977694),v=e.i(137340),N=e.i(401058),k=e.i(451534);let w=(0,e.i(433721).default)("file-archive",[["path",{d:"M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5",key:"4pqfef"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 12v-1",key:"1ej8lb"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["path",{d:"M8 7V6",key:"1nbb54"}],["circle",{cx:"8",cy:"20",r:"2",key:"ckkr5m"}]]);var b=e.i(327962),C=e.i(62669),S=e.i(465458),z=e.i(256186),T=e.i(650654),D=e.i(992764);function I({items:e,onItemsChange:a,onConfirm:r,onCancel:o,defaultGroup:c}){let d=(0,n.useTranslations)("skills"),[m,h]=(0,s.useState)(""),[u,x]=(0,s.useState)(new Set),f=(t,s)=>{a(e.map(e=>e.id===t?{...e,...s}:e))},g=e.filter(e=>e.selected).length;return(0,t.jsxs)("div",{className:"flex flex-col flex-1 min-h-0 pt-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:d("importPreviewTitle")}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:()=>{a(e.map(e=>({...e,selected:!0})))},children:d("importPreviewSelectAll")}),(0,t.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:()=>{a(e.map(e=>({...e,selected:!1})))},children:d("importPreviewDeselectAll")})]}),(0,t.jsx)(p.Input,{value:m,onChange:e=>h(e.target.value),placeholder:c||d("importPreviewGroupPlaceholder"),className:"h-7 text-sm w-32"})]}),0===e.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-sm",children:d("importPreviewEmpty")}):(0,t.jsx)(l.ScrollArea,{className:"flex-1 min-h-0",children:(0,t.jsx)("div",{className:"space-y-2 pr-2",children:e.map(s=>{let n=u.has(s.id);return(0,t.jsxs)("div",{className:"rounded-lg border border-border bg-background p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"checkbox",checked:s.selected,onChange:()=>{var t;f(t=s.id,{selected:!e.find(e=>e.id===t).selected})},className:"mt-0.5 size-3.5 accent-primary shrink-0"}),(0,t.jsx)(p.Input,{value:s.name,onChange:e=>f(s.id,{name:e.target.value}),placeholder:d("importPreviewNamePlaceholder"),className:"h-7 text-sm flex-1"}),(0,t.jsx)(p.Input,{value:s.group,onChange:e=>f(s.id,{group:e.target.value}),placeholder:d("importPreviewGroupPlaceholder"),className:"h-7 text-sm w-32"}),(0,t.jsx)("button",{type:"button",onClick:()=>{var e;return e=s.id,void x(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},className:"p-1 rounded hover:bg-accent shrink-0",children:n?(0,t.jsx)(T.ChevronDown,{className:"size-3.5 text-muted-foreground"}):(0,t.jsx)(D.ChevronRight,{className:"size-3.5 text-muted-foreground"})})]}),(0,t.jsx)(z.Collapsible,{open:n,children:(0,t.jsx)(z.CollapsibleContent,{children:(0,t.jsxs)("pre",{className:"mt-2 p-2 bg-muted rounded text-xs overflow-auto max-h-48 whitespace-pre-wrap",children:[s.content.slice(0,2e3),s.content.length>2e3?"\n...":""]})})})]},s.id)})})}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2 mt-2 border-t",children:[(0,t.jsx)(i.Button,{variant:"outline",size:"sm",onClick:o,children:d("importPreviewCancel")}),(0,t.jsx)(i.Button,{size:"sm",onClick:()=>{let t=e.filter(e=>e.selected).map(e=>({...e,group:e.group||m}));0!==t.length&&r(t)},disabled:0===g,children:d("importPreviewConfirm",{selected:g,total:e.length})})]})]})}function A({skills:r,agents:c,loading:z,syncLoading:T,onToggleFavorite:D,onDelete:$,onEdit:F,onBind:B,onImportBatch:P,onImportFromGit:L,onSyncCheck:M,onBindAll:O}){let U=(0,n.useTranslations)("skills"),R=(0,n.useTranslations)("common"),[_,E]=(0,s.useState)(""),[G,J]=(0,s.useState)("all"),[H,K]=(0,s.useState)(""),[W,q]=(0,s.useState)(""),V=(0,s.useRef)(null),Z=(0,s.useRef)(null),Q=(0,s.useRef)(null),[X,Y]=(0,s.useState)([]),[ee,et]=(0,s.useState)(!1),[es,en]=(0,s.useState)(""),[ea,ei]=(0,s.useState)(""),[el,er]=(0,s.useState)(!1),[eo,ec]=(0,s.useState)(!1),ed=Array.from(new Set(r.map(e=>e.group).filter(Boolean))),em=r.filter(e=>{if(_){let t=_.toLowerCase();if(!e.name.toLowerCase().includes(t)&&!e.content.toLowerCase().includes(t))return!1}if("favorites"===G&&!e.favorited||"agent"===G&&H&&!e.boundAgents.some(e=>e.id===H))return!1;if(W){if("__none__"===W){if(e.group)return!1}else if(e.group!==W)return!1}return!0}),ep=async e=>{let t=e.target.files;if(!t||0===t.length)return;let s=[];for(let e of Array.from(t)){let t=await e.text(),n=e.name.replace(/\.md$/i,"");s.push({id:`md-${n}-${Math.random().toString(36).slice(2,8)}`,name:n,group:"",content:t,selected:!0,sourceName:e.name})}Y(s),en(""),et(!0),e.target.value=""},eh=async e=>{let t=e.target.files;if(!t||0===t.length)return;let s=new Map;for(let e of Array.from(t)){let t=e.webkitRelativePath.split("/")[0];s.has(t)||s.set(t,[]),s.get(t).push(e)}let n=[];for(let[e,t]of s){let s=t.find(e=>"SKILL.md"===e.name);if(s||(s=t.find(e=>e.name.endsWith(".md"))),!s)continue;let a=await s.text();n.push({id:`folder-${e}-${Math.random().toString(36).slice(2,8)}`,name:e,group:"",content:a,selected:!0,sourceName:e})}Y(n),en(""),et(!0),e.target.value=""},eu=async t=>{let s=t.target.files?.[0];if(s){try{let t=(await e.A(980476)).default,n=await t.loadAsync(s),a=s.name.replace(/\.zip$/i,""),i=new Map;n.forEach((e,t)=>{if(t.dir)return;let s=e.split("/").pop()||"",n=e.substring(0,e.lastIndexOf("/"));if(!n){if(s.endsWith(".md")&&"SKILL.md"!==s){let t=s.replace(/\.md$/i,"");i.has(t)||i.set(t,[]),i.get(t).push({file:s,path:e})}return}let a=n.split("/")[0];i.has(a)||i.set(a,[]),i.get(a).push({file:s,path:e})});let l=[];for(let[e,t]of i){let s=t.find(e=>"SKILL.md"===e.file);if(s||(s=t.find(e=>e.file.endsWith(".md"))),!s)continue;let a=await n.file(s.path).async("string");l.push({id:`zip-${e}-${Math.random().toString(36).slice(2,8)}`,name:e,group:"",content:a,selected:!0,sourceName:e})}Y(l),en(a),et(!0)}catch(e){console.error("Failed to extract ZIP:",e)}t.target.value=""}},ex=async()=>{let e=ea.trim();if(!e)return;er(!0);let t=await L(e);if(er(!1),t&&t.length>0){let s=e.split("/").pop()?.replace(/\.git$/i,"")||"";Y(t),en(s),et(!0),ec(!1)}ei("")};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{ref:V,type:"file",accept:".md",multiple:!0,className:"hidden",onChange:ep}),(0,t.jsx)("input",{ref:Z,type:"file",className:"hidden",onChange:eh,webkitdirectory:"",directory:""}),(0,t.jsx)("input",{ref:Q,type:"file",accept:".zip",className:"hidden",onChange:eu}),(0,t.jsxs)("div",{className:"flex items-center gap-2 ml-auto shrink-0 pt-2",children:[(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:M,disabled:T,children:[(0,t.jsx)(j.RefreshCw,{className:(0,S.cn)("size-3.5 mr-1",T&&"animate-spin")}),U("syncToAgents")]}),(0,t.jsxs)(h.DropdownMenu,{children:[(0,t.jsx)(h.DropdownMenuTrigger,{render:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",children:[(0,t.jsx)(g.Upload,{className:"size-3.5 mr-1"}),U("import")]})}),(0,t.jsxs)(h.DropdownMenuContent,{align:"end",children:[(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>V.current?.click(),children:[(0,t.jsx)(o.FileText,{className:"size-3.5 mr-1.5"}),U("importFromMd")]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>Z.current?.click(),children:[(0,t.jsx)(k.FolderOpen,{className:"size-3.5 mr-1.5"}),U("importFromFolder")]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>Q.current?.click(),children:[(0,t.jsx)(w,{className:"size-3.5 mr-1.5"}),U("importFromZip")]}),(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>ec(!0),disabled:el,children:[(0,t.jsx)(b.GitBranch,{className:"size-3.5 mr-1.5"}),U("importFromGit")]})]})]})]}),ee?(0,t.jsx)(I,{items:X,onItemsChange:Y,onConfirm:e=>{P(e),et(!1),Y([])},onCancel:()=>{et(!1),Y([])},defaultGroup:es}):(0,t.jsxs)("div",{className:"flex flex-1 min-h-0 gap-4 pt-2",children:[(0,t.jsx)(l.ScrollArea,{className:"hidden md:block w-44 shrink-0",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3 pr-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)(i.Button,{variant:"all"!==G||W?"ghost":"secondary",size:"sm",className:"w-full justify-start",onClick:()=>{J("all"),K(""),q("")},children:[(0,t.jsx)(o.FileText,{className:"size-3.5 mr-1.5"}),U("filterAll")]}),(0,t.jsxs)(i.Button,{variant:"favorites"===G?"secondary":"ghost",size:"sm",className:"w-full justify-start",onClick:()=>{J("favorites"),K(""),q("")},children:[(0,t.jsx)(x.Star,{className:"size-3.5 mr-1.5"}),U("filterFavorites")]})]}),c.length>0&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground px-2",children:U("filterByAgent")}),c.map(e=>(0,t.jsxs)(i.Button,{variant:"agent"===G&&H===e.id?"secondary":"ghost",size:"sm",className:"w-full justify-start",onClick:()=>{J("agent"),K(e.id),q("")},children:[(0,t.jsx)(u.AgentIcon,{agentId:e.id,name:e.name,avatarUrl:e.avatarUrl,className:"size-4 mr-1.5 rounded-full"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.id))]}),ed.length>0&&(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted-foreground px-2",children:U("filterGroups")}),ed.map(e=>(0,t.jsxs)(i.Button,{variant:W===e?"secondary":"ghost",size:"sm",className:"w-full justify-start",onClick:()=>{q(W===e?"":e),J("all"),K("")},children:[(0,t.jsx)(d.Folder,{className:"size-3.5 mr-1.5"}),(0,t.jsx)("span",{className:"truncate",children:e})]},e)),r.some(e=>!e.group)&&(0,t.jsxs)(i.Button,{variant:"__none__"===W?"secondary":"ghost",size:"sm",className:"w-full justify-start",onClick:()=>{q("__none__"===W?"":"__none__"),J("all"),K("")},children:[(0,t.jsx)(o.FileText,{className:"size-3.5 mr-1.5"}),U("filterNoGroup")]})]})]})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col gap-3 min-h-0",children:[(0,t.jsxs)("div",{className:"flex md:hidden flex-col gap-2",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"size-3.5 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(p.Input,{value:_,onChange:e=>E(e.target.value),placeholder:U("search"),className:"pl-8"})]}),(0,t.jsx)("div",{className:"flex items-center gap-2",children:(0,t.jsxs)("div",{className:"flex rounded-lg border border-input p-0.5",children:[(0,t.jsx)("button",{type:"button",className:(0,S.cn)("px-2.5 py-1 rounded-md text-xs font-medium transition-colors","all"!==G||W?"text-muted-foreground hover:text-foreground":"bg-muted"),onClick:()=>{J("all"),K(""),q("")},children:U("filterAll")}),(0,t.jsxs)("button",{type:"button",className:(0,S.cn)("px-2.5 py-1 rounded-md text-xs font-medium transition-colors","favorites"===G?"bg-muted":"text-muted-foreground hover:text-foreground"),onClick:()=>{J("favorites"),K(""),q("")},children:[(0,t.jsx)(x.Star,{className:"size-3 inline-block mr-0.5 -mt-px"}),U("filterFavorites")]})]})})]}),(0,t.jsxs)("div",{className:"hidden md:block relative",children:[(0,t.jsx)(m.Search,{className:"size-3.5 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(p.Input,{value:_,onChange:e=>E(e.target.value),placeholder:U("search"),className:"pl-8"})]}),(0,t.jsx)(l.ScrollArea,{className:"flex-1 min-h-0",children:z?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:R("loading")}):0===em.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:U("empty")}):(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 pr-2",children:em.map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4 hover:bg-accent/30 transition-colors cursor-pointer",onClick:()=>F(e),children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:"font-medium text-sm",children:e.name}),e.group&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",children:e.group}),(0,t.jsx)("button",{type:"button",className:"flex items-center justify-center size-5 rounded hover:bg-accent",onClick:t=>{t.stopPropagation(),D(e)},children:e.favorited?(0,t.jsx)(x.Star,{className:"size-3.5 text-yellow-500 fill-yellow-500"}):(0,t.jsx)(f.StarOff,{className:"size-3.5 text-muted-foreground"})})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:e.description||e.content.slice(0,120).replace(/^#\s+/,"")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0",onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:()=>B(e),children:[(0,t.jsx)(y.Rocket,{className:"size-3.5 mr-1"}),U("apply")]}),(0,t.jsxs)(h.DropdownMenu,{children:[(0,t.jsx)(h.DropdownMenuTrigger,{render:(0,t.jsx)(i.Button,{variant:"ghost",size:"icon",className:"size-7"}),children:(0,t.jsx)(N.MoreVertical,{className:"size-3.5"})}),(0,t.jsxs)(h.DropdownMenuContent,{align:"end",children:[(0,t.jsxs)(h.DropdownMenuItem,{onClick:()=>fetch(`/api/skills/${encodeURIComponent(e.name)}/reveal`,{method:"POST"}),children:[(0,t.jsx)(k.FolderOpen,{className:"size-3.5 mr-1.5"}),U("revealFolder")]}),(0,t.jsxs)(h.DropdownMenuItem,{className:"text-destructive focus:text-destructive",onClick:()=>$(e),children:[(0,t.jsx)(v.Trash2,{className:"size-3.5 mr-1.5"}),U("delete")]})]})]})]})]}),e.boundAgents.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mt-2.5 pt-2.5 border-t border-border/50",children:[e.boundAgents.map(e=>(0,t.jsx)(u.AgentIcon,{agentId:e.id,name:e.name,avatarUrl:e.avatarUrl,className:"size-5 rounded-full"},e.id)),(0,t.jsx)("span",{className:"text-xs text-muted-foreground ml-1",children:e.boundAgents.length})]})]},e.name))})}),(0,t.jsx)("div",{className:"hidden md:flex items-center justify-end gap-3 pt-2 border-t shrink-0",children:(0,t.jsxs)(i.Button,{variant:"outline",size:"sm",onClick:O,disabled:0===em.length,children:[(0,t.jsx)(y.Rocket,{className:"size-3.5 mr-1"}),U("applyAllToAgent")]})})]})]}),(0,t.jsx)(a.Dialog,{open:eo,onOpenChange:ec,children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-md",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{children:U("importFromGit")}),(0,t.jsx)(a.DialogDescription,{children:U("importFromGitDesc")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(p.Input,{value:ea,onChange:e=>ei(e.target.value),placeholder:"https://github.com/user/skills-repo.git",onKeyDown:e=>{"Enter"===e.key&&ex()},disabled:el,autoFocus:!0}),(0,t.jsx)(i.Button,{onClick:ex,disabled:el||!ea.trim(),children:el?(0,t.jsx)(C.Loader2,{className:"size-4 animate-spin"}):U("import")})]})]})})]})}var $=e.i(887836),F=e.i(984178),B=e.i(383171),P=e.i(415955),L=e.i(932031),M=e.i(111343),O=e.i(564822);e.i(462506);let U=(0,$.default)(()=>e.A(863812).then(e=>e.default),{loadableGenerated:{modules:[158480]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Loading editor..."})});function R({node:e,depth:s,selectedPath:n,onSelect:a,expandedPaths:i,toggleExpand:l}){let r=i.has(e.path),o=n===e.path;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,S.cn)("flex items-center gap-1 rounded px-2 py-1 cursor-pointer hover:bg-muted/50 text-sm",o&&"bg-muted"),style:{paddingLeft:`${12*s+8}px`},onClick:()=>{e.isDirectory?l(e.path):a(e)},children:[e.isDirectory&&(0,t.jsx)(L.ChevronRightIcon,{className:(0,S.cn)("size-3.5 shrink-0 text-muted-foreground transition-transform",r&&"rotate-90")}),!e.isDirectory&&(0,t.jsx)("span",{className:"size-3.5 shrink-0"}),e.isDirectory?r?(0,t.jsx)(P.FolderOpenIcon,{className:"size-4 text-blue-500 shrink-0"}):(0,t.jsx)(B.FolderIcon,{className:"size-4 text-blue-500 shrink-0"}):(0,t.jsx)(F.FileIcon,{className:"size-4 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),e.isDirectory&&r&&e.children.map(e=>(0,t.jsx)(R,{node:e,depth:s+1,selectedPath:n,onSelect:a,expandedPaths:i,toggleExpand:l},e.path))]})}function _({skill:e,content:l,onContentChange:r,onClose:o,onSave:c}){let d=(0,n.useTranslations)("skills"),m=(0,n.useTranslations)("common"),p=(0,O.useIsMobile)(),[h,u]=(0,s.useState)([]),[x,f]=(0,s.useState)(null),[g,j]=(0,s.useState)({}),[y,v]=(0,s.useState)(new Set),[N,k]=(0,s.useState)(!1),[w,b]=(0,s.useState)(new Set),z=(0,s.useRef)(new Set);(0,s.useEffect)(()=>{if(!e)return;f(null),j({}),b(new Set),v(new Set),u([]),z.current=new Set,k(!0);let t=e.name;fetch(`/api/skills/${encodeURIComponent(t)}/files`).then(e=>e.ok?e.json():[]).then(e=>{u(e),v(new Set(e.filter(e=>e.isDirectory&&!e.path.includes("/")).map(e=>e.path)));let s=e.find(e=>"SKILL.md"===e.path&&!e.isDirectory)||e.find(e=>!e.isDirectory);if(!s)return void k(!1);f(s.path);let n=s.path.split("/").map(encodeURIComponent).join("/");fetch(`/api/skills/${encodeURIComponent(t)}/files/${n}`).then(e=>e.ok?e.json():null).then(e=>{e&&(j({[s.path]:e.content}),z.current.add(s.path))}).catch(()=>{}).finally(()=>k(!1))}).catch(()=>{u([]),k(!1)})},[e]);let T=(0,s.useCallback)((e,t)=>{if(z.current.has(t))return;z.current.add(t),k(!0);let s=t.split("/").map(encodeURIComponent).join("/");fetch(`/api/skills/${encodeURIComponent(e)}/files/${s}`).then(e=>e.ok?e.json():null).then(e=>{e&&j(s=>({...s,[t]:e.content}))}).catch(()=>{}).finally(()=>k(!1))},[]),D=(0,s.useMemo)(()=>(function(e){let t=[],s=new Map;for(let n of e){let e=n.path.split("/"),a=t;for(let t=0;t<e.length;t++){let i=e.slice(0,t+1).join("/"),l=t<e.length-1||n.isDirectory,r=a.find(s=>s.name===e[t]);if(r)a=r.children;else{let n={name:e[t],path:i,isDirectory:l,children:[]};a.push(n),l&&s.set(i,n),a=n.children}}}return t})(h),[h]),I=t=>{!t.isDirectory&&(f(t.path),e&&T(e.name,t.path))},A=e=>{v(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},$=x?g[x]??"":"",F=x?({md:"markdown",markdown:"markdown",json:"json",js:"javascript",ts:"typescript",tsx:"typescript",jsx:"javascript",py:"python",sh:"shell",bash:"shell",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",sql:"sql"})[x.split(".").pop()?.toLowerCase()||""]||"plaintext":"markdown",B=e=>{if(!x)return;let t=e||"";j(e=>({...e,[x]:t})),b(e=>new Set(e).add(x)),r(t)},P=async()=>{if(!e||!x)return;let t=g[x];if(void 0===t)return;let s=x.split("/").map(encodeURIComponent).join("/");(await fetch(`/api/skills/${encodeURIComponent(e.name)}/files/${s}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t})})).ok&&(b(e=>{let t=new Set(e);return t.delete(x),t}),c())},L=(0,s.useMemo)(()=>h.filter(e=>!e.isDirectory),[h]);return(0,t.jsx)(a.Dialog,{open:!!e,onOpenChange:e=>{e||o()},children:(0,t.jsxs)(a.DialogContent,{className:"!w-[85vw] !max-w-[85vw] !h-[85vh] flex flex-col",children:[(0,t.jsx)(a.DialogHeader,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between pr-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(a.DialogTitle,{children:d("editTitle",{name:e?.name||""})}),(0,t.jsx)(a.DialogDescription,{children:d("editDescription")})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[w.size>0&&(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[w.size," unsaved"]}),(0,t.jsxs)(i.Button,{size:"sm",onClick:P,disabled:!x||!w.has(x??""),children:[(0,t.jsx)(M.Save,{className:"size-3.5 mr-1"}),m("save")]})]})]})}),p?(0,t.jsxs)("div",{className:"flex-1 min-h-0 flex flex-col pt-2",children:[(0,t.jsx)("div",{className:"flex overflow-x-auto border-b gap-0.5 px-1 shrink-0",children:L.map(e=>(0,t.jsx)("button",{className:(0,S.cn)("shrink-0 px-3 py-1.5 text-xs rounded-t transition-colors whitespace-nowrap",x===e.path?"bg-muted font-medium":"text-muted-foreground hover:text-foreground",w.has(e.path)&&'after:content-[""] after:inline-block after:size-1.5 after:bg-orange-500 after:rounded-full after:ml-1'),onClick:()=>I({name:e.name,path:e.path,isDirectory:!1,children:[]}),children:e.name},e.path))}),(0,t.jsx)("div",{className:"flex-1 min-h-0",children:N?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)(C.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,t.jsx)(U,{height:"100%",language:F,value:$,onChange:B,theme:"vs-dark",options:{fontSize:13,minimap:{enabled:!1},scrollBeyondLastLine:!1,padding:{top:8},renderLineHighlight:"gutter",wordWrap:"on"}})})]}):(0,t.jsxs)("div",{className:"flex-1 min-h-0 flex gap-0 pt-2 border rounded-md overflow-hidden",children:[(0,t.jsxs)("div",{className:"w-48 shrink-0 border-r bg-muted/20 overflow-y-auto py-1",children:[D.map(e=>(0,t.jsx)(R,{node:e,depth:0,selectedPath:x??"",onSelect:I,expandedPaths:y,toggleExpand:A},e.path)),0===h.length&&(0,t.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No files"})]}),(0,t.jsx)("div",{className:"flex-1 min-h-0",children:N?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)(C.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):(0,t.jsx)(U,{height:"100%",language:F,value:$,onChange:B,theme:"vs-dark",options:{fontSize:13,minimap:{enabled:!1},scrollBeyondLastLine:!1,padding:{top:8},renderLineHighlight:"gutter",wordWrap:"on"}})})]})]})})}var E=e.i(239340);function G({skill:e,titleOverride:s,descriptionOverride:a,agents:i,selected:l,onToggle:r,onClose:o,onConfirm:c}){let d=(0,n.useTranslations)("skills"),m=(0,n.useTranslations)("common");return(0,t.jsx)(E.AgentPickerDialog,{open:!!e,onClose:o,onConfirm:c,title:s||d("bindTitle",{name:e?.name||""}),description:a||d("bindDescription"),agents:i,selected:l,onToggle:r,cancelText:m("cancel"),confirmText:m("confirm")})}function J({open:e,onOpenChange:s,items:r,selected:o,onToggle:c,onConfirm:d}){let m=(0,n.useTranslations)("skills"),p=(0,n.useTranslations)("common");return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-lg",children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{children:m("syncTitle")}),(0,t.jsx)(a.DialogDescription,{children:m("syncDescription")})]}),(0,t.jsxs)("div",{className:"space-y-3 pt-2",children:[0===r.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-sm",children:m("syncEmpty")}):(0,t.jsx)(l.ScrollArea,{className:"max-h-72",children:(0,t.jsx)("div",{className:"space-y-1",children:r.map(e=>{let s=`${e.agentId}::${e.skillName}`;return(0,t.jsxs)("button",{type:"button",onClick:()=>c(e.agentId,e.skillName),className:"flex items-center gap-3 w-full px-2 py-1.5 rounded-md hover:bg-muted text-left text-sm transition-colors",children:[(0,t.jsx)("div",{className:(0,S.cn)("flex items-center justify-center size-4 rounded border shrink-0",o.has(s)?"bg-primary border-primary text-primary-foreground":"border-input")}),(0,t.jsx)(u.AgentIcon,{agentId:e.agentId,name:e.agentName,className:"size-5 rounded-full"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.agentName}),(0,t.jsxs)("span",{className:"text-muted-foreground text-xs shrink-0",children:[e.skillName,".md"]})]},s)})})}),r.length>0&&(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>s(!1),children:p("cancel")}),(0,t.jsx)(i.Button,{onClick:d,disabled:0===o.size,children:m("syncConfirm")})]})]})]})})}e.s(["SkillsDialog",0,function({open:e,onOpenChange:h,standalone:u}){let x=(0,n.useTranslations)("skills"),f=(0,n.useTranslations)("common"),[g,j]=(0,s.useState)("local"),{skills:y,setSkills:v,agents:N,loading:k,fetchSkills:w,storeSkills:b,storeLoading:C,importingPaths:S,importFromStore:z}=function(e,t){let[n,a]=(0,s.useState)([]),[i,l]=(0,s.useState)([]),[r,o]=(0,s.useState)(!1),[c,d]=(0,s.useState)([]),[m,p]=(0,s.useState)(!1),[h,u]=(0,s.useState)(new Set),x=(0,s.useCallback)(async()=>{o(!0);try{let e=await fetch("/api/skills");e.ok&&a(await e.json())}catch{}o(!1)},[]),f=(0,s.useCallback)(async()=>{try{let e=await fetch("/api/agents/presets");if(e.ok){let t=await e.json();l(t.map(e=>({id:e.id,name:e.name,avatarUrl:e.avatarUrl,description:e.description})))}}catch{}},[]),g=(0,s.useCallback)(async()=>{p(!0);try{let e=await fetch("/public/skills/index.json");e.ok&&d(await e.json())}catch{}p(!1)},[]);(0,s.useEffect)(()=>{(e||t)&&(x(),f(),g())},[e,t,x,f,g]);let j=new Set(n.map(e=>e.name)),y=async e=>{if(j.has(e.id)||h.has(e.path))return!1;u(t=>new Set(t).add(e.path));try{if((await fetch("/api/skills/import-store",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e.path,group:e.group})})).ok)return await x(),!0}catch{}return u(t=>{let s=new Set(t);return s.delete(e.path),s}),!1};return{skills:n,setSkills:a,agents:i,loading:r,fetchSkills:x,storeSkills:c,storeLoading:m,importingPaths:h,importFromStore:y}}(e,u),T={toggleFavorite:async e=>{try{let t=await fetch(`/api/skills/${encodeURIComponent(e.name)}/favorite`,{method:"POST"});if(t.ok){let{favorited:s}=await t.json();v(t=>t.map(t=>t.name===e.name?{...t,favorited:s}:t))}}catch{}},deleteSkill:async e=>{try{(await fetch(`/api/skills/${encodeURIComponent(e.name)}`,{method:"DELETE"})).ok&&v(t=>t.filter(t=>t.name!==e.name))}catch{}},saveEdit:async(e,t)=>{try{if((await fetch(`/api/skills/${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t})})).ok)return v(s=>s.map(s=>s.name===e?{...s,content:t}:s)),!0}catch{}return!1},importBatch:async e=>{let t=e.map(e=>({name:e.name,content:e.content,group:e.group}));try{(await fetch("/api/skills/import-batch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:t})})).ok&&w()}catch{}},importFromGit:async e=>{try{let t=await fetch("/api/skills/import-git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e})});if(!t.ok)return null;return(await t.json()).map(e=>({id:`git-${e.name}-${Math.random().toString(36).slice(2,8)}`,name:e.name,group:"",content:e.content,selected:!0,sourceName:e.name}))}catch{}return null},bindConfirm:async(e,t,s)=>{for(let n of s){let s=e.boundAgents.some(e=>e.id===n.id),a=t.includes(n.id);if(s&&!a){let t=await fetch(`/api/agents/presets/${n.id}`);if(!t.ok)continue;let s=await t.json(),a=(s.skills||[]).filter(t=>t.replace(/\.md$/i,"")!==e.name);await fetch(`/api/agents/presets/${n.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,skills:a})})}else if(!s&&a){let t=await fetch(`/api/agents/presets/${n.id}`);if(!t.ok)continue;let s=await t.json();if(!(s.skills||[]).map(e=>e.replace(/\.md$/i,"")).includes(e.name)){let t=[...s.skills||[],e.name];await fetch(`/api/agents/presets/${n.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,skills:t})})}}}w()},applyAllToAgent:async(e,t)=>{try{let s=await fetch(`/api/agents/presets/${e}`);if(!s.ok)return;let n=await s.json(),a=new Set((n.skills||[]).map(e=>e.replace(/\.md$/i,""))),i=[...n.skills||[]];for(let e of t)a.has(e)||i.push(e);await fetch(`/api/agents/presets/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...n,skills:i})}),w()}catch{}},syncCheck:async()=>{let e=await fetch("/api/skills/sync-check");return e.ok?e.json():[]},syncConfirm:async e=>{let t=await fetch("/api/skills/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:e.map(e=>({agentId:e.agentId,skillName:e.skillName}))})});return t.ok&&w(),t.ok}},[D,I]=(0,s.useState)(null),[$,F]=(0,s.useState)(""),[B,P]=(0,s.useState)(null),[L,M]=(0,s.useState)([]),[O,U]=(0,s.useState)([]),[R,E]=(0,s.useState)(new Set),[H,K]=(0,s.useState)(!1),[W,q]=(0,s.useState)(!1),[V,Z]=(0,s.useState)(""),[Q,X]=(0,s.useState)(""),Y="__bind_all__",ee=B?.name===Y,et=async()=>{!D||await T.saveEdit(D.name,$)&&I(null)},es=async()=>{if(B){if(ee){let e=y.map(e=>e.name);for(let t of L)await T.applyAllToAgent(t,e)}else await T.bindConfirm(B,L,N);P(null)}},en=async()=>{q(!0);let e=await T.syncCheck();e.length>0&&(U(e),E(new Set(e.map(e=>`${e.agentId}::${e.skillName}`))),K(!0)),q(!1)},ea=async()=>{let e=O.filter(e=>R.has(`${e.agentId}::${e.skillName}`));0===e.length||await T.syncConfirm(e)&&K(!1)},ei=(u||e)&&!B&&!D,el=Array.from(new Set(b.map(e=>e.group).filter(Boolean))),er=new Set(y.map(e=>e.name)),eo=b.filter(e=>{if(V&&e.group!==V)return!1;if(Q){let t=Q.toLowerCase();if(!e.name.toLowerCase().includes(t)&&!e.id.toLowerCase().includes(t)&&!e.group.toLowerCase().includes(t))return!1}return!0}),ec=async e=>{await z(e)},ed=(0,t.jsx)("div",{className:"flex items-center gap-1 border-b border-border px-1",children:[["local",o.FileText,x("tabLocal")],["store",r.Store,x("tabStore")]].map(([e,s,n])=>(0,t.jsxs)("button",{onClick:()=>j(e),className:`flex items-center gap-1.5 px-3 py-2 text-sm font-medium border-b-2 transition-colors ${g===e?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,children:[(0,t.jsx)(s,{className:"size-3.5"}),n]},e))}),em=(0,t.jsxs)("div",{className:"flex flex-1 min-h-0 gap-4 pt-2",children:[el.length>0&&(0,t.jsx)(l.ScrollArea,{className:"hidden md:block w-44 shrink-0",children:(0,t.jsxs)("div",{className:"flex flex-col gap-1 pr-2",children:[(0,t.jsxs)(i.Button,{variant:V?"ghost":"secondary",size:"sm",className:"w-full justify-start",onClick:()=>Z(""),children:[(0,t.jsx)(o.FileText,{className:"size-3.5 mr-1.5"}),x("filterAll")]}),el.map(e=>(0,t.jsxs)(i.Button,{variant:V===e?"secondary":"ghost",size:"sm",className:"w-full justify-start",onClick:()=>Z(V===e?"":e),children:[(0,t.jsx)(d.Folder,{className:"size-3.5 mr-1.5"}),(0,t.jsx)("span",{className:"truncate",children:e})]},e))]})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col min-h-0",children:[(0,t.jsxs)("div",{className:"relative mb-3",children:[(0,t.jsx)(m.Search,{className:"size-3.5 absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(p.Input,{value:Q,onChange:e=>X(e.target.value),placeholder:x("search"),className:"pl-8"})]}),(0,t.jsx)(l.ScrollArea,{className:"flex-1",children:C?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:f("loading")}):0===eo.length?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:x("storeEmpty")}):(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 pr-2",children:eo.map(e=>{let s=er.has(e.id),n=S.has(e.path);return(0,t.jsx)("div",{className:"rounded-xl border border-border bg-background p-4 hover:bg-accent/30 transition-colors",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(r.Store,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,t.jsx)("span",{className:"font-medium text-sm",children:e.name}),(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-medium",children:e.group})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:e.id})]}),(0,t.jsx)(i.Button,{variant:s?"ghost":"outline",size:"sm",className:"shrink-0",disabled:s||n,onClick:()=>ec(e),children:s?x("imported"):n?x("importing"):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Download,{className:"size-3.5 mr-1"}),x("importTo")]})})]})},e.path)})})})]})]}),ep=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.DialogHeader,{children:(0,t.jsxs)("div",{className:"hidden md:block",children:[u?(0,t.jsx)("h2",{className:"text-base font-semibold",children:x("title")}):(0,t.jsx)(a.DialogTitle,{children:x("title")}),u?(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:x("description")}):(0,t.jsx)(a.DialogDescription,{children:x("description")})]})}),ed,(0,t.jsx)("div",{className:"flex flex-1 min-h-0 flex-col",children:"local"===g?(0,t.jsx)(A,{skills:y,agents:N,loading:k,syncLoading:W,onToggleFavorite:T.toggleFavorite,onDelete:T.deleteSkill,onEdit:e=>{I(e),F(e.content)},onBind:e=>{P(e),M(e.boundAgents.map(e=>e.id))},onImportBatch:T.importBatch,onImportFromGit:T.importFromGit,onSyncCheck:en,onBindAll:()=>{P({name:Y,description:"",filename:"",content:"",favorited:!1,group:"",boundAgents:[]}),M([])}}):em})]});return(0,t.jsxs)(t.Fragment,{children:[u&&ei&&(0,t.jsx)("div",{className:"h-full flex flex-col",children:ep}),!u&&(0,t.jsx)(a.Dialog,{open:ei,onOpenChange:h,children:(0,t.jsx)(a.DialogContent,{className:"!w-[80vw] !max-w-[80vw] !h-[80vh] flex flex-col overflow-hidden",children:ep})}),(0,t.jsx)(_,{skill:D,content:$,onContentChange:F,onClose:()=>I(null),onSave:et}),(0,t.jsx)(G,{skill:B,titleOverride:ee?x("applyAllToAgent"):void 0,descriptionOverride:ee?x("applyAllToAgentDescription"):void 0,agents:N,selected:L,onToggle:e=>M(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e]),onClose:()=>P(null),onConfirm:es}),(0,t.jsx)(J,{open:H,onOpenChange:K,items:O,selected:R,onToggle:(e,t)=>{let s=`${e}::${t}`;E(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},onConfirm:ea})]})}],625873)}]);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,788010,e=>{"use strict";var t=e.i(344180),a=e.i(465458);e.s(["Textarea",0,function({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",e),...s})}])},226624,e=>{"use strict";var t,a=e.i(344180);e.s([],916562),e.i(916562),e.i(8890);var s=e.i(764556),i=e.i(535270),r=e.i(29905),l=e.i(204133),n=e.i(277642),d=e.i(236706),o=e.i(863728),c=e.i(969490),u=e.i(370383),m=e.i(139236),p=e.i(931709),h=e.i(267805);let x=s.createContext(void 0);var g=e.i(438904);let v=((t={}).checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.readonly="data-readonly",t.required="data-required",t.valid="data-valid",t.invalid="data-invalid",t.touched="data-touched",t.dirty="data-dirty",t.filled="data-filled",t.focused="data-focused",t),f={...g.fieldValidityMapping,checked:e=>e?{[v.checked]:""}:{[v.unchecked]:""}};var b=e.i(125231),y=e.i(975698),j=e.i(380414),k=e.i(443124),N=e.i(575665),w=e.i(602453),C=e.i(742665),S=e.i(638144);let z=s.forwardRef(function(e,t){let{checked:h,className:g,defaultChecked:v,"aria-labelledby":z,form:M,id:T,inputRef:P,name:D,nativeButton:B=!1,onCheckedChange:I,readOnly:A=!1,required:K=!1,disabled:E=!1,render:L,uncheckedValue:R,value:O,style:U,...q}=e,{clearErrors:F}=(0,j.useFormContext)(),{state:_,setTouched:V,setDirty:$,validityData:H,setFilled:J,setFocused:G,shouldValidateOnChange:Q,validationMode:W,disabled:X,name:Y,validation:Z}=(0,b.useFieldRootContext)(),{labelId:ee}=(0,k.useLabelableContext)(),et=X||E,ea=Y??D,es=(0,r.useStableCallback)(I),ei=s.useRef(null),er=(0,l.useMergedRefs)(ei,P,Z.inputRef),el=s.useRef(null),en=(0,m.useBaseUiId)(),ed=(0,N.useLabelableId)({id:T,implicit:!1,controlRef:el}),eo=B?void 0:ed,[ec,eu]=(0,i.useControlled)({controlled:h,default:!!v,name:"Switch",state:"checked"});(0,y.useRegisterFieldControl)(el,{id:en,value:ec}),(0,n.useIsoLayoutEffect)(()=>{ei.current&&J(ei.current.checked)},[ei,J]),(0,S.useValueChanged)(ec,()=>{F(ea),$(ec!==H.initialValue),J(ec),Q()?Z.commit(ec):Z.commit(ec,!0)});let{getButtonProps:em,buttonRef:ep}=(0,p.useButton)({disabled:et,native:B}),eh=function(e,t,a,i=!0,r){let[l,d]=s.useState(),o=(0,m.useBaseUiId)(r?`${r}-label`:void 0),c=e??t??l;return(0,n.useIsoLayoutEffect)(()=>{let s=e||t||!i?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let s=e.labels;return s&&s[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(a.current,o);l!==s&&d(s)}),c}(z,ee,ei,!B,eo),ex=s.useMemo(()=>(0,u.mergeProps)({checked:ec,disabled:et,form:M,id:eo,name:ea,required:K,style:ea?d.visuallyHiddenInput:d.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:er,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(A)return void e.preventDefault();let t=e.currentTarget.checked,a=(0,w.createChangeEventDetails)(C.REASONS.none,e.nativeEvent);es?.(t,a),a.isCanceled||eu(t)},onFocus(){el.current?.focus()}},Z.getInputValidationProps,void 0!==O?{value:O}:o.EMPTY_OBJECT),[ec,et,M,er,eo,ea,es,A,K,eu,Z,O]),eg=s.useMemo(()=>({..._,checked:ec,disabled:et,readOnly:A,required:K}),[_,ec,et,A,K]),ev=(0,c.useRenderElement)("span",e,{state:eg,ref:[t,el,ep],props:[{id:B?ed:en,role:"switch","aria-checked":ec,"aria-readonly":A||void 0,"aria-required":K||void 0,"aria-labelledby":eh,onFocus(){et||G(!0)},onBlur(){let e=ei.current;e&&!et&&(V(!0),G(!1),"onBlur"===W&&Z.commit(e.checked))},onClick(e){A||et||(e.preventDefault(),ei.current?.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},Z.getValidationProps,q,em],stateAttributesMapping:f});return(0,a.jsxs)(x.Provider,{value:eg,children:[ev,!ec&&ea&&void 0!==R&&(0,a.jsx)("input",{type:"hidden",form:M,name:ea,value:R}),(0,a.jsx)("input",{...ex,suppressHydrationWarning:!0})]})}),M=s.forwardRef(function(e,t){let{render:a,className:i,style:r,...l}=e,{state:n}=(0,b.useFieldRootContext)(),d=function(){let e=s.useContext(x);if(void 0===e)throw Error((0,h.default)(63));return e}(),o={...n,...d};return(0,c.useRenderElement)("span",e,{state:o,ref:t,stateAttributesMapping:f,props:l})});e.s(["Root",0,z,"Thumb",0,M],695728);var T=e.i(695728),T=T,P=e.i(465458);e.s(["Switch",0,function({className:e,size:t="default",...s}){return(0,a.jsx)(T.Root,{"data-slot":"switch","data-size":t,className:(0,P.cn)("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",e),...s,children:(0,a.jsx)(T.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],226624)},357301,e=>{"use strict";let t=(0,e.i(433721).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],357301)},562918,928542,e=>{"use strict";var t=e.i(370383),a=e.i(969490);function s(e){return(0,a.useRenderElement)(e.defaultTagName??"div",e,e)}e.s(["useRender",0,s],928542);var i=e.i(294237),r=e.i(465458);let l=(0,i.cva)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:a="default",render:i,...n}){return s({defaultTagName:"span",props:(0,t.mergeProps)({className:(0,r.cn)(l({variant:a}),e)},n),render:i,state:{slot:"badge",variant:a}})}],562918)},368942,e=>{"use strict";let t=(0,e.i(816709).create)((e,t)=>({models:[],providers:[],loaded:!1,ensure:async()=>{if(!t().loaded)try{let[t,a]=await Promise.all([fetch("/api/models").then(e=>e.json()),fetch("/api/providers").then(e=>e.json())]);e({models:t,providers:a,loaded:!0})}catch{}},addModel:t=>e(e=>({models:[...e.models,t]})),updateModel:t=>e(e=>({models:e.models.map(e=>e.id===t.id?t:e)})),removeModel:t=>e(e=>({models:e.models.filter(e=>e.id!==t)})),addProvider:t=>e(e=>({providers:[...e.providers,t]})),updateProvider:t=>e(e=>({providers:e.providers.map(e=>e.id===t.id?t:e)})),removeProvider:t=>e(e=>({providers:e.providers.filter(e=>e.id!==t)}))}));e.s(["useLLMStore",0,t])},188815,e=>{"use strict";var t=e.i(344180),a=e.i(764556),s=e.i(465458),i=e.i(681622),r=e.i(344118),l=e.i(650654),n=e.i(953700);e.s(["SearchSelect",0,function({value:e,onChange:d,options:o,placeholder:c="Select...",searchPlaceholder:u="Search...",allowCustom:m=!0,className:p}){let h=(0,a.useRef)(null),[x,g]=(0,a.useState)(!1),[v,f]=(0,a.useState)("");(0,a.useEffect)(()=>{let e=e=>{h.current&&!h.current.contains(e.target)&&g(!1)};return x&&document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[x]);let b=o.filter(e=>(e.label??e.value).toLowerCase().includes(v.toLowerCase())),y=o.some(e=>e.value.toLowerCase()===v.toLowerCase()),j=o.find(t=>t.value===e),k=e&&!o.some(t=>t.value===e),N=e=>{d(e),g(!1),f("")};return(0,t.jsxs)("div",{ref:h,className:(0,s.cn)("relative",p),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>{g(!0),f("")},className:(0,s.cn)("flex h-8 w-full items-center justify-between gap-2 rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none hover:bg-muted/50 focus-visible:border-ring dark:bg-input/30"),children:[(0,t.jsx)("span",{className:(0,s.cn)("truncate",!e&&"text-muted-foreground"),children:j?j.label??j.value:k?e:c}),(0,t.jsx)(l.ChevronDown,{className:"size-3.5 shrink-0 opacity-50"})]}),x&&(0,t.jsxs)("div",{className:"absolute inset-x-0 top-full z-50 mt-1 rounded-lg border bg-popover p-1 shadow-md",children:[(0,t.jsx)(i.Input,{value:v,onChange:e=>f(e.target.value),placeholder:u,className:"h-7 text-xs",onKeyDown:e=>{"Enter"===e.key&&m&&v.trim()&&(e.preventDefault(),N(v.trim())),"Escape"===e.key&&g(!1)},autoFocus:!0}),(0,t.jsxs)("div",{className:"mt-1 max-h-48 overflow-y-auto",children:[b.map(a=>(0,t.jsxs)("button",{type:"button",className:(0,s.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs hover:bg-muted/50",e===a.value&&"bg-muted"),onClick:()=>N(a.value),children:[(0,t.jsx)(r.Check,{className:(0,s.cn)("size-3 shrink-0",e===a.value?"opacity-100":"opacity-0")}),(0,t.jsx)("span",{className:"truncate",children:a.label??a.value})]},a.value)),m&&v.trim()&&!y&&(0,t.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs text-primary hover:bg-muted/50",onClick:()=>N(v.trim()),children:[(0,t.jsx)(n.Plus,{className:"size-3 shrink-0"}),(0,t.jsxs)("span",{className:"truncate",children:['Use "',v.trim(),'"']})]}),!b.length&&!v.trim()&&(0,t.jsx)("div",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:"No results"})]})]})]})}])},325443,946899,e=>{"use strict";let t=(0,e.i(433721).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["default",0,t],946899),e.s(["Bot",0,t],325443)},426022,e=>{"use strict";let t=(0,e.i(433721).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",0,t],426022)},159619,839374,e=>{"use strict";let t=(0,e.i(433721).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["default",0,t],839374),e.s(["Copy",0,t],159619)},444433,e=>{"use strict";e.s(["BUILT_IN_AGENT_TOOLS",0,[{name:"CreateCurrentChannelIssue",label:"Create Current Issue",description:"Create and bind an issue for the current channel."},{name:"ViewCurrentChannelIssue",label:"View Current Issue",description:"View the issue and comments bound to the current channel."},{name:"AddCurrentChannelComment",label:"Add Current Comment",description:"Add a comment to the issue bound to the current channel."},{name:"ReadTerminalOutput",label:"Read Terminal Output",description:"Read paginated terminal output by session ID. Defaults to the newest 100 lines."},{name:"ListQuickCommands",label:"List Quick Commands",description:"List all quick commands for a workspace with their running status."},{name:"RunQuickCommand",label:"Run Quick Command",description:"Start a quick command by its ID. Returns the terminal session ID."},{name:"StopQuickCommand",label:"Stop Quick Command",description:"Stop a running quick command by its ID."}]])},212068,e=>{"use strict";let t=(0,e.i(433721).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["default",0,t])},673478,e=>{"use strict";let t=(0,e.i(433721).default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);e.s(["Cpu",0,t],673478)},558680,e=>{"use strict";let t=(0,e.i(433721).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",0,t])},650654,e=>{"use strict";var t=e.i(558680);e.s(["ChevronDown",()=>t.default])},129981,e=>{"use strict";let t=(0,e.i(433721).default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);e.s(["Upload",0,t],129981)},656744,e=>{"use strict";let t=(0,e.i(433721).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["default",0,t])},415360,e=>{"use strict";var t=e.i(656744);e.s(["Sparkles",()=>t.default])},588591,e=>{"use strict";var t=e.i(344180),a=e.i(764556),s=e.i(244073),i=e.i(355819),r=e.i(209988),l=e.i(260218),n=e.i(788010),d=e.i(917955),o=e.i(465458),c=e.i(767467),u=e.i(325443),m=e.i(650654),p=e.i(953700),h=e.i(357301),x=e.i(433721);let g=(0,x.default)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);var v=e.i(444433);let f={agent:"bg-gray-500/10 text-gray-600 border-gray-200",scheduler:"bg-blue-500/10 text-blue-600 border-blue-200",task_creator:"bg-green-500/10 text-green-600 border-green-200",bot:"bg-cyan-500/10 text-cyan-600 border-cyan-200"},b=[{value:"anthropic-messages",labelKey:"anthropicMessages"},{value:"openai-chat-completions",labelKey:"openaiChatCompletions"},{value:"openai-responses",labelKey:"openaiResponses"},{value:"openai-responses-to-anthropic-messages",labelKey:"openaiResponsesToAnthropic"},{value:"openai-chat-completions-to-anthropic-messages",labelKey:"openaiChatToAnthropic"},{value:"gemini-generate-content",labelKey:"geminiGenerateContent"}],y=[{value:"claude-code",labelKey:"claudeCode"},{value:"open-agent-sdk",labelKey:"openAgentSdk"},{value:"codex",labelKey:"codex"},{value:"langchain",labelKey:"langchain"}],j=["agent","scheduler","task_creator","bot"],k=(v.BUILT_IN_AGENT_TOOLS??[]).map(e=>e.name),N=new Set(["openai-responses-to-anthropic-messages","openai-chat-completions-to-anthropic-messages"]);function w(e){return{mcpServers:Object.fromEntries(e.map(e=>[e,{}]))}}function C(e){return e.map(e=>({name:`${e}.md`,content:`# ${e}
|
|
2
|
-
`}))}let S={agent:{name:"Agent",role:"agent",description:"通用 Agent,可在 workflow 中承担任意执行节点",avatarUrl:"",runtimeKind:"claude-code",modelProvider:"anthropic-messages",modelId:"claude-sonnet-4-6",apiBase:"",apiKey:"",workingDir:"",mcps:w([]),skills:C(["coding","debugging","testing"]),tools:k,systemPrompt:"你是通用 Agent。根据 issue 和当前任务上下文完成被分配的工作,遵循项目规范,必要时修改代码、运行验证,并清晰汇报结果。",outputStyle:"",temperature:.3,maxTokens:8192,enabled:!0},scheduler:{name:"Scheduler",role:"scheduler",description:"任务调度者,负责任务分发和协调",avatarUrl:"",runtimeKind:"claude-code",modelProvider:"anthropic-messages",modelId:"claude-sonnet-4-6",apiBase:"",apiKey:"",workingDir:"",mcps:w([]),skills:C(["planning","task-split"]),tools:k,systemPrompt:"你是调度者 Agent。负责接收用户任务,分析任务类型,分发给合适的执行者。你需要跟踪任务状态,确保所有子任务按时完成。",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0},task_creator:{name:"Task Creator",role:"task_creator",description:"任务创建者,负责把 issue 拆成可执行任务",avatarUrl:"",runtimeKind:"claude-code",modelProvider:"anthropic-messages",modelId:"claude-sonnet-4-6",apiBase:"",apiKey:"",workingDir:"",mcps:w([]),skills:C(["planning","task-split"]),tools:k,systemPrompt:"你是任务创建者 Agent。负责读取 issue 上下文,把需求拆分为少量可执行任务,并用系统工具写入任务列表。只创建真正需要独立执行的任务,避免把细碎步骤拆成任务。",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0},bot:{name:"Bot Agent",role:"bot",description:"消息机器人,负责处理外部聊天平台中的用户消息",avatarUrl:"",runtimeKind:"claude-code",modelProvider:"anthropic-messages",modelId:"claude-sonnet-4-6",apiBase:"",apiKey:"",workingDir:"",mcps:{},skills:[],tools:k,systemPrompt:"你是 Agent Spaces 的消息机器人。你会简洁回答来自外部聊天平台的用户消息。不要执行危险操作;需要用户提供更多信息时直接询问。",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0}};function z(e){var t,a;return{...e,name:e.name||"New Agent",description:e.description||"",avatarUrl:e.avatarUrl||"",runtimeKind:e.runtimeKind||"open-agent-sdk",modelProvider:e.modelProvider||"",modelId:e.modelId||"claude-sonnet-4-6",apiBase:e.apiBase||"",apiKey:e.apiKey||"",workingDir:e.workingDir||"",mcps:(t=e.mcps)||{},skills:Array.isArray(a=e.skills)?a.map(e=>"string"==typeof e?{name:e.endsWith(".md")?e:`${e}.md`}:e):[],tools:function(e){if(!Array.isArray(e))return k;let t=new Set((v.BUILT_IN_AGENT_TOOLS??[]).map(e=>e.name));return e.filter(e=>t.has(e))}(e.tools),systemPrompt:e.systemPrompt||"",outputStyle:e.outputStyle||"",temperature:e.temperature??.3,maxTokens:e.maxTokens??4096,enabled:e.enabled??!0}}function M(e){return{id:`draft-${e}-${Date.now()}`,...S[e],mcps:structuredClone(S[e].mcps),skills:S[e].skills.map(e=>({...e})),tools:[...S[e].tools]}}function T(){return{id:`draft-empty-${Date.now()}`,name:"",role:"agent",description:"",avatarUrl:"",runtimeKind:"claude-code",modelProvider:"",modelId:"",apiBase:"",apiKey:"",workingDir:"",mcps:{},skills:[],tools:k,systemPrompt:"",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0}}function P({icon:e,title:a,children:s}){return(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs font-medium text-muted-foreground uppercase tracking-wider",children:[e,a]}),s]})}function D({label:e,children:a}){return(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted-foreground",children:e}),a]})}var B=e.i(611176),I=e.i(562918),A=e.i(226624),K=e.i(159619),E=e.i(137340);function L({agents:e,onSelect:a,onDelete:i,onToggleEnabled:r}){let n=(0,s.useTranslations)("agent");return(0,t.jsxs)("div",{className:"flex flex-col p-2",children:[e.map(e=>{let s="agent-generator"===e.id;return(0,t.jsxs)("div",{className:(0,o.cn)("group flex items-center gap-3 rounded-lg px-3 py-2.5 hover:bg-muted/50 cursor-pointer transition-colors",!e.enabled&&!s&&"opacity-50"),onClick:()=>a(e),children:[(0,t.jsx)(B.AgentIcon,{name:e.name,avatarUrl:e.avatarUrl,apiBase:e.apiBase,className:"size-8"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,t.jsx)(I.Badge,{variant:"outline",className:"text-[10px] h-4 px-1.5",children:s?"system":e.role})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.description||n("list.noDescription")})]}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground font-mono",children:e.modelId.split("-").slice(0,2).join("-")}),(0,t.jsx)("div",{onClick:e=>e.stopPropagation(),children:(0,t.jsx)(A.Switch,{size:"sm",checked:s||e.enabled,disabled:s,onCheckedChange:()=>r?.(e.id)})}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.id)},children:(0,t.jsx)(K.Copy,{className:"size-3"})}),!s&&(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-xs",className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),i(e.id)},children:(0,t.jsx)(E.Trash2,{className:"size-3 text-destructive"})})]},e.id)}),0===e.length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 text-muted-foreground",children:[(0,t.jsx)(u.Bot,{className:"size-10 mb-2 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:n("list.empty")})]})]})}var R=e.i(368942),O=e.i(681622),U=e.i(188815),q=e.i(972846),F=e.i(673478);let _=(0,x.default)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]);var V=e.i(451534),$=e.i(212068),$=$,H=e.i(415360),J=e.i(426022);let G=(0,x.default)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]]);var Q=e.i(129981);function W({agent:e,roleOptions:i,testing:r,testResult:d,onChange:c,onMcpChange:u,onAddSkillFiles:m,onRemoveSkill:p,onTestConnection:h}){let x=(0,s.useTranslations)("agent"),[g,f]=(0,a.useState)(()=>JSON.stringify(e.mcps,null,2)),[j,k]=(0,a.useState)(null),[N,w]=(0,a.useState)([]),{models:C,providers:S,ensure:z}=(0,R.useLLMStore)(),M=C.filter(e=>!e.embedding);(0,a.useEffect)(()=>{z()},[z]);let T=(0,a.useCallback)(e=>{c("apiBase",e.apiBase),c("apiKey",e.apiKey);let t=M.filter(t=>t.provider===e.name).map(e=>({value:e.modelId,label:e.name}));w(t),t.length>0&&c("modelId",t[0].value)},[M,c]),I=async e=>{if(!e?.length)return;let t=Array.from(e).filter(e=>e.name.toLowerCase().endsWith(".md"));m(await Promise.all(t.map(async e=>({name:e.name,content:await e.text()}))))};return(0,t.jsxs)("div",{className:"flex flex-col gap-5 p-5",children:[(0,t.jsxs)(P,{icon:(0,t.jsx)(J.MessageSquare,{className:"size-3.5"}),title:x("detail.basic"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1.5",children:[(0,t.jsx)(B.AgentIcon,{name:e.name,avatarUrl:e.avatarUrl,apiBase:e.apiBase,className:"size-16 rounded-xl border border-input"}),(0,t.jsxs)("label",{className:"text-[10px] text-primary cursor-pointer hover:underline",children:[x("detail.uploadAvatar"),(0,t.jsx)("input",{type:"file",accept:"image/*",className:"hidden",onChange:async e=>{let t=e.target.files?.[0];if(!t)return;let a=new FileReader;a.onload=async()=>{try{let e=await fetch("/api/upload/avatar",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dataUrl:a.result,filename:t.name})}),s=await e.json();s.url&&c("avatarUrl",s.url)}catch{}},a.readAsDataURL(t),e.target.value=""}})]}),e.avatarUrl&&(0,t.jsx)("button",{type:"button",className:"text-[10px] text-destructive hover:underline",onClick:()=>c("avatarUrl",""),children:x("detail.removeAvatar")})]}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col gap-2.5",children:[(0,t.jsx)(D,{label:x("detail.name"),children:(0,t.jsx)(O.Input,{value:e.name,onChange:e=>c("name",e.target.value)})}),(0,t.jsx)(D,{label:x("detail.role"),children:(0,t.jsx)("select",{value:e.role,onChange:e=>c("role",e.target.value),className:"h-8 w-full rounded-lg border border-input bg-transparent px-2.5 text-sm outline-none focus-visible:border-ring dark:bg-input/30",children:i.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})})]})]}),(0,t.jsx)(D,{label:x("detail.description"),children:(0,t.jsx)(O.Input,{value:e.description,onChange:e=>c("description",e.target.value)})}),(0,t.jsx)(D,{label:x("detail.agentRuntime"),children:(0,t.jsx)(U.SearchSelect,{value:e.runtimeKind??"",onChange:e=>c("runtimeKind",e),options:y.map(e=>({value:e.value,label:x(`runtime.${e.labelKey}`)})),placeholder:x("detail.runtimePlaceholder"),searchPlaceholder:x("detail.runtimeSearchPlaceholder"),allowCustom:!1})})]}),(0,t.jsx)(P,{icon:(0,t.jsx)(V.FolderOpen,{className:"size-3.5"}),title:x("detail.workingDirectory"),children:(0,t.jsx)(O.Input,{value:e.workingDir,onChange:e=>c("workingDir",e.target.value),placeholder:x("detail.workingDirPlaceholder")})}),(0,t.jsx)(P,{icon:(0,t.jsx)(H.Sparkles,{className:"size-3.5"}),title:x("detail.systemPrompt"),children:(0,t.jsx)(n.Textarea,{value:e.systemPrompt,onChange:e=>c("systemPrompt",e.target.value),placeholder:x("detail.systemPromptPlaceholder"),className:"min-h-24 text-xs"})}),(0,t.jsx)(P,{icon:(0,t.jsx)(H.Sparkles,{className:"size-3.5"}),title:x("detail.outputStyle"),children:(0,t.jsx)(n.Textarea,{value:e.outputStyle,onChange:e=>c("outputStyle",e.target.value),placeholder:x("detail.outputStylePlaceholder"),className:"min-h-24 text-xs"})}),(0,t.jsxs)(P,{icon:(0,t.jsx)($.default,{className:"size-3.5"}),title:x("detail.mcpServers"),children:[(0,t.jsx)(n.Textarea,{value:g,onChange:e=>(e=>{f(e);try{let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))throw Error("MCP config must be a JSON object");k(null),u(t)}catch(e){k(e instanceof Error?e.message:"Invalid JSON")}})(e.target.value),placeholder:'{\n "mcpServers": {}\n}',className:"min-h-28 font-mono text-xs"}),j&&(0,t.jsx)("div",{className:"text-xs text-destructive",children:j})]}),(0,t.jsx)(P,{icon:(0,t.jsx)($.default,{className:"size-3.5"}),title:x("detail.tools"),children:(0,t.jsx)("div",{className:"grid gap-2",children:(v.BUILT_IN_AGENT_TOOLS??[]).map(a=>(0,t.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 rounded-lg border border-input px-3 py-2 hover:bg-muted/50",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.tools.includes(a.name),onChange:()=>{var t;let s;return t=a.name,void((s=new Set(e.tools)).has(t)?s.delete(t):s.add(t),c("tools",(v.BUILT_IN_AGENT_TOOLS??[]).map(e=>e.name).filter(e=>s.has(e))))},className:"mt-0.5 size-3.5"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,t.jsx)("span",{className:"block text-xs font-medium",children:a.label}),(0,t.jsx)("span",{className:"block text-[11px] text-muted-foreground",children:a.description})]})]},a.name))})}),(0,t.jsxs)(P,{icon:(0,t.jsx)(F.Cpu,{className:"size-3.5"}),title:x("detail.skills"),children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2",children:e.skills.map((e,a)=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border px-2 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground",children:[e.name,(0,t.jsx)("button",{type:"button",onClick:()=>p(a),className:"hover:text-destructive",children:(0,t.jsx)(q.X,{className:"size-2.5"})})]},a))}),(0,t.jsxs)("label",{className:"flex h-8 cursor-pointer items-center justify-center gap-2 rounded-lg border border-dashed border-input text-xs text-muted-foreground hover:bg-muted/50",children:[(0,t.jsx)(Q.Upload,{className:"size-3.5"}),x("detail.uploadSkills"),(0,t.jsx)("input",{type:"file",accept:".md,text/markdown",multiple:!0,className:"hidden",onChange:e=>{I(e.target.files),e.target.value=""}})]})]}),(0,t.jsxs)(P,{icon:(0,t.jsx)(G,{className:"size-3.5"}),title:x("detail.model"),children:[(0,t.jsxs)("div",{className:"space-y-2.5",children:[(0,t.jsx)(D,{label:x("detail.provider"),children:(0,t.jsx)(U.SearchSelect,{value:S.find(t=>t.apiBase===e.apiBase&&t.apiKey===e.apiKey)?.name||"",onChange:e=>{let t=S.find(t=>t.name===e);t&&T(t)},options:S.map(e=>({value:e.name,label:e.name})),placeholder:x("detail.providerPlaceholder"),searchPlaceholder:x("detail.providerSearchPlaceholder"),allowCustom:!1})}),(0,t.jsx)(D,{label:x("detail.modelField"),children:(0,t.jsx)(U.SearchSelect,{value:e.modelId,onChange:e=>c("modelId",e),options:N.length>0?N:[{value:e.modelId||"",label:e.modelId||x("detail.selectProviderFirst")}],placeholder:x("detail.modelPlaceholder"),searchPlaceholder:x("detail.modelSearchPlaceholder")})}),(0,t.jsx)(D,{label:x("detail.apiMessageType"),children:(0,t.jsx)(U.SearchSelect,{value:e.modelProvider||"",onChange:e=>c("modelProvider",e),options:b.map(e=>({value:e.value,label:x(`provider.${e.labelKey}`)})),placeholder:x("detail.apiMessageTypePlaceholder"),searchPlaceholder:x("detail.apiMessageTypeSearchPlaceholder"),allowCustom:!1})}),(0,t.jsx)(D,{label:x("detail.apiBase"),children:(0,t.jsx)(O.Input,{value:e.apiBase,onChange:e=>c("apiBase",e.target.value),placeholder:x("detail.apiBasePlaceholder"),className:"h-7 text-xs"})}),(0,t.jsx)(D,{label:x("detail.apiKey"),children:(0,t.jsx)(O.Input,{type:"password",value:e.apiKey,onChange:e=>c("apiKey",e.target.value),placeholder:x("detail.apiKeyPlaceholder"),className:"h-7 text-xs"})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:x("detail.validateHelper")}),(0,t.jsxs)(l.Button,{type:"button",variant:"outline",size:"sm",onClick:h,disabled:r||!e.apiBase||!e.apiKey||!e.modelId,children:[(0,t.jsx)(_,{className:"size-3.5"}),r?x("detail.testing"):x("detail.test")]})]}),d&&(0,t.jsxs)("div",{className:(0,o.cn)("rounded-md border px-3 py-2 text-xs",d.success?"border-green-500/30 bg-green-500/10 text-green-700":"border-destructive/30 bg-destructive/10 text-destructive"),children:[d.message,d.debug&&(0,t.jsxs)("div",{className:"mt-2 space-y-1 font-mono text-[10px] opacity-80",children:[d.debug.status&&(0,t.jsxs)("div",{children:[x("debug.status")," ",d.debug.status]}),d.debug.provider&&(0,t.jsxs)("div",{children:[x("debug.provider")," ",d.debug.provider]}),d.debug.requestUrl&&(0,t.jsxs)("div",{children:[x("debug.url")," ",d.debug.requestUrl]}),d.debug.model&&(0,t.jsxs)("div",{children:[x("debug.model")," ",d.debug.model]}),d.debug.responseBody&&(0,t.jsxs)("div",{className:"max-h-20 overflow-auto whitespace-pre-wrap",children:[x("debug.body")," ",d.debug.responseBody]})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(D,{label:x("detail.temperature"),children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"range",min:0,max:2,step:.1,value:e.temperature,onChange:e=>c("temperature",parseFloat(e.target.value)),className:"flex-1"}),(0,t.jsx)("span",{className:"text-xs font-mono w-8 text-right",children:e.temperature})]})}),(0,t.jsx)(D,{label:x("detail.maxTokens"),children:(0,t.jsx)(O.Input,{type:"number",value:e.maxTokens,onChange:e=>c("maxTokens",parseInt(e.target.value)||0),className:"h-7 text-xs"})})]})]})]})}let X=new Set(["agent-generator","commit-agent"]);e.s(["AgentDialog",0,function({open:e,onOpenChange:x,roleFilter:v,initialAgentId:b,standalone:y}){let k=(0,s.useTranslations)("agent"),w=(0,s.useTranslations)("common"),[C,S]=(0,a.useState)([]),[P,D]=(0,a.useState)(null),[B,I]=(0,a.useState)(null),[A,K]=(0,a.useState)(!1),[E,R]=(0,a.useState)(!1),[O,U]=(0,a.useState)(!1),[q,F]=(0,a.useState)(!1),[_,V]=(0,a.useState)(""),[$,H]=(0,a.useState)(!1),[J,G]=(0,a.useState)(null),[Q,Y]=(0,a.useState)(null),[Z,ee]=(0,a.useState)(0),et=v?new Set(Array.isArray(v)?v:[v]):null,ea=et?C.filter(e=>X.has(e.id)||et.has(e.role)):C,es=et?j.filter(e=>et.has(e)):j;(0,a.useEffect)(()=>{if(!e)return;let t=new AbortController;return queueMicrotask(()=>{K(!0),Y(null)}),fetch("/api/agents/presets",{signal:t.signal}).then(async e=>{if(!e.ok)throw Error(await e.text());return e.json()}).then(e=>{let t=e.map(z);if(S(t),b){let e=t.find(e=>e.id===b);e&&(D(e),I({...e}))}}).catch(e=>{"AbortError"!==e.name&&Y(k("error.loadFailed"))}).finally(()=>K(!1)),()=>t.abort()},[e,b,k]);let ei=()=>{D(null),I(null),G(null)},er=async()=>{if(B){R(!0),Y(null);try{let e=B.id.startsWith("draft-"),t=function(e){let{id:t,...a}=e;return{...a,modelProvider:a.modelProvider||void 0}}(B),a=await fetch(e?"/api/agents/presets":`/api/agents/presets/${B.id}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?t:B)});if(!a.ok)throw Error(await a.text());let s=await a.json(),r=z(s);S(t=>e?[...t,r]:t.map(e=>e.id===r.id?r:e)),i.useAgentStore.setState(t=>({agents:e?[...t.agents,s]:t.agents.map(e=>e.id===s.id?s:e)})),D(null),I(null)}catch{Y(k("error.saveFailed"))}finally{R(!1)}}},el=async()=>{if(B){U(!0),G(null),Y(null);try{let e=await fetch("/api/agents/presets/test-connection",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(B)}),t=await e.json();G({success:!!t.success,message:t.message||t.error||k("error.connectionTestFailed"),debug:t.debug?{...t.debug,status:e.status}:{status:e.status}})}catch(e){G({success:!1,message:e instanceof Error?e.message:k("error.connectionTestFailed")})}finally{U(!1)}}},en=e=>{let t="empty"===e?T():M(e);Y(null),D(t),I({...t})},ed=async()=>{let e=_.trim();if(e){H(!0),Y(null);try{let t=await fetch("/api/agents/presets/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e})}),a=await t.json();if(!t.ok)throw Error(a.error||"Failed to generate agent");let s=B??(es[0]?M(es[0]):T()),i={...s,name:a.name?.trim()||s.name,description:a.description?.trim()||s.description,systemPrompt:a.systemPrompt?.trim()||s.systemPrompt};D(i),I(i),F(!1),V(""),G(null)}catch(e){Y(e instanceof Error?e.message:"智能创建 Agent 失败")}finally{H(!1)}}},eo=async e=>{X.has(e)||(S(t=>t.map(t=>t.id===e?{...t,enabled:!t.enabled}:t)),await i.useAgentStore.getState().toggleEnabled(e))},ec=async e=>{if(!X.has(e)){if(e.startsWith("draft-")){D(null),I(null);return}R(!0),Y(null);try{let t=await fetch(`/api/agents/presets/${e}`,{method:"DELETE"});if(!t.ok)throw Error(await t.text());S(t=>t.filter(t=>t.id!==e)),i.useAgentStore.setState(t=>({agents:t.agents.filter(t=>t.id!==e)})),P?.id===e&&(D(null),I(null))}catch{Y(k("error.deleteFailed"))}finally{R(!1)}}},eu=()=>{if(!P||!B)return;let{modelProvider:e,modelId:t,apiBase:a,apiKey:s,runtimeKind:i}=B;I({...P,modelProvider:e,modelId:t,apiBase:a,apiKey:s,runtimeKind:i}),G(null),ee(e=>e+1)},em=(0,t.jsxs)(t.Fragment,{children:[!y&&(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b px-5 pr-12 py-4",children:[P?(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:ei,children:(0,t.jsx)(c.ArrowLeft,{className:"size-4"})}):(0,t.jsx)("div",{className:"flex size-7 items-center justify-center rounded-lg bg-primary/10",children:(0,t.jsx)(u.Bot,{className:"size-4 text-primary"})}),(0,t.jsxs)(r.DialogHeader,{className:"flex-1 space-y-0",children:[(0,t.jsx)(r.DialogTitle,{className:"text-base",children:P?B?.name??"":k("dialog.title")}),(0,t.jsx)(r.DialogDescription,{className:"text-xs",children:P?k("dialog.editDescription"):k("dialog.listDescription")})]}),P&&X.has(P.id)&&(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E,onClick:eu,children:[(0,t.jsx)(h.RotateCcw,{className:"size-3.5"}),w("reset")]}),P&&(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E||$,onClick:()=>F(!0),children:[(0,t.jsx)(g,{className:"size-3.5"}),"智能创建"]}),!P&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E||$,onClick:()=>F(!0),children:[(0,t.jsx)(g,{className:"size-3.5"}),"智能创建"]}),(0,t.jsxs)(d.DropdownMenu,{children:[(0,t.jsx)(d.DropdownMenuTrigger,{render:(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E,children:[(0,t.jsx)(p.Plus,{className:"size-3.5"}),k("dialog.add"),(0,t.jsx)(m.ChevronDown,{className:"size-3.5"})]})}),(0,t.jsx)(d.DropdownMenuContent,{side:"bottom",align:"end",className:"w-44",children:(0,t.jsxs)(d.DropdownMenuGroup,{children:[!et&&(0,t.jsxs)(d.DropdownMenuItem,{className:"gap-2",onClick:()=>en("empty"),children:[(0,t.jsx)("span",{className:"size-2 rounded-full bg-muted"}),(0,t.jsx)("span",{children:k("dialog.addEmpty")})]}),j.map(e=>(0,t.jsxs)(d.DropdownMenuItem,{className:"gap-2",onClick:()=>en(e),children:[(0,t.jsx)("span",{className:(0,o.cn)("size-2 rounded-full",f[e].split(" ")[0])}),(0,t.jsx)("span",{className:"capitalize",children:k(`role.${e}.name`)})]},e))]})})]})]})]}),y&&!P&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 px-5 py-3 border-b",children:[(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E||$,onClick:()=>F(!0),children:[(0,t.jsx)(g,{className:"size-3.5"}),"智能创建"]}),(0,t.jsxs)(d.DropdownMenu,{children:[(0,t.jsx)(d.DropdownMenuTrigger,{render:(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E,children:[(0,t.jsx)(p.Plus,{className:"size-3.5"}),k("dialog.add"),(0,t.jsx)(m.ChevronDown,{className:"size-3.5"})]})}),(0,t.jsx)(d.DropdownMenuContent,{side:"bottom",align:"end",className:"w-44",children:(0,t.jsxs)(d.DropdownMenuGroup,{children:[!et&&(0,t.jsxs)(d.DropdownMenuItem,{className:"gap-2",onClick:()=>en("empty"),children:[(0,t.jsx)("span",{className:"size-2 rounded-full bg-muted"}),(0,t.jsx)("span",{children:k("dialog.addEmpty")})]}),j.map(e=>(0,t.jsxs)(d.DropdownMenuItem,{className:"gap-2",onClick:()=>en(e),children:[(0,t.jsx)("span",{className:(0,o.cn)("size-2 rounded-full",f[e].split(" ")[0])}),(0,t.jsx)("span",{className:"capitalize",children:k(`role.${e}.name`)})]},e))]})})]})]}),y&&P&&(0,t.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-b",children:[(0,t.jsx)(l.Button,{variant:"ghost",size:"icon-sm",onClick:ei,children:(0,t.jsx)(c.ArrowLeft,{className:"size-4"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("h2",{className:"text-base font-medium truncate",children:B?.name??""}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:k("dialog.editDescription")})]}),X.has(P.id)&&(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E,onClick:eu,children:[(0,t.jsx)(h.RotateCcw,{className:"size-3.5"}),w("reset")]}),(0,t.jsxs)(l.Button,{variant:"outline",size:"sm",disabled:E||$,onClick:()=>F(!0),children:[(0,t.jsx)(g,{className:"size-3.5"}),"智能创建"]})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[Q&&(0,t.jsx)("div",{className:"mx-5 mt-4 rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:Q}),A?(0,t.jsx)("div",{className:"flex flex-col p-2 space-y-1",children:Array.from({length:5},(e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2.5",children:[(0,t.jsx)("div",{className:"size-8 rounded-full bg-muted animate-pulse"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-4 w-20 rounded bg-muted animate-pulse"}),(0,t.jsx)("div",{className:"h-4 w-10 rounded-full bg-muted animate-pulse"})]}),(0,t.jsx)("div",{className:"h-3 w-32 rounded bg-muted animate-pulse"})]}),(0,t.jsx)("div",{className:"h-3 w-12 rounded bg-muted animate-pulse"})]},a))}):P?B?(0,t.jsx)(W,{agent:B,roleOptions:es,testing:O,testResult:J,onChange:(e,t)=>{I(a=>{if(!a)return a;if("modelProvider"===e)return{...a,modelProvider:t,runtimeKind:t&&N.has(t)?"claude-code":a.runtimeKind};return"runtimeKind"===e?{...a,runtimeKind:t}:{...a,[e]:t}})},onMcpChange:e=>{I(t=>t?{...t,mcps:e}:t)},onAddSkillFiles:e=>{if(!B)return;let t=new Set(B.skills.map(e=>e.name));I(a=>a?{...a,skills:[...a.skills.filter(t=>!e.some(e=>e.name===t.name)),...e.filter(e=>e.name&&!t.has(e.name)),...e.filter(e=>t.has(e.name))]}:a)},onRemoveSkill:e=>{B&&I(t=>t?{...t,skills:t.skills.filter((t,a)=>a!==e)}:t)},onTestConnection:el},`${B.id}-${Z}`):null:(0,t.jsx)(L,{agents:ea,onSelect:e=>{D(e),I({...e})},onDelete:ec,onToggleEnabled:eo})]}),P&&(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t px-5 py-3",children:[(0,t.jsx)(l.Button,{variant:"outline",size:"sm",onClick:ei,disabled:E,children:w("cancel")}),(0,t.jsx)(l.Button,{size:"sm",onClick:er,disabled:E,children:w(E?"saving":"save")})]}),(0,t.jsx)(r.Dialog,{open:q,onOpenChange:F,children:(0,t.jsxs)(r.DialogContent,{className:"sm:max-w-lg",children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{children:"智能创建 Agent"}),(0,t.jsx)(r.DialogDescription,{children:"输入 Agent 的职责、使用场景和约束,系统会生成名称、描述和 Markdown 系统提示。"})]}),(0,t.jsx)(n.Textarea,{value:_,onChange:e=>V(e.target.value),placeholder:"例如:创建一个代码评审 Agent,专注发现 TypeScript/React 项目中的缺陷、回归风险和缺失测试。",className:"min-h-32 text-sm"}),(0,t.jsxs)(r.DialogFooter,{children:[(0,t.jsx)(l.Button,{variant:"outline",onClick:()=>F(!1),disabled:$,children:w("cancel")}),(0,t.jsx)(l.Button,{onClick:ed,disabled:$||!_.trim(),children:$?"生成中...":"生成"})]})]})})]});return y?(0,t.jsx)("div",{className:"h-full flex flex-col",children:em}):(0,t.jsx)(r.Dialog,{open:e,onOpenChange:e=>{e||ei(),x(e)},children:(0,t.jsx)(r.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col p-0 gap-0",children:em})})}],588591)}]);
|