@mndrk/agx 2.0.20 → 2.0.21
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/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +3 -3
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/agents.segments/agents.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/automations.segments/automations.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{5dfb507599f1eb0d.js → 4823cc26faf177cc.js} +1 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +5 -1
- package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +22 -4
- package/package.json +1 -1
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{1BddWcg-Th0zy444Y9ayI → mki871J_uv4-_79qiPJ1I}/_buildManifest.js +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{1BddWcg-Th0zy444Y9ayI → mki871J_uv4-_79qiPJ1I}/_clientMiddlewareManifest.json +0 -0
- /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{1BddWcg-Th0zy444Y9ayI → mki871J_uv4-_79qiPJ1I}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/35d7a50f82ee022b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[41222,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n3:I[32494,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n4:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"ViewportBoundary\"]\n9:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"MetadataBoundary\"]\nb:I[93768,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--mki871J_uv4__79qiPJ1I--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/35d7a50f82ee022b.js"/><script src="/_next/static/chunks/5ca34694f33670ce.js" async=""></script><script src="/_next/static/chunks/4b60076b71f35de1.js" async=""></script><script src="/_next/static/chunks/31ae3b31083648d6.js" async=""></script><script src="/_next/static/chunks/f23570374ba0e69b.js" async=""></script><script src="/_next/static/chunks/turbopack-5e09743330609dd5.js" async=""></script><script src="/_next/static/chunks/db9dc0d8607aa034.js" async=""></script><script src="/_next/static/chunks/d04e8e686e79ea01.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/35d7a50f82ee022b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[41222,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n3:I[32494,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n4:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"ViewportBoundary\"]\n9:I[92276,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"MetadataBoundary\"]\nb:I[93768,[\"/_next/static/chunks/db9dc0d8607aa034.js\",\"/_next/static/chunks/d04e8e686e79ea01.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"mki871J_uv4-_79qiPJ1I\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/db9dc0d8607aa034.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d04e8e686e79ea01.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"ZaCKSH3RyvKhoM6MoSnTPbWgKej8XmCu3r3HY4twRlw=\"\n}"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,26410,e=>{e.v({fileMentionFadeIn:"FileMentionPopover-module__NItQTa__fileMentionFadeIn",popover:"FileMentionPopover-module__NItQTa__popover"})},26341,e=>{"use strict";var t=e.i(72218),a=e.i(95459);function s(e){return`threadId=${encodeURIComponent(e)}`}function l(e){return`workspaceId=${encodeURIComponent(e)}`}var r=e.i(60106),n=e.i(89934),i=e.i(5300),o=e.i(61606),d=e.i(37433),c=e.i(64244);let u={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function p({type:e,count:a,participantIds:s}){let l=u[e],r=s.join(", "),n=r?`${l.label}: ${r}`:l.label;return(0,t.jsxs)("span",{title:n,className:"inline-flex items-center gap-1 rounded-full border border-zinc-300 bg-zinc-50 px-2 py-0.5 text-xs text-zinc-700",children:[(0,t.jsx)("span",{"aria-hidden":!0,children:l.symbol}),(0,t.jsx)("span",{className:"tabular-nums",children:a})]})}function m({reactions:e}){if(!e||0===e.length)return null;let a=[...e].sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));return(0,t.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:a.map(e=>(0,t.jsx)(p,{type:e.type,count:e.count,participantIds:e.participantIds},e.type))})}var h=e.i(2263),x=e.i(64913);function f({attachments:e,compact:a=!1}){if(0===e.length)return null;let s=e.filter(e=>e.mimeType.startsWith("image/")),l=e.filter(e=>!e.mimeType.startsWith("image/")),r=a?"max-w-[120px]":"max-w-[240px]",n=a?"max-h-[90px]":"max-h-[180px]";return(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[s.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-slate-200 hover:border-slate-300 transition-colors",children:(0,t.jsx)("img",{src:e.url,alt:e.filename,className:`${r} ${n} object-cover`,loading:"lazy"})},e.id))}),l.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.map(e=>{var s;return(0,t.jsxs)("a",{href:e.url,download:e.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-slate-200 bg-slate-50 text-slate-600 hover:bg-slate-100 hover:border-slate-300 transition-colors ${a?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,t.jsx)(h.FileText,{className:`text-slate-400 shrink-0 ${a?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,t.jsx)("span",{className:`truncate ${a?"max-w-[100px]":"max-w-[150px]"}`,children:e.filename}),(0,t.jsx)("span",{className:"text-slate-400 shrink-0",children:(s=e.size)<1024?`${s}B`:s<1048576?`${(s/1024).toFixed(0)}KB`:`${(s/1048576).toFixed(1)}MB`}),(0,t.jsx)(x.Download,{className:`text-slate-400 shrink-0 ${a?"w-2.5 h-2.5":"w-3 h-3"}`})]},e.id)})})]})}var g=e.i(64911),b=e.i(64049),v=e.i(41157);let j=(0,v.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var w=e.i(50792);function y({message:e,participantName:a,participantColor:s,participantId:l,onReply:r,onOpenThread:n,onSummarize:i,summarizing:u,isRoot:p=!1,highlighted:x=!1,hideUserAvatarAndName:v=!1}){let y,k="user"===e.role,N=(0,w.stripMarkers)(e.content);return N||e.attachments?.length?(0,t.jsxs)("div",{className:`flex gap-4 group transition-colors ${!p?"py-4":""} ${x?"rounded-lg bg-amber-50/90 px-2 -mx-2 ring-1 ring-amber-200":""}`,children:[!(k&&v)&&(l&&!k?(0,t.jsx)(o.default,{href:`/agents/${l}`,className:"w-9 h-9 rounded-full flex items-center justify-center shrink-0 bg-slate-100 overflow-hidden hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(l,36,s),alt:"",className:"w-full h-full object-cover"})}):(0,t.jsx)("div",{className:`w-9 h-9 rounded-full flex items-center justify-center shrink-0 ${k?"bg-slate-200 text-slate-600":"bg-slate-100 overflow-hidden"}`,children:(0,t.jsx)(b.User,{className:"w-5 h-5"})})),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[!(k&&v)&&(!k&&l?(0,t.jsx)(o.default,{href:`/agents/${l}`,className:"font-bold text-[15px] hover:underline",style:s?{color:s}:{},children:a||"Unknown"}):(0,t.jsx)("span",{className:"font-bold text-[15px]",children:k?"You":a||"Unknown"})),(0,t.jsx)("span",{className:"text-xs text-slate-400 font-medium",children:(y=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(y))})]}),(0,t.jsxs)("div",{className:`text-[15px] text-slate-800 leading-relaxed ${k?"cursor-pointer hover:bg-slate-50/50 transition-colors rounded p-1 -mx-1":""}`,onClick:()=>{k&&n&&n(e.id)},children:[(0,t.jsx)(d.Markdown,{content:N,isUser:k}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(f,{attachments:e.attachments})]}),p&&(0,t.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,t.jsx)(m,{reactions:e.reactions}),r&&!k&&(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.id),className:"flex items-center gap-1.5 px-2.5 py-1 text-slate-500 hover:text-slate-800 rounded-full hover:bg-slate-50 transition-colors text-xs font-semibold",children:[(0,t.jsx)(g.MessageSquare,{className:"w-3 h-3"}),"Reply"]}),i&&(0,t.jsxs)("button",{type:"button",onClick:()=>i(e.id),disabled:u,className:"flex items-center gap-1.5 px-2.5 py-1 text-slate-500 hover:text-slate-800 rounded-full hover:bg-slate-50 transition-colors text-xs font-semibold disabled:opacity-50 disabled:cursor-not-allowed",children:[u?(0,t.jsx)(j,{className:"w-3 h-3 animate-spin"}):(0,t.jsx)(h.FileText,{className:"w-3 h-3"}),u?"Summarizing…":"Summarize"]})]})]})]}):null}function k(){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function N({participantId:e,participantName:a,participantColor:s,content:l}){let r=(0,w.stripMarkers)(l),n=r.length>0;return(0,t.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)(o.default,{href:`/agents/${e}`,className:"w-9 h-9 rounded-full bg-slate-100 overflow-hidden shrink-0 shadow-sm border border-slate-100 hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e,36,s),alt:"",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,t.jsx)(o.default,{href:`/agents/${e}`,className:"font-bold text-[15px] hover:underline",style:{color:s},children:a}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-slate-400 font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,t.jsx)("div",{className:"text-[15px] text-slate-800 leading-relaxed min-h-[1.5rem] flex items-center",children:n?(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(d.Markdown,{content:r}),(0,t.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 text-slate-400 italic",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,t.jsx)(k,{})]})})]})]})}var C=e.i(35189),I=e.i(35312),S=e.i(15875),M=e.i(39090),$=e.i(66638),T=e.i(20709);let z=(0,v.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var A=e.i(64714);let P=A.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function D(){let e=await fetch(`${P}/api/projects`);if(!e.ok){if(503===e.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${e.status}`)}let t=await e.json();return t.projects??t}async function E(e,t){let a=await fetch(`${P}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,description:t})});if(!a.ok)throw Error(`Failed to create project: ${a.status}`);return a.json()}async function R(e,t){let a=await fetch(`${P}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,...t})});if(!a.ok)throw Error(`Failed to create task: ${a.status}`);let s=await a.json(),l=s.task??s;return s.id&&!l.id&&(l.id=s.id),l}async function O(e){let t=await fetch(`${P}/api/tasks/${e}`);if(!t.ok)return null;let a=await t.json();return a.task??a}async function U(e,t,a,s){let l=[],r={...s},n=new Map((function(e){let t=new Set(e.map(e=>e.id)),a=new Map;for(let s of e)a.set(s.id,(s.dependsOn||[]).filter(e=>t.has(e)));let s=[],l=new Set,r=new Set;for(let t of e)!function t(n){if(!l.has(n)&&!r.has(n)){for(let e of(r.add(n),a.get(n)||[]))t(e);r.delete(n),l.add(n),s.push(e.find(e=>e.id===n))}}(t.id);return s})(e).map(e=>[e.id,e]));for(;n.size>0;){let e=[];for(let t of n.values())(t.dependsOn||[]).every(e=>!n.has(e)||r[e])&&e.push(t);0===e.length&&e.push(...n.values());let a=await Promise.allSettled(e.map(async e=>{let a=r[e.id];if(a&&await O(a))return{task:e,remoteId:a};let s=(e.dependsOn||[]).map(e=>r[e]).filter(Boolean),l=await R(e.description,{title:e.title,project_id:t,depends_on:s.length>0?s:void 0});return{task:e,remoteId:l.id}}));for(let t of a)if("fulfilled"===t.status){let{task:e,remoteId:a}=t.value;r[e.id]=a,l.push({clientTaskId:e.id,remoteTaskId:a,status:"created"}),n.delete(e.id)}else{let s=e[a.indexOf(t)];l.push({clientTaskId:s.id,status:"failed",error:t.reason instanceof Error?t.reason.message:"Unknown error"}),n.delete(s.id)}}return{buildId:a,projectId:t,results:l}}let L=(0,v.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);var F=e.i(986);function _({onSelect:e,onClose:s}){let[l,r]=(0,a.useState)([]),[n,i]=(0,a.useState)(!0),[o,d]=(0,a.useState)(null),[c,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(""),[h,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{try{let e=await D();r(e)}catch(e){e instanceof Error&&"SCHEMA_NOT_READY"===e.message?d("agx-cloud database not ready. Run migrations first."):d("Failed to load projects. Is agx-cloud running?")}finally{i(!1)}})()},[]);let f=(0,a.useCallback)(async()=>{let t=p.trim();if(t){u(!0);try{let a=await E(t);e(a.id,a.name)}catch(e){d("Failed to create project")}finally{u(!1)}}},[p,e]);return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"bg-white rounded-2xl shadow-xl border border-slate-200 w-full max-w-sm mx-4 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-slate-100",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(L,{className:"w-4 h-4 text-slate-500"}),(0,t.jsx)("h3",{className:"text-sm font-bold text-slate-900",children:"Select Project"})]}),(0,t.jsx)("button",{type:"button",onClick:s,className:"p-1 text-slate-400 hover:text-slate-600 rounded-md hover:bg-slate-100",children:(0,t.jsx)(T.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[n&&(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(j,{className:"w-5 h-5 text-slate-400 animate-spin"})}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,t.jsx)(F.AlertTriangle,{className:"w-4 h-4 shrink-0"}),o]}),!n&&!o&&0===l.length&&(0,t.jsx)("p",{className:"text-xs text-slate-500 text-center py-4",children:"No projects found. Create one below."}),!n&&l.map(a=>(0,t.jsxs)("button",{type:"button",onClick:()=>e(a.id,a.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-slate-50 transition-colors flex items-center gap-3 group",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center shrink-0",children:(0,t.jsx)(L,{className:"w-4 h-4 text-slate-400 group-hover:text-slate-600"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-800 truncate",children:a.name}),a.description&&(0,t.jsx)("div",{className:"text-[11px] text-slate-500 truncate",children:a.description})]})]},a.id))]}),(0,t.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-slate-100",children:h?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:p,onChange:e=>m(e.target.value),onKeyDown:e=>"Enter"===e.key&&f(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm border border-slate-200 rounded-lg outline-none focus:ring-1 focus:ring-slate-300"}),(0,t.jsx)("button",{type:"button",onClick:f,disabled:c||!p.trim(),className:"h-8 px-3 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-lg disabled:opacity-40",children:c?"…":"Create"}),(0,t.jsx)("button",{type:"button",onClick:()=>x(!1),className:"h-8 px-2 text-slate-400 hover:text-slate-600",children:(0,t.jsx)(T.X,{className:"w-3.5 h-3.5"})})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>x(!0),className:"flex items-center gap-1.5 text-xs font-bold text-slate-500 hover:text-slate-700",children:[(0,t.jsx)($.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function W({draft:e,onUpdate:s,onBuild:l,building:r}){let[n,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(!1),c=(0,a.useCallback)((t,a)=>{let l=e.tasks.map(e=>e.id===t?{...e,...a}:e);s({...e,tasks:l,revision:e.revision+1})},[e,s]),u=(0,a.useCallback)(t=>{let a=e.tasks.filter(e=>e.id!==t);s({...e,tasks:a,revision:e.revision+1})},[e,s]),p=(0,a.useCallback)(()=>{let t={id:crypto.randomUUID(),title:"New task",description:"Add description..."};s({...e,tasks:[...e.tasks,t],revision:e.revision+1})},[e,s]),m=(0,a.useCallback)(()=>{d(!0)},[]),h=(0,a.useCallback)((t,a)=>{d(!1),l(e,t,a)},[e,l]),x="idle"===e.buildStatus||!e.buildStatus;return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-slate-50/80 rounded-2xl border border-slate-100 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-slate-400",children:"Tasks"})]}),(0,t.jsxs)("span",{className:"text-[11px] font-bold text-slate-500",children:[e.tasks.length," task",1!==e.tasks.length?"s":""]})]}),(0,t.jsx)("div",{className:"space-y-1 mb-4",children:e.tasks.map(e=>{let a=n===e.id;return(0,t.jsxs)("div",{className:"group",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-white/60 transition-colors",children:[x&&(0,t.jsx)(I.GripVertical,{className:"w-3.5 h-3.5 text-slate-300 opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(a?null:e.id),className:"shrink-0 text-slate-400 hover:text-slate-600",children:a?(0,t.jsx)(S.ChevronDown,{className:"w-3.5 h-3.5"}):(0,t.jsx)(M.ChevronRight,{className:"w-3.5 h-3.5"})}),x?(0,t.jsx)("input",{type:"text",value:e.title,onChange:t=>c(e.id,{title:t.target.value}),className:"flex-1 text-xs font-semibold text-slate-700 bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,t.jsx)("span",{className:"flex-1 text-xs font-semibold text-slate-700",children:e.title}),x&&(0,t.jsx)("button",{type:"button",onClick:()=>u(e.id),className:"shrink-0 text-slate-300 hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,t.jsx)(T.X,{className:"w-3.5 h-3.5"})})]}),a&&(0,t.jsx)("div",{className:"ml-9 mr-2 mb-2",children:x?(0,t.jsx)("textarea",{value:e.description,onChange:t=>c(e.id,{description:t.target.value}),rows:4,className:"w-full text-xs text-slate-500 bg-white/80 border border-slate-200 rounded-lg p-2 outline-none focus:ring-1 focus:ring-slate-300 resize-y"}):(0,t.jsx)("p",{className:"text-xs text-slate-500 whitespace-pre-wrap",children:e.description})})]},e.id)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[x&&(0,t.jsxs)("button",{type:"button",onClick:p,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-slate-500 hover:text-slate-700 rounded-full border border-dashed border-slate-300 hover:border-slate-400 transition-all",children:[(0,t.jsx)($.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,t.jsx)("div",{className:"flex-1"}),x&&(0,t.jsxs)("button",{type:"button",onClick:m,disabled:r||0===e.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(z,{className:"w-3 h-3"}),r?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsx)(_,{onSelect:h,onClose:()=>d(!1)})]})}let q=new Set(["completed","done","failed","blocked"]);var B=e.i(69826),H=e.i(38783);let V=(0,v.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var J=e.i(54003);let K={queued:(0,t.jsx)(H.Circle,{className:"w-4 h-4 text-slate-300"}),pending:(0,t.jsx)(H.Circle,{className:"w-4 h-4 text-slate-300"}),in_progress:(0,t.jsx)(j,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,t.jsx)(j,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,t.jsx)(V,{className:"w-4 h-4 text-amber-500"}),completed:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,t.jsx)(J.XCircle,{className:"w-4 h-4 text-rose-500"})};function X({draft:e,onPush:s,pushing:l}){let[r,n]=(0,a.useState)(!1),{tasks:i,error:o}=function({projectId:e,enabled:t,interval:s=3e4}){let[l,r]=(0,a.useState)([]),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(0),d=(0,a.useRef)([]),c=(0,a.useCallback)(async()=>{if(e&&"undefined"!==e)try{let t=A.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",a=await fetch(`${t}/api/tasks?project=${e}`);if(!a.ok)throw Error(`Poll failed: ${a.status}`);let s=await a.json(),l=s.tasks??s;d.current=l,r(l),i(null)}catch(e){i(e instanceof Error?e.message:"Poll failed")}},[e]);return(0,a.useEffect)(()=>{if(!t||!e)return;o.current=Date.now(),c();let a=setInterval(()=>{Date.now()-o.current>18e5||d.current.length>0&&d.current.every(e=>q.has(e.status))?clearInterval(a):c()},s);return()=>clearInterval(a)},[t,e,s,c]),{tasks:l,error:n,refetch:c}}({projectId:e.projectId??null,enabled:!!e.projectId&&"done"===e.buildStatus}),d=new Map;if(e.builtTaskIds)for(let[t,a]of Object.entries(e.builtTaskIds)){let e=i.find(e=>e.id===a);e&&d.set(t,e)}let c=e.tasks.filter(e=>{let t=d.get(e.id);return t&&("completed"===t.status||"done"===t.status)}).length,u=e.tasks.length>0?c/e.tasks.length:0,p=(0,a.useCallback)(()=>{e.projectId&&e.projectName?s?.(e,e.projectId,e.projectName):n(!0)},[e,s]),m=(0,a.useCallback)((t,a)=>{n(!1),s?.(e,t,a)},[e,s]);e.tasks.some(t=>!e.builtTaskIds?.[t.id]);let h=e.tasks.some(e=>{let t=d.get(e.id);return t&&"queued"!==t.status&&"pending"!==t.status});return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-slate-50/80 rounded-2xl border border-slate-100 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-slate-400",children:"Tasks"}),e.projectName&&(0,t.jsxs)("span",{className:"text-[10px] font-semibold text-slate-400",children:["· ",e.projectName]})]}),(0,t.jsxs)("span",{className:"text-[11px] font-bold text-slate-600",children:[c,"/",e.tasks.length," Complete"]})]}),(0,t.jsx)("div",{className:"space-y-3 mb-4",children:e.tasks.map(e=>{let a=d.get(e.id),s=a?.status||"queued",l=K[s]||K.queued;return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[l,(0,t.jsx)("span",{className:`text-xs font-semibold ${"completed"===s||"done"===s?"text-slate-600":"text-slate-500"}`,children:e.title})]},e.id)})}),(0,t.jsx)("div",{className:"h-1.5 w-full bg-slate-200 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*u)}%`}})}),s&&!h&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===e.buildStatus&&(0,t.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("button",{type:"button",onClick:p,disabled:l,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(z,{className:"w-3 h-3"}),l?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",o]}),r&&(0,t.jsx)(_,{onSelect:m,onClose:()=>n(!1)})]})}var Y=e.i(195),Z=e.i(59853),G=e.i(84778),Q=e.i(14670);let ee=(0,v.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),et=(0,v.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),ea=(0,v.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),es=(0,v.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),el=[{value:"thinking",label:"Thinking",color:"#f59e0b"},{value:"converged",label:"Converged",color:"#10b981"},{value:"resolved",label:"Resolved",color:"#3b82f6"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"archived",label:"Archived",color:"#9ca3af"},{value:"paused",label:"Paused",color:"#f97316"}],er=new Set(["resolved","in-review","archived"]),en="<!-- thread-summary -->";function ei({messages:e,streaming:s,participants:l,onOpenThread:r,onCopyThread:n,onAddToChat:i,onDeleteThreadRoot:u,onSummarize:p,onCreateTasks:m,onUpdateTaskDraft:h,onBuildTasks:x,summarizingThreads:v,extractingTasks:k,buildingDrafts:C,taskDrafts:I,deletingThreadRootId:S,highlightedMessageId:M,onUpdateMessageThreadStatus:$,onUpdateMessageOutcomeNote:T,shipModeThreads:z}){let A=(0,a.useRef)(new Map),[P,D]=(0,a.useState)(null),[E,R]=(0,a.useState)("active"),O=Object.fromEntries(l.map(e=>[e.id,e])),U=(0,a.useMemo)(()=>[...e.filter(e=>!e.rootMessageId)].reverse(),[e]),L={active:new Set(["thinking","converged"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),resolved:new Set(["resolved"]),archived:new Set(["archived"])},F=(0,a.useMemo)(()=>U.filter(e=>L[E].has(e.threadStatus??"thinking")),[U,E]),_=(0,a.useMemo)(()=>({active:U.filter(e=>L.active.has(e.threadStatus??"thinking")).length,paused:U.filter(e=>L.paused.has(e.threadStatus??"thinking")).length,"in-review":U.filter(e=>L["in-review"].has(e.threadStatus??"thinking")).length,resolved:U.filter(e=>L.resolved.has(e.threadStatus??"thinking")).length,archived:U.filter(e=>L.archived.has(e.threadStatus??"thinking")).length}),[U]),q=(0,a.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=a.rootMessageId;if(!e)continue;let s=t.get(e);s||(s={rootMessageId:e,replyCount:0,participants:[],lastActivityAt:0,previewReplies:[],allReplies:[]},t.set(e,s)),s.replyCount++,s.lastActivityAt=Math.max(s.lastActivityAt,a.timestamp),s.lastReply=a,s.allReplies.push(a),a.participantId&&!s.participants.includes(a.participantId)?s.participants.push(a.participantId):a.participantId||s.participants.includes("user")||s.participants.push("user")}for(let e of t.values())e.allReplies.sort((e,t)=>e.timestamp-t.timestamp),e.previewReplies=[...e.allReplies],e.previewReplies.length>2&&(e.previewReplies=e.previewReplies.slice(-2));return t})(e),[e]),B=(0,a.useCallback)((e,t)=>{t?A.current.set(e,t):A.current.delete(e)},[]);return(0,a.useEffect)(()=>{if(!M)return;let e=A.current.get(M);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},[M,e]),(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[U.length>0&&(0,t.jsx)("div",{className:"max-w-2xl mx-auto flex items-center gap-1 mb-4 border-b border-slate-100 pb-2",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"resolved",label:"Resolved"},{key:"archived",label:"Archived"}].map(e=>{let a=_[e.key],s=E===e.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>R(e.key),className:`px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${s?"bg-slate-900 text-white":"text-slate-400 hover:text-slate-600 hover:bg-slate-50"}`,children:[e.label,a>0&&(0,t.jsx)("span",{className:"ml-1.5 text-[10px] text-slate-300",children:a})]},e.key)})}),0===U.length&&0===Object.keys(s).length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-slate-400 mt-32 space-y-3",children:[(0,t.jsx)(g.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a workspace"})]}),U.length>0&&0===F.length&&(0,t.jsx)("div",{className:"flex flex-col items-center justify-center text-slate-400 mt-16 space-y-2",children:(0,t.jsxs)("span",{className:"text-sm font-medium",children:["No ",E," threads"]})}),F.map(e=>{let a,l=e.participantId?O[e.participantId]:null,A=q.get(e.id),E=S===e.id,R=A?.allReplies.find(e=>e.content.startsWith(en)),U=R?R.content.slice(en.length).trim():null,L=(A?.previewReplies||[]).filter(e=>!e.content.startsWith(en)),F=e.threadStatus??"thinking",_=er.has(F),H=el.find(e=>e.value===F)??el[0],V=Object.values(s).some(t=>t.rootMessageId===e.id);if(_){let a;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"max-w-2xl mx-auto bg-slate-50 rounded-xl border border-slate-200 mb-3 group transition-all hover:border-slate-300 relative cursor-pointer",onClick:()=>r?.(e.id),children:(0,t.jsxs)("div",{className:"px-4 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(Z.Hash,{className:"w-3.5 h-3.5 text-slate-400 shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-slate-500 truncate flex-1",children:(0,w.stripMarkers)(e.content.split("\n")[0])}),z?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,t.jsx)(es,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),e.outcomeNote&&(0,t.jsx)("span",{className:"text-[11px] text-slate-400 truncate max-w-[200px]",children:e.outcomeNote}),(0,t.jsx)("span",{className:"text-[10px] text-slate-400 shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e.timestamp)}),$&&(a=P===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-white",style:{borderColor:H.color+"40",color:H.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:H.color}}),H.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-white border border-slate-200 rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===F?"bg-indigo-50 text-indigo-700":"text-slate-600 hover:bg-slate-50"}`,onClick:t=>{t.stopPropagation(),$(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),A&&A.replyCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-slate-400 shrink-0",children:[A.replyCount," replies"]})]}),(U||I?.[e.id])&&(0,t.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[U&&(0,t.jsx)("div",{className:"text-sm text-slate-600 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,t.jsx)(d.Markdown,{content:U,isUser:!1})}),I?.[e.id]&&I[e.id].tasks.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-slate-400 flex items-center gap-1",children:[(0,t.jsx)(ee,{className:"w-3 h-3"}),I[e.id].tasks.length," ",1===I[e.id].tasks.length?"task":"tasks"]})]})]})},e.id)}return(0,t.jsxs)("div",{className:"max-w-2xl mx-auto bg-white rounded-2xl border border-slate-200 shadow-sm overflow-hidden mb-6 group transition-all hover:border-slate-300 relative",children:[(n||i||u)&&(0,t.jsxs)("div",{className:"absolute top-4 right-4 z-10 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[i&&(0,t.jsx)("button",{type:"button",onClick:()=>i(e.id),className:"p-1.5 text-slate-400 hover:bg-indigo-50 hover:text-indigo-600 rounded-md transition-colors",title:"Mention in chat",children:(0,t.jsx)(ea,{className:"w-3.5 h-3.5"})}),(0,t.jsx)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(e.id)},className:"p-1.5 text-slate-400 hover:bg-slate-100 rounded-md transition-colors",title:"Copy message ID",children:(0,t.jsx)(et,{className:"w-3.5 h-3.5"})}),n&&(0,t.jsx)("button",{type:"button",onClick:()=>n(e.id),className:"p-1.5 text-slate-400 hover:bg-slate-100 rounded-md transition-colors",title:"Copy thread as markdown",children:(0,t.jsx)(Y.Copy,{className:"w-3.5 h-3.5"})}),u&&(0,t.jsx)("button",{type:"button",onClick:()=>u(e.id),disabled:E,className:"p-1.5 text-slate-400 hover:bg-rose-50 hover:text-rose-600 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Delete this thread",children:E?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(G.Trash2,{className:"w-3.5 h-3.5"})})]}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"p-5",children:(0,t.jsxs)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==e.role&&(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-slate-100 overflow-hidden border border-slate-100 shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-blue-300 transition-shadow",children:l?(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(l.id,40,l.color),alt:l.name,className:"w-full h-full object-cover"}):(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e.participantId||"assistant",40),alt:e.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==e.role&&(0,t.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-slate-900 hover:underline",children:l?.name||e.participantId||"Assistant"})}),(0,t.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>r?.(e.id),children:[(0,t.jsx)("h3",{className:"text-lg font-bold text-slate-900 leading-tight group-hover/msg-title:text-indigo-600 transition-colors line-clamp-1",children:(0,w.stripMarkers)(e.content.split("\n")[0])}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium text-slate-400",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(e.timestamp)}),$&&(a=P===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-slate-50",style:{borderColor:H.color+"40",color:H.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:H.color}}),H.label]}),a&&(0,t.jsxs)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-white border border-slate-200 rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:[el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===F?"bg-indigo-50 text-indigo-700":"text-slate-600 hover:bg-slate-50"}`,onClick:t=>{t.stopPropagation(),$(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value)),"converged"===F&&T&&(0,t.jsx)("div",{className:"px-2 py-1.5 border-t border-slate-100 mt-1",children:(0,t.jsx)("input",{type:"text",className:"w-full border border-slate-200 rounded px-2 py-1 text-[11px] text-slate-700 outline-none focus:border-indigo-400",placeholder:"Outcome note…",defaultValue:e.outcomeNote??"",onClick:e=>e.stopPropagation(),onKeyDown:t=>{"Enter"===t.key&&(T(e.id,t.target.value),D(null))},onBlur:t=>{t.target.value!==(e.outcomeNote??"")&&T(e.id,t.target.value)}})})]})]})),z?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,t.jsx)(es,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(e.content.length>80||e.content.includes("\n"))&&(0,t.jsx)("div",{className:"mt-2 text-[15px] text-slate-600 leading-relaxed line-clamp-3",children:(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(e.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===e.role})})]})]})]}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:`mb-4 ${"user"!==e.role?"ml-[52px]":""}`,children:(0,t.jsx)(f,{attachments:e.attachments,compact:!0})}),U&&(0,t.jsx)("div",{className:"mb-4 text-sm text-slate-600 leading-relaxed",children:(0,t.jsx)(d.Markdown,{content:U,isUser:!1})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[p&&A&&A.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>p(e.id),disabled:v?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-white border border-slate-200 rounded-full text-xs font-bold text-slate-600 hover:bg-slate-50 transition-colors shadow-sm disabled:opacity-50",children:[v?.has(e.id)?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin text-slate-400"}):(0,t.jsx)(Q.Clock,{className:"w-3.5 h-3.5 text-slate-400"}),v?.has(e.id)?"Summarizing…":"Summarize"]}),m&&A&&A.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>m(e.id),disabled:k?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-white border border-slate-200 rounded-full text-xs font-bold text-slate-600 hover:bg-slate-50 transition-colors shadow-sm disabled:opacity-50",children:[k?.has(e.id)?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin text-slate-400"}):(0,t.jsx)(ee,{className:"w-3.5 h-3.5 text-slate-400"}),k?.has(e.id)?"Extracting…":I?.[e.id]?"Re-extract tasks":"Create tasks"]}),A&&A.replyCount>0&&r&&(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.id),className:"flex items-center gap-2 px-3 py-1.5 bg-slate-50 border border-slate-100 rounded-full text-xs font-bold text-slate-500 hover:bg-slate-100 transition-colors",children:[(0,t.jsx)("div",{className:"flex -space-x-1.5",children:A.participants.slice(0,3).map(e=>{if("user"===e)return(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-slate-200 flex items-center justify-center ring-1 ring-white",children:(0,t.jsx)(b.User,{className:"w-2.5 h-2.5 text-slate-400"})},"user");let a=O[e];return a?(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e,16,a.color),alt:a.name,className:"w-4 h-4 rounded-full ring-1 ring-white"},e):(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-slate-200 ring-1 ring-white"},e)})}),(0,t.jsxs)("span",{children:[A.replyCount," replies"]})]})]}),I?.[e.id]&&(I[e.id].builtTaskIds&&Object.keys(I[e.id].builtTaskIds).length>0?(0,t.jsx)(X,{draft:I[e.id],onPush:(t,a,s)=>x?.(e.id,t,a,s),pushing:C?.has(I[e.id].draftId)}):(0,t.jsx)(W,{draft:I[e.id],onUpdate:t=>h?.(e.id,t),onBuild:(t,a,s)=>x?.(e.id,t,a,s),building:C?.has(I[e.id].draftId)})),k?.has(e.id)&&(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-slate-400",children:[(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Extracting tasks…"})]})]})}),!U&&A&&A.replyCount>0&&(0,t.jsx)("div",{className:"p-6 pt-0 border-t border-slate-100 bg-slate-50/10",children:(0,t.jsxs)("div",{className:"pt-4 max-h-[320px] overflow-hidden relative",children:[A.replyCount>L.length&&(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-4",children:[(0,t.jsx)("div",{className:"flex-1 h-px bg-slate-100"}),(0,t.jsxs)("button",{onClick:()=>r?.(e.id),className:"flex items-center gap-2 text-[11px] font-bold uppercase tracking-wider text-slate-400 hover:text-indigo-600 transition-colors shrink-0",children:[(0,t.jsx)(g.MessageSquare,{className:"w-3.5 h-3.5"}),(0,t.jsxs)("span",{children:["Show ",A.replyCount-L.length," more ",A.replyCount-L.length==1?"reply":"replies"]})]}),(0,t.jsx)("div",{className:"flex-1 h-px bg-slate-100"})]}),(0,t.jsx)("div",{className:"space-y-1",children:L.map(e=>{let a=e.participantId?O[e.participantId]:null;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,children:(0,t.jsx)(y,{isRoot:!1,message:e,participantName:a?.name||e.participantId||"Assistant",participantColor:a?.color,participantId:a?.id||e.participantId||void 0,onOpenThread:r,highlighted:e.id===M})},e.id)})}),(0,t.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-16 bg-gradient-to-t from-slate-50 via-slate-50/80 to-transparent pointer-events-none z-10"})]})}),Object.entries(s).filter(([,t])=>t.rootMessageId===e.id).map(([e,a])=>{let s=O[e];return(0,t.jsx)("div",{className:"px-6 pb-4",children:(0,t.jsx)(N,{participantId:e,participantName:s?.name||e,participantColor:s?.color||"#888",content:a.content})},`streaming-${e}`)})]})]},e.id)})]})})}let eo=(0,v.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"}]]);function ed({messages:e,streaming:s,participants:l,rootMessageId:r,onClose:n,onCopyThread:i,onAddToChat:u,onDeleteThreadRoot:p,highlightedMessageId:h,renderReplyComposer:x,activeProcesses:g=[]}){let v=(0,a.useRef)(null),j=(0,a.useRef)(new Map),y=Object.fromEntries(l.map(e=>[e.id,e])),k=(0,a.useMemo)(()=>{let t=e.find(e=>e.id===r),a=e.filter(e=>e.rootMessageId===r).sort((e,t)=>e.timestamp-t.timestamp);return t?[t,...a]:a},[e,r]);return(0,a.useEffect)(()=>{if(h){let e=j.current.get(h);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}else v.current?.scrollIntoView({behavior:"smooth"})},[h,k,s]),(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-slate-50",children:[g.length>0&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 px-4 py-2 border-b border-slate-200 bg-white/80 backdrop-blur-sm",children:[(0,t.jsx)("span",{className:"text-[11px] text-slate-400 uppercase tracking-wide font-medium",children:"Working"}),(0,t.jsx)("div",{className:"flex items-center -space-x-1.5",children:g.map(e=>{let a=y[e.agentId];return(0,t.jsxs)("div",{className:"relative",title:`${a?.name||e.agentId} — ${e.state}`,children:[(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e.agentId,24,a?.color),alt:a?.name||e.agentId,className:"w-6 h-6 rounded-full border-2 border-white shadow-sm"}),(0,t.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-white animate-pulse"})]},e.agentId)})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[k.map(e=>{let a,s="user"===e.role,l=e.participantId?y[e.participantId]:null;return(0,t.jsxs)("div",{ref:t=>{var a;return a=e.id,void(t?j.current.set(a,t):j.current.delete(a))},"data-message-id":e.id,className:"group relative flex gap-4 ",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:s?(0,t.jsx)("div",{className:"w-10 h-10 bg-slate-200 rounded-full flex items-center justify-center text-slate-600 shadow-sm",children:(0,t.jsx)(b.User,{size:20})}):(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:l?(0,c.agentAvatarUrl)(l.id,40,l.color):(0,c.agentAvatarUrl)(e.participantId||"assistant",40),alt:l?.name||e.participantId||"Assistant",className:"w-10 h-10 rounded-full shadow-sm border border-slate-100 object-cover bg-slate-100"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s?(0,t.jsx)("span",{className:"font-bold text-sm text-slate-900",children:"You"}):(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-slate-900 hover:underline",style:l?.color?{color:l.color}:void 0,children:l?.name||e.participantId||"Assistant"}),void 0===e.rootMessageId&&e.id===r&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-slate-100 text-slate-500 rounded font-mono uppercase",children:"ROOT"}),(0,t.jsx)("span",{className:"text-[11px] text-slate-400",children:(a=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a))})]}),(0,t.jsxs)("div",{className:`rounded-2xl p-4 text-[15px] leading-relaxed shadow-sm border ${s?"bg-slate-100 text-slate-700 border-slate-200":"bg-white text-slate-700 border-slate-200"} ${e.id===h?"ring-2 ring-indigo-400":""}`,children:[(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(e.content),isUser:s}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(f,{attachments:e.attachments}),e.reactions&&e.reactions.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(m,{reactions:e.reactions})})]}),(0,t.jsxs)("div",{className:"absolute top-8 -right-2 opacity-0 group-hover:opacity-100 transition-opacity flex items-center gap-1 bg-white border border-slate-200 rounded-lg shadow-sm p-1 z-10 translate-x-full",children:[e.id===r&&(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(e.id)},className:"p-1.5 text-slate-400 hover:text-indigo-600 hover:bg-indigo-50 rounded",title:"Copy message ID",children:(0,t.jsx)(et,{size:14})}),e.id===r&&i&&(0,t.jsx)("button",{onClick:()=>i(e.id),className:"p-1.5 text-slate-400 hover:text-slate-600 hover:bg-slate-50 rounded",title:"Copy Thread",children:(0,t.jsx)(eo,{size:14})}),(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(e.content)},className:"p-1.5 text-slate-400 hover:text-slate-600 hover:bg-slate-50 rounded",title:"Copy as Markdown",children:(0,t.jsx)(Y.Copy,{size:14})}),e.id===r&&p&&(0,t.jsx)("button",{onClick:()=>p(e.id),className:"p-1.5 text-slate-400 hover:text-red-500 hover:bg-red-50 rounded",title:"Delete Thread",children:(0,t.jsx)(G.Trash2,{size:14})})]})]})]},e.id)}),Object.entries(s).filter(([,e])=>e.rootMessageId===r).map(([e,a])=>{let s=y[e],l=a.content.trim().length>0;return(0,t.jsxs)("div",{className:"flex gap-4 group relative",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,t.jsx)(o.default,{href:`/agents/${s?.id||e}`,className:"hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:s?(0,c.agentAvatarUrl)(s.id,40,s.color):(0,c.agentAvatarUrl)(e,40),alt:s?.name||e,className:"w-10 h-10 rounded-full shadow-sm border border-slate-100 object-cover bg-slate-100"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.default,{href:`/agents/${s?.id||e}`,className:"font-bold text-sm text-slate-900 hover:underline",style:s?.color?{color:s.color}:void 0,children:s?.name||e}),!l&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),l&&(0,t.jsx)("div",{className:"rounded-2xl p-4 text-[15px] leading-relaxed shadow-sm border bg-white text-slate-700 border-slate-200",children:(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(a.content),isUser:!1})})]})]},`streaming-${e}`)}),(0,t.jsx)("div",{ref:v,className:"h-4"})]})}),(0,t.jsx)("div",{className:"z-20",children:x(r)})]})}var ec=e.i(99458);let eu=(0,v.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function ep({query:e,results:a,total:s,participants:l,threadTitleById:r,isLoading:n,error:i,onSelectResult:d,headerSlot:u}){let p=Object.fromEntries(l.map(e=>[e.id,e]));return(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[u?(0,t.jsx)("div",{className:"sticky top-0 z-20 bg-slate-50/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto",children:u})}):null,(0,t.jsxs)("div",{className:"mb-4 rounded-xl border border-slate-200 bg-white px-4 py-3",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-700",children:"Search results"}),(0,t.jsx)("div",{className:"mt-1 text-sm text-slate-500",children:n?"Searching…":`${s} result${1===s?"":"s"} for "${e}"`}),i?(0,t.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:i}):null]}),n||i||0!==a.length?null:(0,t.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-slate-400",children:[(0,t.jsx)(eu,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,t.jsx)("div",{className:"space-y-3 pb-6",children:a.map(e=>{var a;let s=e.participantId?p[e.participantId]:null,l=r[e.threadId]||"Untitled workspace",n="user"===e.role?"You":s?.name||e.participantId||"Assistant";return(0,t.jsxs)("button",{type:"button",onClick:()=>d(e),className:"w-full rounded-xl border border-slate-200 bg-white p-4 text-left transition hover:border-slate-300 hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-slate-100",children:"user"===e.role?(0,t.jsx)(b.User,{className:"h-4 w-4 text-slate-700"}):s?(0,t.jsx)(o.default,{href:`/agents/${s.id}`,onClick:e=>e.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(s.id,32,s.color),alt:"",className:"h-full w-full object-cover"})}):(0,t.jsx)(ec.Bot,{className:"h-4 w-4 text-slate-700"})}),(0,t.jsxs)("div",{className:"min-w-0",children:["user"!==e.role&&s?(0,t.jsx)(o.default,{href:`/agents/${s.id}`,onClick:e=>e.stopPropagation(),className:"truncate text-sm font-semibold text-slate-800 hover:underline block",children:n}):(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-slate-800",children:n}),(0,t.jsx)("p",{className:"truncate text-xs text-slate-500",children:l})]})]}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-slate-400",children:(a=e.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(a))})]}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-slate-700",children:function(e){let a=e.split(/(<\/?mark>)/g),s=!1,l=[];for(let[e,r]of a.entries()){if("<mark>"===r){s=!0;continue}if("</mark>"===r){s=!1;continue}r&&l.push(s?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:r},`${e}-mark`):(0,t.jsx)("span",{children:r},`${e}-text`))}return l}(e.snippet)})]},`${e.threadId}-${e.messageId}`)})})]})})}var em=e.i(47543),eh=e.i(15181),ex=e.i(37622);let ef=/^[A-Za-z0-9_\-:]*$/,eg={id:"all",name:"All",provider:"claude",model:null,color:"#6B7280"};function eb(e,t,a){return a?e.startsWith(a)?3:t.startsWith(a)?2:e.includes(a)?1:null:0}let ev=/^[a-zA-Z0-9_-]*$/,ej=new Set(["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","text/plain","text/csv","text/markdown","application/json","application/zip","application/gzip","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation"]),ew=new Set([".exe",".bat",".cmd",".com",".msi",".scr",".pif",".vbs",".vbe",".js",".jse",".ws",".wsf",".wsc",".wsh",".ps1",".ps2",".psc1",".psc2",".reg",".inf",".lnk",".dll",".sys",".drv"]),ey=[{path:`${A.default.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${A.default.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${A.default.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${A.default.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${A.default.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function ek(e,t){let a=function(e,t){let a=e.trim().replace(/\/+$/,"");if("~"===a)return"~";if(a.startsWith("~/")||a.startsWith("/"))return a;let s=a.replace(/^\/+/,"");return"@~"===t?`~/${s}`:`/${s}`}(e,t.trigger);if(a.startsWith("~/")||a.startsWith("/")){let s=e.trim().startsWith("~/")||e.trim().startsWith("/")||"~"===e.trim()?null:function(e){if(!e.query.endsWith("/"))return null;let t=e.query.replace(/^\/+/,"").replace(/\/+$/,"");return"@~"===e.trigger?t?`~/${t}`:"~":t?`/${t}`:"/"}(t);if(s){let e=a.replace(/^~\/|^\//,"");return"~"===s?`~/${e}`:"/"===s?`/${e}`:`${s}/${e}`}}return a}async function eN(e){let t;if(0===e.length)return[];let a=e.map(e=>e.path);try{let s=await fetch("/api/file-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:a})});if(!s.ok){let t=(await s.json().catch(()=>({}))).error??`HTTP ${s.status}`;return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}t=(await s.json()).results}catch(a){let t=a instanceof Error?a.message:"Failed to fetch file contents";return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}let s=new Map(t.map(e=>[e.path,e]));return e.map(e=>{let t=s.get(e.path);return{type:"file",path:e.path,label:e.label,content:t?.content??null,error:t?.error}})}async function eC(e){let t=await eN(e),a=0===t.length?"":t.map(e=>e.error||null===e.content?`<file path="${e.path}" error="${e.error??"unreadable"}" />`:`<file path="${e.path}">
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,26410,e=>{e.v({fileMentionFadeIn:"FileMentionPopover-module__NItQTa__fileMentionFadeIn",popover:"FileMentionPopover-module__NItQTa__popover"})},26341,e=>{"use strict";var t=e.i(72218),a=e.i(95459);function s(e){return`threadId=${encodeURIComponent(e)}`}function l(e){return`workspaceId=${encodeURIComponent(e)}`}var r=e.i(60106),n=e.i(89934),i=e.i(5300),o=e.i(61606),d=e.i(37433),c=e.i(64244);let u={ack:{symbol:"👍",label:"Acknowledged"},working:{symbol:"🔄",label:"Working"},done:{symbol:"✅",label:"Done"},clarify:{symbol:"❓",label:"Needs clarification"},blocked:{symbol:"⛔",label:"Blocked"}};function p({type:e,count:a,participantIds:s}){let l=u[e],r=s.join(", "),n=r?`${l.label}: ${r}`:l.label;return(0,t.jsxs)("span",{title:n,className:"inline-flex items-center gap-1 rounded-full border border-zinc-300 bg-zinc-50 px-2 py-0.5 text-xs text-zinc-700",children:[(0,t.jsx)("span",{"aria-hidden":!0,children:l.symbol}),(0,t.jsx)("span",{className:"tabular-nums",children:a})]})}function m({reactions:e}){if(!e||0===e.length)return null;let a=[...e].sort((e,t)=>t.count!==e.count?t.count-e.count:e.type.localeCompare(t.type));return(0,t.jsx)("div",{className:"mt-1 flex flex-wrap items-center gap-1",children:a.map(e=>(0,t.jsx)(p,{type:e.type,count:e.count,participantIds:e.participantIds},e.type))})}var h=e.i(2263),x=e.i(64913);function f({attachments:e,compact:a=!1}){if(0===e.length)return null;let s=e.filter(e=>e.mimeType.startsWith("image/")),l=e.filter(e=>!e.mimeType.startsWith("image/")),r=a?"max-w-[120px]":"max-w-[240px]",n=a?"max-h-[90px]":"max-h-[180px]";return(0,t.jsxs)("div",{className:"mt-2 space-y-2",children:[s.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.map(e=>(0,t.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden border border-slate-200 hover:border-slate-300 transition-colors",children:(0,t.jsx)("img",{src:e.url,alt:e.filename,className:`${r} ${n} object-cover`,loading:"lazy"})},e.id))}),l.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.map(e=>{var s;return(0,t.jsxs)("a",{href:e.url,download:e.filename,className:`inline-flex items-center gap-1.5 rounded-md border border-slate-200 bg-slate-50 text-slate-600 hover:bg-slate-100 hover:border-slate-300 transition-colors ${a?"px-2 py-0.5 text-[11px]":"px-2.5 py-1 text-xs"}`,children:[(0,t.jsx)(h.FileText,{className:`text-slate-400 shrink-0 ${a?"w-3 h-3":"w-3.5 h-3.5"}`}),(0,t.jsx)("span",{className:`truncate ${a?"max-w-[100px]":"max-w-[150px]"}`,children:e.filename}),(0,t.jsx)("span",{className:"text-slate-400 shrink-0",children:(s=e.size)<1024?`${s}B`:s<1048576?`${(s/1024).toFixed(0)}KB`:`${(s/1048576).toFixed(1)}MB`}),(0,t.jsx)(x.Download,{className:`text-slate-400 shrink-0 ${a?"w-2.5 h-2.5":"w-3 h-3"}`})]},e.id)})})]})}var g=e.i(64911),b=e.i(64049),v=e.i(41157);let j=(0,v.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);var w=e.i(50792);function y({message:e,participantName:a,participantColor:s,participantId:l,onReply:r,onOpenThread:n,onSummarize:i,summarizing:u,isRoot:p=!1,highlighted:x=!1,hideUserAvatarAndName:v=!1}){let y,k="user"===e.role,N=(0,w.stripMarkers)(e.content);return N||e.attachments?.length?(0,t.jsxs)("div",{className:`flex gap-4 group transition-colors ${!p?"py-4":""} ${x?"rounded-lg bg-amber-50/90 px-2 -mx-2 ring-1 ring-amber-200":""}`,children:[!(k&&v)&&(l&&!k?(0,t.jsx)(o.default,{href:`/agents/${l}`,className:"w-9 h-9 rounded-full flex items-center justify-center shrink-0 bg-slate-100 overflow-hidden hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(l,36,s),alt:"",className:"w-full h-full object-cover"})}):(0,t.jsx)("div",{className:`w-9 h-9 rounded-full flex items-center justify-center shrink-0 ${k?"bg-slate-200 text-slate-600":"bg-slate-100 overflow-hidden"}`,children:(0,t.jsx)(b.User,{className:"w-5 h-5"})})),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[!(k&&v)&&(!k&&l?(0,t.jsx)(o.default,{href:`/agents/${l}`,className:"font-bold text-[15px] hover:underline",style:s?{color:s}:{},children:a||"Unknown"}):(0,t.jsx)("span",{className:"font-bold text-[15px]",children:k?"You":a||"Unknown"})),(0,t.jsx)("span",{className:"text-xs text-slate-400 font-medium",children:(y=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(y))})]}),(0,t.jsxs)("div",{className:`text-[15px] text-slate-800 leading-relaxed ${k?"cursor-pointer hover:bg-slate-50/50 transition-colors rounded p-1 -mx-1":""}`,onClick:()=>{k&&n&&n(e.id)},children:[(0,t.jsx)(d.Markdown,{content:N,isUser:k}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(f,{attachments:e.attachments})]}),p&&(0,t.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,t.jsx)(m,{reactions:e.reactions}),r&&!k&&(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.id),className:"flex items-center gap-1.5 px-2.5 py-1 text-slate-500 hover:text-slate-800 rounded-full hover:bg-slate-50 transition-colors text-xs font-semibold",children:[(0,t.jsx)(g.MessageSquare,{className:"w-3 h-3"}),"Reply"]}),i&&(0,t.jsxs)("button",{type:"button",onClick:()=>i(e.id),disabled:u,className:"flex items-center gap-1.5 px-2.5 py-1 text-slate-500 hover:text-slate-800 rounded-full hover:bg-slate-50 transition-colors text-xs font-semibold disabled:opacity-50 disabled:cursor-not-allowed",children:[u?(0,t.jsx)(j,{className:"w-3 h-3 animate-spin"}):(0,t.jsx)(h.FileText,{className:"w-3 h-3"}),u?"Summarizing…":"Summarize"]})]})]})]}):null}function k(){return(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px] ml-1",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-zinc-400 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})}function N({participantId:e,participantName:a,participantColor:s,content:l}){let r=(0,w.stripMarkers)(l),n=r.length>0;return(0,t.jsxs)("div",{className:"flex gap-4 py-4 group transition-colors animate-in fade-in slide-in-from-bottom-2 duration-300",children:[(0,t.jsx)(o.default,{href:`/agents/${e}`,className:"w-9 h-9 rounded-full bg-slate-100 overflow-hidden shrink-0 shadow-sm border border-slate-100 hover:ring-2 hover:ring-blue-300 transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e,36,s),alt:"",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2 mb-1",children:[(0,t.jsx)(o.default,{href:`/agents/${e}`,className:"font-bold text-[15px] hover:underline",style:{color:s},children:a}),(0,t.jsx)("span",{className:"text-[10px] uppercase tracking-wider text-slate-400 font-bold opacity-0 group-hover:opacity-100 transition-opacity",children:"Streaming"})]}),(0,t.jsx)("div",{className:"text-[15px] text-slate-800 leading-relaxed min-h-[1.5rem] flex items-center",children:n?(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(d.Markdown,{content:r}),(0,t.jsx)("span",{className:"inline-flex items-baseline ml-0.5",children:(0,t.jsx)("span",{className:"w-1 h-1 rounded-full bg-indigo-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"})})]}):(0,t.jsxs)("div",{className:"flex items-center gap-2 text-slate-400 italic",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"working"}),(0,t.jsx)(k,{})]})})]})]})}var C=e.i(35189),I=e.i(35312),S=e.i(15875),M=e.i(39090),$=e.i(66638),T=e.i(20709);let z=(0,v.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var A=e.i(64714);let P=A.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741";async function D(){let e=await fetch(`${P}/api/projects`);if(!e.ok){if(503===e.status)throw Error("SCHEMA_NOT_READY");throw Error(`Failed to list projects: ${e.status}`)}let t=await e.json();return t.projects??t}async function E(e,t){let a=await fetch(`${P}/api/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,description:t})});if(!a.ok)throw Error(`Failed to create project: ${a.status}`);return a.json()}async function R(e,t){let a=await fetch(`${P}/api/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,...t})});if(!a.ok)throw Error(`Failed to create task: ${a.status}`);let s=await a.json(),l=s.task??s;return s.id&&!l.id&&(l.id=s.id),l}async function O(e){let t=await fetch(`${P}/api/tasks/${e}`);if(!t.ok)return null;let a=await t.json();return a.task??a}async function U(e,t,a,s){let l=[],r={...s},n=new Map((function(e){let t=new Set(e.map(e=>e.id)),a=new Map;for(let s of e)a.set(s.id,(s.dependsOn||[]).filter(e=>t.has(e)));let s=[],l=new Set,r=new Set;for(let t of e)!function t(n){if(!l.has(n)&&!r.has(n)){for(let e of(r.add(n),a.get(n)||[]))t(e);r.delete(n),l.add(n),s.push(e.find(e=>e.id===n))}}(t.id);return s})(e).map(e=>[e.id,e]));for(;n.size>0;){let e=[];for(let t of n.values())(t.dependsOn||[]).every(e=>!n.has(e)||r[e])&&e.push(t);0===e.length&&e.push(...n.values());let a=await Promise.allSettled(e.map(async e=>{let a=r[e.id];if(a&&await O(a))return{task:e,remoteId:a};let s=(e.dependsOn||[]).map(e=>r[e]).filter(Boolean),l=await R(e.description,{title:e.title,project_id:t,depends_on:s.length>0?s:void 0});return{task:e,remoteId:l.id}}));for(let t of a)if("fulfilled"===t.status){let{task:e,remoteId:a}=t.value;r[e.id]=a,l.push({clientTaskId:e.id,remoteTaskId:a,status:"created"}),n.delete(e.id)}else{let s=e[a.indexOf(t)];l.push({clientTaskId:s.id,status:"failed",error:t.reason instanceof Error?t.reason.message:"Unknown error"}),n.delete(s.id)}}return{buildId:a,projectId:t,results:l}}let L=(0,v.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);var F=e.i(986);function _({onSelect:e,onClose:s}){let[l,r]=(0,a.useState)([]),[n,i]=(0,a.useState)(!0),[o,d]=(0,a.useState)(null),[c,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(""),[h,x]=(0,a.useState)(!1);(0,a.useEffect)(()=>{(async()=>{try{let e=await D();r(e)}catch(e){e instanceof Error&&"SCHEMA_NOT_READY"===e.message?d("agx-cloud database not ready. Run migrations first."):d("Failed to load projects. Is agx-cloud running?")}finally{i(!1)}})()},[]);let f=(0,a.useCallback)(async()=>{let t=p.trim();if(t){u(!0);try{let a=await E(t);e(a.id,a.name)}catch(e){d("Failed to create project")}finally{u(!1)}}},[p,e]);return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/20 backdrop-blur-sm",children:(0,t.jsxs)("div",{className:"bg-white rounded-2xl shadow-xl border border-slate-200 w-full max-w-sm mx-4 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-slate-100",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(L,{className:"w-4 h-4 text-slate-500"}),(0,t.jsx)("h3",{className:"text-sm font-bold text-slate-900",children:"Select Project"})]}),(0,t.jsx)("button",{type:"button",onClick:s,className:"p-1 text-slate-400 hover:text-slate-600 rounded-md hover:bg-slate-100",children:(0,t.jsx)(T.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{className:"p-4 max-h-64 overflow-y-auto",children:[n&&(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(j,{className:"w-5 h-5 text-slate-400 animate-spin"})}),o&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-amber-50 rounded-lg text-amber-700 text-xs font-medium",children:[(0,t.jsx)(F.AlertTriangle,{className:"w-4 h-4 shrink-0"}),o]}),!n&&!o&&0===l.length&&(0,t.jsx)("p",{className:"text-xs text-slate-500 text-center py-4",children:"No projects found. Create one below."}),!n&&l.map(a=>(0,t.jsxs)("button",{type:"button",onClick:()=>e(a.id,a.name),className:"w-full text-left px-3 py-2.5 rounded-lg hover:bg-slate-50 transition-colors flex items-center gap-3 group",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center shrink-0",children:(0,t.jsx)(L,{className:"w-4 h-4 text-slate-400 group-hover:text-slate-600"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-800 truncate",children:a.name}),a.description&&(0,t.jsx)("div",{className:"text-[11px] text-slate-500 truncate",children:a.description})]})]},a.id))]}),(0,t.jsx)("div",{className:"px-4 pb-4 pt-2 border-t border-slate-100",children:h?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",value:p,onChange:e=>m(e.target.value),onKeyDown:e=>"Enter"===e.key&&f(),placeholder:"Project name",autoFocus:!0,className:"flex-1 h-8 px-3 text-sm border border-slate-200 rounded-lg outline-none focus:ring-1 focus:ring-slate-300"}),(0,t.jsx)("button",{type:"button",onClick:f,disabled:c||!p.trim(),className:"h-8 px-3 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-lg disabled:opacity-40",children:c?"…":"Create"}),(0,t.jsx)("button",{type:"button",onClick:()=>x(!1),className:"h-8 px-2 text-slate-400 hover:text-slate-600",children:(0,t.jsx)(T.X,{className:"w-3.5 h-3.5"})})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>x(!0),className:"flex items-center gap-1.5 text-xs font-bold text-slate-500 hover:text-slate-700",children:[(0,t.jsx)($.Plus,{className:"w-3.5 h-3.5"}),"Create new project"]})})]})})}function W({draft:e,onUpdate:s,onBuild:l,building:r}){let[n,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(!1),c=(0,a.useCallback)((t,a)=>{let l=e.tasks.map(e=>e.id===t?{...e,...a}:e);s({...e,tasks:l,revision:e.revision+1})},[e,s]),u=(0,a.useCallback)(t=>{let a=e.tasks.filter(e=>e.id!==t);s({...e,tasks:a,revision:e.revision+1})},[e,s]),p=(0,a.useCallback)(()=>{let t={id:crypto.randomUUID(),title:"New task",description:"Add description..."};s({...e,tasks:[...e.tasks,t],revision:e.revision+1})},[e,s]),m=(0,a.useCallback)(()=>{d(!0)},[]),h=(0,a.useCallback)((t,a)=>{d(!1),l(e,t,a)},[e,l]),x="idle"===e.buildStatus||!e.buildStatus;return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-slate-50/80 rounded-2xl border border-slate-100 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-slate-400",children:"Tasks"})]}),(0,t.jsxs)("span",{className:"text-[11px] font-bold text-slate-500",children:[e.tasks.length," task",1!==e.tasks.length?"s":""]})]}),(0,t.jsx)("div",{className:"space-y-1 mb-4",children:e.tasks.map(e=>{let a=n===e.id;return(0,t.jsxs)("div",{className:"group",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 py-1.5 px-2 rounded-lg hover:bg-white/60 transition-colors",children:[x&&(0,t.jsx)(I.GripVertical,{className:"w-3.5 h-3.5 text-slate-300 opacity-0 group-hover:opacity-100 cursor-grab shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(a?null:e.id),className:"shrink-0 text-slate-400 hover:text-slate-600",children:a?(0,t.jsx)(S.ChevronDown,{className:"w-3.5 h-3.5"}):(0,t.jsx)(M.ChevronRight,{className:"w-3.5 h-3.5"})}),x?(0,t.jsx)("input",{type:"text",value:e.title,onChange:t=>c(e.id,{title:t.target.value}),className:"flex-1 text-xs font-semibold text-slate-700 bg-transparent border-none outline-none focus:ring-0 p-0"}):(0,t.jsx)("span",{className:"flex-1 text-xs font-semibold text-slate-700",children:e.title}),x&&(0,t.jsx)("button",{type:"button",onClick:()=>u(e.id),className:"shrink-0 text-slate-300 hover:text-rose-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,t.jsx)(T.X,{className:"w-3.5 h-3.5"})})]}),a&&(0,t.jsx)("div",{className:"ml-9 mr-2 mb-2",children:x?(0,t.jsx)("textarea",{value:e.description,onChange:t=>c(e.id,{description:t.target.value}),rows:4,className:"w-full text-xs text-slate-500 bg-white/80 border border-slate-200 rounded-lg p-2 outline-none focus:ring-1 focus:ring-slate-300 resize-y"}):(0,t.jsx)("p",{className:"text-xs text-slate-500 whitespace-pre-wrap",children:e.description})})]},e.id)})}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[x&&(0,t.jsxs)("button",{type:"button",onClick:p,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-bold text-slate-500 hover:text-slate-700 rounded-full border border-dashed border-slate-300 hover:border-slate-400 transition-all",children:[(0,t.jsx)($.Plus,{className:"w-3 h-3"}),"Add task"]}),(0,t.jsx)("div",{className:"flex-1"}),x&&(0,t.jsxs)("button",{type:"button",onClick:m,disabled:r||0===e.tasks.length,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(z,{className:"w-3 h-3"}),r?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsx)(_,{onSelect:h,onClose:()=>d(!1)})]})}let q=new Set(["completed","done","failed","blocked"]);var B=e.i(69826),H=e.i(38783);let V=(0,v.default)("ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]]);var J=e.i(54003);let K={queued:(0,t.jsx)(H.Circle,{className:"w-4 h-4 text-slate-300"}),pending:(0,t.jsx)(H.Circle,{className:"w-4 h-4 text-slate-300"}),in_progress:(0,t.jsx)(j,{className:"w-4 h-4 text-blue-500 animate-spin"}),running:(0,t.jsx)(j,{className:"w-4 h-4 text-blue-500 animate-spin"}),blocked:(0,t.jsx)(V,{className:"w-4 h-4 text-amber-500"}),completed:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),done:(0,t.jsx)(B.CheckCircle2,{className:"w-4 h-4 text-emerald-500"}),failed:(0,t.jsx)(J.XCircle,{className:"w-4 h-4 text-rose-500"})};function X({draft:e,onPush:s,pushing:l}){let[r,n]=(0,a.useState)(!1),{tasks:i,error:o}=function({projectId:e,enabled:t,interval:s=3e4}){let[l,r]=(0,a.useState)([]),[n,i]=(0,a.useState)(null),o=(0,a.useRef)(0),d=(0,a.useRef)([]),c=(0,a.useCallback)(async()=>{if(e&&"undefined"!==e)try{let t=A.default.env.NEXT_PUBLIC_AGX_BOARD_URL||"http://localhost:41741",a=await fetch(`${t}/api/tasks?project=${e}`);if(!a.ok)throw Error(`Poll failed: ${a.status}`);let s=await a.json(),l=s.tasks??s;d.current=l,r(l),i(null)}catch(e){i(e instanceof Error?e.message:"Poll failed")}},[e]);return(0,a.useEffect)(()=>{if(!t||!e)return;o.current=Date.now(),c();let a=setInterval(()=>{Date.now()-o.current>18e5||d.current.length>0&&d.current.every(e=>q.has(e.status))?clearInterval(a):c()},s);return()=>clearInterval(a)},[t,e,s,c]),{tasks:l,error:n,refetch:c}}({projectId:e.projectId??null,enabled:!!e.projectId&&"done"===e.buildStatus}),d=new Map;if(e.builtTaskIds)for(let[t,a]of Object.entries(e.builtTaskIds)){let e=i.find(e=>e.id===a);e&&d.set(t,e)}let c=e.tasks.filter(e=>{let t=d.get(e.id);return t&&("completed"===t.status||"done"===t.status)}).length,u=e.tasks.length>0?c/e.tasks.length:0,p=(0,a.useCallback)(()=>{e.projectId&&e.projectName?s?.(e,e.projectId,e.projectName):n(!0)},[e,s]),m=(0,a.useCallback)((t,a)=>{n(!1),s?.(e,t,a)},[e,s]);e.tasks.some(t=>!e.builtTaskIds?.[t.id]);let h=e.tasks.some(e=>{let t=d.get(e.id);return t&&"queued"!==t.status&&"pending"!==t.status});return(0,t.jsxs)("div",{className:"mt-6 p-4 bg-slate-50/80 rounded-2xl border border-slate-100 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.Zap,{className:"w-3.5 h-3.5 text-amber-500 fill-amber-500"}),(0,t.jsx)("span",{className:"text-[10px] font-extrabold uppercase tracking-widest text-slate-400",children:"Tasks"}),e.projectName&&(0,t.jsxs)("span",{className:"text-[10px] font-semibold text-slate-400",children:["· ",e.projectName]})]}),(0,t.jsxs)("span",{className:"text-[11px] font-bold text-slate-600",children:[c,"/",e.tasks.length," Complete"]})]}),(0,t.jsx)("div",{className:"space-y-3 mb-4",children:e.tasks.map(e=>{let a=d.get(e.id),s=a?.status||"queued",l=K[s]||K.queued;return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[l,(0,t.jsx)("span",{className:`text-xs font-semibold ${"completed"===s||"done"===s?"text-slate-600":"text-slate-500"}`,children:e.title})]},e.id)})}),(0,t.jsx)("div",{className:"h-1.5 w-full bg-slate-200 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-emerald-500 rounded-full shadow-[0_0_8px_rgba(16,185,129,0.4)] transition-all duration-500",style:{width:`${Math.round(100*u)}%`}})}),s&&!h&&(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:["partial_failure"===e.buildStatus&&(0,t.jsx)("span",{className:"text-[11px] text-amber-600 font-semibold",children:"Some tasks failed to push."}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("button",{type:"button",onClick:p,disabled:l,className:"flex items-center gap-1.5 px-4 py-1.5 text-xs font-bold text-white bg-slate-900 hover:bg-slate-800 rounded-full shadow-sm transition-all disabled:opacity-40 disabled:cursor-not-allowed",children:[(0,t.jsx)(z,{className:"w-3 h-3"}),l?"Pushing…":"Push to agx"]})]}),o&&(0,t.jsxs)("div",{className:"mt-2 text-[11px] text-amber-600 font-medium",children:["Status polling error: ",o]}),r&&(0,t.jsx)(_,{onSelect:m,onClose:()=>n(!1)})]})}var Y=e.i(195),Z=e.i(59853),G=e.i(84778),Q=e.i(14670);let ee=(0,v.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),et=(0,v.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),ea=(0,v.default)("at-sign",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]]),es=(0,v.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),el=[{value:"thinking",label:"Thinking",color:"#f59e0b"},{value:"converged",label:"Converged",color:"#10b981"},{value:"resolved",label:"Resolved",color:"#3b82f6"},{value:"in-review",label:"In Review",color:"#6b7280"},{value:"archived",label:"Archived",color:"#9ca3af"},{value:"paused",label:"Paused",color:"#f97316"}],er=new Set(["resolved","in-review","archived"]),en="<!-- thread-summary -->";function ei({messages:e,streaming:s,participants:l,onOpenThread:r,onCopyThread:n,onAddToChat:i,onDeleteThreadRoot:u,onSummarize:p,onCreateTasks:m,onUpdateTaskDraft:h,onBuildTasks:x,summarizingThreads:v,extractingTasks:k,buildingDrafts:C,taskDrafts:I,deletingThreadRootId:S,highlightedMessageId:M,onUpdateMessageThreadStatus:$,onUpdateMessageOutcomeNote:T,shipModeThreads:z}){let A=(0,a.useRef)(new Map),[P,D]=(0,a.useState)(null),[E,R]=(0,a.useState)("active"),O=Object.fromEntries(l.map(e=>[e.id,e])),U=(0,a.useMemo)(()=>[...e.filter(e=>!e.rootMessageId)].reverse(),[e]),L={active:new Set(["thinking","converged"]),paused:new Set(["paused"]),"in-review":new Set(["in-review"]),resolved:new Set(["resolved"]),archived:new Set(["archived"])},F=(0,a.useMemo)(()=>U.filter(e=>L[E].has(e.threadStatus??"thinking")),[U,E]),_=(0,a.useMemo)(()=>({active:U.filter(e=>L.active.has(e.threadStatus??"thinking")).length,paused:U.filter(e=>L.paused.has(e.threadStatus??"thinking")).length,"in-review":U.filter(e=>L["in-review"].has(e.threadStatus??"thinking")).length,resolved:U.filter(e=>L.resolved.has(e.threadStatus??"thinking")).length,archived:U.filter(e=>L.archived.has(e.threadStatus??"thinking")).length}),[U]),q=(0,a.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=a.rootMessageId;if(!e)continue;let s=t.get(e);s||(s={rootMessageId:e,replyCount:0,participants:[],lastActivityAt:0,previewReplies:[],allReplies:[]},t.set(e,s)),s.replyCount++,s.lastActivityAt=Math.max(s.lastActivityAt,a.timestamp),s.lastReply=a,s.allReplies.push(a),a.participantId&&!s.participants.includes(a.participantId)?s.participants.push(a.participantId):a.participantId||s.participants.includes("user")||s.participants.push("user")}for(let e of t.values())e.allReplies.sort((e,t)=>e.timestamp-t.timestamp),e.previewReplies=[...e.allReplies],e.previewReplies.length>2&&(e.previewReplies=e.previewReplies.slice(-2));return t})(e),[e]),B=(0,a.useCallback)((e,t)=>{t?A.current.set(e,t):A.current.delete(e)},[]),H=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(!M){H.current=null;return}if(M===H.current)return;H.current=M;let e=A.current.get(M);e&&e.scrollIntoView({behavior:"smooth",block:"center"})},[M,e]),(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[U.length>0&&(0,t.jsx)("div",{className:"max-w-2xl mx-auto flex items-center gap-1 mb-4 border-b border-slate-100 pb-2",children:[{key:"active",label:"Active"},{key:"paused",label:"Paused"},{key:"in-review",label:"In Review"},{key:"resolved",label:"Resolved"},{key:"archived",label:"Archived"}].map(e=>{let a=_[e.key],s=E===e.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>R(e.key),className:`px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${s?"bg-slate-900 text-white":"text-slate-400 hover:text-slate-600 hover:bg-slate-50"}`,children:[e.label,a>0&&(0,t.jsx)("span",{className:"ml-1.5 text-[10px] text-slate-300",children:a})]},e.key)})}),0===U.length&&0===Object.keys(s).length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center text-slate-400 mt-32 space-y-3",children:[(0,t.jsx)(g.MessageSquare,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("span",{className:"text-sm font-medium tracking-wide",children:"Start a workspace"})]}),U.length>0&&0===F.length&&(0,t.jsx)("div",{className:"flex flex-col items-center justify-center text-slate-400 mt-16 space-y-2",children:(0,t.jsxs)("span",{className:"text-sm font-medium",children:["No ",E," threads"]})}),F.map(e=>{let a,l=e.participantId?O[e.participantId]:null,A=q.get(e.id),E=S===e.id,R=A?.allReplies.find(e=>e.content.startsWith(en)),U=R?R.content.slice(en.length).trim():null,L=(A?.previewReplies||[]).filter(e=>!e.content.startsWith(en)),F=e.threadStatus??"thinking",_=er.has(F),H=el.find(e=>e.value===F)??el[0],V=Object.values(s).some(t=>t.rootMessageId===e.id);if(_){let a;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"max-w-2xl mx-auto bg-slate-50 rounded-xl border border-slate-200 mb-3 group transition-all hover:border-slate-300 relative cursor-pointer",onClick:()=>r?.(e.id),children:(0,t.jsxs)("div",{className:"px-4 py-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(Z.Hash,{className:"w-3.5 h-3.5 text-slate-400 shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-medium text-slate-500 truncate flex-1",children:(0,w.stripMarkers)(e.content.split("\n")[0])}),z?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium shrink-0",title:"Ship Mode active",children:[(0,t.jsx)(es,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium shrink-0",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]}),e.outcomeNote&&(0,t.jsx)("span",{className:"text-[11px] text-slate-400 truncate max-w-[200px]",children:e.outcomeNote}),(0,t.jsx)("span",{className:"text-[10px] text-slate-400 shrink-0",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e.timestamp)}),$&&(a=P===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-white",style:{borderColor:H.color+"40",color:H.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:H.color}}),H.label]}),a&&(0,t.jsx)("div",{className:"absolute top-full right-0 mt-1 z-50 bg-white border border-slate-200 rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===F?"bg-indigo-50 text-indigo-700":"text-slate-600 hover:bg-slate-50"}`,onClick:t=>{t.stopPropagation(),$(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value))})]})),A&&A.replyCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-slate-400 shrink-0",children:[A.replyCount," replies"]})]}),(U||I?.[e.id])&&(0,t.jsxs)("div",{className:"mt-1.5 pl-6 flex flex-col gap-1",children:[U&&(0,t.jsx)("div",{className:"text-sm text-slate-600 leading-relaxed prose prose-sm prose-slate max-w-none",children:(0,t.jsx)(d.Markdown,{content:U,isUser:!1})}),I?.[e.id]&&I[e.id].tasks.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-slate-400 flex items-center gap-1",children:[(0,t.jsx)(ee,{className:"w-3 h-3"}),I[e.id].tasks.length," ",1===I[e.id].tasks.length?"task":"tasks"]})]})]})},e.id)}return(0,t.jsxs)("div",{className:"max-w-2xl mx-auto bg-white rounded-2xl border border-slate-200 shadow-sm overflow-hidden mb-6 group transition-all hover:border-slate-300 relative",children:[(n||i||u)&&(0,t.jsxs)("div",{className:"absolute top-4 right-4 z-10 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[i&&(0,t.jsx)("button",{type:"button",onClick:()=>i(e.id),className:"p-1.5 text-slate-400 hover:bg-indigo-50 hover:text-indigo-600 rounded-md transition-colors",title:"Mention in chat",children:(0,t.jsx)(ea,{className:"w-3.5 h-3.5"})}),(0,t.jsx)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(e.id)},className:"p-1.5 text-slate-400 hover:bg-slate-100 rounded-md transition-colors",title:"Copy message ID",children:(0,t.jsx)(et,{className:"w-3.5 h-3.5"})}),n&&(0,t.jsx)("button",{type:"button",onClick:()=>n(e.id),className:"p-1.5 text-slate-400 hover:bg-slate-100 rounded-md transition-colors",title:"Copy thread as markdown",children:(0,t.jsx)(Y.Copy,{className:"w-3.5 h-3.5"})}),u&&(0,t.jsx)("button",{type:"button",onClick:()=>u(e.id),disabled:E,className:"p-1.5 text-slate-400 hover:bg-rose-50 hover:text-rose-600 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Delete this thread",children:E?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(G.Trash2,{className:"w-3.5 h-3.5"})})]}),(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"p-5",children:(0,t.jsxs)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex gap-3 mb-4",children:["user"!==e.role&&(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"w-10 h-10 rounded-full bg-slate-100 overflow-hidden border border-slate-100 shadow-sm flex items-center justify-center shrink-0 hover:ring-2 hover:ring-blue-300 transition-shadow",children:l?(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(l.id,40,l.color),alt:l.name,className:"w-full h-full object-cover"}):(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e.participantId||"assistant",40),alt:e.participantId||"Assistant",className:"w-full h-full object-cover"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:["user"!==e.role&&(0,t.jsx)("div",{className:"flex items-center gap-2 mb-0.5",children:(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-slate-900 hover:underline",children:l?.name||e.participantId||"Assistant"})}),(0,t.jsxs)("div",{className:"cursor-pointer group/msg-title mb-1",onClick:()=>r?.(e.id),children:[(0,t.jsx)("h3",{className:"text-lg font-bold text-slate-900 leading-tight group-hover/msg-title:text-indigo-600 transition-colors line-clamp-1",children:(0,w.stripMarkers)(e.content.split("\n")[0])}),(0,t.jsxs)("div",{className:"mt-1 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[11px] font-medium text-slate-400",children:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(e.timestamp)}),$&&(a=P===e.id,(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:t=>{t.stopPropagation(),D(a?null:e.id)},className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded-full text-[10px] font-semibold border transition-colors hover:bg-slate-50",style:{borderColor:H.color+"40",color:H.color},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:H.color}}),H.label]}),a&&(0,t.jsxs)("div",{className:"absolute top-full left-0 mt-1 z-50 bg-white border border-slate-200 rounded-lg shadow-lg p-1 min-w-[8.5rem]",onClick:e=>e.stopPropagation(),children:[el.map(a=>(0,t.jsxs)("button",{type:"button",className:`flex items-center gap-2 w-full px-2 py-1.5 rounded-md text-xs font-medium transition-colors ${a.value===F?"bg-indigo-50 text-indigo-700":"text-slate-600 hover:bg-slate-50"}`,onClick:t=>{t.stopPropagation(),$(e.id,a.value),D(null)},children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.label]},a.value)),"converged"===F&&T&&(0,t.jsx)("div",{className:"px-2 py-1.5 border-t border-slate-100 mt-1",children:(0,t.jsx)("input",{type:"text",className:"w-full border border-slate-200 rounded px-2 py-1 text-[11px] text-slate-700 outline-none focus:border-indigo-400",placeholder:"Outcome note…",defaultValue:e.outcomeNote??"",onClick:e=>e.stopPropagation(),onKeyDown:t=>{"Enter"===t.key&&(T(e.id,t.target.value),D(null))},onBlur:t=>{t.target.value!==(e.outcomeNote??"")&&T(e.id,t.target.value)}})})]})]})),z?.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-indigo-500 font-medium",title:"Ship Mode active",children:[(0,t.jsx)(es,{size:11,style:{animation:"shipPulse 2s ease-in-out infinite"}}),"Ship"]}),V&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] text-green-600 font-medium",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-400 animate-pulse"}),"Working"]})]}),(e.content.length>80||e.content.includes("\n"))&&(0,t.jsx)("div",{className:"mt-2 text-[15px] text-slate-600 leading-relaxed line-clamp-3",children:(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(e.content.split("\n").slice(1).join("\n").trimStart()),isUser:"user"===e.role})})]})]})]}),e.attachments&&e.attachments.length>0&&(0,t.jsx)("div",{className:`mb-4 ${"user"!==e.role?"ml-[52px]":""}`,children:(0,t.jsx)(f,{attachments:e.attachments,compact:!0})}),U&&(0,t.jsx)("div",{className:"mb-4 text-sm text-slate-600 leading-relaxed",children:(0,t.jsx)(d.Markdown,{content:U,isUser:!1})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[p&&A&&A.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>p(e.id),disabled:v?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-white border border-slate-200 rounded-full text-xs font-bold text-slate-600 hover:bg-slate-50 transition-colors shadow-sm disabled:opacity-50",children:[v?.has(e.id)?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin text-slate-400"}):(0,t.jsx)(Q.Clock,{className:"w-3.5 h-3.5 text-slate-400"}),v?.has(e.id)?"Summarizing…":"Summarize"]}),m&&A&&A.replyCount>0&&(0,t.jsxs)("button",{type:"button",onClick:()=>m(e.id),disabled:k?.has(e.id),className:"flex items-center gap-1.5 px-3 py-1.5 bg-white border border-slate-200 rounded-full text-xs font-bold text-slate-600 hover:bg-slate-50 transition-colors shadow-sm disabled:opacity-50",children:[k?.has(e.id)?(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin text-slate-400"}):(0,t.jsx)(ee,{className:"w-3.5 h-3.5 text-slate-400"}),k?.has(e.id)?"Extracting…":I?.[e.id]?"Re-extract tasks":"Create tasks"]}),A&&A.replyCount>0&&r&&(0,t.jsxs)("button",{type:"button",onClick:()=>r(e.id),className:"flex items-center gap-2 px-3 py-1.5 bg-slate-50 border border-slate-100 rounded-full text-xs font-bold text-slate-500 hover:bg-slate-100 transition-colors",children:[(0,t.jsx)("div",{className:"flex -space-x-1.5",children:A.participants.slice(0,3).map(e=>{if("user"===e)return(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-slate-200 flex items-center justify-center ring-1 ring-white",children:(0,t.jsx)(b.User,{className:"w-2.5 h-2.5 text-slate-400"})},"user");let a=O[e];return a?(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e,16,a.color),alt:a.name,className:"w-4 h-4 rounded-full ring-1 ring-white"},e):(0,t.jsx)("div",{className:"w-4 h-4 rounded-full bg-slate-200 ring-1 ring-white"},e)})}),(0,t.jsxs)("span",{children:[A.replyCount," replies"]})]})]}),I?.[e.id]&&(I[e.id].builtTaskIds&&Object.keys(I[e.id].builtTaskIds).length>0?(0,t.jsx)(X,{draft:I[e.id],onPush:(t,a,s)=>x?.(e.id,t,a,s),pushing:C?.has(I[e.id].draftId)}):(0,t.jsx)(W,{draft:I[e.id],onUpdate:t=>h?.(e.id,t),onBuild:(t,a,s)=>x?.(e.id,t,a,s),building:C?.has(I[e.id].draftId)})),k?.has(e.id)&&(0,t.jsxs)("div",{className:"mt-4 flex items-center gap-2 text-xs text-slate-400",children:[(0,t.jsx)(j,{className:"w-3.5 h-3.5 animate-spin"}),(0,t.jsx)("span",{children:"Extracting tasks…"})]})]})}),!U&&A&&A.replyCount>0&&(0,t.jsx)("div",{className:"p-6 pt-0 border-t border-slate-100 bg-slate-50/10",children:(0,t.jsxs)("div",{className:"pt-4 max-h-[320px] overflow-hidden relative",children:[A.replyCount>L.length&&(0,t.jsxs)("div",{className:"flex items-center gap-4 mb-4",children:[(0,t.jsx)("div",{className:"flex-1 h-px bg-slate-100"}),(0,t.jsxs)("button",{onClick:()=>r?.(e.id),className:"flex items-center gap-2 text-[11px] font-bold uppercase tracking-wider text-slate-400 hover:text-indigo-600 transition-colors shrink-0",children:[(0,t.jsx)(g.MessageSquare,{className:"w-3.5 h-3.5"}),(0,t.jsxs)("span",{children:["Show ",A.replyCount-L.length," more ",A.replyCount-L.length==1?"reply":"replies"]})]}),(0,t.jsx)("div",{className:"flex-1 h-px bg-slate-100"})]}),(0,t.jsx)("div",{className:"space-y-1",children:L.map(e=>{let a=e.participantId?O[e.participantId]:null;return(0,t.jsx)("div",{ref:t=>B(e.id,t),"data-message-id":e.id,children:(0,t.jsx)(y,{isRoot:!1,message:e,participantName:a?.name||e.participantId||"Assistant",participantColor:a?.color,participantId:a?.id||e.participantId||void 0,onOpenThread:r,highlighted:e.id===M})},e.id)})}),(0,t.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-16 bg-gradient-to-t from-slate-50 via-slate-50/80 to-transparent pointer-events-none z-10"})]})}),Object.entries(s).filter(([,t])=>t.rootMessageId===e.id).map(([e,a])=>{let s=O[e];return(0,t.jsx)("div",{className:"px-6 pb-4",children:(0,t.jsx)(N,{participantId:e,participantName:s?.name||e,participantColor:s?.color||"#888",content:a.content})},`streaming-${e}`)})]})]},e.id)})]})})}let eo=(0,v.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"}]]);function ed({messages:e,streaming:s,participants:l,rootMessageId:r,onClose:n,onCopyThread:i,onAddToChat:u,onDeleteThreadRoot:p,highlightedMessageId:h,renderReplyComposer:x,activeProcesses:g=[]}){let v=(0,a.useRef)(null),j=(0,a.useRef)(new Map),y=Object.fromEntries(l.map(e=>[e.id,e])),k=(0,a.useMemo)(()=>{let t=e.find(e=>e.id===r),a=e.filter(e=>e.rootMessageId===r).sort((e,t)=>e.timestamp-t.timestamp);return t?[t,...a]:a},[e,r]),N=(0,a.useRef)(null),C=(0,a.useRef)(!1),I=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:a,clientHeight:s}=e;C.current=a-t-s>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,a.useEffect)(()=>{if(h&&h!==I.current){I.current=h;let e=j.current.get(h);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}else h||C.current||(I.current=null,v.current?.scrollIntoView({behavior:"smooth"}))},[h,k,s]),(0,t.jsxs)("div",{className:"flex flex-col h-full overflow-hidden bg-slate-50",children:[g.length>0&&(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 px-4 py-2 border-b border-slate-200 bg-white/80 backdrop-blur-sm",children:[(0,t.jsx)("span",{className:"text-[11px] text-slate-400 uppercase tracking-wide font-medium",children:"Working"}),(0,t.jsx)("div",{className:"flex items-center -space-x-1.5",children:g.map(e=>{let a=y[e.agentId];return(0,t.jsxs)("div",{className:"relative",title:`${a?.name||e.agentId} — ${e.state}`,children:[(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(e.agentId,24,a?.color),alt:a?.name||e.agentId,className:"w-6 h-6 rounded-full border-2 border-white shadow-sm"}),(0,t.jsx)("span",{className:"absolute -bottom-0.5 -right-0.5 w-2.5 h-2.5 bg-green-400 rounded-full border-2 border-white animate-pulse"})]},e.agentId)})})]}),(0,t.jsx)("div",{ref:N,className:"flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto space-y-8 pb-4",children:[k.map(e=>{let a,s="user"===e.role,l=e.participantId?y[e.participantId]:null;return(0,t.jsxs)("div",{ref:t=>{var a;return a=e.id,void(t?j.current.set(a,t):j.current.delete(a))},"data-message-id":e.id,className:"group relative flex gap-4 ",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:s?(0,t.jsx)("div",{className:"w-10 h-10 bg-slate-200 rounded-full flex items-center justify-center text-slate-600 shadow-sm",children:(0,t.jsx)(b.User,{size:20})}):(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:l?(0,c.agentAvatarUrl)(l.id,40,l.color):(0,c.agentAvatarUrl)(e.participantId||"assistant",40),alt:l?.name||e.participantId||"Assistant",className:"w-10 h-10 rounded-full shadow-sm border border-slate-100 object-cover bg-slate-100"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s?(0,t.jsx)("span",{className:"font-bold text-sm text-slate-900",children:"You"}):(0,t.jsx)(o.default,{href:`/agents/${l?.id||e.participantId||"assistant"}`,className:"font-bold text-sm text-slate-900 hover:underline",style:l?.color?{color:l.color}:void 0,children:l?.name||e.participantId||"Assistant"}),void 0===e.rootMessageId&&e.id===r&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-slate-100 text-slate-500 rounded font-mono uppercase",children:"ROOT"}),(0,t.jsx)("span",{className:"text-[11px] text-slate-400",children:(a=e.timestamp,new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(a))})]}),(0,t.jsxs)("div",{className:`rounded-2xl p-4 text-[15px] leading-relaxed shadow-sm border ${s?"bg-slate-100 text-slate-700 border-slate-200":"bg-white text-slate-700 border-slate-200"} ${e.id===h?"ring-2 ring-indigo-400":""}`,children:[(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(e.content),isUser:s}),e.attachments&&e.attachments.length>0&&(0,t.jsx)(f,{attachments:e.attachments}),e.reactions&&e.reactions.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(m,{reactions:e.reactions})})]}),(0,t.jsxs)("div",{className:"absolute top-8 -right-2 opacity-0 group-hover:opacity-100 transition-opacity flex items-center gap-1 bg-white border border-slate-200 rounded-lg shadow-sm p-1 z-10 translate-x-full",children:[e.id===r&&(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(e.id)},className:"p-1.5 text-slate-400 hover:text-indigo-600 hover:bg-indigo-50 rounded",title:"Copy message ID",children:(0,t.jsx)(et,{size:14})}),e.id===r&&i&&(0,t.jsx)("button",{onClick:()=>i(e.id),className:"p-1.5 text-slate-400 hover:text-slate-600 hover:bg-slate-50 rounded",title:"Copy Thread",children:(0,t.jsx)(eo,{size:14})}),(0,t.jsx)("button",{onClick:()=>{navigator.clipboard.writeText(e.content)},className:"p-1.5 text-slate-400 hover:text-slate-600 hover:bg-slate-50 rounded",title:"Copy as Markdown",children:(0,t.jsx)(Y.Copy,{size:14})}),e.id===r&&p&&(0,t.jsx)("button",{onClick:()=>p(e.id),className:"p-1.5 text-slate-400 hover:text-red-500 hover:bg-red-50 rounded",title:"Delete Thread",children:(0,t.jsx)(G.Trash2,{size:14})})]})]})]},e.id)}),Object.entries(s).filter(([,e])=>e.rootMessageId===r).map(([e,a])=>{let s=y[e],l=a.content.trim().length>0;return(0,t.jsxs)("div",{className:"flex gap-4 group relative",children:[(0,t.jsx)("div",{className:"flex-shrink-0 mt-1",children:(0,t.jsx)(o.default,{href:`/agents/${s?.id||e}`,className:"hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:s?(0,c.agentAvatarUrl)(s.id,40,s.color):(0,c.agentAvatarUrl)(e,40),alt:s?.name||e,className:"w-10 h-10 rounded-full shadow-sm border border-slate-100 object-cover bg-slate-100"})})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5 max-w-full overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.default,{href:`/agents/${s?.id||e}`,className:"font-bold text-sm text-slate-900 hover:underline",style:s?.color?{color:s.color}:void 0,children:s?.name||e}),!l&&(0,t.jsxs)("span",{className:"inline-flex items-center gap-[3px]",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_0.2s_infinite]"}),(0,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-400 animate-[pulse-dot_1.4s_ease-in-out_0.4s_infinite]"})]})]}),l&&(0,t.jsx)("div",{className:"rounded-2xl p-4 text-[15px] leading-relaxed shadow-sm border bg-white text-slate-700 border-slate-200",children:(0,t.jsx)(d.Markdown,{content:(0,w.stripMarkers)(a.content),isUser:!1})})]})]},`streaming-${e}`)}),(0,t.jsx)("div",{ref:v,className:"h-4"})]})}),(0,t.jsx)("div",{className:"z-20",children:x(r)})]})}var ec=e.i(99458);let eu=(0,v.default)("search-x",[["path",{d:"m13.5 8.5-5 5",key:"1cs55j"}],["path",{d:"m8.5 8.5 5 5",key:"a8mexj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);function ep({query:e,results:a,total:s,participants:l,threadTitleById:r,isLoading:n,error:i,onSelectResult:d,headerSlot:u}){let p=Object.fromEntries(l.map(e=>[e.id,e]));return(0,t.jsx)("div",{className:"chat-scrollbar flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto",children:[u?(0,t.jsx)("div",{className:"sticky top-0 z-20 bg-slate-50/70 backdrop-blur-md pt-4 pb-6 px-4 -mx-4 border-b border-transparent transition-colors",children:(0,t.jsx)("div",{className:"max-w-2xl mx-auto",children:u})}):null,(0,t.jsxs)("div",{className:"mb-4 rounded-xl border border-slate-200 bg-white px-4 py-3",children:[(0,t.jsx)("div",{className:"text-sm font-semibold text-slate-700",children:"Search results"}),(0,t.jsx)("div",{className:"mt-1 text-sm text-slate-500",children:n?"Searching…":`${s} result${1===s?"":"s"} for "${e}"`}),i?(0,t.jsx)("div",{className:"mt-2 text-sm text-rose-600",children:i}):null]}),n||i||0!==a.length?null:(0,t.jsxs)("div",{className:"mt-20 flex flex-col items-center justify-center space-y-2 text-slate-400",children:[(0,t.jsx)(eu,{className:"h-6 w-6",strokeWidth:1.5}),(0,t.jsx)("p",{className:"text-sm font-medium",children:"No matching messages"})]}),(0,t.jsx)("div",{className:"space-y-3 pb-6",children:a.map(e=>{var a;let s=e.participantId?p[e.participantId]:null,l=r[e.threadId]||"Untitled workspace",n="user"===e.role?"You":s?.name||e.participantId||"Assistant";return(0,t.jsxs)("button",{type:"button",onClick:()=>d(e),className:"w-full rounded-xl border border-slate-200 bg-white p-4 text-left transition hover:border-slate-300 hover:shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-slate-400",children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("div",{className:"flex h-8 w-8 items-center justify-center overflow-hidden rounded-full bg-slate-100",children:"user"===e.role?(0,t.jsx)(b.User,{className:"h-4 w-4 text-slate-700"}):s?(0,t.jsx)(o.default,{href:`/agents/${s.id}`,onClick:e=>e.stopPropagation(),className:"h-full w-full hover:ring-2 hover:ring-blue-300 rounded-full transition-shadow",children:(0,t.jsx)("img",{src:(0,c.agentAvatarUrl)(s.id,32,s.color),alt:"",className:"h-full w-full object-cover"})}):(0,t.jsx)(ec.Bot,{className:"h-4 w-4 text-slate-700"})}),(0,t.jsxs)("div",{className:"min-w-0",children:["user"!==e.role&&s?(0,t.jsx)(o.default,{href:`/agents/${s.id}`,onClick:e=>e.stopPropagation(),className:"truncate text-sm font-semibold text-slate-800 hover:underline block",children:n}):(0,t.jsx)("p",{className:"truncate text-sm font-semibold text-slate-800",children:n}),(0,t.jsx)("p",{className:"truncate text-xs text-slate-500",children:l})]})]}),(0,t.jsx)("span",{className:"shrink-0 text-xs text-slate-400",children:(a=e.timestamp,new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(a))})]}),(0,t.jsx)("p",{className:"text-sm leading-relaxed text-slate-700",children:function(e){let a=e.split(/(<\/?mark>)/g),s=!1,l=[];for(let[e,r]of a.entries()){if("<mark>"===r){s=!0;continue}if("</mark>"===r){s=!1;continue}r&&l.push(s?(0,t.jsx)("mark",{className:"rounded bg-amber-200/80 px-0.5",children:r},`${e}-mark`):(0,t.jsx)("span",{children:r},`${e}-text`))}return l}(e.snippet)})]},`${e.threadId}-${e.messageId}`)})})]})})}var em=e.i(47543),eh=e.i(15181),ex=e.i(37622);let ef=/^[A-Za-z0-9_\-:]*$/,eg={id:"all",name:"All",provider:"claude",model:null,color:"#6B7280"};function eb(e,t,a){return a?e.startsWith(a)?3:t.startsWith(a)?2:e.includes(a)?1:null:0}let ev=/^[a-zA-Z0-9_-]*$/,ej=new Set(["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","text/plain","text/csv","text/markdown","application/json","application/zip","application/gzip","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.presentation"]),ew=new Set([".exe",".bat",".cmd",".com",".msi",".scr",".pif",".vbs",".vbe",".js",".jse",".ws",".wsf",".wsc",".wsh",".ps1",".ps2",".psc1",".psc2",".reg",".inf",".lnk",".dll",".sys",".drv"]),ey=[{path:`${A.default.env.HOME??"~"}/Code`,relativePath:"~/Code",type:"folder"},{path:`${A.default.env.HOME??"~"}/Projects`,relativePath:"~/Projects",type:"folder"},{path:`${A.default.env.HOME??"~"}/Desktop`,relativePath:"~/Desktop",type:"folder"},{path:`${A.default.env.HOME??"~"}/Documents`,relativePath:"~/Documents",type:"folder"},{path:`${A.default.env.HOME??"~"}/Downloads`,relativePath:"~/Downloads",type:"folder"}];function ek(e,t){let a=function(e,t){let a=e.trim().replace(/\/+$/,"");if("~"===a)return"~";if(a.startsWith("~/")||a.startsWith("/"))return a;let s=a.replace(/^\/+/,"");return"@~"===t?`~/${s}`:`/${s}`}(e,t.trigger);if(a.startsWith("~/")||a.startsWith("/")){let s=e.trim().startsWith("~/")||e.trim().startsWith("/")||"~"===e.trim()?null:function(e){if(!e.query.endsWith("/"))return null;let t=e.query.replace(/^\/+/,"").replace(/\/+$/,"");return"@~"===e.trigger?t?`~/${t}`:"~":t?`/${t}`:"/"}(t);if(s){let e=a.replace(/^~\/|^\//,"");return"~"===s?`~/${e}`:"/"===s?`/${e}`:`${s}/${e}`}}return a}async function eN(e){let t;if(0===e.length)return[];let a=e.map(e=>e.path);try{let s=await fetch("/api/file-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths:a})});if(!s.ok){let t=(await s.json().catch(()=>({}))).error??`HTTP ${s.status}`;return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}t=(await s.json()).results}catch(a){let t=a instanceof Error?a.message:"Failed to fetch file contents";return e.map(e=>({type:"file",path:e.path,label:e.label,content:null,error:t}))}let s=new Map(t.map(e=>[e.path,e]));return e.map(e=>{let t=s.get(e.path);return{type:"file",path:e.path,label:e.label,content:t?.content??null,error:t?.error}})}async function eC(e){let t=await eN(e),a=0===t.length?"":t.map(e=>e.error||null===e.content?`<file path="${e.path}" error="${e.error??"unreadable"}" />`:`<file path="${e.path}">
|
|
2
2
|
${e.content}
|
|
3
3
|
</file>`).join("\n\n")+"\n\n";return{fileContextBlocks:t,contextPrefix:a}}var eI=e.i(14341);let eS=eI.Node.create({name:"participantMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},name:{default:""},mode:{default:"sequential"},kind:{default:"agent"}}),parseHTML:()=>[{tag:"span[data-participant-mention]"}],renderHTML({node:e,HTMLAttributes:t}){let a="parallel"===e.attrs.mode;return["span",(0,eI.mergeAttributes)(t,{"data-participant-mention":"","data-id":e.attrs.id,"data-mode":e.attrs.mode,class:a?"composer-pill composer-pill--participant-parallel":"composer-pill composer-pill--participant",contenteditable:"false"}),`${a?"@@":"@"}${e.attrs.name}`]}}),eM=eI.Node.create({name:"projectMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({id:{default:null},slug:{default:""},name:{default:""}}),parseHTML:()=>[{tag:"span[data-project-mention]"}],renderHTML:({node:e,HTMLAttributes:t})=>["span",(0,eI.mergeAttributes)(t,{"data-project-mention":"","data-id":e.attrs.id,"data-slug":e.attrs.slug,class:"composer-pill composer-pill--project",contenteditable:"false"}),`@${e.attrs.name}`]}),e$=eI.Node.create({name:"fileMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({path:{default:""},relativePath:{default:""},trigger:{default:"@/"},attachMode:{default:void 0}}),parseHTML:()=>[{tag:"span[data-file-mention]"}],renderHTML({node:e,HTMLAttributes:t}){let a=e.attrs.relativePath||e.attrs.path;return["span",(0,eI.mergeAttributes)(t,{"data-file-mention":"","data-path":e.attrs.path,class:"composer-pill composer-pill--file",contenteditable:"false"}),`@${a}`]}}),eT=eI.Node.create({name:"threadMention",group:"inline",inline:!0,atom:!0,addAttributes:()=>({threadId:{default:""},title:{default:""}}),parseHTML:()=>[{tag:"span[data-thread-mention]"}],renderHTML:({node:e,HTMLAttributes:t})=>["span",(0,eI.mergeAttributes)(t,{"data-thread-mention":"","data-thread-id":e.attrs.threadId,class:"composer-pill composer-pill--thread",contenteditable:"false"}),`#${e.attrs.title}`]});function ez(e){let{state:t}=e,{$from:a}=t.selection,s=a.depth,l=-1;for(let e=s;e>=0;e--)if("paragraph"===a.node(e).type.name){l=e;break}if(-1===l)return null;let r=a.node(l),n=a.start(l),i=a.pos-n,o="",d=0,c=!1;return r.forEach((e,t)=>{let a=t+e.nodeSize;if(e.isText){let s=e.text??"";!c&&i>=t&&i<=a&&(d=o.length+(i-t),c=!0),o+=s}else if(e.isAtom){let s=eA(e);!c&&i>=t&&i<=a&&(d=o.length+s.length,c=!0),o+=s}}),c||(d=o.length),{text:o,cursorPos:d,blockStart:n}}function eA(e){switch(e.type.name){case"participantMention":{let t="parallel"===e.attrs.mode?"@@":"@";return`${t}${e.attrs.name}`}case"fileMention":{let t=e.attrs.relativePath||e.attrs.path;return`@${t}`}case"threadMention":{let t=(e.attrs.threadId??"").slice(0,8);return`@#${t}`}default:return""}}function eP(e,t,a,s){let{state:l}=e,r=l.doc.resolve(t),n=r.depth,i=null,o=t;for(let e=n;e>=0;e--){let t=r.node(e);if("paragraph"===t.type.name){i=t,o=r.start(e);break}}i||(i=l.doc.resolve(t).parent,o=t);let d=0,c=null,u=null;return(i.forEach((e,t)=>{let l=o+t,r=e.nodeSize;if(e.isText){let t=e.text??"",r=d+t.length;null===c&&a>=d&&a<=r&&(c=l+(a-d)),null===u&&s>=d&&s<=r&&(u=l+(s-d)),d=r}else if(e.isAtom){let t=eA(e),n=d+t.length;null===c&&a>=d&&a<=n&&(c=l),null===u&&s>=d&&s<=n&&(u=l+r),d=n}}),null===c&&a>=d&&(c=o+i.content.size),null===u&&s>=d&&(u=o+i.content.size),null===c||null===u)?null:{from:c,to:u}}let eD=(0,v.default)("folder-kanban",[["path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z",key:"1fr9dc"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M12 10v2",key:"hh53o1"}],["path",{d:"M16 10v6",key:"1d6xys"}]]);var eE=e.i(25399);function eR({isOpen:e,suggestions:s,activeIndex:l,listboxId:r,optionIdPrefix:n,onSelect:i}){let o=(0,a.useRef)([]);if((0,a.useEffect)(()=>{e&&o.current[l]?.scrollIntoView({block:"nearest"})},[l,e]),!e||0===s.length)return null;let d=new Set;return(0,t.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,t.jsx)("div",{role:"listbox",id:r,"aria-label":"Mention suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-zinc-200 bg-white shadow-lg",children:s.map((e,a)=>{let s=a===l,r="team"===e.kind?`team-${e.team.id}`:"project"===e.kind?`project-${e.project.id}`:e.participant.id,c=e.group,u=null;if(c&&!d.has(c)&&(d.add(c),u=(0,t.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-bold uppercase tracking-wider text-zinc-400 bg-zinc-50 border-t border-zinc-100 first:border-t-0",children:c})),"team"===e.kind)return(0,t.jsxs)("div",{children:[u,(0,t.jsx)("button",{type:"button",role:"option",id:`${n}-${r}`,"aria-selected":s,ref:e=>{o.current[a]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${s?"bg-blue-50 text-zinc-900":"text-zinc-700 hover:bg-zinc-50"}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>i(e),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(eE.Users,{className:"h-3.5 w-3.5 text-zinc-500","aria-hidden":!0}),(0,t.jsx)("span",{className:"font-medium",children:e.team.name}),(0,t.jsxs)("span",{className:"text-xs text-zinc-400",children:[e.team.agents.length," agent",1!==e.team.agents.length?"s":""]})]})})]},r);if("project"===e.kind)return(0,t.jsxs)("div",{children:[u,(0,t.jsx)("button",{type:"button",role:"option",id:`${n}-${r}`,"aria-selected":s,ref:e=>{o.current[a]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${s?"bg-blue-50 text-zinc-900":"text-zinc-700 hover:bg-zinc-50"}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>i(e),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(eD,{className:"h-3.5 w-3.5 text-zinc-500","aria-hidden":!0}),(0,t.jsx)("span",{className:"font-medium",children:e.project.name}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:e.project.slug})]})})]},r);let p=e.participant;return(0,t.jsxs)("div",{children:[u,(0,t.jsx)("button",{type:"button",role:"option",id:`${n}-${p.id}`,"aria-selected":s,ref:e=>{o.current[a]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${s?"bg-blue-50 text-zinc-900":"text-zinc-700 hover:bg-zinc-50"}${c?" pl-6":""}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>i(e),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:p.color},"aria-hidden":!0}),(0,t.jsx)("span",{className:"font-medium",children:p.name}),"all"===p.id?(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:"All participants"}):p.model&&(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:p.model})]})})]},r)})})})}function eO({isOpen:e,commands:s,activeIndex:l,listboxId:r,optionIdPrefix:n,onSelect:i}){let o=(0,a.useRef)([]);return((0,a.useEffect)(()=>{e&&o.current[l]?.scrollIntoView({block:"nearest"})},[l,e]),e&&0!==s.length)?(0,t.jsx)("div",{className:"absolute left-0 right-0 bottom-full mb-3 z-20",children:(0,t.jsx)("div",{role:"listbox",id:r,"aria-label":"Command suggestions",className:"max-h-56 overflow-y-auto rounded-xl border border-zinc-200 bg-white shadow-lg",children:s.map((e,a)=>{let s=a===l;return(0,t.jsx)("button",{type:"button",role:"option",id:`${n}-${e.name.slice(1)}`,"aria-selected":s,ref:e=>{o.current[a]=e},className:`w-full px-3 py-2 text-left text-sm transition-colors ${s?"bg-blue-50 text-zinc-900":"text-zinc-700 hover:bg-zinc-50"}`,onMouseDown:e=>e.preventDefault(),onClick:()=>i(e),children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.aliases&&e.aliases.length>0&&(0,t.jsxs)("span",{className:"text-xs text-zinc-300 font-mono",children:["(",e.aliases.join(", "),")"]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:e.description})]})},e.name)})})}):null}var eU=e.i(32857);let eL=(0,v.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]),eF=(0,v.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);function e_({suggestion:e,isActive:a,optionId:s,onSelect:l,onAttachContents:r,itemRef:n}){let i="folder"===e.type,o="contents"===e.attachMode,d=function(e){if(!e)return null;let t=Math.floor((Date.now()-e)/864e5);return 0===t?"Today":1===t?"Yesterday":t<7?`${t}d ago`:t<30?`${Math.floor(t/7)}w ago`:t<365?`${Math.floor(t/30)}mo ago`:`${Math.floor(t/365)}y ago`}(e.modifiedAt),c=e.relativePath??e.path;return(0,t.jsxs)("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors ${a?"bg-blue-50":"hover:bg-zinc-50"}`,children:[(0,t.jsx)("span",{className:"shrink-0 text-zinc-400","aria-hidden":!0,children:i?a?(0,t.jsx)(L,{className:"h-4 w-4 text-amber-500"}):(0,t.jsx)(eF,{className:"h-4 w-4 text-amber-400"}):(0,t.jsx)(eL,{className:"h-4 w-4"})}),(0,t.jsxs)("button",{type:"button",role:"option",id:s,"aria-selected":a,ref:n,className:"min-w-0 flex-1 text-left",onMouseDown:e=>e.preventDefault(),onClick:()=>l(e),tabIndex:-1,children:[(0,t.jsxs)("span",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:`block truncate font-mono text-xs ${a?"text-zinc-900":"text-zinc-700"}`,children:c}),d&&(0,t.jsx)("span",{className:"shrink-0 text-xs text-zinc-400",children:d})]}),i&&e.manifest&&(0,t.jsxs)("span",{className:"block text-xs text-zinc-400",children:[e.manifest.childCount," items ·"," ",e.manifest.sizeSummary,o?(0,t.jsx)("span",{className:"ml-1 font-medium text-blue-500",children:"full tree"}):(0,t.jsx)("span",{className:"ml-1 text-zinc-400",children:"manifest"})]})]}),i&&!o&&(0,t.jsx)("button",{type:"button",className:"shrink-0 rounded px-1.5 py-0.5 text-xs text-zinc-400 hover:bg-zinc-100 hover:text-zinc-700 transition-colors",title:"Attach full directory contents instead of manifest","aria-label":`Attach full contents of ${c}`,onMouseDown:e=>e.preventDefault(),onClick:()=>r(e),tabIndex:-1,children:"Attach contents"}),i&&o&&(0,t.jsx)("span",{className:"shrink-0 rounded bg-blue-50 px-1.5 py-0.5 text-xs font-medium text-blue-600",children:"full tree"})]})}var eW=e.i(26410);function eq({isOpen:e,suggestions:s,activeIndex:l,isLoading:r,error:n,listboxId:i,optionIdPrefix:o,onSelect:d,onAttachContents:c}){let u=(0,a.useRef)([]),p=(0,a.useRef)(null),[m,h]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{e&&u.current[l]?.scrollIntoView({block:"nearest"})},[l,e]),(0,a.useEffect)(()=>{e&&p.current&&h(p.current.getBoundingClientRect().top<280)},[e]),!e)return null;let x=s.length>0?`${o}-${l}`:void 0;return(0,t.jsx)("div",{ref:p,className:`${m?"absolute left-0 right-0 top-full mt-2 z-20":"absolute left-0 right-0 bottom-full mb-3 z-20"} ${eW.default.popover}`,children:(0,t.jsxs)("div",{role:"listbox",id:i,"aria-label":"File suggestions","aria-activedescendant":x,className:"max-h-64 overflow-y-auto rounded-xl border border-zinc-200 bg-white shadow-lg",children:[n&&!r&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-red-500",role:"alert",children:[(0,t.jsx)(eU.AlertCircle,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),(0,t.jsx)("span",{children:n})]}),!n&&r&&0===s.length&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-sm text-zinc-400","aria-live":"polite","aria-label":"Searching for files",children:[(0,t.jsx)(j,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}),(0,t.jsx)("span",{children:"Searching…"})]}),!n&&!r&&0===s.length&&(0,t.jsx)("div",{className:"px-3 py-3 text-sm text-zinc-400","aria-live":"polite",children:"No results"}),!n&&r&&s.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1 text-xs text-zinc-400 border-b border-zinc-100",children:[(0,t.jsx)(j,{className:"h-3 w-3 animate-spin","aria-hidden":!0}),(0,t.jsx)("span",{"aria-live":"polite","aria-label":"Updating results",children:"Updating…"})]}),s.length>0&&s.map((e,a)=>(0,t.jsx)(e_,{suggestion:e,isActive:a===l,optionId:`${o}-${a}`,onSelect:d,onAttachContents:c,itemRef:e=>{u.current[a]=e}},e.path))]})})}function eB({isOpen:e,suggestions:a,activeIndex:s,listboxId:l,optionIdPrefix:r,onSelect:n}){return e&&0!==a.length?(0,t.jsxs)("div",{className:"absolute bottom-full left-0 mb-2 w-80 bg-white rounded-xl shadow-xl border border-slate-200 overflow-hidden z-50 animate-in fade-in zoom-in-95 duration-100",role:"listbox",id:l,children:[(0,t.jsx)("div",{className:"px-3 py-2 bg-slate-50 border-b border-slate-100 text-[11px] font-bold text-slate-500 uppercase tracking-wider",children:"Reference Discussion"}),(0,t.jsx)("div",{className:"max-h-64 overflow-y-auto p-1",children:a.map((e,a)=>{let l=a===s;return(0,t.jsxs)("button",{role:"option",id:`${r}-${a}`,"aria-selected":l,onClick:()=>n(e),className:`w-full text-left px-3 py-2.5 rounded-lg flex items-start gap-3 transition-colors ${l?"bg-indigo-50":"hover:bg-slate-50"}`,children:[(0,t.jsx)("div",{className:`mt-0.5 p-1.5 rounded-md ${l?"bg-indigo-100 text-indigo-600":"bg-slate-100 text-slate-500"}`,children:(0,t.jsx)(g.MessageSquare,{size:14,strokeWidth:2.5})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:`text-sm font-semibold truncate ${l?"text-indigo-900":"text-slate-900"}`,children:e.title}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,t.jsxs)("span",{className:`text-xs ${l?"text-indigo-600":"text-slate-500"}`,children:[e.replies.length," replies"]}),(0,t.jsx)("span",{className:"text-slate-300",children:"•"}),(0,t.jsxs)("span",{className:"text-[10px] text-slate-400 flex items-center gap-1",children:[(0,t.jsx)(Q.Clock,{size:10}),function(e){if(!e)return"";let t=Math.floor((Date.now()-e)/1e3);if(t<60)return"just now";let a=Math.floor(t/60);if(a<60)return`${a}m`;let s=Math.floor(a/60);return s<24?`${s}h`:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(e)}(e.lastActivityAt)]})]})]})]},e.rootMessageId)})})]}):null}var eH=e.i(24429);let eV=(0,v.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);function eJ({attachments:e,onRemove:a,onRetry:s}){return 0===e.length?null:(0,t.jsx)("div",{className:"flex flex-wrap gap-2 px-1 pb-2",children:e.map(e=>{var l;let r=e.mimeType.startsWith("image/"),n="failed"===e.status,i="uploading"===e.status;return(0,t.jsxs)("div",{className:`relative group flex items-center gap-2 rounded-lg border px-2.5 py-1.5 text-xs transition-all ${n?"border-red-200 bg-red-50 text-red-700":"border-slate-200 bg-slate-50 text-slate-600"}`,children:[r&&e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.filename,className:"w-8 h-8 rounded object-cover shrink-0"}):(0,t.jsx)("div",{className:"w-8 h-8 rounded bg-slate-100 flex items-center justify-center shrink-0",children:r?(0,t.jsx)(eV,{className:"w-4 h-4 text-slate-400"}):(0,t.jsx)(h.FileText,{className:"w-4 h-4 text-slate-400"})}),(0,t.jsxs)("div",{className:"min-w-0 max-w-[120px]",children:[(0,t.jsx)("div",{className:"truncate font-medium",children:e.filename}),n&&e.error?(0,t.jsx)("div",{className:"truncate text-[10px] text-red-500",children:e.error}):(0,t.jsx)("div",{className:"text-[10px] text-slate-400",children:(l=e.size)<1024?`${l}B`:l<1048576?`${(l/1024).toFixed(0)}KB`:`${(l/1048576).toFixed(1)}MB`})]}),i&&(0,t.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-slate-200 rounded-b-lg overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-blue-500 transition-all",style:{width:`${e.progress}%`}})}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[n&&(0,t.jsx)("button",{type:"button",onClick:()=>s(e.id),className:"p-0.5 rounded hover:bg-red-100 transition-colors",title:"Retry upload",children:(0,t.jsx)(eH.RefreshCw,{className:"w-3 h-3"})}),(0,t.jsx)("button",{type:"button",onClick:()=>a(e.id),className:"p-0.5 rounded hover:bg-slate-200 transition-colors",title:"Remove",children:(0,t.jsx)(T.X,{className:"w-3 h-3"})})]})]},e.id)})})}function eK({onDrop:e,children:s}){let[l,r]=(0,a.useState)(!1),n={current:0},i=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),n.current++,e.dataTransfer.types.includes("Files")&&r(!0)},[]),o=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),d=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),n.current--,0===n.current&&r(!1)},[]),c=(0,a.useCallback)(t=>{t.preventDefault(),t.stopPropagation(),n.current=0,r(!1),t.dataTransfer.files.length>0&&e(t.dataTransfer.files)},[e]);return(0,t.jsxs)("div",{className:"relative",onDragEnter:i,onDragOver:o,onDragLeave:d,onDrop:c,children:[s,l&&(0,t.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-lg border-2 border-dashed border-blue-400 bg-blue-50/80 pointer-events-none",children:(0,t.jsx)("span",{className:"text-sm font-medium text-blue-600",children:"Drop files to attach"})})]})}let eX=(0,v.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]);function eY(e,t,a,s,l){if(!e)return;let r=eP(e,t,a,s);r&&e.chain().focus().deleteRange(r).insertContent(l).insertContent(" ").run()}function eZ({onSend:e,onStop:s,loading:l,participants:r,projects:n=[],teams:i=[],messages:o=[],commands:d,placeholder:c="Message — @name to mention, /search, /summarize",workspaceRoots:u=[],onConfigureRoots:p,pendingThreadInsert:m,onClearPendingThread:h,autoMode:x=!1,onAutoModeChange:f}){let[g,b]=(0,a.useState)(10),v=(0,a.useRef)(null),j=(0,a.useRef)(!1),w=(0,a.useCallback)(()=>{v.current?.click()},[]),[y,k]=(0,a.useState)([]),N=function({participants:e,teams:t=[],projects:s=[],maxSuggestions:l=6}){let[r,n]=(0,a.useState)(null),[i,o]=(0,a.useState)(0),[d,c]=(0,a.useState)(!1),u=null!==r&&!d,p=r?.query??"",m=(0,a.useMemo)(()=>(function(e,t,a,s=[],l=[]){let r=t.toLowerCase(),n=new Map(e.map(e=>[e.id,e])),i=s.filter(e=>!e.is_default),o=new Set;for(let e of i)for(let t of e.agents)o.add(t.agent_id);let d=[];for(let e of(null!==eb("all","all",r)&&d.push({kind:"agent",participant:eg,group:""}),i)){let t=eb(e.name.toLowerCase(),e.id.toLowerCase(),r),a=[];for(let t of e.agents){let e=n.get(t.agent_id);if(!e)continue;let s=eb(e.name.toLowerCase(),e.id.toLowerCase(),r);null!==s&&a.push({participant:e,score:s})}(null!==t||a.length>0)&&(null!==t&&d.push({kind:"team",team:e,group:e.name}),(null!==t&&r?e.agents.map(e=>n.get(e.agent_id)).filter(e=>!!e).map(e=>({participant:e,score:0})):a).sort((e,t)=>e.participant.name.localeCompare(t.participant.name)).forEach(({participant:t})=>{d.push({kind:"agent",participant:t,group:e.name})}))}for(let e of l)null!==eb(e.name.toLowerCase(),e.slug.toLowerCase(),r)&&d.push({kind:"project",project:e,group:"Projects"});let c=[];for(let t of e){if(o.has(t.id))continue;let e=eb(t.name.toLowerCase(),t.id.toLowerCase(),r);null!==e&&c.push({participant:t,score:e})}return c.sort((e,t)=>e.participant.name.localeCompare(t.participant.name)).forEach(({participant:e})=>{d.push({kind:"agent",participant:e,group:""})}),d.slice(0,a)})(e,p,l,t,s),[e,p,l,t,s]),h=(0,a.useCallback)((e,t)=>{let a=function(e,t){if(t<0||t>e.length)return null;let a=t;for(;a>0&&!/\s/.test(e[a-1]);)a--;let s=e.slice(a,t);if(!s.startsWith("@")||s.startsWith("@@@")||s.startsWith("@#"))return null;let l=s.startsWith("@@"),r=s.slice(l?2:1);return ef.test(r)?{startIndex:a,endIndex:t,query:r.toLowerCase(),mode:l?"parallel":"sequential",isParallel:l}:null}(e,t);n(e=>((e?.startIndex!==a?.startIndex||e?.isParallel!==a?.isParallel||e?.query!==a?.query)&&o(0),a))},[]),x=(0,a.useCallback)((e,t)=>{d||h(e,t)},[d,h]),f=(0,a.useCallback)(e=>{if(!u||0===m.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),o(e=>e<m.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),o(e=>e>0?e-1:m.length-1),!0;case"Enter":case"Tab":return e.preventDefault(),!0;case"Escape":return e.preventDefault(),n(null),!0;default:return!1}},[u,m.length]),g=(0,a.useCallback)(e=>{if(!r)return null;let t="team"===e.kind?e.team.name:"project"===e.kind?e.project.name:e.participant.name,a=r.isParallel?"@@":"@";return{text:`${a}${t} `,startIndex:r.startIndex,endIndex:r.endIndex}},[r]),b=(0,a.useCallback)(()=>{n(null),o(0)},[]);return{isOpen:u,query:p,filteredSuggestions:m,activeIndex:i,token:r,isComposing:d,handleInput:x,handleKeyDown:f,selectSuggestion:g,close:b,startComposition:(0,a.useCallback)(()=>{c(!0)},[]),endComposition:(0,a.useCallback)((e,t)=>{c(!1),h(e,t)},[h])}}({participants:r,teams:i,projects:n,maxSuggestions:8}),C=function({commands:e,maxSuggestions:t=6}){let[s,l]=(0,a.useState)(null),[r,n]=(0,a.useState)(0),i=null!==s,o=s?.query??"",d=(0,a.useMemo)(()=>{let a;return(a=o.toLowerCase())?e.filter(e=>!!e.name.slice(1).toLowerCase().startsWith(a)||(e.aliases?.some(e=>e.toLowerCase().startsWith(a))??!1)).slice(0,t):e.slice(0,t)},[e,o,t]),c=(0,a.useCallback)((e,t)=>{let a=function(e,t){if(t<0||t>e.length||!e.startsWith("/"))return null;let a=e.slice(0,t);if(/\s/.test(a))return null;let s=a.slice(1);return ev.test(s)?{startIndex:0,endIndex:t,query:s.toLowerCase()}:null}(e,t);l(e=>(e?.query!==a?.query&&n(0),a))},[]),u=(0,a.useCallback)(e=>{if(!i||0===d.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),n(e=>e<d.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),n(e=>e>0?e-1:d.length-1),!0;case"Enter":case"Tab":return e.preventDefault(),!0;case"Escape":return e.preventDefault(),l(null),!0;default:return!1}},[i,d.length]),p=(0,a.useCallback)(e=>!!s&&(e.execute(),l(null),n(0),!0),[s]);return{isOpen:i,query:o,filteredCommands:d,activeIndex:r,token:s,handleInput:c,handleKeyDown:u,selectCommand:p,close:(0,a.useCallback)(()=>{l(null),n(0)},[])}}({commands:d,maxSuggestions:6}),I=function({maxSuggestions:e=8,debounceMs:t=150}={}){let[s,l]=(0,a.useState)(null),[r,n]=(0,a.useState)([]),[i,o]=(0,a.useState)(0),[d,c]=(0,a.useState)(!1),[u,p]=(0,a.useState)(null),m=(0,a.useRef)(null),h=(0,a.useRef)(null),x=(0,a.useRef)(null),f=null!==s,g=(0,a.useCallback)(async(t,a)=>{m.current&&m.current.abort();let s=new AbortController;m.current=s,c(!0),p(null);try{let l=t.endsWith("/"),r=l?"*":t,i=new URLSearchParams({q:r,limit:String(e),includeFolders:"1"});if(l){let e="@~"===a?`${A.default.env.HOME??"~"}/${t.slice(0,-1)}`:`/${t.slice(0,-1)}`;i.set("root",e)}else"@~"===a&&i.set("root",A.default.env.HOME??"~");let d=await fetch(`/api/file-search?${i.toString()}`,{signal:s.signal});if(!d.ok){let e=await d.json().catch(()=>({}));throw Error(e.error??`HTTP ${d.status}`)}let c=await d.json();n(c.files.map(e=>({...e,attachMode:"folder"===e.type?"manifest":void 0}))),o(0)}catch(e){if("AbortError"===e.name)return;p(e.message??"Search failed"),n([])}finally{c(!1)}},[e]),b=(0,a.useCallback)((a,s)=>{if(null!==h.current&&clearTimeout(h.current),a!==x.current){if(a.length<3){m.current&&(m.current.abort(),m.current=null),x.current=a,c(!1),p(null),n(ey.slice(0,e).map(e=>({...e,attachMode:"manifest"}))),o(0);return}h.current=setTimeout(()=>{x.current=a,g(a,s)},t)}},[t,g,e]);(0,a.useEffect)(()=>()=>{null!==h.current&&clearTimeout(h.current),m.current&&m.current.abort()},[]);let v=(0,a.useCallback)((e,t)=>{let a=function(e,t){if(t<2||t>e.length)return null;let a=t;for(;a>0&&!/\s/.test(e[a-1]);)a--;let s=e.slice(a,t);if(!s.startsWith("@/")&&!s.startsWith("@~"))return null;let l=s.slice(0,2);return{startIndex:a,endIndex:t,query:s.slice(2),trigger:l}}(e,t);l(e=>((e?.startIndex!==a?.startIndex||e?.query!==a?.query||e?.trigger!==a?.trigger)&&null===a&&(null!==h.current&&clearTimeout(h.current),m.current&&(m.current.abort(),m.current=null),x.current=null,n([]),c(!1),p(null)),a)),a&&b(a.query,a.trigger)},[b]),j=(0,a.useCallback)(e=>{if(!f||0===r.length)return!1;switch(e.key){case"ArrowDown":return e.preventDefault(),o(e=>e<r.length-1?e+1:0),!0;case"ArrowUp":return e.preventDefault(),o(e=>e>0?e-1:r.length-1),!0;case"Enter":return e.preventDefault(),!0;case"Tab":return!0;case"Escape":return e.preventDefault(),l(null),n([]),!0;default:return!1}},[f,r.length]),w=(0,a.useCallback)(e=>{if(!s)return null;let t=ek(e.relativePath??e.path,s),a="folder"===e.type?"/":"",r=`@${t}${a} `;return l(null),n([]),{text:r,startIndex:s.startIndex,endIndex:s.endIndex}},[s]),y=(0,a.useCallback)(e=>{if(!s||"folder"!==e.type)return null;let t=ek(e.relativePath??e.path,s),a=t.startsWith("~/")?"@~":"@/",r=t.slice(1),n=`@${t}/`,i=s.startIndex+n.length,o=`${r}/`;return l({startIndex:s.startIndex,endIndex:i,query:o,trigger:a}),x.current=null,b(o,a),{text:n,startIndex:s.startIndex,endIndex:s.endIndex}},[s,b]),k=(0,a.useCallback)(e=>{n(t=>t.map(t=>t.path===e.path?{...t,attachMode:"contents"}:t))},[]);return{isOpen:f,token:s,suggestions:r,activeIndex:i,isLoading:d,error:u,handleInput:v,handleKeyDown:j,selectSuggestion:w,drillDown:y,close:(0,a.useCallback)(()=>{l(null),n([]),o(0)},[]),onAttachContents:k}}({maxSuggestions:8}),S=function({messages:e,maxSuggestions:t=5}){let[s,l]=(0,a.useState)(!1),[r,n]=(0,a.useState)(""),[i,o]=(0,a.useState)(0),[d,c]=(0,a.useState)([]),[u,p]=(0,a.useState)(null),m=(0,a.useRef)([]);(0,a.useEffect)(()=>{let t=e.filter(e=>!e.rootMessageId),a=new Map;e.forEach(e=>{if(e.rootMessageId){let t=a.get(e.rootMessageId)||[];t.push(e),a.set(e.rootMessageId,t)}}),m.current=t.map(e=>{let t=a.get(e.id)||[],s=[e,...t],l=Math.max(...s.map(e=>e.timestamp)),r=e.content.slice(0,60).replace(/\n/g," ").trim()||"Untitled",n=[...new Set(s.map(e=>e.participantId||"user"))];return{rootMessageId:e.id,title:r,rootMessage:e,replies:t,participantIds:n,lastActivityAt:l}}).sort((e,t)=>t.lastActivityAt-e.lastActivityAt)},[e]);let h=(0,a.useCallback)((e,a)=>{let s=e.slice(0,a).match(/@#([^@#\s]*)$/);if(s){l(!0);let e=s[1].toLowerCase();n(e),p(s.index),o(0),c(m.current.filter(t=>t.title.toLowerCase().includes(e)).slice(0,t))}else l(!1),p(null)},[t]),x=(0,a.useCallback)(e=>!!s&&0!==d.length&&("ArrowDown"===e.key?(e.preventDefault(),o(e=>(e+1)%d.length),!0):"ArrowUp"===e.key?(e.preventDefault(),o(e=>(e-1+d.length)%d.length),!0):"Escape"===e.key&&(e.preventDefault(),l(!1),!0)),[s,d.length]),f=(0,a.useCallback)(e=>null===u?null:{startIndex:u,endIndex:u+2+r.length,text:""},[u,r]);return{isOpen:s,suggestions:d,activeIndex:i,handleInput:h,handleKeyDown:x,selectSuggestion:f,close:(0,a.useCallback)(()=>{l(!1),p(null)},[]),exportDiscussion:(0,a.useCallback)(async e=>{let t=[];try{let e=await fetch("/api/participants");e.ok&&(t=await e.json())}catch(e){console.warn("Failed to fetch participants for export",e)}let a=await fetch("/api/thread-export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootMessageId:e.rootMessageId,title:e.title,messages:[e.rootMessage,...e.replies],participants:t})});if(!a.ok)throw Error(`Export failed: ${await a.text()}`);return await a.json()},[])}}({messages:o,maxSuggestions:8}),M=function(){let[e,t]=(0,a.useState)([]),s=(0,a.useRef)(new Map),l=(0,a.useCallback)(e=>{let a=new XMLHttpRequest;s.current.set(e.id,a);let l=new FormData;l.append("file",e.file),a.upload.onprogress=a=>{if(a.lengthComputable){let s=Math.round(a.loaded/a.total*100);t(t=>t.map(t=>t.id===e.id?{...t,progress:s}:t))}},a.onload=()=>{if(s.current.delete(e.id),a.status>=200&&a.status<300)try{let s=JSON.parse(a.responseText),l=s.attachments?.[0];if(l)return void t(t=>t.map(t=>t.id===e.id?{...t,status:"uploaded",progress:100,serverId:l.id}:t))}catch{}let l=(()=>{try{return JSON.parse(a.responseText)?.error||"Upload failed"}catch{return"Upload failed"}})();t(t=>t.map(t=>t.id===e.id?{...t,status:"failed",error:l}:t))},a.onerror=()=>{s.current.delete(e.id),t(t=>t.map(t=>t.id===e.id?{...t,status:"failed",error:"Network error"}:t))},a.open("POST","/api/upload"),a.send(l)},[]),r=(0,a.useCallback)(a=>{let s=Array.from(a),r=function(e){let t=e.reduce((e,t)=>e+t.size,0);if(t>0x3200000){let e=(t/1048576).toFixed(1);return{file:"(total)",reason:`Total attachment size (${e}MB) exceeds 50MB limit`}}return null}([...e.map(e=>({name:e.filename,size:e.size,type:e.mimeType})),...s.map(e=>({name:e.name,size:e.size,type:e.type}))]);if(r)return void alert(r.reason);let n=[];for(let e of s){let t=function(e){let t=e.name.includes(".")?"."+e.name.split(".").pop().toLowerCase():"";if(ew.has(t))return{file:e.name,reason:`File type "${t}" is not allowed`};if(e.type&&!ej.has(e.type))return{file:e.name,reason:`File type "${e.type}" is not supported`};if(!e.type&&!ej.has("application/octet-stream"),e.size>0xa00000){let t=(e.size/1048576).toFixed(1);return{file:e.name,reason:`File is too large (${t}MB). Maximum is 10MB`}}return 0===e.size?{file:e.name,reason:"File is empty"}:null}({name:e.name,size:e.size,type:e.type});if(t){n.push({id:crypto.randomUUID(),file:e,filename:e.name,mimeType:e.type,size:e.size,previewUrl:null,progress:0,status:"failed",error:t.reason});continue}let a=e.type.startsWith("image/")?URL.createObjectURL(e):null,s={id:crypto.randomUUID(),file:e,filename:e.name,mimeType:e.type||"application/octet-stream",size:e.size,previewUrl:a,progress:0,status:"uploading"};n.push(s)}for(let e of(t(e=>[...e,...n]),n))"uploading"===e.status&&l(e)},[e,l]),n=(0,a.useCallback)(e=>{t(t=>{let a=t.find(t=>t.id===e);a?.previewUrl&&URL.revokeObjectURL(a.previewUrl);let l=s.current.get(e);return l&&(l.abort(),s.current.delete(e)),a?.serverId&&fetch(`/api/upload/${a.serverId}`,{method:"DELETE"}).catch(()=>{}),t.filter(t=>t.id!==e)})},[]),i=(0,a.useCallback)(e=>{t(t=>{let a=t.find(t=>t.id===e);if(!a||"failed"!==a.status)return t;let s=t.map(t=>t.id===e?{...t,status:"uploading",error:void 0,progress:0}:t),r=s.find(t=>t.id===e);return setTimeout(()=>l(r),0),s})},[l]),o=(0,a.useCallback)(()=>{t(e=>{for(let t of e){t.previewUrl&&URL.revokeObjectURL(t.previewUrl);let e=s.current.get(t.id);e&&e.abort()}return s.current.clear(),[]})},[]),d=0===e.length||e.every(e=>"uploaded"===e.status||"failed"===e.status),c=e.some(e=>"uploaded"===e.status),u=e.filter(e=>"uploaded"===e.status&&e.serverId);return{staged:e,stageFiles:r,remove:n,retry:i,clear:o,canSend:d,hasUploaded:c,attachmentIds:u.map(e=>e.serverId),getAttachmentMetas:(0,a.useCallback)(()=>u.map(e=>({id:e.serverId,filename:e.filename,mimeType:e.mimeType,size:e.size,status:"uploaded",url:`/api/attachments/${e.serverId}`})),[u])}}(),$=function(){let[e,t]=(0,a.useState)([]),s=(0,a.useCallback)((e,a,s)=>{t(t=>t.find(t=>t.path===e)?t.map(t=>t.path===e?{...t,label:a,attachMode:s??t.attachMode}:t):[...t,{kind:"file-path",id:crypto.randomUUID(),path:e,label:a,attachMode:s}])},[]);return{filePaths:e,addFilePath:s,removeFilePath:(0,a.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),clearFilePaths:(0,a.useCallback)(()=>{t([])},[]),hasFilePaths:e.length>0}}(),T=(0,em.useEditor)({immediatelyRender:!1,extensions:[eh.default.configure({heading:!1,bulletList:!1,orderedList:!1,listItem:!1,blockquote:!1,codeBlock:!1,code:!1,horizontalRule:!1,hardBreak:{keepMarks:!1}}),ex.default.configure({placeholder:c}),eS,eM,e$,eT],editorProps:{attributes:{class:"composer-editor",role:"combobox","aria-autocomplete":"list"},handlePaste:(e,t)=>{let a=t.clipboardData?.files;return!!a&&a.length>0&&(t.preventDefault(),M.stageFiles(a),!0)},handleDOMEvents:{compositionstart:()=>(j.current=!0,N.startComposition(),!1),compositionend:(e,t)=>(j.current=!1,setTimeout(()=>{if(!T)return;let e=ez(T);e&&N.endComposition(e.text,e.cursorPos)},0),!1)},handleKeyDown:(e,t)=>{if("Tab"===t.key||"Enter"===t.key&&!t.shiftKey){if(C.isOpen&&C.filteredCommands.length>0){t.preventDefault();let e=C.filteredCommands[C.activeIndex];return e&&O(e),!0}if(I.isOpen&&I.suggestions.length>0){t.preventDefault();let e=I.suggestions[I.activeIndex];return e&&("folder"===e.type?E(e):D(e)),!0}if(S.isOpen&&S.suggestions.length>0){t.preventDefault();let e=S.suggestions[S.activeIndex];return e&&R(e),!0}if(N.isOpen&&N.filteredSuggestions.length>0){t.preventDefault();let e=N.filteredSuggestions[N.activeIndex];return e&&P(e),!0}}let a={key:t.key,preventDefault:()=>t.preventDefault()};return!!(C.isOpen&&C.handleKeyDown(a)||I.isOpen&&I.handleKeyDown(a)||S.isOpen&&S.handleKeyDown(a)||N.handleKeyDown(a))||"Enter"===t.key&&!t.shiftKey&&(t.preventDefault(),U(),!0)}},onUpdate:({editor:e})=>{if(j.current)return;let t=ez(e);t&&(N.handleInput(t.text,t.cursorPos),C.handleInput(t.text,t.cursorPos),I.handleInput(t.text,t.cursorPos),S.handleInput(t.text,t.cursorPos))},onBlur:()=>{N.close(),C.close(),I.close(),S.close()}});(0,a.useEffect)(()=>{if(!m||!T)return;let{title:e,threadId:t,messages:a}=m;T.chain().focus().insertContent({type:"threadMention",attrs:{threadId:t,title:e}}).insertContent(" ").run();let s=a[0];if(s){let l={rootMessageId:t,title:e,rootMessage:s,replies:a.slice(1),participantIds:[...new Set(a.map(e=>e.participantId||"user"))],lastActivityAt:Math.max(...a.map(e=>e.timestamp))};S.exportDiscussion(l).then(e=>k(t=>[...t,e])).catch(e=>console.error("Failed to export discussion for Add to chat:",e))}h?.()},[m]);let z=(0,a.useCallback)(()=>{if(!T)return;let e=ez(T);e&&N.handleInput(e.text,e.cursorPos)},[T,N]),P=(0,a.useCallback)(e=>{if(!T)return;let t=N.selectSuggestion(e);if(!t)return;let a=ez(T);if(!a)return;let s=t.text.startsWith("@@"),l="team"===e.kind?{type:"participantMention",attrs:{id:e.team.id,name:e.team.name,mode:s?"parallel":"sequential",kind:"team"}}:"project"===e.kind?{type:"projectMention",attrs:{id:e.project.id,slug:e.project.slug,name:e.project.name}}:{type:"participantMention",attrs:{id:e.participant.id,name:e.participant.name,mode:s?"parallel":"sequential",kind:"agent"}};eY(T,a.blockStart,t.startIndex,t.endIndex,l),N.close()},[T,N]),D=(0,a.useCallback)(e=>{if(!T)return;let t=I.selectSuggestion(e);if(!t)return;let a=ez(T);if(!a)return;let s={type:"fileMention",attrs:{path:e.path,relativePath:e.relativePath??e.path,trigger:I.token?.trigger??"@/",attachMode:e.attachMode}};eY(T,a.blockStart,t.startIndex,t.endIndex,s),$.addFilePath(e.path,e.relativePath??e.path,e.attachMode)},[T,I,$]),E=(0,a.useCallback)(e=>{if(!T)return;let t=ez(T);if(!t)return;let a=I.drillDown(e);if(!a)return;let s=eP(T,t.blockStart,a.startIndex,a.endIndex);s&&T.chain().focus().deleteRange(s).insertContent(a.text).run()},[T,I]),R=(0,a.useCallback)(async e=>{if(!T)return;let t=S.selectSuggestion(e);if(!t)return;let a=ez(T);if(!a)return;let s={type:"threadMention",attrs:{threadId:e.rootMessageId,title:e.title}};eY(T,a.blockStart,t.startIndex,t.endIndex,s);try{let t=await S.exportDiscussion(e);k(e=>[...e,t])}catch(e){console.error("Failed to export discussion:",e)}},[T,S]),O=(0,a.useCallback)(e=>{C.selectCommand(e),T&&T.commands.clearContent()},[C,T]),U=(0,a.useCallback)(async()=>{if(!T)return;let t=(function(e){if(!e.content)return"";let t=[];for(let a of e.content)a.type,t.push(function(e){if(!e.content)return"";let t="";for(let a of e.content)switch(a.type){case"text":t+=a.text??"";break;case"participantMention":{let e=a.attrs??{},s="parallel"===e.mode?"@@":"@";t+=`${s}${e.name}`;break}case"projectMention":{let e=a.attrs??{},s=String(e.slug??"").trim();s?t+=`@~project:${s}`:e.name&&(t+=`@${e.name}`);break}case"fileMention":{let e=a.attrs??{},s=e.relativePath||e.path;t+=`@${s}`;break}case"threadMention":{let e=((a.attrs??{}).threadId??"").slice(0,8);t+=`@#${e}`;break}default:"hardBreak"===a.type&&(t+="\n")}return t}(a));return t.join("\n")})(T.getJSON()).trim();if(!t&&!M.hasUploaded&&!$.hasFilePaths||!M.canSend)return;if(t){let e=d.find(e=>e.name===t||e.aliases?.some(e=>`/${e}`===t));if(e){e.execute(),T.commands.clearContent(),C.close(),N.close();return}}let a=t||"(attached files)";if(y.length>0){let e=y.map(e=>`- "${e.title}" — ${e.summary} (full transcript: ${e.filePath})`).join("\n");a=`Referenced threads:
|
|
4
4
|
${e}
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx
CHANGED
|
@@ -163,8 +163,12 @@ export function MessageList({
|
|
|
163
163
|
messageRefs.current.delete(messageId);
|
|
164
164
|
}, []);
|
|
165
165
|
|
|
166
|
+
const prevHighlightedRef = useRef<string | null>(null);
|
|
166
167
|
useEffect(() => {
|
|
167
|
-
if (!highlightedMessageId) return;
|
|
168
|
+
if (!highlightedMessageId) { prevHighlightedRef.current = null; return; }
|
|
169
|
+
// Only scroll when the highlighted message actually changes
|
|
170
|
+
if (highlightedMessageId === prevHighlightedRef.current) return;
|
|
171
|
+
prevHighlightedRef.current = highlightedMessageId;
|
|
168
172
|
const element = messageRefs.current.get(highlightedMessageId);
|
|
169
173
|
if (!element) return;
|
|
170
174
|
element.scrollIntoView({ behavior: "smooth", block: "center" });
|
package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useEffect, useRef, useMemo } from "react";
|
|
3
|
+
import { useCallback, useEffect, useRef, useMemo, useState } from "react";
|
|
4
4
|
import NextLink from "next/link";
|
|
5
5
|
import type { GroupMessage, Participant } from "@/lib/types";
|
|
6
6
|
import type { StreamingEntry } from "@/hooks/useGroupChat";
|
|
@@ -60,11 +60,29 @@ export function ThreadView({
|
|
|
60
60
|
else messageRefs.current.delete(id);
|
|
61
61
|
};
|
|
62
62
|
|
|
63
|
+
const scrollContainerRef = useRef<HTMLDivElement>(null);
|
|
64
|
+
const userScrolledUpRef = useRef(false);
|
|
65
|
+
const prevHighlightRef = useRef<string | null>(null);
|
|
66
|
+
|
|
67
|
+
// Track whether user has scrolled up
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
const container = scrollContainerRef.current;
|
|
70
|
+
if (!container) return;
|
|
71
|
+
const handleScroll = () => {
|
|
72
|
+
const { scrollTop, scrollHeight, clientHeight } = container;
|
|
73
|
+
userScrolledUpRef.current = scrollHeight - scrollTop - clientHeight > 80;
|
|
74
|
+
};
|
|
75
|
+
container.addEventListener("scroll", handleScroll, { passive: true });
|
|
76
|
+
return () => container.removeEventListener("scroll", handleScroll);
|
|
77
|
+
}, []);
|
|
78
|
+
|
|
63
79
|
useEffect(() => {
|
|
64
|
-
if (highlightedMessageId) {
|
|
80
|
+
if (highlightedMessageId && highlightedMessageId !== prevHighlightRef.current) {
|
|
81
|
+
prevHighlightRef.current = highlightedMessageId;
|
|
65
82
|
const el = messageRefs.current.get(highlightedMessageId);
|
|
66
83
|
if (el) el.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
67
|
-
} else {
|
|
84
|
+
} else if (!highlightedMessageId && !userScrolledUpRef.current) {
|
|
85
|
+
prevHighlightRef.current = null;
|
|
68
86
|
bottomRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
69
87
|
}
|
|
70
88
|
}, [highlightedMessageId, threadMessages, streaming]);
|
|
@@ -102,7 +120,7 @@ export function ThreadView({
|
|
|
102
120
|
</div>
|
|
103
121
|
)}
|
|
104
122
|
{/* Thread Content */}
|
|
105
|
-
<div className="flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar">
|
|
123
|
+
<div ref={scrollContainerRef} className="flex-1 overflow-y-auto p-4 md:p-8 space-y-6 chat-scrollbar">
|
|
106
124
|
<div className="max-w-2xl mx-auto space-y-8 pb-4">
|
|
107
125
|
|
|
108
126
|
{threadMessages.map((msg) => {
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|