@agent-spaces/server 0.3.65 → 0.3.67
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.js +4 -0
- package/dist/adapters/codex-function-tool-bridge.js +144 -0
- package/dist/adapters/codex-runtime.js +23 -4
- package/dist/adapters/git.js +12 -1
- package/dist/adapters/hermes-runtime.js +210 -0
- package/dist/agents/issue-task-controller.js +69 -2
- package/dist/agents/pull-request-agent.js +115 -0
- package/dist/agents/scheduler-agent.js +1 -1
- package/dist/app.js +6 -2
- package/dist/middleware/auth.js +1 -1
- package/dist/package.json +2 -1
- package/dist/routes/agent-sse.js +1 -0
- package/dist/routes/issue.js +1 -1
- package/dist/routes/notification.js +10 -0
- package/dist/routes/version.js +94 -0
- package/dist/routes/worktree.js +93 -0
- package/dist/services/agent.js +1 -1
- package/dist/services/notification-center.js +9 -0
- package/dist/services/version.js +59 -0
- package/dist/services/workflow-command-runner.js +23 -0
- package/dist/services/workflow.js +25 -8
- package/dist/services/workspace.js +23 -1
- package/dist/services/worktree.js +207 -0
- package/dist/storage/worktree-store.js +33 -0
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +4 -4
- package/dist/web/__next._full.txt +21 -21
- package/dist/web/__next._head.txt +4 -4
- package/dist/web/__next._index.txt +13 -13
- package/dist/web/__next._tree.txt +2 -2
- package/dist/web/_next/static/chunks/{08x85faoz58i7.js → 0-92u-tiuy40a.js} +4 -4
- package/dist/web/_next/static/chunks/{0db14450oqzhg.js → 0-yizd8osmas2.js} +1 -1
- package/dist/web/_next/static/chunks/0.ln~3mnv8.69.js +1 -0
- package/dist/web/_next/static/chunks/{11cchuwoupmbf.js → 01y3e9pemva7b.js} +10 -10
- package/dist/web/_next/static/chunks/02l~tmzrgny.~.js +1 -0
- package/dist/web/_next/static/chunks/03f1bwuynjdmk.js +1 -0
- package/dist/web/_next/static/chunks/04cb4kc9r2pd1.js +1 -0
- package/dist/web/_next/static/chunks/04de6ha5_e3pp.js +1 -0
- package/dist/web/_next/static/chunks/09he0p79ov1rn.js +1 -0
- package/dist/web/_next/static/chunks/09vpocs4zuc8h.js +1 -0
- package/dist/web/_next/static/chunks/0_o2exgr0e_nh.js +1 -0
- package/dist/web/_next/static/chunks/{0xbaakj0dfc0..js → 0_y9nskc-xt2k.js} +1 -1
- package/dist/web/_next/static/chunks/0clnj-1fi6u8j.js +3 -0
- package/dist/web/_next/static/chunks/0gv40by0zzxs_.js +1 -0
- package/dist/web/_next/static/chunks/0iusr8y88.kjg.js +1 -0
- package/dist/web/_next/static/chunks/{0-a.-hl3wv99k.js → 0j-8418fxvkd1.js} +1 -1
- package/dist/web/_next/static/chunks/0j.wxxyoclma5.js +1 -0
- package/dist/web/_next/static/chunks/{0.6b64sy0g5.3.js → 0jq.16sozqik..js} +1 -1
- package/dist/web/_next/static/chunks/0jw8xdk_fpnp0.css +1 -0
- package/dist/web/_next/static/chunks/0l1lkd-wcotma.js +1 -0
- package/dist/web/_next/static/chunks/{0u6h-hqc_i52e.js → 0ncxf_zr4n839.js} +1 -1
- package/dist/web/_next/static/chunks/0ndo7um~v7vco.js +1 -0
- package/dist/web/_next/static/chunks/0ngk.~kan8wq_.js +1 -0
- package/dist/web/_next/static/chunks/0ppr271hz0xoq.js +1 -0
- package/dist/web/_next/static/chunks/0rt9bofnn6qvn.js +1 -0
- package/dist/web/_next/static/chunks/0t64.9jd00hio.js +3 -0
- package/dist/web/_next/static/chunks/0taui9--5n6-5.js +1 -0
- package/dist/web/_next/static/chunks/0ty39169lh~z3.js +1 -0
- package/dist/web/_next/static/chunks/0v8nof~waedlu.js +1 -0
- package/dist/web/_next/static/chunks/{0-pi.67w.ymsr.js → 0vcfoagnpf.aw.js} +1 -1
- package/dist/web/_next/static/chunks/{0vis~lx0nxgn-.js → 0wwwq.gyyz0vg.js} +3 -3
- package/dist/web/_next/static/chunks/0x5lak8yz7pm7.js +1 -0
- package/dist/web/_next/static/chunks/0xon_.4-o0_zq.js +7 -0
- package/dist/web/_next/static/chunks/0zjnrbt7inime.js +1 -0
- package/dist/web/_next/static/chunks/0zwebpitvpuv1.js +1 -0
- package/dist/web/_next/static/chunks/0~02o4g-o6n~m.js +1 -0
- package/dist/web/_next/static/chunks/{0w7.tb29958zj.js → 0~fjezp.k4qk3.js} +1 -1
- package/dist/web/_next/static/chunks/0~sh93re1-_rp.js +1 -0
- package/dist/web/_next/static/chunks/10_niiq0k6o-p.js +5 -0
- package/dist/web/_next/static/chunks/12tjr0_2ccrtq.js +2 -0
- package/dist/web/_next/static/chunks/12x5.go_x9mfk.js +1 -0
- package/dist/web/_next/static/chunks/{0l2w0qz1ea7ql.js → 12~5dk9i9d16t.js} +2 -2
- package/dist/web/_next/static/chunks/13iye4rv5p31b.js +1 -0
- package/dist/web/_next/static/chunks/{01~quun6sefgl.js → 13~y-b.b9rrw4.js} +1 -1
- package/dist/web/_next/static/chunks/151wzhb5q0lo5.js +1 -0
- package/dist/web/_not-found/__next._full.txt +19 -19
- package/dist/web/_not-found/__next._head.txt +4 -4
- package/dist/web/_not-found/__next._index.txt +13 -13
- 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 +2 -2
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +19 -19
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +21 -21
- package/dist/web/login/__next._full.txt +21 -21
- package/dist/web/login/__next._head.txt +4 -4
- package/dist/web/login/__next._index.txt +13 -13
- package/dist/web/login/__next._tree.txt +2 -2
- 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 +21 -21
- package/dist/web/settings/__next._full.txt +23 -23
- package/dist/web/settings/__next._head.txt +4 -4
- package/dist/web/settings/__next._index.txt +13 -13
- package/dist/web/settings/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/agents/__next._head.txt +4 -4
- package/dist/web/settings/agents/__next._index.txt +13 -13
- package/dist/web/settings/agents/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/mcps/__next._full.txt +23 -23
- package/dist/web/settings/mcps/__next._head.txt +4 -4
- package/dist/web/settings/mcps/__next._index.txt +13 -13
- package/dist/web/settings/mcps/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/models/__next._full.txt +23 -23
- package/dist/web/settings/models/__next._head.txt +4 -4
- package/dist/web/settings/models/__next._index.txt +13 -13
- package/dist/web/settings/models/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/output-styles/__next._full.txt +23 -23
- package/dist/web/settings/output-styles/__next._head.txt +4 -4
- package/dist/web/settings/output-styles/__next._index.txt +13 -13
- package/dist/web/settings/output-styles/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/prompts/__next._full.txt +23 -23
- package/dist/web/settings/prompts/__next._head.txt +4 -4
- package/dist/web/settings/prompts/__next._index.txt +13 -13
- package/dist/web/settings/prompts/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/providers/__next._full.txt +23 -23
- package/dist/web/settings/providers/__next._head.txt +4 -4
- package/dist/web/settings/providers/__next._index.txt +13 -13
- package/dist/web/settings/providers/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/skills/__next._full.txt +23 -23
- package/dist/web/settings/skills/__next._head.txt +4 -4
- package/dist/web/settings/skills/__next._index.txt +13 -13
- package/dist/web/settings/skills/__next._tree.txt +2 -2
- 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 +23 -23
- package/dist/web/settings/tools/__next._full.txt +23 -23
- package/dist/web/settings/tools/__next._head.txt +4 -4
- package/dist/web/settings/tools/__next._index.txt +13 -13
- package/dist/web/settings/tools/__next._tree.txt +2 -2
- package/dist/web/settings/tools/__next.settings.tools.__PAGE__.txt +4 -4
- package/dist/web/settings/tools/__next.settings.tools.txt +3 -3
- package/dist/web/settings/tools/__next.settings.txt +5 -5
- package/dist/web/settings/tools.html +1 -1
- package/dist/web/settings/tools.txt +23 -23
- package/dist/web/settings.html +1 -1
- package/dist/web/settings.txt +23 -23
- package/dist/web/workflows/__next._full.txt +22 -22
- package/dist/web/workflows/__next._head.txt +4 -4
- package/dist/web/workflows/__next._index.txt +13 -13
- package/dist/web/workflows/__next._tree.txt +2 -2
- 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 +22 -22
- package/dist/web/workspace/_/__next._full.txt +20 -20
- package/dist/web/workspace/_/__next._head.txt +4 -4
- package/dist/web/workspace/_/__next._index.txt +13 -13
- package/dist/web/workspace/_/__next._tree.txt +2 -2
- 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 +20 -20
- package/dist/web/workspaces/__next._full.txt +21 -21
- package/dist/web/workspaces/__next._head.txt +4 -4
- package/dist/web/workspaces/__next._index.txt +13 -13
- package/dist/web/workspaces/__next._tree.txt +2 -2
- 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 +21 -21
- package/dist/ws/agent-prompt.js +32 -3
- package/dist/ws/agent-runner.js +1 -0
- package/package.json +2 -1
- package/dist/web/_next/static/chunks/0-v_p6j5u3_9l.js +0 -1
- package/dist/web/_next/static/chunks/0.-x29t-8gk0r.js +0 -1
- package/dist/web/_next/static/chunks/0.l5e8~r7_0~p.js +0 -1
- package/dist/web/_next/static/chunks/0.n~yfwf4~6w-.js +0 -1
- package/dist/web/_next/static/chunks/00-syqzi-6zxr.js +0 -1
- package/dist/web/_next/static/chunks/02j4sr9psucf-.js +0 -1
- package/dist/web/_next/static/chunks/06si8l0doqe8p.js +0 -1
- package/dist/web/_next/static/chunks/08kfx8on9oty~.js +0 -1
- package/dist/web/_next/static/chunks/08ugbvzr20drp.js +0 -2
- package/dist/web/_next/static/chunks/0_cqojbge48kq.js +0 -5
- package/dist/web/_next/static/chunks/0d6~~lv0-6kex.js +0 -3
- package/dist/web/_next/static/chunks/0gdwop9cnpmtu.js +0 -1
- package/dist/web/_next/static/chunks/0ghx3j_.-gdyd.js +0 -1
- package/dist/web/_next/static/chunks/0kbvoxla7f751.js +0 -1
- package/dist/web/_next/static/chunks/0paaat8y96ayc.js +0 -7
- package/dist/web/_next/static/chunks/0pq318f8xgafg.js +0 -1
- package/dist/web/_next/static/chunks/0t6s8of0qr6nc.js +0 -1
- package/dist/web/_next/static/chunks/0xt-8wk21gs7g.js +0 -1
- package/dist/web/_next/static/chunks/0yd.m1afqg.2t.js +0 -3
- package/dist/web/_next/static/chunks/0yhbr8hl09b-5.js +0 -1
- package/dist/web/_next/static/chunks/0z~vqzbm_q371.js +0 -1
- package/dist/web/_next/static/chunks/0~~_ltu6dx_ch.js +0 -1
- package/dist/web/_next/static/chunks/12oxcgyhpaxw~.js +0 -1
- package/dist/web/_next/static/chunks/1452eibz62gs6.css +0 -1
- package/dist/web/_next/static/chunks/16zlreiems5cn.js +0 -1
- package/dist/web/_next/static/chunks/18awqjk9-o5m0.js +0 -1
- /package/dist/web/_next/static/{x4-CsKe6qUQyFDWVtfvUg → rGXyAK8rgod1NjF3bLZAY}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{x4-CsKe6qUQyFDWVtfvUg → rGXyAK8rgod1NjF3bLZAY}/_clientMiddlewareManifest.js +0 -0
- /package/dist/web/_next/static/{x4-CsKe6qUQyFDWVtfvUg → rGXyAK8rgod1NjF3bLZAY}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,885761,e=>{"use strict";var t,s,n=e.i(344180),a=e.i(764556),r=e.i(244073),l=e.i(31807),i=e.i(355819),o=e.i(157408),d=e.i(159619),c=e.i(962562),u=e.i(137340),m=e.i(344118),x=e.i(444204),p=e.i(433721);let h=(0,p.default)("reply",[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]);var g=e.i(244996),f=e.i(668667),j=e.i(588785),v=e.i(209988),b=e.i(555060),N=e.i(611176),y=e.i(951841),k=e.i(996652);let w=(0,p.default)("user-minus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);var C=e.i(426022),T=e.i(325443),I=e.i(119211),S=e.i(191202),M=e.i(989484),z=e.i(415360),D=e.i(650654),A=e.i(939760);let P={"open-agent-sdk":"OpenAgent SDK","claude-code":"Claude Code",codex:"Codex",langchain:"LangChain"},O={"anthropic-messages":"Anthropic","openai-chat-completions":"OpenAI Chat","openai-responses":"OpenAI Responses","openai-responses-to-anthropic-messages":"OpenAI → Anthropic","openai-chat-completions-to-anthropic-messages":"OpenAI Chat → Anthropic","gemini-generate-content":"Gemini"};function R({icon:e,label:t,children:s}){return(0,n.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,n.jsx)(e,{className:"size-3.5 mt-0.5 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-muted-foreground w-14 shrink-0",children:t}),(0,n.jsx)("div",{className:"flex-1 min-w-0",children:s})]})}function $({items:e}){let[t,s]=(0,a.useState)(!1),r=(0,a.useRef)(null),[l,i]=(0,a.useState)(!1),o=(0,a.useCallback)(()=>{let e=r.current;e&&i(e.scrollHeight>e.clientHeight+2)},[]);return(0,a.useEffect)(()=>{o()},[o,e]),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{ref:r,className:`flex flex-wrap gap-1 ${!t?"max-h-[3rem] overflow-hidden":""}`,children:e.map(e=>(0,n.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[11px]",children:e},e))}),l&&(0,n.jsxs)("button",{onClick:()=>s(e=>!e),className:"mt-1 flex items-center gap-0.5 text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:[(0,n.jsx)(D.ChevronDown,{className:`size-3 transition-transform ${t?"rotate-180":""}`}),t?"收起":"展开全部"]})]})}function B({agent:e}){return(0,n.jsxs)("div",{className:"space-y-2",children:[e.description&&(0,n.jsx)(R,{icon:T.Bot,label:"描述",children:(0,n.jsx)("span",{className:"text-foreground",children:e.description})}),e.systemPrompt&&(0,n.jsx)(R,{icon:M.FileText,label:"提示词",children:(0,n.jsx)("p",{className:"line-clamp-3 text-muted-foreground whitespace-pre-wrap",children:e.systemPrompt})}),e.skills&&e.skills.length>0&&(0,n.jsx)(R,{icon:z.Sparkles,label:"技能",children:(0,n.jsx)($,{items:e.skills})}),e.tools&&e.tools.length>0&&(0,n.jsx)(R,{icon:I.Wrench,label:"工具",children:(0,n.jsx)($,{items:e.tools})}),e.mcps&&Object.keys(e.mcps).length>0&&(0,n.jsx)(R,{icon:S.Plug,label:"MCP",children:(0,n.jsx)($,{items:Object.keys(e.mcps)})})]})}function E({agentId:e,displayName:t,channels:s=[],compact:a=!1,onConfigure:r}){let l=(0,i.useAgentStore)(e=>e.agents).find(t=>t.id===e),o=t||l?.name||e,d=[];return l?.runtimeKind&&d.push({label:P[l.runtimeKind]||l.runtimeKind}),l?.modelProvider&&d.push({label:O[l.modelProvider]||l.modelProvider}),l?.modelId&&d.push({label:l.modelId,variant:"mono"}),(0,n.jsxs)("div",{className:a?"space-y-1.5":"space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(N.AgentIcon,{agentId:e,name:o,className:a?"size-8 rounded-full":"size-10 rounded-full"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:`font-medium truncate ${a?"text-xs":"text-sm"}`,children:o}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap mt-0.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:l?.role||e}),d.map(e=>(0,n.jsx)("span",{className:`inline-flex items-center rounded-full bg-muted px-1.5 py-px text-[10px] leading-tight ${"mono"===e.variant?"font-mono":""}`,children:e.label},e.label))]})]}),l&&r&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),r()},className:"shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer",children:(0,n.jsx)(A.Settings,{className:"size-4"})})]}),l&&(0,n.jsx)(B,{agent:l}),!a&&s.length>0&&(0,n.jsxs)("div",{className:"space-y-1 pt-1",children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"所在频道"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-muted px-2 py-0.5 text-xs",children:[(0,n.jsx)(C.MessageSquare,{className:"size-3"}),e]},e))})]})]})}function _({open:e,onOpenChange:t,memberName:s,displayName:r,channelId:i,workspaceId:o,channels:d=[]}){let[c,u]=(0,a.useState)(!1),{channels:m,updateChannel:x}=(0,l.useChannelStore)(),p=m.find(e=>e.id===i),h=p?.members.includes(s),g=async()=>{if(p&&h){u(!0);try{let e=(l.useChannelStore.getState().channels.find(e=>e.id===i)??p).members.filter(e=>e!==s);l.useChannelStore.setState(t=>({channels:t.channels.map(t=>t.id===i?{...t,members:e}:t)})),await x(o,i,{members:e}),t(!1)}finally{u(!1)}}};return(0,n.jsx)(v.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(v.DialogContent,{className:"sm:max-w-md",children:[(0,n.jsxs)(v.DialogHeader,{children:[(0,n.jsx)(v.DialogTitle,{children:"成员信息"}),(0,n.jsx)(v.DialogDescription,{})]}),(0,n.jsx)(E,{agentId:s,displayName:r,channels:d}),h&&"user"!==s&&(0,n.jsxs)("button",{onClick:g,disabled:c,className:"flex items-center justify-center gap-2 w-full mt-2 px-3 py-2 rounded-md text-sm text-destructive hover:bg-destructive/10 disabled:opacity-50 transition-colors cursor-pointer",children:[(0,n.jsx)(w,{className:"size-4"}),c?"移除中...":"从频道移除"]})]})})}var F=e.i(465458);let L=({size:e=16})=>(0,n.jsxs)("svg",{height:e,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:e,children:[(0,n.jsx)("title",{children:"Loader"}),(0,n.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,n.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,n.jsx)("defs",{children:(0,n.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,n.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]}),U=({className:e,size:t=16,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("inline-flex animate-spin items-center justify-center",e),...s,children:(0,n.jsx)(L,{size:t})});var H=e.i(946899),H=H;e.s([],352264),e.i(352264),e.i(8890);var W=e.i(535270),q=e.i(29905),G=e.i(756432),V=e.i(189131),K=e.i(267805);let J=a.createContext(void 0);function Q(){let e=a.useContext(J);if(void 0===e)throw Error((0,K.default)(10));return e}var Y=e.i(969490),Z=e.i(602453),X=e.i(742665);let ee={value:()=>null},et=a.forwardRef(function(e,t){let{render:s,className:r,disabled:l=!1,hiddenUntilFound:i,keepMounted:o,loopFocus:d=!0,onValueChange:c,multiple:u=!1,orientation:m="vertical",value:x,defaultValue:p,style:h,...g}=e,f=(0,V.useDirection)(),j=a.useMemo(()=>{if(void 0===x)return p??[]},[x,p]),v=(0,q.useStableCallback)(c),b=a.useRef([]),[N,y]=(0,W.useControlled)({controlled:x,default:j,name:"Accordion",state:"value"}),k=(0,q.useStableCallback)((e,t)=>{let s=(0,Z.createChangeEventDetails)(X.REASONS.none);if(u)if(t){let t=N.slice();if(t.push(e),v(t,s),s.isCanceled)return;y(t)}else{let t=N.filter(t=>t!==e);if(v(t,s),s.isCanceled)return;y(t)}else{let t=N[0]===e?[]:[e];if(v(t,s),s.isCanceled)return;y(t)}}),w=a.useMemo(()=>({value:N,disabled:l,orientation:m}),[N,l,m]),C=a.useMemo(()=>({accordionItemRefs:b,direction:f,disabled:l,handleValueChange:k,hiddenUntilFound:i??!1,keepMounted:o??!1,loopFocus:d,orientation:m,state:w,value:N}),[f,l,k,i,o,d,m,w,N]),T=(0,Y.useRenderElement)("div",e,{state:w,ref:t,props:[{dir:f,role:"region"},g],stateAttributesMapping:ee});return(0,n.jsx)(J.Provider,{value:C,children:(0,n.jsx)(G.CompositeList,{elementsRef:b,children:T})})});var es=e.i(204133),en=e.i(139236),ea=e.i(257295),er=e.i(619279),el=e.i(296615);let ei=a.createContext(void 0);function eo(){let e=a.useContext(ei);if(void 0===e)throw Error((0,K.default)(9));return e}var ed=e.i(439485),ec=e.i(282458);let eu=((t={}).index="data-index",t.disabled="data-disabled",t.open="data-open",t),em={...ed.collapsibleOpenStateMapping,index:e=>Number.isInteger(e)?{[eu.index]:String(e)}:null,...ec.transitionStatusMapping,value:()=>null},ex=a.forwardRef(function(e,t){let{className:s,disabled:r=!1,onOpenChange:l,render:i,value:o,style:d,...c}=e,{ref:u,index:m}=(0,el.useCompositeListItem)(),x=(0,es.useMergedRefs)(t,u),{disabled:p,handleValueChange:h,state:g,value:f}=Q(),j=(0,en.useBaseUiId)(),v=o??j,b=r||p,N=a.useMemo(()=>{if(!f)return!1;for(let e=0;e<f.length;e+=1)if(f[e]===v)return!0;return!1},[f,v]),y=(0,q.useStableCallback)((e,t)=>{l?.(e,t),t.isCanceled||h(v,e)}),k=(0,ea.useCollapsibleRoot)({open:N,onOpenChange:y,disabled:b}),w=a.useMemo(()=>({open:k.open,disabled:k.disabled,hidden:!k.mounted,transitionStatus:k.transitionStatus}),[k.open,k.disabled,k.mounted,k.transitionStatus]),C=a.useMemo(()=>({...k,onOpenChange:y,state:w}),[k,w,y]),T=a.useMemo(()=>({...g,index:m,disabled:b,open:N}),[b,m,N,g]),[I,S]=a.useState((0,en.useBaseUiId)()),M=a.useMemo(()=>({open:N,state:T,setTriggerId:S,triggerId:I}),[N,T,S,I]),z=(0,Y.useRenderElement)("div",e,{state:T,ref:x,props:c,stateAttributesMapping:em});return(0,n.jsx)(er.CollapsibleRootContext.Provider,{value:C,children:(0,n.jsx)(ei.Provider,{value:M,children:z})})}),ep=a.forwardRef(function(e,t){let{render:s,className:n,style:a,...r}=e,{state:l}=eo();return(0,Y.useRenderElement)("h3",e,{state:l,ref:t,props:r,stateAttributesMapping:em})});var eh=e.i(568769),eg=e.i(277642),ef=e.i(931709),ej=e.i(100229),ev=e.i(150129);let eb=new Set([ej.ARROW_DOWN,ej.ARROW_UP,ej.ARROW_RIGHT,ej.ARROW_LEFT,ej.HOME,ej.END]),eN=a.forwardRef(function(e,t){let{disabled:s,className:n,id:r,render:l,nativeButton:i=!0,style:o,...d}=e,{panelId:c,open:u,handleTrigger:m,disabled:x}=(0,er.useCollapsibleRootContext)(),{getButtonProps:p,buttonRef:h}=(0,ef.useButton)({disabled:s??x,focusableWhenDisabled:!0,native:i,composite:!0}),{accordionItemRefs:g,direction:f,loopFocus:j,orientation:v}=Q(),b="rtl"===f,N="horizontal"===v,{state:y,setTriggerId:k,triggerId:w}=eo();(0,eg.useIsoLayoutEffect)(()=>(r&&k(r),()=>{k(void 0)}),[r,k]);let C=a.useMemo(()=>({"aria-controls":u?c:void 0,"aria-expanded":u,id:w,tabIndex:0,onClick:m,onKeyDown(e){if(!eb.has(e.key))return;(0,ev.stopEvent)(e);let t=function(e){let{current:t}=e,s=[];for(let e=0;e<t.length;e+=1){let n=t[e];if(!(0,eh.isElementDisabled)(n)){let e=n?.querySelector('[type="button"], [role="button"]');e&&!(0,eh.isElementDisabled)(e)&&s.push(e)}}return s}(g),s=t.length-1,n=-1,a=t.indexOf(e.currentTarget);function r(){n=j?a+1>s?0:a+1:Math.min(a+1,s)}function l(){n=j&&0===a?s:a-1}switch(e.key){case ej.ARROW_DOWN:N||r();break;case ej.ARROW_UP:N||l();break;case ej.ARROW_RIGHT:N&&(b?l():r());break;case ej.ARROW_LEFT:N&&(b?r():l());break;case"Home":n=0;break;case"End":n=s}n>-1&&t[n].focus()}}),[g,m,w,N,b,j,u,c]);return(0,Y.useRenderElement)("button",e,{state:y,ref:[t,h],props:[C,d,p],stateAttributesMapping:ed.triggerOpenStateMapping})});var ey=e.i(18158);let ek=((s={}).accordionPanelHeight="--accordion-panel-height",s.accordionPanelWidth="--accordion-panel-width",s);var ew=e.i(273598);let eC=a.forwardRef(function(e,t){let{className:s,hiddenUntilFound:n,keepMounted:r,id:l,render:i,style:o,...d}=e,{hiddenUntilFound:c,keepMounted:u}=Q(),{abortControllerRef:m,animationTypeRef:x,height:p,mounted:h,onOpenChange:g,open:f,panelId:j,panelRef:v,runOnceAnimationsFinish:b,setDimensions:N,setHiddenUntilFound:y,setKeepMounted:k,setMounted:w,setOpen:C,setVisible:T,transitionDimensionRef:I,visible:S,width:M,setPanelIdState:z,transitionStatus:D}=(0,er.useCollapsibleRootContext)(),A=n??c,P=r??u;(0,eg.useIsoLayoutEffect)(()=>{if(l)return z(l),()=>{z(void 0)}},[l,z]),(0,eg.useIsoLayoutEffect)(()=>{y(A)},[y,A]),(0,eg.useIsoLayoutEffect)(()=>{k(P)},[k,P]),(0,ew.useOpenChangeComplete)({open:f&&"idle"===D,ref:v,onComplete(){f&&N({width:void 0,height:void 0})}});let{props:O}=(0,ey.useCollapsiblePanel)({abortControllerRef:m,animationTypeRef:x,externalRef:t,height:p,hiddenUntilFound:A,id:l??j,keepMounted:P,mounted:h,onOpenChange:g,open:f,panelRef:v,runOnceAnimationsFinish:b,setDimensions:N,setMounted:w,setOpen:C,setVisible:T,transitionDimensionRef:I,visible:S,width:M}),{state:R,triggerId:$}=eo(),B=a.useMemo(()=>({...R,transitionStatus:D}),[R,D]),E=(0,Y.useRenderElement)("div",e,{state:B,ref:[t,v],props:[O,{"aria-labelledby":$,role:"region",style:{[ek.accordionPanelHeight]:void 0===p?"auto":`${p}px`,[ek.accordionPanelWidth]:void 0===M?"auto":`${M}px`}},d],stateAttributesMapping:em});return P||A||h?E:null});e.s(["Header",0,ep,"Item",0,ex,"Panel",0,eC,"Root",0,et,"Trigger",0,eN],127284);var eT=e.i(127284),eT=eT,eI=e.i(250438),eS=e.i(380797),eS=eS;function eM({className:e,...t}){return(0,n.jsx)(eT.Root,{"data-slot":"accordion",className:(0,F.cn)("flex w-full flex-col",e),...t})}function ez({className:e,...t}){return(0,n.jsx)(eT.Item,{"data-slot":"accordion-item",className:(0,F.cn)("not-last:border-b",e),...t})}function eD({className:e,children:t,...s}){return(0,n.jsx)(eT.Header,{className:"flex",children:(0,n.jsxs)(eT.Trigger,{"data-slot":"accordion-trigger",className:(0,F.cn)("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",e),...s,children:[t,(0,n.jsx)(eI.ChevronDownIcon,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"}),(0,n.jsx)(eS.default,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"})]})})}function eA({className:e,children:t,...s}){return(0,n.jsx)(eT.Panel,{"data-slot":"accordion-content",className:"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",...s,children:(0,n.jsx)("div",{className:(0,F.cn)("h-(--accordion-panel-height) pt-0 pb-2.5 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",e),children:t})})}var eP=e.i(562918);let eO=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("not-prose w-full rounded-md border",e),...t})),eR=(0,a.memo)(({className:e,name:t,model:s,...a})=>(0,n.jsx)("div",{className:(0,F.cn)("flex w-full items-center justify-between gap-4 p-3",e),...a,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(H.default,{className:"size-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-medium text-sm",children:t}),s&&(0,n.jsx)(eP.Badge,{className:"font-mono text-xs",variant:"secondary",children:s})]})})),e$=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("space-y-4 p-4 pt-0",e),...t})),eB=(0,a.memo)(({className:e,children:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:a("subagent.instructions")}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50 p-3 text-muted-foreground text-sm",children:(0,n.jsx)("p",{children:t})})]})}),eE=(0,a.memo)(({className:e,...t})=>{let s=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:s("subagent.tools")}),(0,n.jsx)(eM,{className:"rounded-md border",multiple:!0,...t})]})}),e_=(0,a.memo)(({className:e,tool:t,value:s,...a})=>{let l="jsonSchema"in t&&t.jsonSchema?t.jsonSchema:t.inputSchema,i=(0,r.useTranslations)("chat");return(0,n.jsxs)(ez,{className:(0,F.cn)("border-b last:border-b-0",e),value:s,...a,children:[(0,n.jsx)(eD,{className:"px-3 py-2 text-sm hover:no-underline",children:t.description??i("subagent.noDescription")}),(0,n.jsx)(eA,{className:"px-3 pb-3",children:(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)("pre",{className:"overflow-auto p-3 font-mono text-xs",children:JSON.stringify(l,null,2)})})})]})}),eF=(0,a.memo)(({className:e,schema:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:a("subagent.outputSchema")}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)("pre",{className:"overflow-auto p-3 font-mono text-xs",children:t})})]})});eO.displayName="Agent",eR.displayName="AgentHeader",e$.displayName="AgentContent",eB.displayName="AgentInstructions",eE.displayName="AgentTools",e_.displayName="AgentTool",eF.displayName="AgentOutput";var eL=e.i(430063);function eU({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,F.cn)("rounded-lg border bg-background p-3 text-sm",e),...t})}function eH({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert-description",className:(0,F.cn)("text-muted-foreground",e),...t})}var eW=e.i(260218);let eq=(0,a.createContext)(null),eG=()=>{let e=(0,a.useContext)(eq);if(!e)throw Error("Confirmation components must be used within Confirmation");return e},eV=({className:e,approval:t,state:s,...a})=>t&&"input-streaming"!==s&&"input-available"!==s?(0,n.jsx)(eq.Provider,{value:{approval:t,state:s},children:(0,n.jsx)(eU,{className:(0,F.cn)("flex flex-col gap-2",e),...a})}):null,eK=({className:e,...t})=>(0,n.jsx)(eH,{className:(0,F.cn)("inline",e),...t}),eJ=({children:e})=>{let{state:t}=eG();return"approval-requested"!==t?null:e},eQ=({children:e})=>{let{approval:t,state:s}=eG();return t?.approved&&("approval-responded"===s||"output-denied"===s||"output-available"===s)?e:null},eY=({children:e})=>{let{approval:t,state:s}=eG();return t?.approved!==!1||"approval-responded"!==s&&"output-denied"!==s&&"output-available"!==s?null:e},eZ=({className:e,...t})=>{let{state:s}=eG();return"approval-requested"!==s?null:(0,n.jsx)("div",{className:(0,F.cn)("flex items-center justify-end gap-2 self-end",e),...t})},eX=e=>(0,n.jsx)(eW.Button,{className:"h-8 px-3 text-sm",type:"button",...e});var e0=e.i(757106),e0=e0;let e1=(0,p.default)("dot",[["circle",{cx:"12.1",cy:"12.1",r:"1",key:"18d7e5"}]]);var e2=e.i(256186);let e5=(0,a.createContext)(null);function e3(e){let t=e.trim(),s=t.replace(/^\[[^\]]+\]\s+subagent progress\s+\|\s*/i,""),n=s!==t;return/^Claude$/i.test(s)||/^(Reading|Searching)(\.{1,3}|…)?$/i.test(s)||n&&/^(Reading|Searching)\s+\S.+$/i.test(s)||/^(Read|Search|Grep|Glob|SemanticSearch|WebSearch)\s+running\s+\(\d+s\)$/i.test(s)}let e4=()=>{let e=(0,a.useContext)(e5);if(!e)throw Error("ChainOfThought components must be used within ChainOfThought");return e},e6=(0,a.memo)(({className:e,open:t,defaultOpen:s=!1,onOpenChange:r,children:l,...i})=>{let[o,d]=(0,a.useState)(s),c=t??o,u=(0,a.useCallback)(e=>{void 0===t&&d(e),r?.(e)},[r,t]),m=(0,a.useMemo)(()=>({isOpen:c,setIsOpen:u}),[c,u]);return(0,n.jsx)(e5.Provider,{value:m,children:(0,n.jsx)("div",{className:(0,F.cn)("not-prose max-w-prose overflow-hidden space-y-4",e),...i,children:l})})}),e9=(0,a.memo)(({className:e,children:t,loading:s,...a})=>{let{isOpen:l,setIsOpen:i}=e4(),o=(0,r.useTranslations)("chat");return(0,n.jsx)(e2.Collapsible,{onOpenChange:i,open:l,children:(0,n.jsxs)(e2.CollapsibleTrigger,{className:(0,F.cn)("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...a,children:[(0,n.jsx)(e0.default,{className:"size-4"}),(0,n.jsx)("span",{className:"flex-1 text-left",children:t??o("chainOfThought.defaultHeader")}),s&&(0,n.jsx)(U,{size:14}),(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-4 transition-transform",l?"rotate-180":"rotate-0")})]})})}),e8=(0,a.memo)(({className:e,icon:t=e1,label:s,description:a,status:r="complete",children:l,...i})=>(0,n.jsxs)("div",{className:(0,F.cn)("flex gap-2 text-sm",{complete:"text-muted-foreground",active:"text-foreground",pending:"text-muted-foreground/50"}[r],"fade-in-0 slide-in-from-top-2 animate-in",e),...i,children:[(0,n.jsxs)("div",{className:"relative mt-0.5",children:[(0,n.jsx)(t,{className:"size-4"}),(0,n.jsx)("div",{className:"-mx-px absolute top-7 bottom-0 left-1/2 w-px bg-border"})]}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 space-y-2",children:[(0,n.jsx)("div",{children:s}),a&&(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:a}),l]})]})),e7=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("flex flex-wrap items-center gap-2",e),...t})),te=(0,a.memo)(({className:e,children:t,...s})=>(0,n.jsx)(eP.Badge,{className:(0,F.cn)("gap-1 px-2 py-0.5 font-normal text-xs",e),variant:"secondary",...s,children:t})),tt=(0,a.memo)(({className:e,children:t,...s})=>{let{isOpen:a}=e4();return(0,n.jsx)(e2.Collapsible,{open:a,children:(0,n.jsx)(e2.CollapsibleContent,{className:(0,F.cn)("mt-2 space-y-3","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",e),...s,children:t})})}),ts=(0,a.memo)(({className:e,children:t,caption:s,...a})=>(0,n.jsxs)("div",{className:(0,F.cn)("mt-2 space-y-2",e),...a,children:[(0,n.jsx)("div",{className:"relative flex max-h-[22rem] items-center justify-center overflow-hidden rounded-lg bg-muted p-3",children:t}),s&&(0,n.jsx)("p",{className:"text-muted-foreground text-xs",children:s})]}));e6.displayName="ChainOfThought",e9.displayName="ChainOfThoughtHeader",e8.displayName="ChainOfThoughtStep",e7.displayName="ChainOfThoughtSearchResults",te.displayName="ChainOfThoughtSearchResult",tt.displayName="ChainOfThoughtContent",ts.displayName="ChainOfThoughtImage";var tn=e.i(299648),ta=e.i(839374),ta=ta,tr=e.i(184591),tr=tr,tl=e.i(875350),ti=e.i(341807);let to=(0,a.memo)(({children:e,as:t="p",className:s,duration:r=2,spread:l=2})=>{let i=(0,a.useMemo)(()=>(e?.length??0)*l,[e,l]);return(0,n.jsx)(t,{children:(0,n.jsx)(ti.motion.span,{animate:{backgroundPosition:"0% center"},className:(0,F.cn)("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",s),initial:{backgroundPosition:"100% center"},style:{"--spread":`${i}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:1/0,duration:r,ease:"linear"},children:e})})}),td=(0,a.createContext)({output:"",isStreaming:!1,autoScroll:!0}),tc=({output:e,isStreaming:t=!1,autoScroll:s=!0,onClear:a,className:r,children:l,...i})=>(0,n.jsx)(td.Provider,{value:{output:e,isStreaming:t,autoScroll:s,onClear:a},children:(0,n.jsx)("div",{className:(0,F.cn)("flex flex-col overflow-hidden rounded-lg border bg-zinc-950 text-zinc-100",r),...i,children:l??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(tu,{children:[(0,n.jsx)(tm,{}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(tx,{}),(0,n.jsxs)(tp,{children:[(0,n.jsx)(th,{}),a&&(0,n.jsx)(tg,{})]})]})]}),(0,n.jsx)(tf,{})]})})}),tu=({className:e,children:t,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("flex items-center justify-between border-zinc-800 border-b px-4 py-2",e),...s,children:t}),tm=({className:e,children:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center gap-2 text-sm text-zinc-400",e),...s,children:[(0,n.jsx)(tr.default,{className:"size-4"}),t??a("terminal.title")]})},tx=({className:e,children:t,...s})=>{let{isStreaming:l}=(0,a.useContext)(td),i=(0,r.useTranslations)("chat");return l?(0,n.jsx)("div",{className:(0,F.cn)("flex items-center gap-2 text-xs text-zinc-400",e),...s,children:t??(0,n.jsx)(to,{className:"w-16",children:i("terminal.running")})}):null},tp=({className:e,children:t,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("flex items-center gap-1",e),...s,children:t}),th=({onCopy:e,onError:t,timeout:s=2e3,children:l,className:i,...o})=>{let[d,c]=(0,a.useState)(!1),{output:u}=(0,a.useContext)(td),m=(0,r.useTranslations)("chat"),x=async()=>{if(!navigator?.clipboard?.writeText)return void t?.(Error(m("terminal.clipboardUnavailable")));try{await navigator.clipboard.writeText(u),c(!0),e?.(),setTimeout(()=>c(!1),s)}catch(e){t?.(e)}},p=d?tn.CheckIcon:ta.default;return(0,n.jsx)(eW.Button,{className:(0,F.cn)("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100",i),onClick:x,size:"icon",variant:"ghost",...o,children:l??(0,n.jsx)(p,{size:14})})},tg=({children:e,className:t,...s})=>{let{onClear:r}=(0,a.useContext)(td);return r?(0,n.jsx)(eW.Button,{className:(0,F.cn)("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100",t),onClick:r,size:"icon",variant:"ghost",...s,children:e??(0,n.jsx)(tl.Trash2Icon,{size:14})}):null},tf=({className:e,children:t,...s})=>{let{output:r,isStreaming:l,autoScroll:i}=(0,a.useContext)(td),o=(0,a.useRef)(null);return(0,a.useEffect)(()=>{i&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[r,i]),(0,n.jsx)("div",{className:(0,F.cn)("max-h-96 overflow-auto p-4 font-mono text-sm leading-relaxed",e),ref:o,...s,children:t??(0,n.jsxs)("pre",{className:"whitespace-pre-wrap break-words",children:[r.replace(/\u001b\[[0-9;]*m/g,""),l&&(0,n.jsx)("span",{className:"ml-0.5 inline-block h-4 w-2 animate-pulse bg-zinc-100"})]})})};var tj=e.i(735207),tj=tj,H=H,tv=e.i(444741),tv=tv;let tb=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ta=ta,tN=e.i(867295),tN=tN;let ty=(0,p.default)("file-pen",[["path",{d:"M12.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 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);var tk=e.i(631476),tw=e.i(361421),tw=tw,tC=e.i(336180);let tT=(0,p.default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),tI=(0,p.default)("message-square-text",[["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"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var tS=e.i(995684),tS=tS,tM=e.i(367914),tz=e.i(656744),tz=tz;let tD=(0,p.default)("square-check",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var tr=tr;let tA=(0,p.default)("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);var tP=e.i(212068),tP=tP,tO=e.i(940361),tR=e.i(691223),t$=e.i(613812),tB=e.i(887836);e.i(462506);var tE=e.i(950396);function t_(){let e=(0,r.useTranslations)("chat");return(0,n.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground text-xs",children:e("readonlyCodeBlock.loading")})}let tF=(0,tB.default)(()=>e.A(863812).then(e=>e.default),{loadableGenerated:{modules:[158480]},ssr:!1,loading:()=>(0,n.jsx)(t_,{})});function tL({value:e,language:t="plaintext",title:s,height:a=220}){let{resolvedTheme:r}=(0,tE.useTheme)();return(0,n.jsxs)("div",{className:"overflow-hidden rounded-md border bg-background",children:[s?(0,n.jsx)("div",{className:"border-b bg-muted/30 px-2 py-1 font-mono text-muted-foreground text-xs",children:s}):null,(0,n.jsx)("div",{style:{height:a},children:(0,n.jsx)(tF,{height:"100%",language:t,value:e,options:{readOnly:!0,domReadOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineNumbers:"on",renderLineHighlight:"none",wordWrap:"on",folding:!1,overviewRulerLanes:0},theme:"dark"===r?"vs-dark":"vs"})})]})}let tU={Read:tj.default,Write:tk.FileTextIcon,Edit:tS.default,MultiEdit:ty,Bash:tr.default,TodoWrite:tD,Grep:tM.SearchIcon,Glob:tw.default,Search:tM.SearchIcon,SemanticSearch:tM.SearchIcon,WebSearch:tC.GlobeIcon,WebFetch:tA,Fetch:tA,Task:tI,Agent:H.default,Skill:tz.default,AskUserQuestion:tT,LoadClaudeMd:tj.default};function tH({text:e,status:t,workspaceId:s}){let l=(0,r.useTranslations)("chat"),i=Array.from(e.trim()).length>=300,[o,d]=(0,a.useState)(!1);return(0,n.jsx)(e8,{icon:tI,label:(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,n.jsx)("span",{children:l("messageParts.aiMessage")}),i?(0,n.jsx)(eW.Button,{type:"button",variant:"ghost",size:"icon",className:"ml-auto size-5",onClick:()=>d(!o),children:(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-3.5 transition-transform",o&&"rotate-180")})}):null]}),status:t,children:!i||o?(0,n.jsx)(b.Markdown,{content:e,workspaceId:s}):null})}function tW({chain:e,message:t,workspaceId:s,status:l}){var i,o;let d=(0,tR.useEditorStore)(e=>e.openFile),[c,u]=(0,a.useState)(!1),[m,x]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)(null),[j,v]=(0,a.useState)(!1),[b,N]=(0,a.useState)(!1),y=(0,r.useTranslations)("chat"),k=async()=>{e.filePath&&await d(s,e.filePath)},w=(0,a.useCallback)(async()=>{if(m||!e.detailId)return m;h(!0),f(null);try{let n=await fetch(`/api/workspaces/${s}/channels/${t.channelId}/messages/${t.id}/tool-details/${e.detailId}`);if(!n.ok)throw Error(await n.text());let a=await n.json();return x(a),a}catch(e){return f(e instanceof Error?e.message:y("messageParts.failedToLoadDetails")),null}finally{h(!1)}},[m,e.detailId,s,t.channelId,t.id,y]),C=async()=>{let e=!c;u(e),e&&!p&&await w()},T=async()=>{var t;let s=m??await w(),n=s?void 0!==(t=s).input||void 0!==t.output?JSON.stringify({input:t.input,output:t.output},null,2):t.raw??"":e.command??e.title;try{await navigator.clipboard.writeText(n),v(!0),setTimeout(()=>v(!1),1500)}catch{}},I=async()=>{await w(),N(!0)};return(0,n.jsxs)(e8,{icon:(i=e.toolName,i&&tU[i]?tU[i]:i?.startsWith("mcp__")||i?.startsWith("mcp-")?tP.default:"complete"===l?tv.default:tb),label:(0,n.jsxs)(tO.ContextMenu,{children:[(0,n.jsxs)(tO.ContextMenuTrigger,{className:"group/tool-step flex min-w-0 items-center gap-1.5 overflow-hidden",children:[(0,n.jsx)("span",{className:"shrink-0",children:e.filePath?e.title.replace(RegExp(`\\s+${((o=e.filePath).split(/[\\/]/).filter(Boolean).at(-1)??o).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`),""):e.title}),e.description?(0,n.jsx)("span",{className:"min-w-0 shrink truncate text-muted-foreground text-xs",children:e.description}):null,e.filePath?(0,n.jsxs)(eW.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 max-w-48 shrink gap-1 px-1.5 text-xs",onClick:k,children:[(0,n.jsx)(tk.FileTextIcon,{className:"size-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e.filePath})]}):null,(0,n.jsx)("div",{className:"ml-auto flex shrink-0 items-center",children:e.detailId?(0,n.jsx)(eW.Button,{type:"button",variant:"ghost",size:"icon",className:"size-5",onClick:C,children:(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-3.5 transition-transform",c&&"rotate-180")})}):null})]}),(0,n.jsxs)(tO.ContextMenuContent,{children:[(0,n.jsxs)(tO.ContextMenuItem,{onClick:T,children:[j?(0,n.jsx)(tn.CheckIcon,{className:"size-4 text-green-500"}):(0,n.jsx)(ta.default,{className:"size-4"}),y("messageParts.copy")]}),(0,n.jsxs)(tO.ContextMenuItem,{onClick:I,children:[(0,n.jsx)(tN.default,{className:"size-4"}),y("messageParts.view")]})]})]}),description:e.command,status:l,children:[e.answer?(0,n.jsxs)("div",{className:"rounded-md border bg-muted/30 px-3 py-2 text-sm",children:[(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:y("messageParts.result")}),(0,n.jsx)("div",{className:"font-medium",children:e.answer})]}):null,c?(0,n.jsx)("div",{className:"space-y-2",children:p?(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-muted-foreground text-xs",children:y("messageParts.loadingDetails")}):g?(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-destructive text-xs",children:g}):m?(0,n.jsx)(tq,{detail:m,toolName:e.toolName,filePath:e.filePath}):(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-muted-foreground text-xs",children:y("messageParts.noDetails")})}):null,(0,n.jsx)(tK,{open:b,onOpenChange:N,detail:m,toolName:e.toolName,loading:p,error:g,t:y})]})}function tq({detail:e,toolName:t,filePath:s}){var a,l;let i,o=(0,r.useTranslations)("chat");if(/^(Bash|Shell|Command)$/i.test(t??"")){let t=function(e){if(!e||"object"!=typeof e)return"string"==typeof e?e:void 0;let t=e.command??e.Command;return"string"==typeof t?t:void 0}(e.input),s="string"==typeof e.output?e.output:JSON.stringify(e.output??"",null,2);return(0,n.jsx)(tc,{output:t?`$ ${t}
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,885761,e=>{"use strict";var t,s,n=e.i(344180),a=e.i(764556),r=e.i(244073),l=e.i(31807),i=e.i(355819),o=e.i(157408),d=e.i(159619),c=e.i(962562),u=e.i(137340),m=e.i(344118),x=e.i(444204),p=e.i(433721);let h=(0,p.default)("reply",[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]);var g=e.i(244996),f=e.i(668667),j=e.i(588785),v=e.i(209988),b=e.i(555060),N=e.i(611176),y=e.i(951841),k=e.i(996652);let w=(0,p.default)("user-minus",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);var C=e.i(426022),T=e.i(325443),I=e.i(119211),S=e.i(191202),M=e.i(989484),z=e.i(415360),D=e.i(650654),A=e.i(939760);let P={"open-agent-sdk":"OpenAgent SDK","claude-code":"Claude Code",codex:"Codex",langchain:"LangChain",hermes:"Hermes"},O={"anthropic-messages":"Anthropic","openai-chat-completions":"OpenAI Chat","openai-responses":"OpenAI Responses","openai-responses-to-anthropic-messages":"OpenAI → Anthropic","openai-chat-completions-to-anthropic-messages":"OpenAI Chat → Anthropic","gemini-generate-content":"Gemini"};function R({icon:e,label:t,children:s}){return(0,n.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,n.jsx)(e,{className:"size-3.5 mt-0.5 shrink-0 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-muted-foreground w-14 shrink-0",children:t}),(0,n.jsx)("div",{className:"flex-1 min-w-0",children:s})]})}function $({items:e}){let[t,s]=(0,a.useState)(!1),r=(0,a.useRef)(null),[l,i]=(0,a.useState)(!1),o=(0,a.useCallback)(()=>{let e=r.current;e&&i(e.scrollHeight>e.clientHeight+2)},[]);return(0,a.useEffect)(()=>{o()},[o,e]),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{ref:r,className:`flex flex-wrap gap-1 ${!t?"max-h-[3rem] overflow-hidden":""}`,children:e.map(e=>(0,n.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[11px]",children:e},e))}),l&&(0,n.jsxs)("button",{onClick:()=>s(e=>!e),className:"mt-1 flex items-center gap-0.5 text-[11px] text-muted-foreground hover:text-foreground transition-colors",children:[(0,n.jsx)(D.ChevronDown,{className:`size-3 transition-transform ${t?"rotate-180":""}`}),t?"收起":"展开全部"]})]})}function B({agent:e}){return(0,n.jsxs)("div",{className:"space-y-2",children:[e.description&&(0,n.jsx)(R,{icon:T.Bot,label:"描述",children:(0,n.jsx)("span",{className:"text-foreground",children:e.description})}),e.systemPrompt&&(0,n.jsx)(R,{icon:M.FileText,label:"提示词",children:(0,n.jsx)("p",{className:"line-clamp-3 text-muted-foreground whitespace-pre-wrap",children:e.systemPrompt})}),e.skills&&e.skills.length>0&&(0,n.jsx)(R,{icon:z.Sparkles,label:"技能",children:(0,n.jsx)($,{items:e.skills})}),e.tools&&e.tools.length>0&&(0,n.jsx)(R,{icon:I.Wrench,label:"工具",children:(0,n.jsx)($,{items:e.tools})}),e.mcps&&Object.keys(e.mcps).length>0&&(0,n.jsx)(R,{icon:S.Plug,label:"MCP",children:(0,n.jsx)($,{items:Object.keys(e.mcps)})})]})}function E({agentId:e,displayName:t,channels:s=[],compact:a=!1,onConfigure:r}){let l=(0,i.useAgentStore)(e=>e.agents).find(t=>t.id===e),o=t||l?.name||e,d=[];return l?.runtimeKind&&d.push({label:P[l.runtimeKind]||l.runtimeKind}),l?.modelProvider&&d.push({label:O[l.modelProvider]||l.modelProvider}),l?.modelId&&d.push({label:l.modelId,variant:"mono"}),(0,n.jsxs)("div",{className:a?"space-y-1.5":"space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(N.AgentIcon,{agentId:e,name:o,className:a?"size-8 rounded-full":"size-10 rounded-full"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsx)("p",{className:`font-medium truncate ${a?"text-xs":"text-sm"}`,children:o}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap mt-0.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:l?.role||e}),d.map(e=>(0,n.jsx)("span",{className:`inline-flex items-center rounded-full bg-muted px-1.5 py-px text-[10px] leading-tight ${"mono"===e.variant?"font-mono":""}`,children:e.label},e.label))]})]}),l&&r&&(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),r()},className:"shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors cursor-pointer",children:(0,n.jsx)(A.Settings,{className:"size-4"})})]}),l&&(0,n.jsx)(B,{agent:l}),!a&&s.length>0&&(0,n.jsxs)("div",{className:"space-y-1 pt-1",children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"所在频道"}),(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md bg-muted px-2 py-0.5 text-xs",children:[(0,n.jsx)(C.MessageSquare,{className:"size-3"}),e]},e))})]})]})}function _({open:e,onOpenChange:t,memberName:s,displayName:r,channelId:i,workspaceId:o,channels:d=[]}){let[c,u]=(0,a.useState)(!1),{channels:m,updateChannel:x}=(0,l.useChannelStore)(),p=m.find(e=>e.id===i),h=p?.members.includes(s),g=async()=>{if(p&&h){u(!0);try{let e=(l.useChannelStore.getState().channels.find(e=>e.id===i)??p).members.filter(e=>e!==s);l.useChannelStore.setState(t=>({channels:t.channels.map(t=>t.id===i?{...t,members:e}:t)})),await x(o,i,{members:e}),t(!1)}finally{u(!1)}}};return(0,n.jsx)(v.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(v.DialogContent,{className:"sm:max-w-md",children:[(0,n.jsxs)(v.DialogHeader,{children:[(0,n.jsx)(v.DialogTitle,{children:"成员信息"}),(0,n.jsx)(v.DialogDescription,{})]}),(0,n.jsx)(E,{agentId:s,displayName:r,channels:d}),h&&"user"!==s&&(0,n.jsxs)("button",{onClick:g,disabled:c,className:"flex items-center justify-center gap-2 w-full mt-2 px-3 py-2 rounded-md text-sm text-destructive hover:bg-destructive/10 disabled:opacity-50 transition-colors cursor-pointer",children:[(0,n.jsx)(w,{className:"size-4"}),c?"移除中...":"从频道移除"]})]})})}var F=e.i(465458);let L=({size:e=16})=>(0,n.jsxs)("svg",{height:e,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:e,children:[(0,n.jsx)("title",{children:"Loader"}),(0,n.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,n.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,n.jsx)("defs",{children:(0,n.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,n.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]}),U=({className:e,size:t=16,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("inline-flex animate-spin items-center justify-center",e),...s,children:(0,n.jsx)(L,{size:t})});var H=e.i(946899),H=H;e.s([],352264),e.i(352264),e.i(8890);var W=e.i(535270),q=e.i(29905),G=e.i(756432),V=e.i(189131),K=e.i(267805);let J=a.createContext(void 0);function Q(){let e=a.useContext(J);if(void 0===e)throw Error((0,K.default)(10));return e}var Y=e.i(969490),Z=e.i(602453),X=e.i(742665);let ee={value:()=>null},et=a.forwardRef(function(e,t){let{render:s,className:r,disabled:l=!1,hiddenUntilFound:i,keepMounted:o,loopFocus:d=!0,onValueChange:c,multiple:u=!1,orientation:m="vertical",value:x,defaultValue:p,style:h,...g}=e,f=(0,V.useDirection)(),j=a.useMemo(()=>{if(void 0===x)return p??[]},[x,p]),v=(0,q.useStableCallback)(c),b=a.useRef([]),[N,y]=(0,W.useControlled)({controlled:x,default:j,name:"Accordion",state:"value"}),k=(0,q.useStableCallback)((e,t)=>{let s=(0,Z.createChangeEventDetails)(X.REASONS.none);if(u)if(t){let t=N.slice();if(t.push(e),v(t,s),s.isCanceled)return;y(t)}else{let t=N.filter(t=>t!==e);if(v(t,s),s.isCanceled)return;y(t)}else{let t=N[0]===e?[]:[e];if(v(t,s),s.isCanceled)return;y(t)}}),w=a.useMemo(()=>({value:N,disabled:l,orientation:m}),[N,l,m]),C=a.useMemo(()=>({accordionItemRefs:b,direction:f,disabled:l,handleValueChange:k,hiddenUntilFound:i??!1,keepMounted:o??!1,loopFocus:d,orientation:m,state:w,value:N}),[f,l,k,i,o,d,m,w,N]),T=(0,Y.useRenderElement)("div",e,{state:w,ref:t,props:[{dir:f,role:"region"},g],stateAttributesMapping:ee});return(0,n.jsx)(J.Provider,{value:C,children:(0,n.jsx)(G.CompositeList,{elementsRef:b,children:T})})});var es=e.i(204133),en=e.i(139236),ea=e.i(257295),er=e.i(619279),el=e.i(296615);let ei=a.createContext(void 0);function eo(){let e=a.useContext(ei);if(void 0===e)throw Error((0,K.default)(9));return e}var ed=e.i(439485),ec=e.i(282458);let eu=((t={}).index="data-index",t.disabled="data-disabled",t.open="data-open",t),em={...ed.collapsibleOpenStateMapping,index:e=>Number.isInteger(e)?{[eu.index]:String(e)}:null,...ec.transitionStatusMapping,value:()=>null},ex=a.forwardRef(function(e,t){let{className:s,disabled:r=!1,onOpenChange:l,render:i,value:o,style:d,...c}=e,{ref:u,index:m}=(0,el.useCompositeListItem)(),x=(0,es.useMergedRefs)(t,u),{disabled:p,handleValueChange:h,state:g,value:f}=Q(),j=(0,en.useBaseUiId)(),v=o??j,b=r||p,N=a.useMemo(()=>{if(!f)return!1;for(let e=0;e<f.length;e+=1)if(f[e]===v)return!0;return!1},[f,v]),y=(0,q.useStableCallback)((e,t)=>{l?.(e,t),t.isCanceled||h(v,e)}),k=(0,ea.useCollapsibleRoot)({open:N,onOpenChange:y,disabled:b}),w=a.useMemo(()=>({open:k.open,disabled:k.disabled,hidden:!k.mounted,transitionStatus:k.transitionStatus}),[k.open,k.disabled,k.mounted,k.transitionStatus]),C=a.useMemo(()=>({...k,onOpenChange:y,state:w}),[k,w,y]),T=a.useMemo(()=>({...g,index:m,disabled:b,open:N}),[b,m,N,g]),[I,S]=a.useState((0,en.useBaseUiId)()),M=a.useMemo(()=>({open:N,state:T,setTriggerId:S,triggerId:I}),[N,T,S,I]),z=(0,Y.useRenderElement)("div",e,{state:T,ref:x,props:c,stateAttributesMapping:em});return(0,n.jsx)(er.CollapsibleRootContext.Provider,{value:C,children:(0,n.jsx)(ei.Provider,{value:M,children:z})})}),ep=a.forwardRef(function(e,t){let{render:s,className:n,style:a,...r}=e,{state:l}=eo();return(0,Y.useRenderElement)("h3",e,{state:l,ref:t,props:r,stateAttributesMapping:em})});var eh=e.i(568769),eg=e.i(277642),ef=e.i(931709),ej=e.i(100229),ev=e.i(150129);let eb=new Set([ej.ARROW_DOWN,ej.ARROW_UP,ej.ARROW_RIGHT,ej.ARROW_LEFT,ej.HOME,ej.END]),eN=a.forwardRef(function(e,t){let{disabled:s,className:n,id:r,render:l,nativeButton:i=!0,style:o,...d}=e,{panelId:c,open:u,handleTrigger:m,disabled:x}=(0,er.useCollapsibleRootContext)(),{getButtonProps:p,buttonRef:h}=(0,ef.useButton)({disabled:s??x,focusableWhenDisabled:!0,native:i,composite:!0}),{accordionItemRefs:g,direction:f,loopFocus:j,orientation:v}=Q(),b="rtl"===f,N="horizontal"===v,{state:y,setTriggerId:k,triggerId:w}=eo();(0,eg.useIsoLayoutEffect)(()=>(r&&k(r),()=>{k(void 0)}),[r,k]);let C=a.useMemo(()=>({"aria-controls":u?c:void 0,"aria-expanded":u,id:w,tabIndex:0,onClick:m,onKeyDown(e){if(!eb.has(e.key))return;(0,ev.stopEvent)(e);let t=function(e){let{current:t}=e,s=[];for(let e=0;e<t.length;e+=1){let n=t[e];if(!(0,eh.isElementDisabled)(n)){let e=n?.querySelector('[type="button"], [role="button"]');e&&!(0,eh.isElementDisabled)(e)&&s.push(e)}}return s}(g),s=t.length-1,n=-1,a=t.indexOf(e.currentTarget);function r(){n=j?a+1>s?0:a+1:Math.min(a+1,s)}function l(){n=j&&0===a?s:a-1}switch(e.key){case ej.ARROW_DOWN:N||r();break;case ej.ARROW_UP:N||l();break;case ej.ARROW_RIGHT:N&&(b?l():r());break;case ej.ARROW_LEFT:N&&(b?r():l());break;case"Home":n=0;break;case"End":n=s}n>-1&&t[n].focus()}}),[g,m,w,N,b,j,u,c]);return(0,Y.useRenderElement)("button",e,{state:y,ref:[t,h],props:[C,d,p],stateAttributesMapping:ed.triggerOpenStateMapping})});var ey=e.i(18158);let ek=((s={}).accordionPanelHeight="--accordion-panel-height",s.accordionPanelWidth="--accordion-panel-width",s);var ew=e.i(273598);let eC=a.forwardRef(function(e,t){let{className:s,hiddenUntilFound:n,keepMounted:r,id:l,render:i,style:o,...d}=e,{hiddenUntilFound:c,keepMounted:u}=Q(),{abortControllerRef:m,animationTypeRef:x,height:p,mounted:h,onOpenChange:g,open:f,panelId:j,panelRef:v,runOnceAnimationsFinish:b,setDimensions:N,setHiddenUntilFound:y,setKeepMounted:k,setMounted:w,setOpen:C,setVisible:T,transitionDimensionRef:I,visible:S,width:M,setPanelIdState:z,transitionStatus:D}=(0,er.useCollapsibleRootContext)(),A=n??c,P=r??u;(0,eg.useIsoLayoutEffect)(()=>{if(l)return z(l),()=>{z(void 0)}},[l,z]),(0,eg.useIsoLayoutEffect)(()=>{y(A)},[y,A]),(0,eg.useIsoLayoutEffect)(()=>{k(P)},[k,P]),(0,ew.useOpenChangeComplete)({open:f&&"idle"===D,ref:v,onComplete(){f&&N({width:void 0,height:void 0})}});let{props:O}=(0,ey.useCollapsiblePanel)({abortControllerRef:m,animationTypeRef:x,externalRef:t,height:p,hiddenUntilFound:A,id:l??j,keepMounted:P,mounted:h,onOpenChange:g,open:f,panelRef:v,runOnceAnimationsFinish:b,setDimensions:N,setMounted:w,setOpen:C,setVisible:T,transitionDimensionRef:I,visible:S,width:M}),{state:R,triggerId:$}=eo(),B=a.useMemo(()=>({...R,transitionStatus:D}),[R,D]),E=(0,Y.useRenderElement)("div",e,{state:B,ref:[t,v],props:[O,{"aria-labelledby":$,role:"region",style:{[ek.accordionPanelHeight]:void 0===p?"auto":`${p}px`,[ek.accordionPanelWidth]:void 0===M?"auto":`${M}px`}},d],stateAttributesMapping:em});return P||A||h?E:null});e.s(["Header",0,ep,"Item",0,ex,"Panel",0,eC,"Root",0,et,"Trigger",0,eN],127284);var eT=e.i(127284),eT=eT,eI=e.i(250438),eS=e.i(380797),eS=eS;function eM({className:e,...t}){return(0,n.jsx)(eT.Root,{"data-slot":"accordion",className:(0,F.cn)("flex w-full flex-col",e),...t})}function ez({className:e,...t}){return(0,n.jsx)(eT.Item,{"data-slot":"accordion-item",className:(0,F.cn)("not-last:border-b",e),...t})}function eD({className:e,children:t,...s}){return(0,n.jsx)(eT.Header,{className:"flex",children:(0,n.jsxs)(eT.Trigger,{"data-slot":"accordion-trigger",className:(0,F.cn)("group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",e),...s,children:[t,(0,n.jsx)(eI.ChevronDownIcon,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"}),(0,n.jsx)(eS.default,{"data-slot":"accordion-trigger-icon",className:"pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"})]})})}function eA({className:e,children:t,...s}){return(0,n.jsx)(eT.Panel,{"data-slot":"accordion-content",className:"overflow-hidden text-sm data-open:animate-accordion-down data-closed:animate-accordion-up",...s,children:(0,n.jsx)("div",{className:(0,F.cn)("h-(--accordion-panel-height) pt-0 pb-2.5 data-ending-style:h-0 data-starting-style:h-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",e),children:t})})}var eP=e.i(562918);let eO=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("not-prose w-full rounded-md border",e),...t})),eR=(0,a.memo)(({className:e,name:t,model:s,...a})=>(0,n.jsx)("div",{className:(0,F.cn)("flex w-full items-center justify-between gap-4 p-3",e),...a,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(H.default,{className:"size-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-medium text-sm",children:t}),s&&(0,n.jsx)(eP.Badge,{className:"font-mono text-xs",variant:"secondary",children:s})]})})),e$=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("space-y-4 p-4 pt-0",e),...t})),eB=(0,a.memo)(({className:e,children:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:a("subagent.instructions")}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50 p-3 text-muted-foreground text-sm",children:(0,n.jsx)("p",{children:t})})]})}),eE=(0,a.memo)(({className:e,...t})=>{let s=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:s("subagent.tools")}),(0,n.jsx)(eM,{className:"rounded-md border",multiple:!0,...t})]})}),e_=(0,a.memo)(({className:e,tool:t,value:s,...a})=>{let l="jsonSchema"in t&&t.jsonSchema?t.jsonSchema:t.inputSchema,i=(0,r.useTranslations)("chat");return(0,n.jsxs)(ez,{className:(0,F.cn)("border-b last:border-b-0",e),value:s,...a,children:[(0,n.jsx)(eD,{className:"px-3 py-2 text-sm hover:no-underline",children:t.description??i("subagent.noDescription")}),(0,n.jsx)(eA,{className:"px-3 pb-3",children:(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)("pre",{className:"overflow-auto p-3 font-mono text-xs",children:JSON.stringify(l,null,2)})})})]})}),eF=(0,a.memo)(({className:e,schema:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("space-y-2",e),...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:a("subagent.outputSchema")}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)("pre",{className:"overflow-auto p-3 font-mono text-xs",children:t})})]})});eO.displayName="Agent",eR.displayName="AgentHeader",e$.displayName="AgentContent",eB.displayName="AgentInstructions",eE.displayName="AgentTools",e_.displayName="AgentTool",eF.displayName="AgentOutput";var eL=e.i(430063);function eU({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,F.cn)("rounded-lg border bg-background p-3 text-sm",e),...t})}function eH({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"alert-description",className:(0,F.cn)("text-muted-foreground",e),...t})}var eW=e.i(260218);let eq=(0,a.createContext)(null),eG=()=>{let e=(0,a.useContext)(eq);if(!e)throw Error("Confirmation components must be used within Confirmation");return e},eV=({className:e,approval:t,state:s,...a})=>t&&"input-streaming"!==s&&"input-available"!==s?(0,n.jsx)(eq.Provider,{value:{approval:t,state:s},children:(0,n.jsx)(eU,{className:(0,F.cn)("flex flex-col gap-2",e),...a})}):null,eK=({className:e,...t})=>(0,n.jsx)(eH,{className:(0,F.cn)("inline",e),...t}),eJ=({children:e})=>{let{state:t}=eG();return"approval-requested"!==t?null:e},eQ=({children:e})=>{let{approval:t,state:s}=eG();return t?.approved&&("approval-responded"===s||"output-denied"===s||"output-available"===s)?e:null},eY=({children:e})=>{let{approval:t,state:s}=eG();return t?.approved!==!1||"approval-responded"!==s&&"output-denied"!==s&&"output-available"!==s?null:e},eZ=({className:e,...t})=>{let{state:s}=eG();return"approval-requested"!==s?null:(0,n.jsx)("div",{className:(0,F.cn)("flex items-center justify-end gap-2 self-end",e),...t})},eX=e=>(0,n.jsx)(eW.Button,{className:"h-8 px-3 text-sm",type:"button",...e});var e0=e.i(757106),e0=e0;let e1=(0,p.default)("dot",[["circle",{cx:"12.1",cy:"12.1",r:"1",key:"18d7e5"}]]);var e2=e.i(256186);let e5=(0,a.createContext)(null);function e3(e){let t=e.trim(),s=t.replace(/^\[[^\]]+\]\s+subagent progress\s+\|\s*/i,""),n=s!==t;return/^Claude$/i.test(s)||/^(Reading|Searching)(\.{1,3}|…)?$/i.test(s)||n&&/^(Reading|Searching)\s+\S.+$/i.test(s)||/^(Read|Search|Grep|Glob|SemanticSearch|WebSearch)\s+running\s+\(\d+s\)$/i.test(s)}let e4=()=>{let e=(0,a.useContext)(e5);if(!e)throw Error("ChainOfThought components must be used within ChainOfThought");return e},e6=(0,a.memo)(({className:e,open:t,defaultOpen:s=!1,onOpenChange:r,children:l,...i})=>{let[o,d]=(0,a.useState)(s),c=t??o,u=(0,a.useCallback)(e=>{void 0===t&&d(e),r?.(e)},[r,t]),m=(0,a.useMemo)(()=>({isOpen:c,setIsOpen:u}),[c,u]);return(0,n.jsx)(e5.Provider,{value:m,children:(0,n.jsx)("div",{className:(0,F.cn)("not-prose max-w-prose overflow-hidden space-y-4",e),...i,children:l})})}),e9=(0,a.memo)(({className:e,children:t,loading:s,...a})=>{let{isOpen:l,setIsOpen:i}=e4(),o=(0,r.useTranslations)("chat");return(0,n.jsx)(e2.Collapsible,{onOpenChange:i,open:l,children:(0,n.jsxs)(e2.CollapsibleTrigger,{className:(0,F.cn)("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...a,children:[(0,n.jsx)(e0.default,{className:"size-4"}),(0,n.jsx)("span",{className:"flex-1 text-left",children:t??o("chainOfThought.defaultHeader")}),s&&(0,n.jsx)(U,{size:14}),(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-4 transition-transform",l?"rotate-180":"rotate-0")})]})})}),e8=(0,a.memo)(({className:e,icon:t=e1,label:s,description:a,status:r="complete",children:l,...i})=>(0,n.jsxs)("div",{className:(0,F.cn)("flex gap-2 text-sm",{complete:"text-muted-foreground",active:"text-foreground",pending:"text-muted-foreground/50"}[r],"fade-in-0 slide-in-from-top-2 animate-in",e),...i,children:[(0,n.jsxs)("div",{className:"relative mt-0.5",children:[(0,n.jsx)(t,{className:"size-4"}),(0,n.jsx)("div",{className:"-mx-px absolute top-7 bottom-0 left-1/2 w-px bg-border"})]}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 space-y-2",children:[(0,n.jsx)("div",{children:s}),a&&(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:a}),l]})]})),e7=(0,a.memo)(({className:e,...t})=>(0,n.jsx)("div",{className:(0,F.cn)("flex flex-wrap items-center gap-2",e),...t})),te=(0,a.memo)(({className:e,children:t,...s})=>(0,n.jsx)(eP.Badge,{className:(0,F.cn)("gap-1 px-2 py-0.5 font-normal text-xs",e),variant:"secondary",...s,children:t})),tt=(0,a.memo)(({className:e,children:t,...s})=>{let{isOpen:a}=e4();return(0,n.jsx)(e2.Collapsible,{open:a,children:(0,n.jsx)(e2.CollapsibleContent,{className:(0,F.cn)("mt-2 space-y-3","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",e),...s,children:t})})}),ts=(0,a.memo)(({className:e,children:t,caption:s,...a})=>(0,n.jsxs)("div",{className:(0,F.cn)("mt-2 space-y-2",e),...a,children:[(0,n.jsx)("div",{className:"relative flex max-h-[22rem] items-center justify-center overflow-hidden rounded-lg bg-muted p-3",children:t}),s&&(0,n.jsx)("p",{className:"text-muted-foreground text-xs",children:s})]}));e6.displayName="ChainOfThought",e9.displayName="ChainOfThoughtHeader",e8.displayName="ChainOfThoughtStep",e7.displayName="ChainOfThoughtSearchResults",te.displayName="ChainOfThoughtSearchResult",tt.displayName="ChainOfThoughtContent",ts.displayName="ChainOfThoughtImage";var tn=e.i(299648),ta=e.i(839374),ta=ta,tr=e.i(184591),tr=tr,tl=e.i(875350),ti=e.i(341807);let to=(0,a.memo)(({children:e,as:t="p",className:s,duration:r=2,spread:l=2})=>{let i=(0,a.useMemo)(()=>(e?.length??0)*l,[e,l]);return(0,n.jsx)(t,{children:(0,n.jsx)(ti.motion.span,{animate:{backgroundPosition:"0% center"},className:(0,F.cn)("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]",s),initial:{backgroundPosition:"100% center"},style:{"--spread":`${i}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:1/0,duration:r,ease:"linear"},children:e})})}),td=(0,a.createContext)({output:"",isStreaming:!1,autoScroll:!0}),tc=({output:e,isStreaming:t=!1,autoScroll:s=!0,onClear:a,className:r,children:l,...i})=>(0,n.jsx)(td.Provider,{value:{output:e,isStreaming:t,autoScroll:s,onClear:a},children:(0,n.jsx)("div",{className:(0,F.cn)("flex flex-col overflow-hidden rounded-lg border bg-zinc-950 text-zinc-100",r),...i,children:l??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(tu,{children:[(0,n.jsx)(tm,{}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(tx,{}),(0,n.jsxs)(tp,{children:[(0,n.jsx)(th,{}),a&&(0,n.jsx)(tg,{})]})]})]}),(0,n.jsx)(tf,{})]})})}),tu=({className:e,children:t,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("flex items-center justify-between border-zinc-800 border-b px-4 py-2",e),...s,children:t}),tm=({className:e,children:t,...s})=>{let a=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center gap-2 text-sm text-zinc-400",e),...s,children:[(0,n.jsx)(tr.default,{className:"size-4"}),t??a("terminal.title")]})},tx=({className:e,children:t,...s})=>{let{isStreaming:l}=(0,a.useContext)(td),i=(0,r.useTranslations)("chat");return l?(0,n.jsx)("div",{className:(0,F.cn)("flex items-center gap-2 text-xs text-zinc-400",e),...s,children:t??(0,n.jsx)(to,{className:"w-16",children:i("terminal.running")})}):null},tp=({className:e,children:t,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("flex items-center gap-1",e),...s,children:t}),th=({onCopy:e,onError:t,timeout:s=2e3,children:l,className:i,...o})=>{let[d,c]=(0,a.useState)(!1),{output:u}=(0,a.useContext)(td),m=(0,r.useTranslations)("chat"),x=async()=>{if(!navigator?.clipboard?.writeText)return void t?.(Error(m("terminal.clipboardUnavailable")));try{await navigator.clipboard.writeText(u),c(!0),e?.(),setTimeout(()=>c(!1),s)}catch(e){t?.(e)}},p=d?tn.CheckIcon:ta.default;return(0,n.jsx)(eW.Button,{className:(0,F.cn)("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100",i),onClick:x,size:"icon",variant:"ghost",...o,children:l??(0,n.jsx)(p,{size:14})})},tg=({children:e,className:t,...s})=>{let{onClear:r}=(0,a.useContext)(td);return r?(0,n.jsx)(eW.Button,{className:(0,F.cn)("size-7 shrink-0 text-zinc-400 hover:bg-zinc-800 hover:text-zinc-100",t),onClick:r,size:"icon",variant:"ghost",...s,children:e??(0,n.jsx)(tl.Trash2Icon,{size:14})}):null},tf=({className:e,children:t,...s})=>{let{output:r,isStreaming:l,autoScroll:i}=(0,a.useContext)(td),o=(0,a.useRef)(null);return(0,a.useEffect)(()=>{i&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[r,i]),(0,n.jsx)("div",{className:(0,F.cn)("max-h-96 overflow-auto p-4 font-mono text-sm leading-relaxed",e),ref:o,...s,children:t??(0,n.jsxs)("pre",{className:"whitespace-pre-wrap break-words",children:[r.replace(/\u001b\[[0-9;]*m/g,""),l&&(0,n.jsx)("span",{className:"ml-0.5 inline-block h-4 w-2 animate-pulse bg-zinc-100"})]})})};var tj=e.i(735207),tj=tj,H=H,tv=e.i(444741),tv=tv;let tb=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ta=ta,tN=e.i(867295),tN=tN;let ty=(0,p.default)("file-pen",[["path",{d:"M12.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 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);var tk=e.i(631476),tw=e.i(361421),tw=tw,tC=e.i(336180);let tT=(0,p.default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),tI=(0,p.default)("message-square-text",[["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"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]);var tS=e.i(995684),tS=tS,tM=e.i(367914),tz=e.i(656744),tz=tz;let tD=(0,p.default)("square-check",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var tr=tr;let tA=(0,p.default)("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);var tP=e.i(212068),tP=tP,tO=e.i(940361),tR=e.i(691223),t$=e.i(613812),tB=e.i(887836);e.i(462506);var tE=e.i(950396);function t_(){let e=(0,r.useTranslations)("chat");return(0,n.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground text-xs",children:e("readonlyCodeBlock.loading")})}let tF=(0,tB.default)(()=>e.A(863812).then(e=>e.default),{loadableGenerated:{modules:[158480]},ssr:!1,loading:()=>(0,n.jsx)(t_,{})});function tL({value:e,language:t="plaintext",title:s,height:a=220}){let{resolvedTheme:r}=(0,tE.useTheme)();return(0,n.jsxs)("div",{className:"overflow-hidden rounded-md border bg-background",children:[s?(0,n.jsx)("div",{className:"border-b bg-muted/30 px-2 py-1 font-mono text-muted-foreground text-xs",children:s}):null,(0,n.jsx)("div",{style:{height:a},children:(0,n.jsx)(tF,{height:"100%",language:t,value:e,options:{readOnly:!0,domReadOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:12,lineNumbers:"on",renderLineHighlight:"none",wordWrap:"on",folding:!1,overviewRulerLanes:0},theme:"dark"===r?"vs-dark":"vs"})})]})}let tU={Read:tj.default,Write:tk.FileTextIcon,Edit:tS.default,MultiEdit:ty,Bash:tr.default,TodoWrite:tD,Grep:tM.SearchIcon,Glob:tw.default,Search:tM.SearchIcon,SemanticSearch:tM.SearchIcon,WebSearch:tC.GlobeIcon,WebFetch:tA,Fetch:tA,Task:tI,Agent:H.default,Skill:tz.default,AskUserQuestion:tT,LoadClaudeMd:tj.default};function tH({text:e,status:t,workspaceId:s}){let l=(0,r.useTranslations)("chat"),i=Array.from(e.trim()).length>=300,[o,d]=(0,a.useState)(!1);return(0,n.jsx)(e8,{icon:tI,label:(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,n.jsx)("span",{children:l("messageParts.aiMessage")}),i?(0,n.jsx)(eW.Button,{type:"button",variant:"ghost",size:"icon",className:"ml-auto size-5",onClick:()=>d(!o),children:(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-3.5 transition-transform",o&&"rotate-180")})}):null]}),status:t,children:!i||o?(0,n.jsx)(b.Markdown,{content:e,workspaceId:s}):null})}function tW({chain:e,message:t,workspaceId:s,status:l}){var i,o;let d=(0,tR.useEditorStore)(e=>e.openFile),[c,u]=(0,a.useState)(!1),[m,x]=(0,a.useState)(null),[p,h]=(0,a.useState)(!1),[g,f]=(0,a.useState)(null),[j,v]=(0,a.useState)(!1),[b,N]=(0,a.useState)(!1),y=(0,r.useTranslations)("chat"),k=async()=>{e.filePath&&await d(s,e.filePath)},w=(0,a.useCallback)(async()=>{if(m||!e.detailId)return m;h(!0),f(null);try{let n=await fetch(`/api/workspaces/${s}/channels/${t.channelId}/messages/${t.id}/tool-details/${e.detailId}`);if(!n.ok)throw Error(await n.text());let a=await n.json();return x(a),a}catch(e){return f(e instanceof Error?e.message:y("messageParts.failedToLoadDetails")),null}finally{h(!1)}},[m,e.detailId,s,t.channelId,t.id,y]),C=async()=>{let e=!c;u(e),e&&!p&&await w()},T=async()=>{var t;let s=m??await w(),n=s?void 0!==(t=s).input||void 0!==t.output?JSON.stringify({input:t.input,output:t.output},null,2):t.raw??"":e.command??e.title;try{await navigator.clipboard.writeText(n),v(!0),setTimeout(()=>v(!1),1500)}catch{}},I=async()=>{await w(),N(!0)};return(0,n.jsxs)(e8,{icon:(i=e.toolName,i&&tU[i]?tU[i]:i?.startsWith("mcp__")||i?.startsWith("mcp-")?tP.default:"complete"===l?tv.default:tb),label:(0,n.jsxs)(tO.ContextMenu,{children:[(0,n.jsxs)(tO.ContextMenuTrigger,{className:"group/tool-step flex min-w-0 items-center gap-1.5 overflow-hidden",children:[(0,n.jsx)("span",{className:"shrink-0",children:e.filePath?e.title.replace(RegExp(`\\s+${((o=e.filePath).split(/[\\/]/).filter(Boolean).at(-1)??o).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`),""):e.title}),e.description?(0,n.jsx)("span",{className:"min-w-0 shrink truncate text-muted-foreground text-xs",children:e.description}):null,e.filePath?(0,n.jsxs)(eW.Button,{type:"button",variant:"ghost",size:"sm",className:"h-6 max-w-48 shrink gap-1 px-1.5 text-xs",onClick:k,children:[(0,n.jsx)(tk.FileTextIcon,{className:"size-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e.filePath})]}):null,(0,n.jsx)("div",{className:"ml-auto flex shrink-0 items-center",children:e.detailId?(0,n.jsx)(eW.Button,{type:"button",variant:"ghost",size:"icon",className:"size-5",onClick:C,children:(0,n.jsx)(eI.ChevronDownIcon,{className:(0,F.cn)("size-3.5 transition-transform",c&&"rotate-180")})}):null})]}),(0,n.jsxs)(tO.ContextMenuContent,{children:[(0,n.jsxs)(tO.ContextMenuItem,{onClick:T,children:[j?(0,n.jsx)(tn.CheckIcon,{className:"size-4 text-green-500"}):(0,n.jsx)(ta.default,{className:"size-4"}),y("messageParts.copy")]}),(0,n.jsxs)(tO.ContextMenuItem,{onClick:I,children:[(0,n.jsx)(tN.default,{className:"size-4"}),y("messageParts.view")]})]})]}),description:e.command,status:l,children:[e.answer?(0,n.jsxs)("div",{className:"rounded-md border bg-muted/30 px-3 py-2 text-sm",children:[(0,n.jsx)("div",{className:"text-muted-foreground text-xs",children:y("messageParts.result")}),(0,n.jsx)("div",{className:"font-medium",children:e.answer})]}):null,c?(0,n.jsx)("div",{className:"space-y-2",children:p?(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-muted-foreground text-xs",children:y("messageParts.loadingDetails")}):g?(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-destructive text-xs",children:g}):m?(0,n.jsx)(tq,{detail:m,toolName:e.toolName,filePath:e.filePath}):(0,n.jsx)("div",{className:"rounded-md border bg-muted/40 p-2 text-muted-foreground text-xs",children:y("messageParts.noDetails")})}):null,(0,n.jsx)(tK,{open:b,onOpenChange:N,detail:m,toolName:e.toolName,loading:p,error:g,t:y})]})}function tq({detail:e,toolName:t,filePath:s}){var a,l;let i,o=(0,r.useTranslations)("chat");if(/^(Bash|Shell|Command)$/i.test(t??"")){let t=function(e){if(!e||"object"!=typeof e)return"string"==typeof e?e:void 0;let t=e.command??e.Command;return"string"==typeof t?t:void 0}(e.input),s="string"==typeof e.output?e.output:JSON.stringify(e.output??"",null,2);return(0,n.jsx)(tc,{output:t?`$ ${t}
|
|
2
2
|
${s}`:s})}let d=function(e,t,s){if(!e||"object"!=typeof e)return null;let n=tJ(e.file_path)??tJ(e.path)??s??"edit",a=function(e){if(!e||"object"!=typeof e)return;let t=tJ(e.content);if(void 0!==t)return t;let s=e.file;if(s&&"object"==typeof s)return tJ(s.content)}(t),r=tJ(e.old_string),l=tJ(e.new_string);if(void 0!==r&&void 0!==l)return{path:n,oldContent:r,newContent:a??l};let i=Array.isArray(e.edits)?e.edits:[];return i.length>0?{path:n,oldContent:i.map((e,t)=>e&&"object"==typeof e?tJ(e.old_string)??`#${t+1}`:`#${t+1}`).join("\n\n"),newContent:a??i.map((e,t)=>e&&"object"==typeof e?tJ(e.new_string)??`#${t+1}`:`#${t+1}`).join("\n\n")}:null}(e.input,e.output,s);if(d&&/^(Edit|MultiEdit)$/i.test(t??""))return(0,n.jsx)("div",{className:"h-80 overflow-hidden rounded-md border bg-background",children:(0,n.jsx)(t$.DiffViewer,{oldContent:d.oldContent,newContent:d.newContent,path:d.path})});let c=(a=e,l=o,i=[],void 0!==a.input&&i.push({title:l("messageParts.input"),value:tG(a.input),language:tV(a.input)?"json":"plaintext",height:180}),void 0!==a.output&&i.push({title:l("messageParts.output"),value:tG(a.output),language:tV(a.output)?"json":"plaintext",height:220}),i);return 0===c.length&&e.raw?(0,n.jsx)(tL,{title:o("messageParts.raw"),value:e.raw,language:"plaintext"}):(0,n.jsx)("div",{className:"space-y-2",children:c.map(e=>(0,n.jsx)(tL,{title:e.title,value:e.value,language:e.language,height:e.height},e.title))})}function tG(e){return"string"==typeof e?e:JSON.stringify(e,null,2)}function tV(e){return"string"!=typeof e}function tK({open:e,onOpenChange:t,detail:s,toolName:a,loading:r,error:l,t:i}){return(0,n.jsx)(v.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(v.DialogContent,{className:"sm:max-w-3xl",children:[(0,n.jsx)(v.DialogHeader,{children:(0,n.jsx)(v.DialogTitle,{children:a??i("messageParts.raw")})}),r?(0,n.jsx)("div",{className:"py-8 text-center text-muted-foreground text-sm",children:i("messageParts.loadingDetails")}):l?(0,n.jsx)("div",{className:"py-8 text-center text-destructive text-sm",children:l}):s?(0,n.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,n.jsx)(tL,{title:i("messageParts.input"),value:tG(s.input)||"-",language:tV(s.input)?"json":"plaintext",height:320}),(0,n.jsx)(tL,{title:i("messageParts.output"),value:tG(s.output)||"-",language:tV(s.output)?"json":"plaintext",height:320})]}):(0,n.jsx)("div",{className:"py-8 text-center text-muted-foreground text-sm",children:i("messageParts.noDetails")})]})})}function tJ(e){return"string"==typeof e?e:void 0}var H=H,tQ=e.i(191118),tY=e.i(812057),tZ=e.i(368942),tX=e.i(660748);let t0=(0,a.createContext)(null),t1=()=>{let e=(0,a.useContext)(t0);if(!e)throw Error("Context components must be used within Context");return e},t2=({usedTokens:e,maxTokens:t,usage:s,modelId:a,children:r,...l})=>(0,n.jsx)(t0.Provider,{value:{usedTokens:e,maxTokens:t,usage:s,modelId:a},children:(0,n.jsx)(k.Popover,{...l,children:r})}),t5=()=>{let{usedTokens:e,maxTokens:t,usage:s}=t1(),a=e-(s?.cachedInputTokens??0),r=2*Math.PI*10;return(0,n.jsxs)("svg",{"aria-label":"Model context usage",height:"20",role:"img",style:{color:"currentcolor"},viewBox:"0 0 24 24",width:"20",children:[(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.25",r:10,stroke:"currentColor",strokeWidth:2}),(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.7",r:10,stroke:"currentColor",strokeDasharray:`${r} ${r}`,strokeDashoffset:r*(1-a/t),strokeLinecap:"round",strokeWidth:2,style:{transformOrigin:"center",transform:"rotate(-90deg)"}})]})},t3=({children:e,...t})=>{let{usedTokens:s,maxTokens:r,usage:l}=t1(),i=s-(l?.cachedInputTokens??0),o=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(i/r),d=((0,a.isValidElement)(e)?e:void 0)??(0,n.jsxs)(eW.Button,{type:"button",variant:"ghost",...t,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground",children:o}),(0,n.jsx)(t5,{})]});return(0,n.jsx)(k.PopoverTrigger,{render:d})},t4=({className:e,...t})=>(0,n.jsx)(k.PopoverContent,{className:(0,F.cn)("min-w-60 divide-y overflow-hidden p-0",e),...t}),t6=({children:e,className:t,...s})=>{let{usedTokens:a,maxTokens:r,usage:l}=t1(),i=(a-(l?.cachedInputTokens??0))/r,o=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(i),d=new Intl.NumberFormat("en-US",{notation:"compact"}).format(a),c=new Intl.NumberFormat("en-US",{notation:"compact"}).format(r);return(0,n.jsx)("div",{className:(0,F.cn)("w-full space-y-2 p-3",t),...s,children:e??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs",children:[(0,n.jsx)("p",{children:o}),(0,n.jsxs)("p",{className:"font-mono text-muted-foreground",children:[d," / ",c]})]}),(0,n.jsx)("div",{className:"space-y-2",children:(0,n.jsx)(tX.Progress,{className:"bg-muted",value:100*i})})]})})},t9=({children:e,className:t,...s})=>(0,n.jsx)("div",{className:(0,F.cn)("w-full p-3",t),...s,children:e}),t8=({children:e,className:t,...s})=>{let{modelId:a,usage:l}=t1(),i=(0,r.useTranslations)("chat"),o=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format((void 0)??0);return(0,n.jsx)("div",{className:(0,F.cn)("flex w-full items-center justify-between gap-3 bg-secondary p-3 text-xs",t),...s,children:e??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:i("context.totalCost")}),(0,n.jsx)("span",{children:o})]})})},t7=({className:e,children:t,...s})=>{let{usage:a,modelId:l}=t1(),i=(0,r.useTranslations)("chat"),o=a?.inputTokens??0;if(t)return t;if(!o)return null;let d=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format((void 0)??0);return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center justify-between text-xs",e),...s,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:i("context.input")}),(0,n.jsx)(sn,{costText:d,tokens:o})]})},se=({className:e,children:t,...s})=>{let{usage:a,modelId:l}=t1(),i=(0,r.useTranslations)("chat"),o=a?.outputTokens??0;if(t)return t;if(!o)return null;let d=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format((void 0)??0);return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center justify-between text-xs",e),...s,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:i("context.output")}),(0,n.jsx)(sn,{costText:d,tokens:o})]})},st=({className:e,children:t,...s})=>{let{usage:a,modelId:l}=t1(),i=(0,r.useTranslations)("chat"),o=a?.reasoningTokens??0;if(t)return t;if(!o)return null;let d=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format((void 0)??0);return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center justify-between text-xs",e),...s,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:i("context.reasoning")}),(0,n.jsx)(sn,{costText:d,tokens:o})]})},ss=({className:e,children:t,...s})=>{let{usage:a,modelId:l}=t1(),i=(0,r.useTranslations)("chat"),o=a?.cachedInputTokens??0;if(t)return t;if(!o)return null;let d=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format((void 0)??0);return(0,n.jsxs)("div",{className:(0,F.cn)("flex items-center justify-between text-xs",e),...s,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:i("context.cache")}),(0,n.jsx)(sn,{costText:d,tokens:o})]})},sn=({tokens:e,costText:t})=>(0,n.jsxs)("span",{children:[void 0===e?"—":new Intl.NumberFormat("en-US",{notation:"compact"}).format(e),t?(0,n.jsxs)("span",{className:"ml-2 text-muted-foreground",children:["• ",t]}):null]});function sa(e){return{inputTokens:e.usage?.inputTokens??0,outputTokens:e.usage?.outputTokens??0,totalTokens:e.usage?.totalTokens??e.usedTokens,cachedInputTokens:e.usage?.cachedInputTokens??0,reasoningTokens:e.usage?.reasoningTokens??0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0}}}function sr({part:e}){let t=e.agentContext,s=sa(e),a=s.inputTokens+s.outputTokens+s.reasoningTokens,r=s.totalTokens>0?s.cachedInputTokens/s.totalTokens:0,l=function(e){if(e?.length)return JSON.stringify(e.map(e=>({id:e.id,type:e.type,title:e.title,toolUseId:e.toolUseId,toolName:e.toolName,characters:e.characters,tokens:e.tokens,text:e.text})),null,2)}(t?.outputItems)??t?.output,i=function(e){if(e?.length)return e.reduce((e,t)=>({characters:e.characters+(t.characters??0),tokens:e.tokens+(t.tokens??0)}),{characters:0,tokens:0})}(t?.outputItems)??so(t?.output),o=[{key:"systemPrompt",title:"提示词信息",value:t?.systemPrompt,empty:"此 agent 未配置独立 system prompt。"},{key:"userPrompt",title:"输入信息",value:t?.userPrompt,empty:"旧消息未记录用户输入。"},{key:"fullPrompt",title:"完整上下文",value:t?.fullPrompt,empty:"旧消息未记录完整 prompt。"},{key:"output",title:"输出信息",value:l,empty:"暂无输出信息。",stats:i}].map(e=>({...e,stats:e.stats??so(e.value)})),d=o.reduce((e,t)=>e+t.stats.tokens,0);return(0,n.jsxs)("div",{className:"flex flex-col gap-4 h-full",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(eP.Badge,{variant:"secondary",children:t?.name||t?.role||"Agent"}),t?.runtime?(0,n.jsx)(eP.Badge,{variant:"outline",children:t.runtime}):null,t?.model||e.modelId?(0,n.jsx)(eP.Badge,{variant:"outline",children:t?.model||e.modelId}):null,t?.sessionId?(0,n.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:t.sessionId}):null]}),(0,n.jsxs)("div",{className:"grid gap-2 sm:grid-cols-3 xl:grid-cols-6",children:[(0,n.jsx)(sl,{label:"有效上下文",value:a,helper:"输入 + 输出 + 推理,不含缓存命中",emphasize:!0}),(0,n.jsx)(sl,{label:"总用量(含缓存)",value:s.totalTokens,helper:"provider usage total"}),(0,n.jsx)(sl,{label:"新输入",value:s.inputTokens}),(0,n.jsx)(sl,{label:"输出",value:s.outputTokens}),(0,n.jsx)(sl,{label:"推理",value:s.reasoningTokens}),(0,n.jsx)(sl,{label:"缓存输入",value:s.cachedInputTokens,helper:`${sd(r)} of total`})]}),(0,n.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,n.jsx)(si,{title:o[0].title,value:o[0].value,empty:o[0].empty,stats:o[0].stats,totalTokens:d},o[0].key),(0,n.jsx)(si,{title:o[1].title,value:o[1].value,empty:o[1].empty,stats:o[1].stats,totalTokens:d},o[1].key)]}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-4 min-h-0",children:[(0,n.jsx)(si,{title:o[2].title,value:o[2].value,empty:o[2].empty,stats:o[2].stats,totalTokens:d},o[2].key),(0,n.jsx)(si,{title:o[3].title,value:o[3].value,empty:o[3].empty,stats:o[3].stats,totalTokens:d},o[3].key)]})]})}function sl({label:e,value:t,helper:s,emphasize:a}){return(0,n.jsxs)("div",{className:(0,F.cn)("rounded-md border bg-muted/30 p-3",a&&"border-primary/30 bg-primary/5"),children:[(0,n.jsx)("div",{className:"text-[11px] text-muted-foreground",children:e}),(0,n.jsx)("div",{className:(0,F.cn)("mt-1 font-mono text-sm",a&&"font-semibold text-primary"),children:sc(t??0)}),s?(0,n.jsx)("div",{className:"mt-1 text-[10px] text-muted-foreground",children:s}):null]})}function si({title:e,value:t,empty:s,stats:a,totalTokens:r}){let l=r>0?a.tokens/r:0;return(0,n.jsxs)("section",{className:"min-w-0 overflow-hidden flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-2",children:[(0,n.jsx)("h4",{className:"text-xs font-medium text-muted-foreground",children:e}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-1.5 font-mono text-[10px] text-muted-foreground",children:[(0,n.jsx)("span",{children:sd(l)}),(0,n.jsxs)("span",{children:[sc(a.characters)," 字"]}),(0,n.jsxs)("span",{children:[sc(a.tokens)," tokens"]})]})]}),(0,n.jsx)("pre",{className:(0,F.cn)("min-w-0 flex-1 min-h-0 whitespace-pre-wrap break-words rounded-md border bg-muted/30 p-3 font-mono text-xs leading-relaxed text-foreground overflow-auto",!t?.trim()&&"text-muted-foreground",!t?.trim()&&"text-muted-foreground"),children:t?.trim()||s})]})}function so(e){var t;let s,n,a=e?.trim()??"";return a?{characters:Array.from(a).length,tokens:(t=a,s=t.match(/[㐀-鿿豈-]/g)?.length??0,n=t.replace(/[㐀-鿿豈-]/g," "),Math.max(1,Math.ceil(s+.75*(n.match(/[A-Za-z0-9_]+|[^\sA-Za-z0-9_]/g)?.length??0))))}:{characters:0,tokens:0}}function sd(e){return new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(e)}function sc(e){return new Intl.NumberFormat("en-US").format(e)}function su({message:e}){let t=(0,a.useMemo)(()=>e.parts?.filter(e=>"context"===e.type)??[],[e.parts]),s=t[t.length-1],[r,l]=(0,a.useState)(!1),[i,o]=(0,a.useState)(!1),[d,c]=(0,a.useState)(),u=(0,tZ.useLLMStore)(e=>e.models),m=(0,tZ.useLLMStore)(e=>e.ensure),x=s?.modelId?u.find(e=>e.modelId===s.modelId||e.name===s.modelId):void 0,p=x?.maxContextTokens??s?.maxTokens;if((0,a.useEffect)(()=>{s&&m()},[m,s]),!s||!p)return null;let h=t.reduce((e,t)=>e+t.usedTokens,0),g=t.reduce((e,t)=>({inputTokens:e.inputTokens+(t.usage?.inputTokens??0),outputTokens:e.outputTokens+(t.usage?.outputTokens??0),totalTokens:e.totalTokens+(t.usage?.totalTokens??t.usedTokens),cachedInputTokens:e.cachedInputTokens+(t.usage?.cachedInputTokens??0),reasoningTokens:e.reasoningTokens+(t.usage?.reasoningTokens??0)}),{inputTokens:0,outputTokens:0,totalTokens:0,cachedInputTokens:0,reasoningTokens:0}),f=t.length>1?{...s,usedTokens:h,usage:g}:s,j=sa(f),b=t.find(e=>e.id===d)??t[0];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t2,{usedTokens:f.usedTokens,maxTokens:p,modelId:f.modelId,usage:j,open:r,onOpenChange:l,children:[(0,n.jsx)(t3,{className:"h-5 gap-1 px-1.5 text-[10px]"}),(0,n.jsxs)(t4,{children:[(0,n.jsx)(t6,{}),(0,n.jsxs)(t9,{className:"space-y-2",children:[(0,n.jsx)(t7,{}),(0,n.jsx)(se,{}),(0,n.jsx)(st,{}),(0,n.jsx)(ss,{})]}),(0,n.jsx)(t8,{}),(0,n.jsx)("div",{className:"border-t px-3 py-2",children:(0,n.jsx)("button",{type:"button",className:"w-full text-center text-xs text-primary hover:underline cursor-pointer",onClick:()=>{l(!1),o(!0)},children:"查看详情 →"})})]})]}),(0,n.jsx)(v.Dialog,{open:i,onOpenChange:o,children:(0,n.jsxs)(v.DialogContent,{className:"!flex !w-[min(920px,calc(100vw-2rem))] !max-w-[min(920px,calc(100vw-2rem))] !flex-col gap-0 overflow-hidden p-0",children:[(0,n.jsxs)(v.DialogHeader,{className:"border-b px-5 py-4",children:[(0,n.jsx)(v.DialogTitle,{className:"text-base",children:"Agent 上下文结构"}),(0,n.jsxs)(v.DialogDescription,{className:"text-xs",children:["此条消息包含 ",t.length," 次 agent 运行。选择 tab 查看提示词、输入、输出和 token 消耗。"]})]}),t.length?(0,n.jsxs)(tY.Tabs,{value:b?.id,onValueChange:c,className:"min-h-0 flex flex-1 gap-0",children:[(0,n.jsx)("div",{className:"flex w-56 shrink-0 flex-col border-r",children:(0,n.jsx)(tY.TabsList,{className:"!flex h-auto w-full flex-col items-stretch gap-1 rounded-none border-0 bg-transparent p-2",children:t.map((e,t)=>(0,n.jsxs)(tY.TabsTrigger,{value:e.id,className:"!w-full justify-start gap-2 px-3 py-2 text-xs",children:[(0,n.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded-full bg-muted font-mono text-[10px] text-muted-foreground",children:t+1}),(0,n.jsx)(H.default,{className:"size-3.5 shrink-0"}),(0,n.jsx)("span",{className:"min-w-0 truncate",children:e.agentContext?.name||e.agentContext?.role||`Agent ${t+1}`})]},e.id))})}),(0,n.jsx)(tQ.ScrollArea,{className:"max-h-[min(68vh,720px)] min-w-0 flex-1",children:t.map(e=>(0,n.jsx)(tY.TabsContent,{value:e.id,className:"m-0 min-w-0 p-5",children:(0,n.jsx)(sr,{part:e})},e.id))})]}):null]})})]})}function sm({message:e,isUser:t,workspaceId:s}){let a=(0,r.useTranslations)("chat"),l=e.parts??[],i=l.filter(e=>"context"!==e.type),o=i.some(e=>"text"===e.type),d=0===l.length&&e.content;return(0,n.jsxs)("div",{className:"space-y-3 min-w-0 overflow-hidden",children:[e.attachments?.length?(0,n.jsx)(sh,{attachments:e.attachments,isUser:t}):null,i.length>0?i.map(t=>(0,n.jsx)(sx,{part:function(e){if("text"!==e.type)return e;let t=sf(e.text);return t===e.text?e:{...e,text:t}}(t),message:e,workspaceId:s},t.id)):null,!o&&d?t?(0,n.jsx)(sg,{content:e.content}):(0,n.jsx)(b.Markdown,{content:sf(e.content),workspaceId:s}):null,"pending"===e.status&&0===i.length?(0,n.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,n.jsx)(U,{size:14}),(0,n.jsx)("span",{children:a("messageParts.agentProcessing")})]}):null]})}function sx({part:e,message:t,workspaceId:s}){let a=(0,r.useTranslations)("chat");switch(e.type){case"text":return(0,n.jsx)(b.Markdown,{content:e.text,workspaceId:s});case"user_message":return(0,n.jsx)(sp,{text:e.text,senderName:e.senderName||"用户"});case"reasoning":return(0,n.jsxs)(e6,{defaultOpen:"streaming"===e.status,className:"max-w-none",children:[(0,n.jsx)(e9,{loading:"streaming"===e.status,children:a("streaming"===e.status?"messageParts.agentThinking":"messageParts.aiIntermediateOutput")}),(0,n.jsx)(tt,{className:"max-h-[300px] overflow-y-auto",children:(0,n.jsx)("div",{className:"pl-6 text-xs text-muted-foreground",children:(0,n.jsx)(b.Markdown,{content:e.text,workspaceId:s})})})]});case"chain":let l=e.chains.filter(e=>!e3(e.text??e.description??e.title)),i=l.filter(e=>"message"!==e.kind).length;if(0===l.length)return null;return(0,n.jsxs)(e6,{defaultOpen:"pending"===t.status,className:"max-w-none",children:[(0,n.jsx)(e9,{loading:"pending"===t.status||"streaming"===t.status,children:a("messageParts.chainSteps",{count:i})}),(0,n.jsx)(tt,{className:"max-h-[300px] overflow-y-auto",children:l.map(e=>{let a="completed"===e.status;return"message"===e.kind?(0,n.jsx)(tH,{text:e.text??e.title,status:a?"complete":"active",workspaceId:s},e.id):(0,n.jsx)(tW,{chain:e,message:t,workspaceId:s,status:a?"complete":"active"},e.id)})})]});case"terminal":return(0,n.jsx)(tc,{output:e.command?`$ ${e.command}
|
|
3
3
|
${e.output}`:e.output,isStreaming:"streaming"===e.status,className:"error"===e.status?"border-destructive/40":void 0});case"confirmation":{var o,d;let t=(o=e.id,(d=e.approval)&&void 0!==d.approved?{id:d.id,approved:d.approved,reason:d.reason}:{id:d?.id??o});return(0,n.jsxs)(eV,{approval:t,state:void 0===t.approved?"approval-requested":"approval-responded",children:[(0,n.jsxs)(eK,{children:[(0,n.jsxs)(eJ,{children:[e.title,e.description?(0,n.jsx)("span",{className:"block text-xs",children:e.description}):null]}),(0,n.jsx)(eQ,{children:e.title}),(0,n.jsx)(eY,{children:e.approval?.reason??e.title})]}),(0,n.jsxs)(eZ,{children:[(0,n.jsx)(eX,{variant:"outline",children:a("messageParts.reject")}),(0,n.jsx)(eX,{children:a("messageParts.approve")})]})]})}case"context":case"ask_user_question":default:return null;case"subagent":let c=e.output&&!e3(e.output)?e.output:void 0;return(0,n.jsxs)(eO,{children:[(0,n.jsx)(eR,{name:e.name,model:e.model}),e.instructions||c||e.tools?.length?(0,n.jsxs)(e$,{children:[e.instructions?(0,n.jsx)(eB,{children:e.instructions}):null,c?(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground text-sm",children:a("messageParts.result")}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50 p-3 text-sm",children:(0,n.jsx)(b.Markdown,{content:c,workspaceId:s})})]}):null,e.tools?.length?(0,n.jsx)(eE,{children:e.tools.map((e,t)=>(0,n.jsx)(e_,{value:`tool-${t}`,tool:{description:e.description??e.name,inputSchema:e.inputSchema,jsonSchema:e.jsonSchema}},`${e.name??"tool"}-${t}`))}):null]}):null]})}}function sp({text:e,senderName:t}){return(0,n.jsxs)("div",{className:"not-prose rounded-md border border-primary/20 bg-primary/5 px-3 py-2 text-sm",children:[(0,n.jsxs)("div",{className:"mb-1 text-xs font-medium text-primary",children:[t,":"]}),(0,n.jsx)(sg,{content:e})]})}function sh({attachments:e,isUser:t}){return(0,n.jsx)(eL.Attachments,{variant:"inline",className:t?"justify-end":"justify-start",children:e.map((e,t)=>{var s,a;return(0,n.jsxs)(eL.Attachment,{data:(s=e,a=t,{id:`${s.path||s.name}-${a}`,type:"file",filename:s.name,mediaType:s.type,url:s.url||s.path}),children:[(0,n.jsx)(eL.AttachmentPreview,{}),(0,n.jsx)(eL.AttachmentInfo,{showMediaType:!0})]},`${e.path}-${t}`)})})}function sg({content:e}){return/<[a-z][\s\S]*>/i.test(e)?(0,n.jsx)("span",{className:"tiptap tiptap-message",dangerouslySetInnerHTML:{__html:e}}):(0,n.jsx)("span",{className:"whitespace-pre-wrap break-all",children:e})}function sf(e){let t=[...e.split(/\r?\n/)];for(;t.length>1&&t.length%2==0;){let e=t.length/2,s=t.slice(0,e),n=t.slice(e);if(sj(s.join("\n"))!==sj(n.join("\n")))break;t=s}return t.join("\n")}function sj(e){return e.trim().replace(/\s+/g," ")}function sv({message:e,workspaceId:t,onEdit:s,onDelete:l,onReply:o}){let p=(0,r.useTranslations)("common"),k="user"===e.senderId,w=(0,i.useAgentStore)(e=>e.agents),C=k?void 0:w.find(t=>t.id===e.senderId),T=k?p("you"):C?.name||e.senderId,I=(0,y.useUserAvatar)(),S=new Date(e.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),[M,z]=(0,a.useState)(!1),[D,A]=(0,a.useState)(!1),[P,O]=(0,a.useState)(!1),R=e.replies??[],$="streaming"===e.status||"pending"===e.status||"waiting_for_user"===e.status,[B,E]=(0,a.useState)(()=>e.metadata?.duration??0);(0,a.useEffect)(()=>{if(!$&&e.metadata?.duration!=null)return void E(e.metadata.duration);if(!$)return;let t=new Date(e.createdAt).getTime();E(Date.now()-t);let s=setInterval(()=>E(Date.now()-t),1e3);return()=>clearInterval(s)},[e.metadata?.duration,e.createdAt,$]);let F=!k&&($||"completed"===e.status||"error"===e.status)&&B>0,L=(0,a.useCallback)(async()=>{let t=sb(e.content)?e.content.replace(/<[^>]*>/g,""):e.content;await navigator.clipboard.writeText(t),z(!0),setTimeout(()=>z(!1),2e3)},[e.content]);return(0,n.jsxs)("div",{className:`group flex gap-2 px-3 py-1.5 ${k?"flex-row-reverse":""}`,children:[(0,n.jsx)(N.AgentIcon,{agentId:k?void 0:e.senderId,name:T,avatarUrl:k&&I||void 0,onClick:()=>A(!0),className:"size-7 rounded-full"}),(0,n.jsxs)("div",{className:`flex flex-col min-w-0 w-[80%] ${k?"items-end":"items-start"}`,children:[!k&&(0,n.jsxs)("div",{className:"flex items-center gap-2 mb-0.5",children:[(0,n.jsx)("span",{className:"text-xs font-medium text-foreground",children:T}),e.senderRole&&(0,n.jsx)("span",{className:"text-[10px] bg-muted px-1.5 py-0.5 rounded text-muted-foreground",children:e.senderRole}),e.metadata?.model&&(0,n.jsx)("span",{className:"text-[10px] font-mono text-muted-foreground",children:e.metadata.model}),(0,n.jsx)(su,{message:e}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:S})]}),(0,n.jsxs)("div",{className:`min-w-0 max-w-full text-sm rounded-lg px-3 py-2 ${k?"bg-primary text-primary-foreground":"bg-muted"}`,children:[(0,n.jsx)(sm,{message:e,isUser:k,workspaceId:t}),(R.length>0||F)&&(0,n.jsxs)("div",{className:"mt-1 flex items-center justify-between gap-3 border-t border-border/30 pt-1",children:[(0,n.jsx)(sN,{replies:R,currentUserLabel:p("you")}),(0,n.jsxs)("div",{className:"ml-auto flex items-center justify-end gap-1",children:[!$&&"completed"===e.status&&(0,n.jsx)(g.CheckCircle2,{className:"h-3 w-3 text-green-500 shrink-0"}),!$&&"error"===e.status&&(0,n.jsx)(f.XCircle,{className:"h-3 w-3 text-destructive shrink-0"}),F&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(x.Clock,{className:"h-3 w-3 text-muted-foreground"}),(0,n.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[function(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let s=Math.floor(t/60);if(s<60)return`${s}m ${t%60}s`;let n=Math.floor(s/60);return`${n}h ${s%60}m`}(B),$&&(0,n.jsx)("span",{className:"animate-pulse ml-0.5",children:"..."})]})]})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-0.5 h-6 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,n.jsx)("button",{onClick:()=>o?.(e),className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",title:"回复",children:(0,n.jsx)(h,{className:"h-3.5 w-3.5"})}),(0,n.jsx)("button",{onClick:L,className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",title:"复制",children:M?(0,n.jsx)(m.Check,{className:"h-3.5 w-3.5 text-green-500"}):(0,n.jsx)(d.Copy,{className:"h-3.5 w-3.5"})}),k&&(0,n.jsx)("button",{onClick:()=>s?.(e),className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",title:"编辑",children:(0,n.jsx)(c.Pencil,{className:"h-3.5 w-3.5"})}),!k&&e.content&&(0,n.jsx)("button",{onClick:()=>O(!0),className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer",title:"全屏查看",children:(0,n.jsx)(j.Maximize2,{className:"h-3.5 w-3.5"})}),(0,n.jsx)("button",{onClick:()=>l?.(e),className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-destructive transition-colors cursor-pointer",title:"删除",children:(0,n.jsx)(u.Trash2,{className:"h-3.5 w-3.5"})})]})]}),(0,n.jsx)(_,{open:D,onOpenChange:A,memberName:e.senderId,channelId:e.channelId,workspaceId:t}),!k&&P&&(0,n.jsx)(v.Dialog,{open:P,onOpenChange:O,children:(0,n.jsxs)(v.DialogPortal,{children:[(0,n.jsx)(v.DialogOverlay,{}),(0,n.jsxs)(v.DialogContent,{className:"max-w-4xl max-h-[85vh] flex flex-col gap-0",children:[(0,n.jsx)(v.DialogHeader,{children:(0,n.jsx)(v.DialogTitle,{children:T})}),(0,n.jsx)("div",{className:"flex-1 overflow-y-auto px-6 pb-6",children:(0,n.jsx)(b.Markdown,{content:sb(e.content)?e.content.replace(/<[^>]*>/g,""):e.content,workspaceId:t})})]})]})})]})}function sb(e){return/<[a-z][\s\S]*>/i.test(e)}function sN({replies:e,currentUserLabel:t}){return 0===e.length?(0,n.jsx)("span",{className:"min-w-0"}):(0,n.jsxs)(k.Popover,{children:[(0,n.jsxs)(k.PopoverTrigger,{render:(0,n.jsx)("button",{type:"button",className:"min-w-0 truncate text-[11px] text-muted-foreground transition-colors hover:text-foreground cursor-pointer"}),children:["有 ",e.length," 条回复消息"]}),(0,n.jsx)(k.PopoverContent,{align:"start",sideOffset:4,className:"w-96 max-w-[calc(100vw-2rem)] p-2",children:(0,n.jsx)("div",{className:"max-h-96 space-y-2 overflow-y-auto pr-1",children:e.map(e=>(0,n.jsxs)("div",{className:"rounded-md border bg-muted/30 px-3 py-2 text-sm",children:[(0,n.jsxs)("div",{className:"mb-1 flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)("span",{children:"user"===e.senderId?t:e.senderRole||e.senderId}),(0,n.jsx)("span",{children:new Date(e.createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,n.jsx)("div",{className:"whitespace-pre-wrap break-words",children:sb(e.content)?e.content.replace(/<[^>]*>/g,""):e.content})]},e.id))})})]})}var sy=e.i(412877);let sk=(0,sy.default)("outline","chevron-up","ChevronUp",[["path",{d:"M6 15l6 -6l6 6",key:"svg-0"}]]);var sw=e.i(272736),sC=e.i(230698),sT=e.i(628453);let sI=(0,sy.default)("outline","pin","Pin",[["path",{d:"M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4",key:"svg-0"}],["path",{d:"M9 15l-4.5 4.5",key:"svg-1"}],["path",{d:"M14.5 4l5.5 5.5",key:"svg-2"}]]),sS=(0,sy.default)("filled","pin-filled","PinFilled",[["path",{d:"M15.113 3.21l.094 .083l5.5 5.5a1 1 0 0 1 -1.175 1.59l-3.172 3.171l-1.424 3.797a1 1 0 0 1 -.158 .277l-.07 .08l-1.5 1.5a1 1 0 0 1 -1.32 .082l-.095 -.083l-2.793 -2.792l-3.793 3.792a1 1 0 0 1 -1.497 -1.32l.083 -.094l3.792 -3.793l-2.792 -2.793a1 1 0 0 1 -.083 -1.32l.083 -.094l1.5 -1.5a1 1 0 0 1 .258 -.187l.098 -.042l3.796 -1.425l3.171 -3.17a1 1 0 0 1 1.497 -1.26z",key:"svg-0"}]]),sM=(0,sy.default)("outline","user-plus","UserPlus",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M16 19h6",key:"svg-1"}],["path",{d:"M19 16v6",key:"svg-2"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4",key:"svg-3"}]]),sz=(0,sy.default)("outline","bell","Bell",[["path",{d:"M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6",key:"svg-0"}],["path",{d:"M9 17v1a3 3 0 0 0 6 0v-1",key:"svg-1"}]]),sD=(0,sy.default)("outline","bell-off","BellOff",[["path",{d:"M9.346 5.353c.21 -.129 .428 -.246 .654 -.353a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3m-1 3h-13a4 4 0 0 0 2 -3v-3a6.996 6.996 0 0 1 1.273 -3.707",key:"svg-0"}],["path",{d:"M9 17v1a3 3 0 0 0 6 0v-1",key:"svg-1"}],["path",{d:"M3 3l18 18",key:"svg-2"}]]);var sA=e.i(567558),sP=e.i(965322),sO=e.i(282180);function sR({agents:e,activeAgent:t,pinnedMentionId:s,isPinned:l,channel:o,onActivateAgent:d,onTogglePin:c,onOpenAddMember:u,onToggleNotify:m}){let x,p=(0,r.useTranslations)("chat"),[h,g]=(0,a.useState)(null),f=(0,i.useAgentStore)(e=>e.agents);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 mb-1.5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 overflow-x-auto scrollbar-none flex-1 min-w-0",children:[(0,n.jsx)("button",{type:"button",onClick:u,className:"shrink-0 inline-flex items-center justify-center size-6 rounded-full text-muted-foreground border border-dashed border-muted-foreground/40 hover:bg-accent hover:text-foreground transition-all cursor-pointer",title:p("input.manageMembers"),children:(0,n.jsx)(sM,{className:"size-3.5"})}),e.map(e=>{let a=e.id===t?.id;return(0,n.jsxs)(sA.HoverCard,{children:[(0,n.jsx)(sA.HoverCardTrigger,{children:(0,n.jsxs)("button",{type:"button",onClick:()=>d(e),className:(0,F.cn)("shrink-0 inline-flex items-center gap-1 h-6 pl-0.5 pr-1 rounded-full text-xs transition-all",a?"bg-primary/10 text-primary border border-primary/30":"text-muted-foreground border border-transparent hover:bg-accent"),children:[(0,n.jsx)(N.AgentIcon,{agentId:e.id,name:e.name||e.role,avatarUrl:e.avatarUrl,className:"size-5 rounded-full text-[9px]"}),(0,n.jsx)("span",{className:"max-w-[80px] truncate",children:e.name||e.role}),a?(0,n.jsx)("span",{role:"button",tabIndex:0,onClick:e=>{e.stopPropagation(),c()},onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.stopPropagation(),c())},className:(0,F.cn)("inline-flex items-center justify-center size-4 rounded-full hover:bg-primary/20 transition-colors",l?"text-primary":"text-primary/50"),title:l?p("input.unpinAgent"):p("input.pinAgent"),children:l?(0,n.jsx)(sS,{className:"size-2.5"}):(0,n.jsx)(sI,{className:"size-2.5"})}):s===e.id?(0,n.jsx)(sS,{className:"size-2.5 text-muted-foreground/50"}):null]})}),(0,n.jsx)(sA.HoverCardContent,{side:"top",align:"start",className:"w-72",children:(0,n.jsx)(E,{agentId:e.id,compact:!0,onConfigure:()=>g(e.id)})})]},e.id)})]}),(0,n.jsx)("button",{type:"button",onClick:m,className:(0,F.cn)("shrink-0 inline-flex items-center gap-1 h-6 px-1.5 rounded-full text-xs transition-all",o.notifyOnComplete?"bg-primary/10 text-primary border border-primary/30":"text-muted-foreground border border-transparent hover:bg-accent"),title:p("input.notifyOnComplete"),children:o.notifyOnComplete?(0,n.jsx)(sz,{className:"size-3"}):(0,n.jsx)(sD,{className:"size-3"})})]}),h&&((x=f.find(e=>e.id===h))?(0,n.jsx)(v.Dialog,{open:!!h,onOpenChange:e=>{e||g(null)},children:(0,n.jsxs)(v.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col gap-0 p-0 overflow-hidden",children:[(0,n.jsxs)(v.DialogHeader,{className:"border-b px-5 py-3",children:[(0,n.jsx)(v.DialogTitle,{children:"配置 Agent"}),(0,n.jsx)(v.DialogDescription,{})]}),(0,n.jsx)(sP.AgentEditor,{agent:(0,sO.normalizeAgent)(x),onSaved:()=>g(null),onBack:()=>g(null),showFooter:!0})]})}):null)]})}var s$=e.i(917955);let sB=(0,sy.default)("outline","chevron-down","ChevronDown",[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]]),sE=(0,sy.default)("outline","circle-check","CircleCheck",[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M9 12l2 2l4 -4",key:"svg-1"}]]),s_=(0,sy.default)("outline","circle-dashed","CircleDashed",[["path",{d:"M8.56 3.69a9 9 0 0 0 -2.92 1.95",key:"svg-0"}],["path",{d:"M3.69 8.56a9 9 0 0 0 -.69 3.44",key:"svg-1"}],["path",{d:"M3.69 15.44a9 9 0 0 0 1.95 2.92",key:"svg-2"}],["path",{d:"M8.56 20.31a9 9 0 0 0 3.44 .69",key:"svg-3"}],["path",{d:"M15.44 20.31a9 9 0 0 0 2.92 -1.95",key:"svg-4"}],["path",{d:"M20.31 15.44a9 9 0 0 0 .69 -3.44",key:"svg-5"}],["path",{d:"M20.31 8.56a9 9 0 0 0 -1.95 -2.92",key:"svg-6"}],["path",{d:"M15.44 3.69a9 9 0 0 0 -3.44 -.69",key:"svg-7"}]]),sF=(0,sy.default)("outline","loader-2","Loader2",[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]]),sL=(0,sy.default)("outline","plug","Plug",[["path",{d:"M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054",key:"svg-0"}],["path",{d:"M4 20l3.5 -3.5",key:"svg-1"}],["path",{d:"M15 4l-3.5 3.5",key:"svg-2"}],["path",{d:"M20 9l-3.5 3.5",key:"svg-3"}]]),sU=(0,sy.default)("outline","puzzle","Puzzle",[["path",{d:"M4 7h3a1 1 0 0 0 1 -1v-1a2 2 0 0 1 4 0v1a1 1 0 0 0 1 1h3a1 1 0 0 1 1 1v3a1 1 0 0 0 1 1h1a2 2 0 0 1 0 4h-1a1 1 0 0 0 -1 1v3a1 1 0 0 1 -1 1h-3a1 1 0 0 1 -1 -1v-1a2 2 0 0 0 -4 0v1a1 1 0 0 1 -1 1h-3a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1h1a2 2 0 0 0 0 -4h-1a1 1 0 0 1 -1 -1v-3a1 1 0 0 1 1 -1",key:"svg-0"}]]);var sH=e.i(964095);let sW=(0,sy.default)("outline","trash","Trash",[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]]);function sq(e,t){return e.subject||e.title||e.activeForm||e.content||t}function sG({mcps:e,skills:t,tools:s,todos:a,onClearTodos:l}){let i=(0,r.useTranslations)("chat");return(0,n.jsxs)("div",{className:"flex items-center gap-0 pt-2",children:[(0,n.jsxs)(s$.DropdownMenu,{children:[(0,n.jsxs)(s$.DropdownMenuTrigger,{render:(0,n.jsx)(eW.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 rounded-full border border-transparent hover:bg-accent text-muted-foreground text-xs"}),children:[(0,n.jsx)(sL,{className:"size-3"}),(0,n.jsxs)("span",{children:[i("input.mcp"),e.length?` ${e.length}`:""]}),(0,n.jsx)(sB,{className:"size-3"})]}),(0,n.jsx)(s$.DropdownMenuContent,{align:"start",className:"min-w-[200px] max-w-xs rounded-2xl p-1.5 bg-popover border-border",children:(0,n.jsx)(s$.DropdownMenuGroup,{className:"space-y-1",children:e.length?e.map(e=>(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs truncate",children:[(0,n.jsx)(sL,{size:16,className:"opacity-60 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e})]},e)):(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs text-muted-foreground",children:[(0,n.jsx)(sL,{size:16,className:"opacity-60"}),i("input.noMcp")]})})})]}),(0,n.jsxs)(s$.DropdownMenu,{children:[(0,n.jsxs)(s$.DropdownMenuTrigger,{render:(0,n.jsx)(eW.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 rounded-full border border-transparent hover:bg-accent text-muted-foreground text-xs"}),children:[(0,n.jsx)(sU,{className:"size-3"}),(0,n.jsxs)("span",{children:[i("input.skill"),t.length?` ${t.length}`:""]}),(0,n.jsx)(sB,{className:"size-3"})]}),(0,n.jsx)(s$.DropdownMenuContent,{align:"start",className:"min-w-[200px] max-w-xs rounded-2xl p-1.5 bg-popover border-border",children:(0,n.jsx)(s$.DropdownMenuGroup,{className:"space-y-1",children:t.length?t.map(e=>(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs truncate",children:[(0,n.jsx)(sU,{size:16,className:"opacity-60 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:e})]},e)):(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs text-muted-foreground",children:[(0,n.jsx)(sU,{size:16,className:"opacity-60"}),i("input.noSkills")]})})})]}),(0,n.jsxs)(s$.DropdownMenu,{children:[(0,n.jsxs)(s$.DropdownMenuTrigger,{render:(0,n.jsx)(eW.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 rounded-full border border-transparent hover:bg-accent text-muted-foreground text-xs"}),children:[(0,n.jsx)(sH.IconTools,{className:"size-3"}),(0,n.jsxs)("span",{children:[i("input.tools"),s.length?` ${s.length}`:""]}),(0,n.jsx)(sB,{className:"size-3"})]}),(0,n.jsx)(s$.DropdownMenuContent,{align:"start",className:"min-w-[200px] max-w-xs rounded-2xl p-1.5 bg-popover border-border",children:(0,n.jsx)(s$.DropdownMenuGroup,{className:"space-y-1",children:s.length?s.map(({name:e,label:t,icon:s})=>(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs truncate",children:[(0,n.jsx)(s,{size:16,className:"opacity-60 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:t})]},e)):(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs text-muted-foreground",children:[(0,n.jsx)(sH.IconTools,{size:16,className:"opacity-60"}),i("input.noTools")]})})})]}),a&&a.length>0&&(0,n.jsxs)(s$.DropdownMenu,{children:[(0,n.jsxs)(s$.DropdownMenuTrigger,{render:(0,n.jsx)(eW.Button,{variant:"ghost",size:"sm",className:"h-6 px-2 rounded-full border border-transparent hover:bg-accent text-muted-foreground text-xs"}),children:[(0,n.jsx)(sE,{className:"size-3"}),(0,n.jsxs)("span",{children:[i("input.todos")," ",a.length]}),(0,n.jsx)(sB,{className:"size-3"})]}),(0,n.jsxs)(s$.DropdownMenuContent,{align:"start",className:"w-80 rounded-2xl p-1.5 bg-popover border-border",children:[(0,n.jsx)(s$.DropdownMenuGroup,{className:"space-y-0.5",children:a.map((e,t)=>(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs gap-2",onSelect:e=>e.preventDefault(),children:["completed"===e.status?(0,n.jsx)(sE,{size:14,className:"text-green-500 shrink-0"}):"in_progress"===e.status?(0,n.jsx)(sF,{size:14,className:"text-blue-500 shrink-0 animate-spin",style:{animationDuration:"3s"}}):(0,n.jsx)(s_,{size:14,className:"text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:(0,F.cn)("todo-text-scroll","completed"===e.status&&"line-through text-muted-foreground"),children:sq(e,i("untitledTodo"))})]},e.id||`${sq(e,i("untitledTodo"))}-${t}`))}),l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s$.DropdownMenuSeparator,{}),(0,n.jsxs)(s$.DropdownMenuItem,{className:"rounded-[calc(1rem-6px)] text-xs text-destructive focus:text-destructive gap-2 justify-center cursor-pointer",onClick:e=>{e.stopPropagation(),l()},children:[(0,n.jsx)(sW,{size:14}),i("input.clearTodos")]})]})]})]}),(0,n.jsx)("div",{className:"flex-1"})]})}let sV={mentionedAgentIds:[],activeMcps:[],activeSkills:[],activeTools:[]},sK=(0,a.forwardRef)(function({channelName:e,channelId:t,workspaceId:s,channel:o,agents:d,messages:c=[],onSend:u,isProcessing:m=!1,onStop:x,replyTo:p,onCancelReply:h},g){let f=(0,r.useTranslations)("chat"),[j,v]=(0,a.useState)(!1),[b,N]=(0,a.useState)(!1),[y,k]=(0,a.useState)(sV),w=(0,a.useRef)(null),{saveDraft:C,clearDraft:T,updateChannel:I}=(0,l.useChannelStore)(),S=(0,i.useAgentStore)(e=>e.agents),M=y.activeAgent,z=o.pinnedMentionId,D=z===y.mentionedAgentIds[0]&&!!z,A=(0,a.useMemo)(()=>{let e=new Map;for(let t of c)t.senderId&&"user"!==t.senderId&&e.set(t.senderId,t.createdAt);return e},[c]),P=(0,a.useMemo)(()=>{let e=M?.id;return[...d].sort((t,s)=>{if(t.id===e)return -1;if(s.id===e)return 1;let n=A.get(t.id)??"";return(A.get(s.id)??"").localeCompare(n)})},[d,M?.id,A]);(0,a.useImperativeHandle)(g,()=>({setContent:(e,t)=>{w.current?.setContent(e,t)},focus:()=>{w.current?.focus()}}),[]);let O=(0,a.useCallback)(e=>{w.current?.setMentionAgent(e)},[]),R=(0,a.useCallback)(()=>{let e=y.mentionedAgentIds[0];e&&I(s,t,{pinnedMentionId:D?void 0:e})},[y.mentionedAgentIds,D,s,t,I]),$=(0,a.useCallback)((e,t,s)=>{u(e,t,s,p?.id)},[u,p?.id]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"flex justify-center -mt-0.5",children:(0,n.jsx)("button",{type:"button",onClick:()=>v(e=>!e),className:"p-0.5 text-muted-foreground/60 hover:text-foreground transition-colors cursor-pointer",children:(0,n.jsx)(sk,{className:(0,F.cn)("size-3.5 transition-transform",j&&"rotate-180")})})}),!j&&(0,n.jsxs)("div",{className:"border-t px-4 py-2",children:[!p&&(0,n.jsx)(sR,{agents:P,activeAgent:M,pinnedMentionId:z,isPinned:D,channel:o,onActivateAgent:O,onTogglePin:R,onOpenAddMember:()=>N(!0),onToggleNotify:()=>I(s,t,{notifyOnComplete:!o.notifyOnComplete})}),(0,n.jsx)(sT.ChatComposerInput,{ref:w,workspaceId:s,agents:d,placeholder:f("input.placeholder",{channel:e}),onSubmit:$,isProcessing:m,onStop:x,replyLabel:p?.label,onCancelReply:h,draftKey:t,draftContent:o.draft?.content,initialMentionAgentId:o.pinnedMentionId,onDraftSave:e=>C(s,t,e),onDraftClear:()=>T(s,t),disableMentionSuggestions:!!p,onStateChange:k}),(0,n.jsx)(sG,{mcps:y.activeMcps,skills:y.activeSkills,tools:y.activeTools,todos:o.todos,onClearTodos:()=>I(s,t,{todos:[]})})]}),(0,n.jsx)(sC.AddMemberDialog,{open:b,onOpenChange:N,candidates:S.filter(e=>!1!==e.enabled).map(e=>({id:e.id,label:(0,sw.getAgentDisplayName)(e),description:e.role})),defaultSelected:o.members,onAdd:e=>{let n=S.filter(e=>!1!==e.enabled);I(s,t,{members:(0,sw.normalizeChannelMembersToAgentIds)(n,e)})}})]})});var sJ=e.i(681622),sQ=e.i(613087);let sY=({className:e,status:t,...s})=>(0,n.jsx)(eP.Badge,{className:(0,F.cn)("flex items-center gap-2","group",t,e),variant:"secondary",...s}),sZ=({className:e,...t})=>(0,n.jsxs)("span",{className:(0,F.cn)("relative flex h-2 w-2",e),...t,children:[(0,n.jsx)("span",{className:(0,F.cn)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75","group-[.online]:bg-emerald-500","group-[.offline]:bg-red-500","group-[.maintenance]:bg-blue-500","group-[.degraded]:bg-amber-500")}),(0,n.jsx)("span",{className:(0,F.cn)("relative inline-flex h-2 w-2 rounded-full","group-[.online]:bg-emerald-500","group-[.offline]:bg-red-500","group-[.maintenance]:bg-blue-500","group-[.degraded]:bg-amber-500")})]}),sX=({className:e,children:t,...s})=>(0,n.jsx)("span",{className:(0,F.cn)("text-muted-foreground",e),...s,children:t??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"hidden group-[.online]:block",children:"Online"}),(0,n.jsx)("span",{className:"hidden group-[.offline]:block",children:"Offline"}),(0,n.jsx)("span",{className:"hidden group-[.maintenance]:block",children:"Maintenance"}),(0,n.jsx)("span",{className:"hidden group-[.degraded]:block",children:"Degraded"})]})});var s0=e.i(767467),s1=e.i(583705),s2=e.i(759309),s2=s2,s5=e.i(307858),s3=e.i(14452),s4=e.i(227634),s6=e.i(511800),s9=e.i(529658),s8=e.i(929709),s7=e.i(79882),ne=e.i(478117);function nt({name:e,agentId:t,description:s,onClick:a}){return(0,n.jsxs)("button",{type:"button",onClick:a,className:"flex items-center gap-2 w-full px-2 py-1.5 rounded-md hover:bg-muted text-left transition-colors cursor-pointer",children:[(0,n.jsx)(N.AgentIcon,{agentId:t,name:e,className:"size-7 rounded-full"}),(0,n.jsxs)("span",{className:"min-w-0",children:[(0,n.jsx)("span",{className:"block text-sm truncate",children:e}),s&&(0,n.jsx)("span",{className:"block text-xs text-muted-foreground truncate",children:s})]})]})}var ns=e.i(250226);function nn({workspaceId:e,channel:t,agents:s,allChannels:i,onDeleted:o}){let d=(0,r.useTranslations)("chat"),m=(0,r.useTranslations)("common"),{updateChannel:x,deleteChannel:p}=(0,l.useChannelStore)(),[h,g]=(0,a.useState)(!1),[f,j]=(0,a.useState)(!1),[b,N]=(0,a.useState)(""),[y,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(!1),I=s.filter(e=>!1!==e.enabled),S=I.map(e=>({id:e.id,label:(0,sw.getAgentDisplayName)(e),description:e.role})),M=async()=>{await p(e,t.id),C(!1),ns.useMobilePanelStore.getState().setActivePanel("channel-list"),o?.()};return(0,n.jsxs)("div",{className:"flex flex-col h-full",children:[(0,n.jsx)("div",{className:"flex items-center justify-between px-4 h-12 border-b shrink-0",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:["agent"===t.type?(0,n.jsx)(T.Bot,{className:"size-4 text-muted-foreground shrink-0"}):"issue"===t.type?(0,n.jsx)(s6.AlertCircle,{className:"size-4 text-muted-foreground shrink-0"}):(0,n.jsx)(s4.Hash,{className:"size-4 text-muted-foreground shrink-0"}),(0,n.jsxs)("span",{className:"text-sm font-medium truncate",children:["#",t.name]})]})}),(0,n.jsxs)(tY.Tabs,{defaultValue:"info",className:"flex flex-col flex-1 min-h-0",children:[(0,n.jsxs)(tY.TabsList,{className:"w-full rounded-none border-b bg-transparent h-9 p-0 shrink-0",children:[(0,n.jsxs)(tY.TabsTrigger,{value:"info",className:"flex-1 gap-1.5 data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary rounded-none",children:[(0,n.jsx)(s1.Info,{className:"size-3.5"}),d("channel.info")]}),(0,n.jsxs)(tY.TabsTrigger,{value:"members",className:"flex-1 gap-1.5 data-[state=active]:shadow-none data-[state=active]:border-b-2 data-[state=active]:border-primary rounded-none",children:[(0,n.jsx)(s9.Users,{className:"size-3.5"}),d("channel.members")]})]}),(0,n.jsxs)(tQ.ScrollArea,{className:"flex-1 min-h-0",children:[(0,n.jsxs)(tY.TabsContent,{value:"info",className:"p-4 mt-0 space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"flex items-center justify-center size-10 rounded-lg bg-muted",children:"agent"===t.type?(0,n.jsx)(T.Bot,{className:"size-5 text-muted-foreground"}):"issue"===t.type?(0,n.jsx)(s6.AlertCircle,{className:"size-5 text-muted-foreground"}):(0,n.jsx)(s4.Hash,{className:"size-5 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("p",{className:"text-sm font-medium",children:["#",t.name]}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:[d("channel.type")," ",d(`channel.${t.type}`)]})]}),(0,n.jsx)(eW.Button,{variant:"ghost",size:"icon-sm",onClick:()=>g(!0),children:(0,n.jsx)(c.Pencil,{className:"size-3.5"})})]}),(0,n.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,n.jsxs)("div",{className:"flex justify-between py-1 border-b",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:d("channel.channelId")}),(0,n.jsxs)("span",{className:"font-mono text-xs",children:[t.id.slice(0,8),"..."]})]}),(0,n.jsxs)("div",{className:"flex justify-between py-1 border-b",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:d("channel.memberCount")}),(0,n.jsx)("span",{children:t.members.length})]}),(0,n.jsxs)("div",{className:"flex justify-between py-1 border-b",children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:d("channel.createdAt")}),(0,n.jsx)("span",{children:new Date(t.createdAt).toLocaleDateString()})]})]})]}),(0,n.jsxs)(tY.TabsContent,{value:"members",className:"p-4 mt-0 space-y-1",children:[0===t.members.length&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:d("channel.noMembers")}),t.members.map(e=>(0,n.jsx)(nt,{name:(0,sw.getMemberDisplayName)(I,e),agentId:"user"!==e?e:void 0,description:"user"!==e?e:void 0,onClick:()=>{N(e),j(!0)}},e)),(0,n.jsxs)(eW.Button,{variant:"ghost",size:"sm",className:"w-full mt-2 text-xs text-muted-foreground",onClick:()=>k(!0),children:[(0,n.jsx)(s8.UserPlus,{className:"size-3.5 mr-1"}),d("channel.addMember")]})]})]})]}),(0,n.jsxs)("div",{className:"shrink-0 p-3 border-t space-y-1",children:[(0,n.jsxs)(eW.Button,{variant:"ghost",size:"sm",className:"w-full text-xs",onClick:()=>x(e,t.id,{archived:!t.archived}),children:[(0,n.jsx)(s7.Archive,{className:"size-3.5 mr-1"}),d(t.archived?"channel.unarchive":"channel.archive")]}),(0,n.jsxs)(eW.Button,{variant:"ghost",size:"sm",className:"w-full text-xs text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>C(!0),children:[(0,n.jsx)(u.Trash2,{className:"size-3.5 mr-1"}),d("channel.delete")]})]}),(0,n.jsx)(ne.ChannelDialog,{open:h,onOpenChange:g,workspaceId:e,channel:t,agents:s,onSubmit:s=>x(e,t.id,{...s,members:(0,sw.normalizeChannelMembersToAgentIds)(I,s.members)})}),(0,n.jsx)(_,{open:f,onOpenChange:j,memberName:b,displayName:(0,sw.getMemberDisplayName)(I,b),channelId:t.id,workspaceId:e,channels:i.filter(e=>e.members.includes(b)).map(e=>e.name)}),(0,n.jsx)(sC.AddMemberDialog,{open:y,onOpenChange:k,candidates:S,defaultSelected:t.members,onAdd:s=>{x(e,t.id,{members:(0,sw.normalizeChannelMembersToAgentIds)(I,s)})}}),(0,n.jsx)(v.Dialog,{open:w,onOpenChange:C,children:(0,n.jsxs)(v.DialogContent,{children:[(0,n.jsxs)(v.DialogHeader,{children:[(0,n.jsx)(v.DialogTitle,{children:d("channel.delete")}),(0,n.jsx)(v.DialogDescription,{children:d("channel.deleteConfirm",{name:t.name})})]}),(0,n.jsxs)(v.DialogFooter,{children:[(0,n.jsx)(v.DialogClose,{render:(0,n.jsx)(eW.Button,{variant:"outline"}),children:m("cancel")}),(0,n.jsxs)(eW.Button,{variant:"destructive",onClick:M,children:[(0,n.jsx)(u.Trash2,{className:"size-3.5"}),m("delete")]})]})]})})]})}var na=e.i(249673);function nr({messages:e,reverse:t}){var s;let r,l,o,[d,c]=(0,a.useState)(null),[u,m]=(0,a.useState)(!1),[x,p]=(0,a.useState)(0),h=(0,a.useRef)(null),g=t?[...e].reverse():e,f=(0,a.useCallback)(e=>{c(e);let t=document.getElementById(`msg-${g[e].id}`);t?.scrollIntoView({behavior:"smooth",block:"center"})},[g]),j=(0,a.useCallback)((e,t)=>{if(!t||!h.current)return;c(e);let s=h.current.getBoundingClientRect(),n=t.getBoundingClientRect();p(n.top-s.top+n.height/2)},[]);return 0===g.length?null:(0,n.jsxs)("div",{ref:h,className:"absolute right-2 top-1/2 -translate-y-1/2 z-10 flex flex-col items-center",onMouseEnter:()=>m(!0),onMouseLeave:()=>{m(!1),c(null)},children:[(0,n.jsx)("button",{className:`flex-shrink-0 mb-0.5 flex items-center justify-center size-5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-all ${u?"opacity-100":"opacity-0 pointer-events-none"} ${null===d||d<=0?"invisible":""}`,onClick:()=>{null!==d&&d>0&&f(d-1)},children:(0,n.jsx)(na.ChevronUp,{className:"size-3.5"})}),(0,n.jsx)("div",{className:"flex-1 w-full max-h-[70vh] overflow-y-auto scrollbar-none",children:(0,n.jsx)("div",{className:"flex flex-col gap-[3px] px-1 py-0.5",children:g.map((e,t)=>(0,n.jsx)("div",{className:"flex justify-center",children:(0,n.jsx)("button",{className:`h-[4px] rounded-full transition-all duration-150 ${d===t?"bg-primary w-6":"user"===e.senderId?"bg-primary/30 hover:bg-primary/50 w-5":"bg-muted-foreground/25 hover:bg-muted-foreground/40 w-5"}`,onClick:()=>f(t),onMouseEnter:e=>j(t,e.currentTarget)})},e.id))})}),(0,n.jsx)("button",{className:`flex-shrink-0 mt-0.5 flex items-center justify-center size-5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-all ${u?"opacity-100":"opacity-0 pointer-events-none"} ${null===d||d>=g.length-1?"invisible":""}`,onClick:()=>{null!==d&&d<g.length-1&&f(d+1)},children:(0,n.jsx)(D.ChevronDown,{className:"size-3.5"})}),u&&null!==d&&(0,n.jsxs)("div",{className:"absolute right-full mr-3 w-56 rounded-lg border bg-popover p-2.5 shadow-lg z-50 animate-in fade-in-0 zoom-in-95 duration-75",style:{top:x,transform:"translateY(-50%)"},children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,n.jsx)("span",{className:"font-medium text-xs",children:"user"===g[d].senderId?"You":(0,i.findAgentById)(g[d].senderId)?.name??g[d].senderId}),(0,n.jsx)("span",{className:"text-[10px] text-muted-foreground",children:new Date(g[d].createdAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-3 leading-relaxed",children:(s=g[d],l=(r=s.parts?.find(e=>"text"===e.type))?r.text:s.content,(o=/<[a-z][\s\S]*>/i.test(l)?l.replace(/<[^>]*>/g,""):l).length>150?o.slice(0,150)+"...":o)})]})]})}var nl=e.i(636288),ni=e.i(327964);let no={general:{status:"online"},issue:{status:"degraded"},agent:{status:"maintenance"}};function nd({members:e}){let t,s=e.filter(e=>"user"!==e).slice(0,4),r=e.length-s.length-!!e.includes("user"),[l,o]=(0,a.useState)(null),d=(0,i.useAgentStore)(e=>e.agents);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(nl.AvatarGroup,{className:"ml-1 [&>[data-slot=avatar]]:size-5",children:[s.map(e=>(0,n.jsxs)(sA.HoverCard,{children:[(0,n.jsx)(sA.HoverCardTrigger,{children:(0,n.jsx)(N.AgentIcon,{agentId:e,className:"size-5 rounded-full cursor-default"})}),(0,n.jsx)(sA.HoverCardContent,{side:"bottom",align:"start",className:"w-72",children:(0,n.jsx)(E,{agentId:e,compact:!0,onConfigure:()=>o(e)})})]},e)),r>0&&(0,n.jsxs)(nl.AvatarGroupCount,{className:"!size-5 text-[10px]",children:["+",r]})]}),l&&((t=d.find(e=>e.id===l))?(0,n.jsx)(v.Dialog,{open:!!l,onOpenChange:e=>{e||o(null)},children:(0,n.jsxs)(v.DialogContent,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col gap-0 p-0 overflow-hidden",children:[(0,n.jsxs)(v.DialogHeader,{className:"border-b px-5 py-3",children:[(0,n.jsx)(v.DialogTitle,{children:"配置 Agent"}),(0,n.jsx)(v.DialogDescription,{})]}),(0,n.jsx)(sP.AgentEditor,{agent:(0,sO.normalizeAgent)(t),onSaved:()=>o(null),onBack:()=>o(null),showFooter:!0})]})}):null)]})}function nc({question:e,onAnswer:t}){let s=(0,r.useTranslations)("chat"),[l,i]=(0,a.useState)(""),[o,d]=(0,a.useState)(!1),c=e=>{let s=e.trim();s&&!o&&(d(!0),t(s),i(""))};return(0,n.jsx)("div",{className:"border-t bg-background px-4 py-3",children:(0,n.jsx)("div",{className:"rounded-md border bg-muted/30 p-3",children:(0,n.jsxs)("div",{className:"flex items-start gap-2",children:[(0,n.jsx)(tT,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,n.jsxs)("div",{className:"min-w-0 flex-1 space-y-3",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:e.question}),e.choices.length>0?(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:e.choices.map(e=>(0,n.jsx)(eW.Button,{type:"button",size:"sm",variant:"outline",disabled:o,onClick:()=>c(e),className:"h-8",children:e},e))}):null,(0,n.jsxs)("form",{className:"flex gap-2",onSubmit:e=>{e.preventDefault(),c(l)},children:[(0,n.jsx)(sJ.Input,{value:l,onChange:e=>i(e.target.value),disabled:o,className:"h-8 text-sm",placeholder:s("pendingQuestion.placeholder")}),(0,n.jsx)(eW.Button,{type:"submit",size:"icon-sm",disabled:!l.trim()||o,children:(0,n.jsx)(s2.default,{className:"size-3.5"})})]})]})]})})})}e.s(["ChatPanel",0,function({workspaceId:e}){let t=(0,r.useTranslations)("chat"),s=(0,r.useTranslations)("common"),{activeChannelId:d,channels:c,messages:m,loadMessages:x,loadChannelState:p,sendMessage:h,addMessage:g,updateMessage:f,stopProcessingMessages:j,deleteMessage:b,clearMessages:N,upsertChannel:y}=(0,l.useChannelStore)(),k=(0,a.useRef)(null),[w,C]=(0,a.useState)(!1),[T,I]=(0,a.useState)(null),[S,M]=(0,a.useState)(!1),[z,D]=(0,a.useState)(null),[A,P]=(0,a.useState)(!1),[O,R]=(0,a.useState)(!1),$=(0,a.useRef)(null),B=(0,i.useAgentStore)(e=>e.agents),E=(0,i.useAgentStore)(e=>e.ensure),_=c.find(e=>e.id===d),F=(0,a.useMemo)(()=>d&&m[d]||[],[d,m]),L=F[F.length-1]?.status,U=(0,a.useMemo)(()=>(function(e){for(let t=e.length-1;t>=0;t-=1){let s=e[t];if("waiting_for_user"!==s.status)continue;let n=s.parts?.find(e=>"ask_user_question"===e.type&&"answered"!==e.status);if(n&&"ask_user_question"===n.type)return{messageId:s.id,questionId:n.id,question:n.question,choices:n.choices??[]}}return null})(F),[F]),H=(0,a.useMemo)(()=>{if(!_)return[];let e=new Map(B.filter(e=>!1!==e.enabled).map(e=>[e.id,e]));return _.members.map(t=>e.get(t)).filter(e=>!!e)},[B,_]);(0,a.useEffect)(()=>{d&&(R(!1),P(!0),x(e,d).finally(()=>P(!1))),E()},[d,e,x,E]),(0,a.useEffect)(()=>{let t=(0,o.getWS)(e),s=t.on("channel.message",e=>{e.channelId===d&&g(e.channelId,e)}),n=t.on("channel.message.updated",e=>{e.channelId===d&&f(e.channelId,e)}),a=t.on("channel.message.deleted",e=>{e.channelId===d&&b(e.channelId,e.messageId)}),r=t.on("channel.messages.cleared",e=>{e.channelId===d&&l.useChannelStore.setState(e=>({messages:{...e.messages,[d]:[]}}))}),i=t.on("channel.updated",e=>{e.id===d&&y(e)});return()=>{s(),n(),a(),r(),i()}},[e,d,g,f,b,y]),(0,a.useEffect)(()=>{let e=k.current?.parentElement;e&&(e.scrollTop=0)},[F.length]),(0,a.useEffect)(()=>{if(!d||!e||!(L&&["pending","streaming","waiting_for_user"].includes(L)||O))return;let t=!1,s=async()=>{let s=await p(e,d);!t&&s&&(R(s.active),await x(e,d))},n=setInterval(s,3e3);return s(),()=>{t=!0,clearInterval(n)}},[d,e,O,L,x,p]);let W=(0,a.useCallback)((t,s,n,a)=>{d&&h(e,d,t,s,n,a)},[e,d,h]),q=O||F.length>0&&["pending","streaming","waiting_for_user"].includes(F[F.length-1].status??""),G=(0,a.useCallback)(()=>{d&&(j(d),(0,o.getWS)(e).send("channel.stop",{channelId:d}))},[e,d,j]),V=(0,a.useCallback)(e=>{$.current?.setContent(e.content,H)},[H]),K=(0,a.useCallback)(e=>{I(e)},[]),J=(0,a.useCallback)(e=>{let t="user"===e.senderId?void 0:B.find(t=>t.id===e.senderId);D({id:e.id,label:"user"===e.senderId?s("you"):t?.name||e.senderId}),$.current?.focus?.()},[B,s]),Q=(0,a.useCallback)(async()=>{T&&(await fetch(`/api/workspaces/${e}/channels/${T.channelId}/messages/${T.id}`,{method:"DELETE"}),I(null))},[e,T]);if(!_)return(0,n.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:t("emptyState")});let Y=(()=>{let e=no[_.type];if(0===F.length)return{label:t("status.idle"),status:"degraded"};let s=F[F.length-1].status;if("waiting_for_user"===s)return{label:t("status.waitingForUser"),status:"degraded"};if("streaming"===s||"pending"===s)return{label:t("status.running"),status:"maintenance"};if("completed"===s)return{label:t("status.success"),status:"online"};if("error"===s){let e=F.slice(-3);return e.length>=3&&e.every(e=>"error"===e.status)?{label:t("status.error"),status:"offline"}:{label:t("status.running"),status:"degraded"}}return{label:t(`channelType.${_.type}`),status:e.status}})();return(0,n.jsxs)("div",{className:"flex h-full",children:[(0,n.jsxs)("div",{className:"flex flex-col flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b",children:[(0,n.jsx)(eW.Button,{variant:"ghost",size:"icon-sm",className:"md:hidden shrink-0",onClick:()=>ns.useMobilePanelStore.getState().setActivePanel("channel-list"),children:(0,n.jsx)(s0.ArrowLeft,{className:"size-4"})}),(0,n.jsxs)("span",{className:"text-sm font-semibold truncate shrink min-w-0",children:["# ",_.name]}),(0,n.jsxs)(sY,{status:Y.status,children:[(0,n.jsx)(sZ,{}),(0,n.jsx)(sX,{children:Y.label})]}),(0,n.jsx)(nd,{members:_.members}),(0,n.jsx)("div",{className:"flex-1"}),_.issueId&&(0,n.jsx)(eW.Button,{variant:"ghost",size:"icon-sm",onClick:()=>ni.useIssueStore.getState().setActiveIssue(_.issueId),title:t("viewRelatedIssue"),children:(0,n.jsx)(s5.ExternalLink,{className:"size-4"})}),F.length>0&&(0,n.jsx)(eW.Button,{variant:"ghost",size:"icon-sm",onClick:()=>M(!0),children:(0,n.jsx)(u.Trash2,{className:"size-4"})}),(0,n.jsx)(eW.Button,{variant:"ghost",size:"icon-sm",onClick:()=>C(!0),children:(0,n.jsx)(s1.Info,{className:"size-4"})})]}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 relative",children:[(0,n.jsxs)("div",{className:"h-full overflow-y-auto overflow-x-hidden py-2",children:[A&&0===F.length?(0,n.jsx)("div",{className:"space-y-4 px-4",children:Array.from({length:4},(e,t)=>(0,n.jsxs)("div",{className:"flex gap-3",children:[(0,n.jsx)(sQ.Skeleton,{className:"size-6 rounded-full shrink-0 mt-0.5"}),(0,n.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(sQ.Skeleton,{className:"h-4 w-20"}),(0,n.jsx)(sQ.Skeleton,{className:"h-3 w-12"})]}),(0,n.jsx)(sQ.Skeleton,{className:"h-4 w-full"}),(0,n.jsx)(sQ.Skeleton,{className:"h-4 w-3/4"})]})]},t))}):null,!A&&[...F].reverse().map(t=>(0,n.jsx)("div",{id:`msg-${t.id}`,children:(0,n.jsx)(sv,{message:t,workspaceId:e,onEdit:V,onDelete:K,onReply:J})},t.id)),(0,n.jsx)("div",{ref:k})]}),(0,n.jsx)(nr,{messages:F,reverse:!0})]}),U?(0,n.jsx)(nc,{question:U,onAnswer:t=>{(0,o.getWS)(e).send("channel.answer_question",{channelId:_.id,messageId:U.messageId,questionId:U.questionId,answer:t})}}):null,(0,n.jsx)(sK,{ref:$,channelName:_.name,channelId:_.id,workspaceId:e,channel:_,agents:H,messages:F,onSend:W,isProcessing:q,onStop:G,replyTo:z,onCancelReply:()=>D(null)})]}),(0,n.jsx)(s3.Sheet,{open:w,onOpenChange:C,children:(0,n.jsxs)(s3.SheetContent,{side:"right",className:"w-80 p-0 gap-0",children:[(0,n.jsxs)(s3.SheetHeader,{className:"sr-only",children:[(0,n.jsx)(s3.SheetTitle,{children:_.name}),(0,n.jsx)(s3.SheetDescription,{children:"Channel info panel"})]}),(0,n.jsx)(nn,{workspaceId:e,channel:_,agents:B,allChannels:c,onDeleted:()=>C(!1)})]})}),(0,n.jsx)(v.Dialog,{open:!!T,onOpenChange:e=>{e||I(null)},children:(0,n.jsxs)(v.DialogContent,{children:[(0,n.jsxs)(v.DialogHeader,{children:[(0,n.jsx)(v.DialogTitle,{children:t("deleteMessage.title")}),(0,n.jsx)(v.DialogDescription,{children:t("deleteMessage.description")})]}),(0,n.jsxs)(v.DialogFooter,{children:[(0,n.jsx)(v.DialogClose,{render:(0,n.jsx)(eW.Button,{variant:"outline"}),children:s("cancel")}),(0,n.jsxs)(eW.Button,{variant:"destructive",onClick:Q,children:[(0,n.jsx)(u.Trash2,{className:"size-3.5"}),s("delete")]})]})]})}),(0,n.jsx)(v.Dialog,{open:S,onOpenChange:M,children:(0,n.jsxs)(v.DialogContent,{children:[(0,n.jsxs)(v.DialogHeader,{children:[(0,n.jsx)(v.DialogTitle,{children:t("clearMessages.title")}),(0,n.jsx)(v.DialogDescription,{children:t("clearMessages.description",{channel:_?.name})})]}),(0,n.jsxs)(v.DialogFooter,{children:[(0,n.jsx)(v.DialogClose,{render:(0,n.jsx)(eW.Button,{variant:"outline"}),children:s("cancel")}),(0,n.jsxs)(eW.Button,{variant:"destructive",onClick:async()=>{_&&await N(e,_.id),M(!1)},children:[(0,n.jsx)(u.Trash2,{className:"size-3.5"}),t("clearMessages.confirm")]})]})]})})]})}],885761)},773354,e=>{e.n(e.i(885761))}]);
|