@agent-spaces/server 0.3.62 → 0.3.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/agent-runtime-types.js +12 -0
- package/dist/adapters/claude-code-runtime/index.js +3 -0
- package/dist/adapters/claude-code-runtime/message-format.js +1 -1
- package/dist/adapters/codex-runtime.js +2 -2
- package/dist/adapters/git.js +161 -57
- package/dist/adapters/langchain-runtime.js +2 -2
- package/dist/adapters/open-agent-sdk-runtime.js +2 -2
- package/dist/agents/agent-designer.js +66 -12
- package/dist/agents/commit-agent.js +1 -0
- package/dist/agents/issue-agent-progress.js +4 -2
- package/dist/agents/issue-agent-runner.js +5 -5
- package/dist/agents/issue-task-controller.js +96 -15
- package/dist/app.js +123 -5
- package/dist/package.json +1 -1
- package/dist/routes/agent-commands.js +72 -0
- package/dist/routes/agent-sse.js +10 -2
- package/dist/routes/agent.js +15 -1
- package/dist/routes/database.js +345 -0
- package/dist/routes/git.js +52 -1
- package/dist/routes/hooks.js +88 -0
- package/dist/routes/issue.js +59 -1
- package/dist/routes/kanban.js +39 -0
- package/dist/routes/output-style.js +48 -0
- package/dist/routes/prompt-template.js +2 -2
- package/dist/routes/skill.js +86 -15
- package/dist/routes/task.js +13 -1
- package/dist/services/agent-commands.js +168 -0
- 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 +277 -0
- package/dist/services/database-vector.js +244 -0
- package/dist/services/hook-engine.js +118 -0
- package/dist/services/issue.js +6 -0
- package/dist/services/kanban.js +50 -0
- package/dist/services/notification-hub/bot-agent.js +1 -0
- package/dist/services/output-style.js +134 -0
- package/dist/services/prompt-template.js +2 -2
- package/dist/services/skill.js +148 -35
- package/dist/storage/database-store.js +365 -0
- package/dist/storage/hook-store.js +55 -0
- package/dist/storage/kanban-store.js +142 -0
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +4 -4
- package/dist/web/__next._full.txt +26 -30
- 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-9194nbxy_6d.js +1 -0
- package/dist/web/_next/static/chunks/0-f~0xmwl__u5.js +1 -0
- package/dist/web/_next/static/chunks/0.n~yfwf4~6w-.js +1 -0
- package/dist/web/_next/static/chunks/002_j970b9gdx.js +1 -0
- package/dist/web/_next/static/chunks/01iqv28_snwus.js +1 -0
- package/dist/web/_next/static/chunks/01~quun6sefgl.js +1 -0
- package/dist/web/_next/static/chunks/02mf61htij8g0.js +31 -0
- package/dist/web/_next/static/chunks/03scq1-0ykve3.js +1 -0
- package/dist/web/_next/static/chunks/04a4vsq2wknm4.js +1 -0
- package/dist/web/_next/static/chunks/04dg4l4hv11q2.js +3 -0
- package/dist/web/_next/static/chunks/04fxddw-y20~-.js +7 -0
- package/dist/web/_next/static/chunks/04w7~5ooz_pwm.js +1 -0
- package/dist/web/_next/static/chunks/05oc21sj24wtq.js +1 -0
- package/dist/web/_next/static/chunks/{0zd1o3u04~qvo.js → 05psi2gtx~bev.js} +7 -7
- package/dist/web/_next/static/chunks/{0-oog4zg4_m~m.css → 062f9zqctzg.b.css} +0 -3
- package/dist/web/_next/static/chunks/{12odetnu-lyrr.js → 06whz1~s_7pva.js} +12 -12
- package/dist/web/_next/static/chunks/08ckpwmmwlors.js +3 -0
- package/dist/web/_next/static/chunks/08k~meqbd8d6v.js +1 -0
- package/dist/web/_next/static/chunks/099h96wjsdb25.js +2 -0
- package/dist/web/_next/static/chunks/09h23logvq65m.js +1 -0
- package/dist/web/_next/static/chunks/{0njy89g5coeyi.js → 0_8dm7bxp18xo.js} +6 -6
- package/dist/web/_next/static/chunks/0_mvduwjsm35w.js +1 -0
- package/dist/web/_next/static/chunks/0_vi1a~g4wx46.js +3 -0
- package/dist/web/_next/static/chunks/0a5y-vhf4i5id.js +3 -0
- package/dist/web/_next/static/chunks/0ake2f3x2uan4.js +24 -0
- package/dist/web/_next/static/chunks/{0tvd~rxgf0oh_.js → 0bbmx45w_h5np.js} +1 -1
- package/dist/web/_next/static/chunks/0ck8dw_9-1cdx.js +1 -0
- package/dist/web/_next/static/chunks/{07a0rktf_nr5h.js → 0ctg5qmw7uu.1.js} +2 -2
- package/dist/web/_next/static/chunks/0ewceguykiut5.js +1 -0
- package/dist/web/_next/static/chunks/0f7cb9li~3jra.js +67 -0
- package/dist/web/_next/static/chunks/0fttswpzu69qx.js +1 -0
- package/dist/web/_next/static/chunks/0ghs9on7wodrm.js +1 -0
- package/dist/web/_next/static/chunks/0ghx3j_.-gdyd.js +1 -0
- package/dist/web/_next/static/chunks/{0202ia13sijwb.js → 0h18ej5yf974e.js} +1 -1
- package/dist/web/_next/static/chunks/0h9cu-k6z5o08.js +1 -0
- package/dist/web/_next/static/chunks/0i39jifmxla7q.js +1 -0
- package/dist/web/_next/static/chunks/0iuf30t0rjsjv.js +19 -0
- package/dist/web/_next/static/chunks/0jb4~3qqkw2ps.js +1 -0
- package/dist/web/_next/static/chunks/0k4zdm72k_bfy.js +1 -0
- package/dist/web/_next/static/chunks/{08o-zmr-40r5g.js → 0m11vvph7q94-.js} +1 -1
- package/dist/web/_next/static/chunks/0n6_4so_afuwk.js +71 -0
- package/dist/web/_next/static/chunks/0nb8.iteznuvx.js +1 -0
- package/dist/web/_next/static/chunks/0np.d~hc1-pmh.js +4 -0
- package/dist/web/_next/static/chunks/{0qpq0~_58fe9a.js → 0oaq67r7ix.vg.js} +1 -1
- package/dist/web/_next/static/chunks/{0d_dp_4ofz0l3.css → 0ojcao3hdm36s.css} +0 -1
- package/dist/web/_next/static/chunks/0os58q93stt7j.js +3 -0
- package/dist/web/_next/static/chunks/{0gig.k.rq8d0x.js → 0ppr271hz0xoq.js} +1 -1
- package/dist/web/_next/static/chunks/0s9lmk8iauou3.js +1 -0
- package/dist/web/_next/static/chunks/0sp_zbx~w0am7.js +1 -0
- package/dist/web/_next/static/chunks/0tel~zsv4z8l_.js +1 -0
- package/dist/web/_next/static/chunks/0twamv4wr_dbv.js +1 -0
- package/dist/web/_next/static/chunks/0uhol5wafdbl~.js +1 -0
- package/dist/web/_next/static/chunks/0v3a_x4vt42kx.js +5 -0
- package/dist/web/_next/static/chunks/{002-dxhags4dj.js → 0v6hte2z-32ca.js} +2 -2
- package/dist/web/_next/static/chunks/0v7q4mys.mnm..css +1 -0
- package/dist/web/_next/static/chunks/0vbqaynjq8ga..js +3 -0
- package/dist/web/_next/static/chunks/0xbaakj0dfc0..js +1 -0
- package/dist/web/_next/static/chunks/{0..g0jl-8qup7.js → 0xoo17yef_b8g.js} +1 -1
- package/dist/web/_next/static/chunks/0xt-8wk21gs7g.js +1 -0
- package/dist/web/_next/static/chunks/0za1r07-6az6w.js +1 -0
- package/dist/web/_next/static/chunks/0z~vqzbm_q371.js +1 -0
- package/dist/web/_next/static/chunks/0~3xm80~j9ddg.js +1 -0
- package/dist/web/_next/static/chunks/0~u.5r3-t7179.js +1 -0
- package/dist/web/_next/static/chunks/10l-9myrdo3x9.js +1 -0
- package/dist/web/_next/static/chunks/11-czmcci_55y.js +1 -0
- package/dist/web/_next/static/chunks/11k-.49r~1mfm.js +1 -0
- package/dist/web/_next/static/chunks/{0k.8qdk7oi_os.js → 128ugqd34tr_-.js} +1 -1
- package/dist/web/_next/static/chunks/12jm4gwmvq-0q.js +90 -0
- package/dist/web/_next/static/chunks/{0rke_patcovgr.js → 1442stwa0gbxe.js} +1 -1
- package/dist/web/_next/static/chunks/{0jokpgh485~28.js → 14hqmid8q4apf.js} +11 -11
- package/dist/web/_next/static/chunks/14s37n6h0_q3x.js +16 -0
- package/dist/web/_next/static/chunks/161ik5kfyuwtd.js +1 -0
- package/dist/web/_next/static/chunks/16sg-lflc8csx.js +1 -0
- package/dist/web/_next/static/chunks/17k~zbv0_4rep.js +1 -0
- package/dist/web/_next/static/chunks/17oc2l.ekcs8b.css +1 -0
- package/dist/web/_next/static/chunks/{turbopack-0lrdxynxb9-1t.js → turbopack-0ndm2zc_pdptk.js} +1 -1
- package/dist/web/_not-found/__next._full.txt +30 -31
- 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 +30 -31
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +26 -30
- 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 +29 -34
- 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 +38 -0
- package/dist/web/settings/output-styles/__next._head.txt +6 -0
- package/dist/web/settings/output-styles/__next._index.txt +15 -0
- package/dist/web/settings/output-styles/__next._tree.txt +3 -0
- package/dist/web/settings/output-styles/__next.settings.output-styles.__PAGE__.txt +9 -0
- package/dist/web/settings/output-styles/__next.settings.output-styles.txt +5 -0
- package/dist/web/settings/output-styles/__next.settings.txt +7 -0
- package/dist/web/settings/output-styles.html +1 -0
- package/dist/web/settings/output-styles.txt +38 -0
- 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 +29 -34
- package/dist/web/workflows/__next._full.txt +34 -37
- 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 +34 -37
- package/dist/web/workspace/_/__next._full.txt +32 -77
- 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 -23
- package/dist/web/workspace/_/__next.workspace.$d$id.__PAGE__.txt +3 -18
- 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 +32 -77
- package/dist/web/workspaces/__next._full.txt +32 -38
- 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 +32 -38
- package/dist/ws/agent-prompt.js +45 -8
- package/dist/ws/agent-runner.js +10 -6
- package/package.json +11 -10
- package/public/output-styles/carmack-mode.md +381 -0
- package/public/output-styles/codex-rigor-mode.md +114 -0
- package/public/output-styles/dhh-mode.md +265 -0
- package/public/output-styles/evan-you-mode.md +539 -0
- package/public/output-styles/index.json +37 -0
- package/public/output-styles/jobs-mode.md +369 -0
- package/public/output-styles/linus-mode.md +135 -0
- package/public/output-styles/uncle-bob-mode.md +221 -0
- package/public/prompt/andrej-karpathy-skills.md +65 -0
- package/public/prompt/claude-token-efficient-coding.md +35 -0
- package/public/prompt/index.json +12 -0
- package/public/skills/index.json +92 -0
- package/public/skills/planning-with-files/planning-with-files-zh/SKILL.md +243 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.ps1 +44 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/check-complete.sh +46 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.ps1 +124 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/init-session.sh +124 -0
- package/public/skills/planning-with-files/planning-with-files-zh/scripts/session-catchup.py +438 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/findings.md +29 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/progress.md +40 -0
- package/public/skills/planning-with-files/planning-with-files-zh/templates/task_plan.md +58 -0
- package/public/skills/superpowers/brainstorming/SKILL.md +164 -0
- package/public/skills/superpowers/brainstorming/scripts/frame-template.html +214 -0
- package/public/skills/superpowers/brainstorming/scripts/helper.js +88 -0
- package/public/skills/superpowers/brainstorming/scripts/server.cjs +354 -0
- package/public/skills/superpowers/brainstorming/scripts/start-server.sh +148 -0
- package/public/skills/superpowers/brainstorming/scripts/stop-server.sh +56 -0
- package/public/skills/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/public/skills/superpowers/brainstorming/visual-companion.md +287 -0
- package/public/skills/superpowers/dispatching-parallel-agents/SKILL.md +182 -0
- package/public/skills/superpowers/executing-plans/SKILL.md +70 -0
- package/public/skills/superpowers/finishing-a-development-branch/SKILL.md +251 -0
- package/public/skills/superpowers/receiving-code-review/SKILL.md +213 -0
- package/public/skills/superpowers/requesting-code-review/SKILL.md +103 -0
- package/public/skills/superpowers/requesting-code-review/code-reviewer.md +168 -0
- package/public/skills/superpowers/subagent-driven-development/SKILL.md +279 -0
- package/public/skills/superpowers/subagent-driven-development/code-quality-reviewer-prompt.md +25 -0
- package/public/skills/superpowers/subagent-driven-development/implementer-prompt.md +113 -0
- package/public/skills/superpowers/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/public/skills/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/public/skills/superpowers/systematic-debugging/SKILL.md +296 -0
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/public/skills/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/public/skills/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/public/skills/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/public/skills/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/public/skills/superpowers/systematic-debugging/test-academic.md +14 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/public/skills/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/public/skills/superpowers/test-driven-development/SKILL.md +371 -0
- package/public/skills/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/public/skills/superpowers/using-git-worktrees/SKILL.md +215 -0
- package/public/skills/superpowers/using-superpowers/SKILL.md +117 -0
- package/public/skills/superpowers/using-superpowers/references/codex-tools.md +59 -0
- package/public/skills/superpowers/using-superpowers/references/copilot-tools.md +42 -0
- package/public/skills/superpowers/using-superpowers/references/gemini-tools.md +51 -0
- package/public/skills/superpowers/verification-before-completion/SKILL.md +139 -0
- package/public/skills/superpowers/writing-plans/SKILL.md +152 -0
- package/public/skills/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/public/skills/superpowers/writing-skills/SKILL.md +655 -0
- package/public/skills/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/public/skills/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/public/skills/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/public/skills/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/public/skills/superpowers/writing-skills/render-graphs.js +168 -0
- package/public/skills/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/dist/web/_next/static/chunks/0-81wi7xr2nd-.js +0 -270
- package/dist/web/_next/static/chunks/00lca9lsasdm7.js +0 -1
- package/dist/web/_next/static/chunks/01gi~q0c6ez6..js +0 -1
- package/dist/web/_next/static/chunks/02shswpmybici.js +0 -1
- package/dist/web/_next/static/chunks/05tx6hzdtkgi9.js +0 -2
- package/dist/web/_next/static/chunks/07nbyndvzftr1.js +0 -3
- package/dist/web/_next/static/chunks/0bn~onkv~9xza.js +0 -1
- package/dist/web/_next/static/chunks/0g-0n6glz_z6w.js +0 -1
- package/dist/web/_next/static/chunks/0gyede80jpy3n.js +0 -4
- package/dist/web/_next/static/chunks/0hrbuvzuxrjfl.js +0 -1
- package/dist/web/_next/static/chunks/0i51q.5s_-.vh.css +0 -1
- package/dist/web/_next/static/chunks/0qf163pbrwy4z.js +0 -1
- package/dist/web/_next/static/chunks/0rnt-f3pjxb-d.js +0 -5
- package/dist/web/_next/static/chunks/0tgbcgsca9mrg.js +0 -1
- package/dist/web/_next/static/chunks/0tyhv6.y7~yxd.js +0 -1
- package/dist/web/_next/static/chunks/0u7_qd9hzqwac.js +0 -1
- package/dist/web/_next/static/chunks/0vuvql8rloda5.js +0 -1
- package/dist/web/_next/static/chunks/0wv0h27jafag4.js +0 -1
- package/dist/web/_next/static/chunks/0wwvc4zc2q6bn.js +0 -1
- package/dist/web/_next/static/chunks/0xmmk3vebw8xs.js +0 -1
- package/dist/web/_next/static/chunks/0xwqf.llmm_u2.js +0 -31
- package/dist/web/_next/static/chunks/0yo22_w53mo~5.js +0 -1
- package/dist/web/_next/static/chunks/12c0jp0qvlr1t.js +0 -1
- package/dist/web/_next/static/chunks/12pg1nn3v~~5k.js +0 -1
- package/dist/web/_next/static/chunks/16cyr8ilpx1nn.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/avatars/1777813826407-bea0ja-minimax.svg +0 -1
- package/public/avatars/1777813967088-3xlvd0-minimax.svg +0 -1
- package/public/avatars/1777814041714-yp0qeq-minimax.svg +0 -1
- package/public/avatars/1777904986095-rg26je-icon.png +0 -0
- package/public/avatars/1778953228323-5je54x-user.jpg +0 -0
- package/public/avatars/1778954057880-g01q6y-user.jpg +0 -0
- /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{GS3b40oeaeLxm7i9-ibaj → e8w3vd9Eov_LDYWj_0zsE}/_ssgManifest.js +0 -0
- /package/public/avatars/{1777815865622-08wp9m-user.jpg → user.jpg} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,588591,e=>{"use strict";var t=e.i(344180),a=e.i(764556),s=e.i(244073),l=e.i(355819),i=e.i(209988),r=e.i(260218),n=e.i(917955),o=e.i(465458),d=e.i(767467),c=e.i(325443),m=e.i(650654),p=e.i(953700),u=e.i(357301),x=e.i(433721);let h=(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 g=e.i(444433);let v={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"},j=[{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"}],f=[{value:"claude-code",labelKey:"claudeCode"},{value:"open-agent-sdk",labelKey:"openAgentSdk"},{value:"codex",labelKey:"codex"},{value:"langchain",labelKey:"langchain"}],y=["agent","scheduler","task_creator","bot"],b=(g.BUILT_IN_AGENT_TOOLS??[]).map(e=>e.name),N=new Set(["openai-responses-to-anthropic-messages","openai-chat-completions-to-anthropic-messages"]);function k(e){return{mcpServers:Object.fromEntries(e.map(e=>[e,{}]))}}function w(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:k([]),skills:w(["coding","debugging","testing"]),tools:b,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:k([]),skills:w(["planning","task-split"]),tools:b,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:k([]),skills:w(["planning","task-split"]),tools:b,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:b,systemPrompt:"你是 Agent Spaces 的消息机器人。你会简洁回答来自外部聊天平台的用户消息。不要执行危险操作;需要用户提供更多信息时直接询问。",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0}};function C(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 b;let t=new Set((g.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 P(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:b,systemPrompt:"",outputStyle:"",temperature:.3,maxTokens:4096,enabled:!0}}function z({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]})}function B({icon:e,title:a,action:s}){return(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 text-xs font-medium text-muted-foreground uppercase tracking-wider",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[e,(0,t.jsx)("span",{className:"truncate",children:a})]}),s?(0,t.jsx)("div",{className:"shrink-0",children:s}):null]})}var A=e.i(611176),K=e.i(562918),I=e.i(226624),M=e.i(159619),O=e.i(137340);function U({agents:e,onSelect:a,onDelete:l,onToggleEnabled:i}){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)(A.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)(K.Badge,{variant:"outline",className:"text-[10px] h-4 px-1.5",children:s?"system":e.role}),(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground font-mono",children:e.modelId.split("-").slice(0,2).join("-")})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.description||n("list.noDescription")})]}),(0,t.jsx)(r.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)(M.Copy,{className:"size-3"})}),!s&&(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-xs",className:"opacity-0 group-hover:opacity-100 transition-opacity",onClick:t=>{t.stopPropagation(),l(e.id)},children:(0,t.jsx)(O.Trash2,{className:"size-3 text-destructive"})}),(0,t.jsx)("div",{onClick:e=>e.stopPropagation(),children:(0,t.jsx)(I.Switch,{size:"sm",checked:s||e.enabled,disabled:s,onCheckedChange:()=>i?.(e.id)})})]},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)(c.Bot,{className:"size-10 mb-2 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:n("list.empty")})]})]})}var E=e.i(788010),F=e.i(368942),$=e.i(681622),L=e.i(188815),R=e.i(972846),_=e.i(673478);let q=(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 J=e.i(451534),G=e.i(119211),H=e.i(415360),W=e.i(426022);let V=(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 X=e.i(129981),Z=e.i(344118),Q=e.i(613812),Y=e.i(113519);function ee({agent:e,roleOptions:l,testing:n,testResult:d,onChange:c,onMcpChange:m,onAddSkillFiles:p,onRemoveSkill:u,onTestConnection:x}){let v=(0,s.useTranslations)("agent"),[y,b]=(0,a.useState)(()=>JSON.stringify(e.mcps,null,2)),[N,k]=(0,a.useState)(null),[w,S]=(0,a.useState)([]),[C,P]=(0,a.useState)(!1),[T,K]=(0,a.useState)(""),[I,M]=(0,a.useState)(!1),[O,U]=(0,a.useState)(""),[et,ea]=(0,a.useState)(null),[es,el]=(0,a.useState)(!1),[ei,er]=(0,a.useState)(!1),[en,eo]=(0,a.useState)(""),{models:ed,providers:ec,ensure:em}=(0,F.useLLMStore)(),ep=ed.filter(e=>!e.embedding);(0,a.useEffect)(()=>{em()},[em]),(0,a.useEffect)(()=>{b(JSON.stringify(e.mcps,null,2))},[e.mcps]);let eu=(0,a.useCallback)(e=>{c("apiBase",e.apiBase),c("apiKey",e.apiKey);let t=ep.filter(t=>t.provider===e.name).map(e=>({value:e.modelId,label:e.name}));S(t),t.length>0&&c("modelId",t[0].value)},[ep,c]),ex=async e=>{if(!e?.length)return;let t=Array.from(e).filter(e=>e.name.toLowerCase().endsWith(".md"));p(await Promise.all(t.map(async e=>({name:e.name,content:await e.text()}))))},eh=async()=>{let t=T.trim();if(t){M(!0),ea(null);try{let a=await fetch("/api/agents/presets/optimize-prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:t,currentPrompt:e.systemPrompt})}),s=await a.json();if(!a.ok)throw Error(s.error||"Failed to optimize prompt");U(s.systemPrompt?.trim()||""),eo(e.systemPrompt),P(!1),el(!0)}catch(e){ea(e instanceof Error?e.message:"优化提示词失败")}finally{M(!1)}}},eg=e=>{P(e),e||I||(K(""),ea(null))};return(0,t.jsxs)("div",{className:"flex flex-col gap-5 p-5",children:[(0,t.jsxs)(z,{icon:(0,t.jsx)(W.MessageSquare,{className:"size-3.5"}),title:v("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)(A.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:[v("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 cursor-pointer",onClick:()=>c("avatarUrl",""),children:v("detail.removeAvatar")})]}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-2.5",children:[(0,t.jsx)(D,{label:v("detail.name"),children:(0,t.jsx)($.Input,{value:e.name,onChange:e=>c("name",e.target.value)})}),(0,t.jsx)(D,{label:v("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:l.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})})]})]}),(0,t.jsx)(D,{label:v("detail.description"),children:(0,t.jsx)($.Input,{value:e.description,onChange:e=>c("description",e.target.value)})}),(0,t.jsx)(D,{label:v("detail.agentRuntime"),children:(0,t.jsx)(L.SearchSelect,{value:e.runtimeKind??"",onChange:e=>c("runtimeKind",e),options:f.map(e=>({value:e.value,label:v(`runtime.${e.labelKey}`)})),placeholder:v("detail.runtimePlaceholder"),searchPlaceholder:v("detail.runtimeSearchPlaceholder"),allowCustom:!1})})]}),(0,t.jsx)(z,{icon:(0,t.jsx)(J.FolderOpen,{className:"size-3.5"}),title:v("detail.workingDirectory"),children:(0,t.jsx)($.Input,{value:e.workingDir,onChange:e=>c("workingDir",e.target.value),placeholder:v("detail.workingDirPlaceholder")})}),(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsx)(B,{icon:(0,t.jsx)(H.Sparkles,{className:"size-3.5"}),title:v("detail.systemPrompt"),action:(0,t.jsxs)(r.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 px-2 text-xs",onClick:()=>P(!0),children:[(0,t.jsx)(h,{className:"size-3.5"}),v("detail.optimizePrompt")]})}),(0,t.jsx)(E.Textarea,{value:e.systemPrompt,onChange:e=>c("systemPrompt",e.target.value),placeholder:v("detail.systemPromptPlaceholder"),className:"min-h-24 text-xs"})]}),(0,t.jsx)(z,{icon:(0,t.jsx)(H.Sparkles,{className:"size-3.5"}),title:v("detail.outputStyle"),children:(0,t.jsx)(E.Textarea,{value:e.outputStyle,onChange:e=>c("outputStyle",e.target.value),placeholder:v("detail.outputStylePlaceholder"),className:"min-h-24 text-xs"})}),(0,t.jsxs)(z,{icon:(0,t.jsx)(G.Wrench,{className:"size-3.5"}),title:v("detail.mcpServers"),children:[(0,t.jsx)(E.Textarea,{value:y,onChange:e=>(e=>{b(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),m(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"}),N&&(0,t.jsx)("div",{className:"text-xs text-destructive",children:N})]}),(0,t.jsxs)(z,{icon:(0,t.jsx)(G.Wrench,{className:"size-3.5"}),title:v("detail.tools"),children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",className:"w-full",onClick:()=>er(!0),children:v("detail.enabledToolsCount",{count:e.tools.length,total:(g.BUILT_IN_AGENT_TOOLS??[]).length})}),(0,t.jsx)(Y.ToolsDialog,{open:ei,onOpenChange:er,selectable:!0,selectedTools:e.tools,onSelectedToolsChange:e=>c("tools",e)})]}),(0,t.jsxs)(z,{icon:(0,t.jsx)(_.Cpu,{className:"size-3.5"}),title:v("detail.skills"),children:[(0,t.jsx)("div",{className:"mb-2 flex flex-wrap gap-1.5",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 text-foreground",children:[e.name,(0,t.jsx)("button",{type:"button",onClick:()=>u(a),className:"hover:text-destructive cursor-pointer",children:(0,t.jsx)(R.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)(X.Upload,{className:"size-3.5"}),v("detail.uploadSkills"),(0,t.jsx)("input",{type:"file",accept:".md,text/markdown",multiple:!0,className:"hidden",onChange:e=>{ex(e.target.files),e.target.value=""}})]})]}),(0,t.jsxs)(z,{icon:(0,t.jsx)(V,{className:"size-3.5"}),title:v("detail.model"),children:[(0,t.jsxs)("div",{className:"space-y-2.5",children:[(0,t.jsx)(D,{label:v("detail.provider"),children:(0,t.jsx)(L.SearchSelect,{value:ec.find(t=>t.apiBase===e.apiBase&&t.apiKey===e.apiKey)?.name||"",onChange:e=>{let t=ec.find(t=>t.name===e);t&&eu(t)},options:ec.map(e=>({value:e.name,label:e.name})),placeholder:v("detail.providerPlaceholder"),searchPlaceholder:v("detail.providerSearchPlaceholder"),allowCustom:!1})}),(0,t.jsx)(D,{label:v("detail.modelField"),children:(0,t.jsx)(L.SearchSelect,{value:e.modelId,onChange:e=>c("modelId",e),options:w.length>0?w:[{value:e.modelId||"",label:e.modelId||v("detail.selectProviderFirst")}],placeholder:v("detail.modelPlaceholder"),searchPlaceholder:v("detail.modelSearchPlaceholder")})}),(0,t.jsx)(D,{label:v("detail.apiMessageType"),children:(0,t.jsx)(L.SearchSelect,{value:e.modelProvider||"",onChange:e=>c("modelProvider",e),options:j.map(e=>({value:e.value,label:v(`provider.${e.labelKey}`)})),placeholder:v("detail.apiMessageTypePlaceholder"),searchPlaceholder:v("detail.apiMessageTypeSearchPlaceholder"),allowCustom:!1})}),(0,t.jsx)(D,{label:v("detail.apiBase"),children:(0,t.jsx)($.Input,{value:e.apiBase,onChange:e=>c("apiBase",e.target.value),placeholder:v("detail.apiBasePlaceholder"),className:"h-7 text-xs"})}),(0,t.jsx)(D,{label:v("detail.apiKey"),children:(0,t.jsx)($.Input,{type:"password",value:e.apiKey,onChange:e=>c("apiKey",e.target.value),placeholder:v("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:v("detail.validateHelper")}),(0,t.jsxs)(r.Button,{type:"button",variant:"outline",size:"sm",onClick:x,disabled:n||!e.apiBase||!e.apiKey||!e.modelId,children:[(0,t.jsx)(q,{className:"size-3.5"}),n?v("detail.testing"):v("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:[v("debug.status")," ",d.debug.status]}),d.debug.provider&&(0,t.jsxs)("div",{children:[v("debug.provider")," ",d.debug.provider]}),d.debug.requestUrl&&(0,t.jsxs)("div",{children:[v("debug.url")," ",d.debug.requestUrl]}),d.debug.model&&(0,t.jsxs)("div",{children:[v("debug.model")," ",d.debug.model]}),d.debug.responseBody&&(0,t.jsxs)("div",{className:"max-h-20 overflow-auto whitespace-pre-wrap",children:[v("debug.body")," ",d.debug.responseBody]})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsx)(D,{label:v("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:"w-8 text-right font-mono text-xs",children:e.temperature})]})}),(0,t.jsx)(D,{label:v("detail.maxTokens"),children:(0,t.jsx)($.Input,{type:"number",value:e.maxTokens,onChange:e=>c("maxTokens",parseInt(e.target.value)||0),className:"h-7 text-xs"})})]})]}),(0,t.jsx)(i.Dialog,{open:C,onOpenChange:eg,children:(0,t.jsxs)(i.DialogContent,{className:"sm:max-w-lg",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:v("detail.optimizePrompt")}),(0,t.jsx)(i.DialogDescription,{children:v("detail.optimizePromptDescription")})]}),(0,t.jsx)(E.Textarea,{value:T,onChange:e=>K(e.target.value),placeholder:v("detail.optimizePromptPlaceholder"),className:"min-h-32 text-sm"}),et&&(0,t.jsx)("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-xs text-destructive",children:et}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>eg(!1),disabled:I,children:v("detail.cancel")}),(0,t.jsx)(r.Button,{onClick:eh,disabled:I||!T.trim(),children:I?v("detail.optimizing"):v("detail.optimizeConfirm")})]})]})}),(0,t.jsx)(i.Dialog,{open:es,onOpenChange:el,children:(0,t.jsxs)(i.DialogContent,{className:"!w-[min(92vw,1200px)] !max-w-[min(92vw,1200px)] !h-[85vh] flex flex-col gap-0 overflow-hidden p-0",children:[(0,t.jsxs)(i.DialogHeader,{className:"border-b px-4 py-3",children:[(0,t.jsx)(i.DialogTitle,{children:v("detail.optimizePreviewTitle")}),(0,t.jsx)(i.DialogDescription,{children:v("detail.optimizePreviewDescription")})]}),(0,t.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-1 lg:grid-cols-2",children:[(0,t.jsx)("div",{className:"min-h-0 border-b lg:border-b-0 lg:border-r",children:(0,t.jsx)(Q.DiffViewer,{oldContent:en,newContent:O,path:"system-prompt.md"})}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-col border-t lg:border-t-0",children:[(0,t.jsxs)("div",{className:"border-b px-4 py-3",children:[(0,t.jsx)("div",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:v("detail.optimizeRequest")}),(0,t.jsx)("div",{className:"mt-2 whitespace-pre-wrap text-sm text-foreground",children:T})]}),(0,t.jsxs)("div",{className:"flex-1 min-h-0 overflow-auto px-4 py-3",children:[(0,t.jsx)("div",{className:"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground",children:v("detail.optimizedPrompt")}),(0,t.jsx)("pre",{className:"whitespace-pre-wrap text-sm leading-6 text-foreground",children:O})]})]})]}),(0,t.jsxs)(i.DialogFooter,{className:"border-t m-1",children:[(0,t.jsxs)(r.Button,{variant:"outline",onClick:()=>el(!1),children:[(0,t.jsx)(R.X,{className:"size-3.5"}),v("detail.cancel")]}),(0,t.jsxs)(r.Button,{onClick:()=>{O.trim()&&(c("systemPrompt",O),el(!1),U(""),eo(""),K(""))},children:[(0,t.jsx)(Z.Check,{className:"size-3.5"}),v("detail.applyOptimizedPrompt")]})]})]})})]})}let et=(0,a.forwardRef)(function({agent:e,roleOptions:n=y,onSaved:o,onBack:d,showFooter:c=!0,autoOpenGenerate:m=!1,presetBasePath:p="/api/agents/presets"},u){let x=(0,s.useTranslations)("agent"),h=(0,s.useTranslations)("common"),[g,v]=(0,a.useState)({...e}),[j,f]=(0,a.useState)(!1),[b,k]=(0,a.useState)(!1),[w,S]=(0,a.useState)(null),[T,z]=(0,a.useState)(null),[D,B]=(0,a.useState)(0),[A,K]=(0,a.useState)(m),[I,M]=(0,a.useState)(""),[O,U]=(0,a.useState)(!1);(0,a.useImperativeHandle)(u,()=>({reset(){v(t=>{if(!t)return{...e};let{modelProvider:a,modelId:s,apiBase:l,apiKey:i,runtimeKind:r}=t;return{...e,modelProvider:a,modelId:s,apiBase:l,apiKey:i,runtimeKind:r}}),S(null),B(e=>e+1)},openGenerate(){K(!0)}}));let F=async()=>{if(g){f(!0),z(null);try{let e=g.id.startsWith("draft-"),t=function(e){let{id:t,...a}=e;return{...a,modelProvider:a.modelProvider||void 0}}(g),a=await fetch(e?p:`${p}/${g.id}`,{method:e?"POST":"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e?t:g)});if(!a.ok)throw Error(await a.text());let s=await a.json(),i=C(s);"/api/agents/presets"===p&&l.useAgentStore.setState(t=>({agents:e?[...t.agents,s]:t.agents.map(e=>e.id===s.id?s:e)})),o(i)}catch{z(x("error.saveFailed"))}finally{f(!1)}}},$=async()=>{if(g){k(!0),S(null),z(null);try{let e=await fetch(`${p}/test-connection`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}),t=await e.json();S({success:!!t.success,message:t.message||t.error||x("error.connectionTestFailed"),debug:t.debug?{...t.debug,status:e.status}:{status:e.status}})}catch(e){S({success:!1,message:e instanceof Error?e.message:x("error.connectionTestFailed")})}finally{k(!1)}}},L=async()=>{let e=I.trim();if(e){U(!0),z(null);try{let t=await fetch(`${p}/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=g??P(n[0]??"agent"),l={...s,name:a.name?.trim()||s.name,description:a.description?.trim()||s.description,systemPrompt:a.systemPrompt?.trim()||s.systemPrompt};v(l),K(!1),M(""),S(null)}catch(e){z(e instanceof Error?e.message:"智能创建 Agent 失败")}finally{U(!1)}}};return(0,t.jsxs)(t.Fragment,{children:[T&&(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:T}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsx)(ee,{agent:g,roleOptions:n,testing:b,testResult:w,onChange:(e,t)=>{v(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=>{v(t=>t?{...t,mcps:e}:t)},onAddSkillFiles:e=>{if(!g)return;let t=new Set(g.skills.map(e=>e.name));v(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=>{g&&v(t=>t?{...t,skills:t.skills.filter((t,a)=>a!==e)}:t)},onTestConnection:$},`${g.id}-${D}`)}),c&&(0,t.jsxs)("div",{className:"flex justify-end gap-2 border-t px-5 py-3",children:[(0,t.jsx)(r.Button,{variant:"outline",size:"sm",onClick:d,disabled:j,children:h("cancel")}),(0,t.jsx)(r.Button,{size:"sm",onClick:F,disabled:j,children:h(j?"saving":"save")})]}),(0,t.jsx)(i.Dialog,{open:A,onOpenChange:K,children:(0,t.jsxs)(i.DialogContent,{className:"sm:max-w-lg",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)(i.DialogTitle,{children:"智能创建 Agent"}),(0,t.jsx)(i.DialogDescription,{children:"输入 Agent 的职责、使用场景和约束,系统会生成名称、描述和 Markdown 系统提示。"})]}),(0,t.jsx)(E.Textarea,{value:I,onChange:e=>M(e.target.value),placeholder:"例如:创建一个代码评审 Agent,专注发现 TypeScript/React 项目中的缺陷、回归风险和缺失测试。",className:"min-h-32 text-sm"}),(0,t.jsxs)(i.DialogFooter,{children:[(0,t.jsx)(r.Button,{variant:"outline",onClick:()=>K(!1),disabled:O,children:h("cancel")}),(0,t.jsx)(r.Button,{onClick:L,disabled:O||!I.trim(),children:O?"生成中...":"生成"})]})]})})]})}),ea=new Set(["agent-generator","commit-agent"]);e.s(["AgentDialog",0,function({open:e,onOpenChange:x,roleFilter:g,initialAgentId:j,standalone:f,presetBasePath:b="/api/agents/presets",singleAgent:N=!1}){let k=(0,s.useTranslations)("agent"),w=(0,s.useTranslations)("common"),S=(0,a.useRef)(null),[z,D]=(0,a.useState)([]),[B,A]=(0,a.useState)(null),[K,I]=(0,a.useState)(!1),[M,O]=(0,a.useState)(!1),[E,F]=(0,a.useState)(!1),[$,L]=(0,a.useState)(null),R=g?new Set(Array.isArray(g)?g:[g]):null,_=R?z.filter(e=>ea.has(e.id)||R.has(e.role)):z,q=R?y.filter(e=>R.has(e)):y;(0,a.useEffect)(()=>{if(!e)return;let t=new AbortController;return queueMicrotask(()=>{O(!0),L(null)}),fetch(b,{signal:t.signal}).then(async e=>{if(!e.ok)throw Error(await e.text());return e.json()}).then(e=>{let t=e.map(C);if(D(t),j){let e=t.find(e=>e.id===j);e&&A(e)}else N&&t[0]&&A(t[0])}).catch(e=>{"AbortError"!==e.name&&L(k("error.loadFailed"))}).finally(()=>O(!1)),()=>t.abort()},[e,j,b,N,k]);let J=()=>{A(null),I(!1)},G=e=>{let t="empty"===e?T():P(e);L(null),A(t)},H=async e=>{ea.has(e)||(D(t=>t.map(t=>t.id===e?{...t,enabled:!t.enabled}:t)),await l.useAgentStore.getState().toggleEnabled(e))},W=async e=>{if(!ea.has(e)){if(e.startsWith("draft-"))return void A(null);F(!0),L(null);try{let t=await fetch(`${b}/${e}`,{method:"DELETE"});if(!t.ok)throw Error(await t.text());D(t=>t.filter(t=>t.id!==e)),l.useAgentStore.setState(t=>({agents:t.agents.filter(t=>t.id!==e)})),B?.id===e&&A(null)}catch{L(k("error.deleteFailed"))}finally{F(!1)}}},V=e=>(0,t.jsxs)(n.DropdownMenu,{children:[(0,t.jsx)(n.DropdownMenuTrigger,{render:(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",disabled:E,children:[(0,t.jsx)(p.Plus,{className:"size-3.5"}),!e&&k("dialog.add"),(0,t.jsx)(m.ChevronDown,{className:"size-3.5"})]})}),(0,t.jsx)(n.DropdownMenuContent,{side:"bottom",align:"end",className:"w-44",children:(0,t.jsxs)(n.DropdownMenuGroup,{children:[!R&&(0,t.jsxs)(n.DropdownMenuItem,{className:"gap-2",onClick:()=>G("empty"),children:[(0,t.jsx)("span",{className:"size-2 rounded-full bg-muted"}),(0,t.jsx)("span",{children:k("dialog.addEmpty")})]}),y.map(e=>(0,t.jsxs)(n.DropdownMenuItem,{className:"gap-2",onClick:()=>G(e),children:[(0,t.jsx)("span",{className:(0,o.cn)("size-2 rounded-full",v[e].split(" ")[0])}),(0,t.jsx)("span",{className:"capitalize",children:k(`role.${e}.name`)})]},e))]})})]}),X=(0,t.jsxs)(t.Fragment,{children:[!f&&(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b px-5 pr-12 py-4",children:[B?(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",onClick:N?()=>x(!1):J,children:(0,t.jsx)(d.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)(c.Bot,{className:"size-4 text-primary"})}),(0,t.jsxs)(i.DialogHeader,{className:"flex-1 space-y-0",children:[(0,t.jsx)(i.DialogTitle,{className:"text-base",children:B?B.name:k("dialog.title")}),(0,t.jsx)(i.DialogDescription,{className:"text-xs",children:B?k("dialog.editDescription"):k("dialog.listDescription")})]}),B&&ea.has(B.id)&&(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",disabled:E,onClick:()=>S.current?.reset(),children:[(0,t.jsx)(u.RotateCcw,{className:"size-3.5"}),w("reset")]}),B&&(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>S.current?.openGenerate(),children:[(0,t.jsx)(h,{className:"size-3.5"}),"智能创建"]}),!B&&!N&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>{let e=q[0]?P(q[0]):T();L(null),A(e),I(!0)},children:[(0,t.jsx)(h,{className:"size-3.5"}),"智能创建"]}),V()]})]}),f&&!B&&!N&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 px-5 py-3 border-b",children:[(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>{let e=q[0]?P(q[0]):T();L(null),A(e),I(!0)},children:[(0,t.jsx)(h,{className:"size-3.5"}),"智能创建"]}),V()]}),f&&B&&(0,t.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-b",children:[(0,t.jsx)(r.Button,{variant:"ghost",size:"icon-sm",onClick:N?()=>x(!1):J,children:(0,t.jsx)(d.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")})]}),ea.has(B.id)&&(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",disabled:E,onClick:()=>S.current?.reset(),children:[(0,t.jsx)(u.RotateCcw,{className:"size-3.5"}),w("reset")]}),(0,t.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>S.current?.openGenerate(),children:[(0,t.jsx)(h,{className:"size-3.5"}),"智能创建"]})]}),$&&!B&&(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:$}),M?(0,t.jsx)("div",{className:"flex-1 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))}):B?(0,t.jsx)(et,{ref:S,agent:B,roleOptions:q,onSaved:e=>{(D(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?e:t):[...t,e]),N)?x(!1):(A(null),I(!1))},onBack:N?()=>x(!1):J,showFooter:!0,autoOpenGenerate:K,presetBasePath:b}):(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsx)(U,{agents:_,onSelect:e=>{A(e)},onDelete:W,onToggleEnabled:H})})]});return f?(0,t.jsx)("div",{className:"h-full flex flex-col",children:X}):(0,t.jsx)(i.Dialog,{open:e,onOpenChange:e=>{e||N||J(),x(e)},children:(0,t.jsx)(i.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col p-0 gap-0",children:X})})}],588591)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,386041,t=>{"use strict";let e=(0,t.i(433721).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);t.s(["Code2",0,e],386041)},835829,t=>{"use strict";function e(t){return`agent-spaces:inspector-history:${t}`}function s(t){try{var s;return s=JSON.parse(localStorage.getItem(e(t))||"[]"),Array.isArray(s)?s.filter(t=>t&&"object"==typeof t&&"string"==typeof t.path&&"number"==typeof t.line).map(t=>({...t,column:"number"==typeof t.column?t.column:1,timestamp:"number"==typeof t.timestamp?t.timestamp:Date.now()})).slice(0,50):[]}catch{return[]}}function i(t,s){localStorage.setItem(e(t),JSON.stringify(s.slice(0,50)))}let a=(0,t.i(816709).create)(t=>({histories:{},loadHistory:e=>{let i=s(e);t(t=>({histories:{...t.histories,[e]:i}}))},addEntry:(e,a)=>{let r={...a,id:a.id??`${a.timestamp}-${Math.random().toString(36).slice(2,8)}`,column:a.column??1,timestamp:a.timestamp??Date.now()},o=s(e).filter(t=>t.path!==r.path||t.line!==r.line||t.column!==r.column),n=[r,...o].slice(0,50);i(e,n),t(t=>({histories:{...t.histories,[e]:n}}))},setHistory:(e,s)=>{i(e,s),t(t=>({histories:{...t.histories,[e]:s}}))},clearHistory:e=>{i(e,[]),t(t=>({histories:{...t.histories,[e]:[]}}))}}));t.s(["useInspectorHistoryStore",0,a])},194228,t=>{"use strict";let e=(0,t.i(433721).default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);t.s(["GitCommitHorizontal",0,e],194228)},253307,t=>{"use strict";let e=(0,t.i(433721).default)("file-diff",[["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:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);t.s(["FileDiff",0,e],253307)},363156,t=>{"use strict";var e=t.i(816709);let s=/not a git repository/i;function i(t){return t instanceof Error&&s.test(t.message)}let a=(0,e.create)(t=>({status:null,diffs:[],selectedFile:null,log:[],branches:[],loading:!1,error:null,notGitRepo:!1,commitMsg:"",loadStatus:async e=>{try{let s=await fetch(`/api/workspaces/${e}/git/status`);if(!s.ok)throw Error(await s.text());let i=await s.json();t({status:i,notGitRepo:!1})}catch(e){t({error:e instanceof Error?e.message:String(e),notGitRepo:i(e)})}},loadDiffs:async(e,s)=>{t({loading:!0});try{let i=s?`/api/workspaces/${e}/git/diff?path=${encodeURIComponent(s)}`:`/api/workspaces/${e}/git/diff`,a=await fetch(i);if(!a.ok)throw Error(await a.text());let r=await a.json();t({diffs:r,loading:!1,notGitRepo:!1})}catch(e){t({error:e instanceof Error?e.message:String(e),loading:!1,notGitRepo:i(e)})}},loadLog:async e=>{try{let s=await fetch(`/api/workspaces/${e}/git/log`);if(!s.ok)throw Error(await s.text());let i=await s.json();t({log:i,notGitRepo:!1})}catch(e){t({error:e instanceof Error?e.message:String(e),notGitRepo:i(e)})}},loadBranches:async e=>{try{let s=await fetch(`/api/workspaces/${e}/git/branches`);if(!s.ok)throw Error(await s.text());let i=await s.json();t({branches:i,notGitRepo:!1})}catch(e){t({error:e instanceof Error?e.message:String(e),notGitRepo:i(e)})}},initRepo:async e=>{try{let s=await fetch(`/api/workspaces/${e}/git/init`,{method:"POST"});if(!s.ok)throw Error(await s.text());t({error:null,notGitRepo:!1})}catch(e){t({error:e instanceof Error?e.message:String(e)})}},commit:async(e,s)=>{try{let t=await fetch(`/api/workspaces/${e}/git/commit`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:s})});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},discard:async(e,s)=>{try{let t=await fetch(`/api/workspaces/${e}/git/discard`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s})});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},discardAll:async e=>{try{let t=await fetch(`/api/workspaces/${e}/git/discard-all`,{method:"POST"});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},stage:async(e,s)=>{try{let t=await fetch(`/api/workspaces/${e}/git/stage`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s})});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},unstage:async(e,s)=>{try{let t=await fetch(`/api/workspaces/${e}/git/unstage`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s})});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},resolveFile:async(t,e,s,i=!0)=>{let a=await fetch(`/api/workspaces/${t}/git/resolve-file`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,content:s,stage:i})});if(!a.ok)throw Error(await a.text())},checkout:async(e,s)=>{try{let t=await fetch(`/api/workspaces/${e}/git/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:s})});if(!t.ok)throw Error(await t.text())}catch(e){t({error:e instanceof Error?e.message:String(e)})}},push:async t=>{let e=await fetch(`/api/workspaces/${t}/git/push`,{method:"POST"});if(!e.ok)throw Error((await e.json().catch(()=>({error:"Push failed"}))).error)},pull:async t=>{let e=await fetch(`/api/workspaces/${t}/git/pull`,{method:"POST"});if(!e.ok)throw Error((await e.json().catch(()=>({error:"Pull failed"}))).error)},fetchRemote:async t=>{let e=await fetch(`/api/workspaces/${t}/git/fetch`,{method:"POST"});if(!e.ok)throw Error((await e.json().catch(()=>({error:"Fetch failed"}))).error)},getRemotes:async t=>{let e=await fetch(`/api/workspaces/${t}/git/remotes`);if(!e.ok)throw Error(await e.text());return e.json()},addRemote:async(t,e,s)=>{let i=await fetch(`/api/workspaces/${t}/git/remotes`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,url:s})});if(!i.ok)throw Error((await i.json().catch(()=>({error:"Failed to add remote"}))).error)},selectFile:e=>t({selectedFile:e}),setCommitMsg:e=>t({commitMsg:e}),checkoutDetached:async(t,e)=>{let s=await fetch(`/api/workspaces/${t}/git/checkout-detached`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commitHash:e})});if(!s.ok)throw Error((await s.json().catch(()=>({}))).error)},cherryPick:async(t,e)=>{let s=await fetch(`/api/workspaces/${t}/git/cherry-pick`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({commitHash:e})});if(!s.ok)throw Error((await s.json().catch(()=>({}))).error)},createBranch:async(t,e,s)=>{let i=await fetch(`/api/workspaces/${t}/git/create-branch`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,startPoint:s})});if(!i.ok)throw Error((await i.json().catch(()=>({}))).error)},deleteBranch:async(t,e,s)=>{let i=await fetch(`/api/workspaces/${t}/git/delete-branch`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,force:s})});if(!i.ok)throw Error((await i.json().catch(()=>({}))).error)},createTag:async(t,e,s)=>{let i=await fetch(`/api/workspaces/${t}/git/create-tag`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,commitHash:s})});if(!i.ok)throw Error((await i.json().catch(()=>({}))).error)},getCommitDiff:async(t,e)=>{let s=await fetch(`/api/workspaces/${t}/git/commit-diff?hash=${encodeURIComponent(e)}`);if(!s.ok)throw Error((await s.json().catch(()=>({}))).error);return s.json()},getRemoteUrl:async t=>{let e=await fetch(`/api/workspaces/${t}/git/remote-url`);if(!e.ok)throw Error((await e.json().catch(()=>({}))).error);return(await e.json()).url},getMergeBase:async t=>{let e=await fetch(`/api/workspaces/${t}/git/merge-base`);if(!e.ok)throw Error((await e.json().catch(()=>({}))).error);return(await e.json()).hash}}));t.s(["useGitStore",0,a])},524360,t=>{"use strict";var e=t.i(816709),s=t.i(360112);let i=new Map,a=(0,e.create)((t,e)=>({sessions:[],activeId:null,ws:null,workspaceId:null,_initialized:!1,_restored:!1,init:(a,r)=>{let o=e();if(o._initialized&&o.ws===a)return;let n=o.workspaceId!==a.workspaceId;n&&i.clear(),t({ws:a,workspaceId:a.workspaceId,sessions:n?[]:o.sessions,activeId:n?null:o.activeId,_initialized:!0,_restored:!1}),a.on("terminal.created",e=>{let{sessionId:s,cwd:i,shell:a}=e;t(t=>t.sessions.some(t=>t.id===s)?t:{sessions:[...t.sessions,{id:s,cwd:i,shell:a}],activeId:s})}),a.on("terminal.error",t=>{let{error:e}=t;s.toast.error(e)}),a.on("terminal.closed",e=>{let{sessionId:s}=e;t(t=>{let e=t.sessions.filter(t=>t.id!==s),i=t.activeId===s?e[0]?.id??null:t.activeId;return{sessions:e,activeId:i}})}),a.on("terminal.sessions",e=>{let{sessions:s}=e;t(t=>{let e=new Map(t.sessions.map(t=>[t.id,t])),a=s.map(t=>{let s=e.get(t.sessionId);return t.buffer&&i.set(t.sessionId,t.buffer),{...s,id:t.sessionId,cwd:t.cwd,shell:t.shell??s?.shell}}),r=!!t.activeId&&a.some(e=>e.id===t.activeId);for(let t of s)t.buffer||i.delete(t.sessionId);return{sessions:a,activeId:r?t.activeId:a[0]?.id??null,_restored:!0}}),r?.()})},createSession:(t,s)=>{let{ws:i}=e();i?.send("terminal.create",{sessionId:crypto.randomUUID?.()??crypto.getRandomValues(new Uint8Array(16)).reduce((t,e)=>t+e.toString(16).padStart(2,"0"),""),shell:t,cwd:s})},setActive:e=>t({activeId:e}),setSessionName:(e,s)=>t(t=>({sessions:t.sessions.map(t=>t.id===e?{...t,name:s}:t)})),removeSession:s=>{let{ws:i,sessions:a,activeId:r}=e();i?.send("terminal.close",{sessionId:s});let o=a.filter(t=>t.id!==s),n=r===s?o[0]?.id??null:r;t({sessions:o,activeId:n})},sendInput:(t,s)=>{e().ws?.send("terminal.input",{sessionId:t,data:s})},resize:(t,s,i)=>{e().ws?.send("terminal.resize",{sessionId:t,cols:s,rows:i})}}));t.s(["consumeSessionBuffer",0,function(t){let e=i.get(t);return i.delete(t),e},"useTerminalStore",0,a])},191441,t=>{"use strict";let e=(0,t.i(433721).default)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]);t.s(["ListChecks",0,e],191441)},404175,t=>{"use strict";var e=t.i(344180),s=t.i(227634),i=t.i(191441),a=t.i(451534),r=t.i(386041),o=t.i(426022),n=t.i(989484),c=t.i(433721);let l=(0,c.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var h=t.i(253307),d=t.i(194228),p=t.i(210),u=t.i(255742),m=t.i(943997);let f=(0,c.default)("kanban",[["path",{d:"M5 3v14",key:"9nsxs2"}],["path",{d:"M12 3v8",key:"1h2ygw"}],["path",{d:"M19 3v18",key:"1sk56x"}]]),g=[{id:"channel-list",icon:s.Hash,group:"channel"},{id:"chat",icon:o.MessageSquare,group:"channel"},{id:"issue-list",icon:i.ListChecks,group:"issue"},{id:"issue-detail",icon:h.FileDiff,group:"issue"},{id:"workfolder",icon:a.FolderOpen,group:"workfolder"},{id:"code-editor",icon:r.Code2,group:"workfolder"},{id:"terminal",icon:l,group:"tools"},{id:"git-commits",icon:d.GitCommitHorizontal,group:"git"},{id:"project-settings",icon:p.Settings2,group:"settings"},{id:"code-favorites",icon:u.Star,group:"workfolder"},{id:"database",icon:m.Database,group:"workfolder"},{id:"kanban",icon:f,group:"workfolder"}],k={"channel-list":(0,e.jsx)(s.Hash,{size:16}),"issue-list":(0,e.jsx)(i.ListChecks,{size:16}),workfolder:(0,e.jsx)(a.FolderOpen,{size:16}),"code-editor":(0,e.jsx)(r.Code2,{size:16}),chat:(0,e.jsx)(o.MessageSquare,{size:16}),"issue-detail":(0,e.jsx)(n.FileText,{size:16}),terminal:(0,e.jsx)(l,{size:16}),"git-commits":(0,e.jsx)(d.GitCommitHorizontal,{size:16}),"project-settings":(0,e.jsx)(p.Settings2,{size:16}),"code-favorites":(0,e.jsx)(u.Star,{size:16}),database:(0,e.jsx)(m.Database,{size:16}),kanban:(0,e.jsx)(f,{size:16}),...{}};function w(t,s,i,a,r){if("git-commits"===t&&s&&!s.clean){let t=s.insertions>0||s.deletions>0,i=(0,e.jsx)("span",{className:"ml-1 text-[10px] font-medium leading-none flex items-center gap-0.5",children:t?(0,e.jsxs)(e.Fragment,{children:[s.insertions>0&&(0,e.jsxs)("span",{className:"text-green-600",children:["+",s.insertions]}),s.deletions>0&&(0,e.jsxs)("span",{className:"text-red-500",children:["-",s.deletions]})]}):(0,e.jsx)("span",{className:"text-orange-500",children:s.files.length})}),a=s.files.length;return{trailing:i,badge:a>0?(0,e.jsx)("span",{className:"absolute -top-1 -right-1.5 min-w-[14px] h-[14px] rounded-full bg-blue-500 text-white text-[9px] font-medium leading-none flex items-center justify-center px-0.5",children:a}):null}}if("terminal"===t&&i.length>0)return{trailing:null,badge:(0,e.jsx)("span",{className:"absolute -top-1 -right-1.5 min-w-[14px] h-[14px] rounded-full bg-green-500 text-white text-[9px] font-medium leading-none flex items-center justify-center px-0.5",children:i.length})};let o=(0,e.jsxs)("span",{className:"absolute -top-1 -right-1 flex h-2 w-2",children:[(0,e.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"}),(0,e.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-blue-500"})]});return"channel-list"===t&&Object.values(a).some(t=>t.some(t=>"streaming"===t.status||"pending"===t.status))||"issue-detail"===t&&r.some(t=>"pending"===t.status||"running"===t.status||"retrying"===t.status||"waiting_review"===t.status)?{trailing:null,badge:o}:{trailing:null,badge:null}}t.s(["RIGHT_TO_LEFT_TAB_MAP",0,{"code-editor":"workfolder",chat:"channel-list","issue-detail":"issue-list",database:"workfolder"},"TAB_ITEMS",0,g,"getTabBadge",0,w,"renderTabIcon",0,function(t,s,i,a,r,o){let n=k[t];if(!n)return null;let{trailing:c,badge:l}=w(t,i,a,r,o);return(0,e.jsxs)("span",{title:s,className:"flex items-center justify-center",children:[(0,e.jsxs)("span",{className:"relative",children:[n,l]}),c]})}],404175)},202411,t=>{t.v(e=>Promise.all(["static/chunks/0k4zdm72k_bfy.js","static/chunks/0a5y-vhf4i5id.js"].map(e=>t.l(e))).then(()=>e(388576)))},136450,t=>{t.v(e=>Promise.all(["static/chunks/0xoo17yef_b8g.js","static/chunks/15hca2.5le07..js","static/chunks/0ghx3j_.-gdyd.js","static/chunks/016xz2o-hv3am.js","static/chunks/0bbmx45w_h5np.js","static/chunks/0xbaakj0dfc0..js","static/chunks/0lcc9r.o.p.sc.js","static/chunks/0ow~co9wcleka.js","static/chunks/0.006.ycpe92w.js","static/chunks/0_8dm7bxp18xo.js","static/chunks/0n6_4so_afuwk.js","static/chunks/0-utii~i2fncd.js","static/chunks/05psi2gtx~bev.js","static/chunks/0-~4vw4_9z_0_.js","static/chunks/08ckpwmmwlors.js","static/chunks/0tl6o7zu1j1r-.css","static/chunks/0ay4fv-nniykh.css","static/chunks/0pldvk5_h__t7.css","static/chunks/08.u~dmq20cak.css","static/chunks/15rf3~h7sugz4.css","static/chunks/0-wkj-hzh444r.css","static/chunks/14_y_s_5rhsd1.css","static/chunks/0z8ipjj2z-3al.css","static/chunks/06vadtvw631k5.css","static/chunks/16~udgv7eel6a.css","static/chunks/0qad.lgvtlt0b.css","static/chunks/0mt-7av8yrg0o.css","static/chunks/0brrgp3ki5w4_.css","static/chunks/16i87txo0qh0h.css","static/chunks/0ojcao3hdm36s.css"].map(e=>t.l(e))).then(()=>e(538691)))},58872,t=>{t.v(e=>Promise.all(["static/chunks/04a4vsq2wknm4.js","static/chunks/0iuf30t0rjsjv.js","static/chunks/17oc2l.ekcs8b.css"].map(e=>t.l(e))).then(()=>e(608745)))},329052,t=>{t.v(e=>Promise.all(["static/chunks/0nb8.iteznuvx.js"].map(e=>t.l(e))).then(()=>e(878166)))},126861,t=>{t.v(e=>Promise.all(["static/chunks/0h9cu-k6z5o08.js","static/chunks/05oc21sj24wtq.js","static/chunks/12jm4gwmvq-0q.js","static/chunks/0xbaakj0dfc0..js","static/chunks/04dg4l4hv11q2.js"].map(e=>t.l(e))).then(()=>e(773354)))},124383,t=>{t.v(e=>Promise.all(["static/chunks/0tel~zsv4z8l_.js"].map(e=>t.l(e))).then(()=>e(783481)))},318599,t=>{t.v(e=>Promise.all(["static/chunks/04w7~5ooz_pwm.js","static/chunks/0-9194nbxy_6d.js","static/chunks/12jm4gwmvq-0q.js","static/chunks/0f7cb9li~3jra.js"].map(e=>t.l(e))).then(()=>e(706304)))},222445,t=>{t.v(e=>Promise.all(["static/chunks/0uhol5wafdbl~.js","static/chunks/04fxddw-y20~-.js"].map(e=>t.l(e))).then(()=>e(514669)))},78906,t=>{t.v(e=>Promise.all(["static/chunks/14s37n6h0_q3x.js"].map(e=>t.l(e))).then(()=>e(985646)))},857328,t=>{t.v(e=>Promise.all(["static/chunks/0xt-8wk21gs7g.js"].map(e=>t.l(e))).then(()=>e(306649)))},3725,t=>{t.v(e=>Promise.all(["static/chunks/0-f~0xmwl__u5.js"].map(e=>t.l(e))).then(()=>e(722705)))},823528,t=>{t.v(e=>Promise.all(["static/chunks/0os58q93stt7j.js","static/chunks/0ake2f3x2uan4.js","static/chunks/12jm4gwmvq-0q.js","static/chunks/0xbaakj0dfc0..js"].map(e=>t.l(e))).then(()=>e(394896)))},903135,t=>{t.v(e=>Promise.all(["static/chunks/0ck8dw_9-1cdx.js","static/chunks/0ghx3j_.-gdyd.js"].map(e=>t.l(e))).then(()=>e(683223)))}]);
|