dexto 1.1.5 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +5 -1
  2. package/dist/cli/cli.js +1 -1
  3. package/dist/webui/.next/standalone/.next/static/chunks/app/{page-655c5da45b79231a.js → page-cf95b233c1df6dcd.js} +1 -1
  4. package/dist/webui/.next/standalone/.next/static/css/9cdfb06589a2f6ce.css +3 -0
  5. package/dist/webui/.next/standalone/packages/webui/.next/BUILD_ID +1 -1
  6. package/dist/webui/.next/standalone/packages/webui/.next/app-build-manifest.json +2 -2
  7. package/dist/webui/.next/standalone/packages/webui/.next/build-manifest.json +2 -2
  8. package/dist/webui/.next/standalone/packages/webui/.next/prerender-manifest.json +3 -3
  9. package/dist/webui/.next/standalone/packages/webui/.next/required-server-files.json +1 -1
  10. package/dist/webui/.next/standalone/packages/webui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page.js +1 -1
  12. package/dist/webui/.next/standalone/packages/webui/.next/server/app/page_client-reference-manifest.js +1 -1
  13. package/dist/webui/.next/standalone/packages/webui/.next/server/app/playground/page_client-reference-manifest.js +1 -1
  14. package/dist/webui/.next/standalone/packages/webui/.next/server/chunks/43.js +1 -1
  15. package/dist/webui/.next/standalone/packages/webui/.next/server/pages/500.html +1 -1
  16. package/dist/webui/.next/standalone/packages/webui/.next/server/server-reference-manifest.json +1 -1
  17. package/dist/webui/.next/{static/chunks/app/page-655c5da45b79231a.js → standalone/packages/webui/.next/static/chunks/app/page-cf95b233c1df6dcd.js} +1 -1
  18. package/dist/webui/.next/standalone/packages/webui/.next/static/css/9cdfb06589a2f6ce.css +3 -0
  19. package/dist/webui/.next/standalone/packages/webui/package.json +1 -1
  20. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto/dexto_logo.svg +31 -0
  21. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto/dexto_logo_icon.svg +14 -0
  22. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto/dexto_logo_icon_light.svg +17 -0
  23. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto/dexto_logo_light.svg +31 -0
  24. package/dist/webui/.next/standalone/packages/webui/server.js +1 -1
  25. package/dist/webui/.next/standalone/public/logos/dexto/dexto_logo.svg +31 -0
  26. package/dist/webui/.next/standalone/public/logos/dexto/dexto_logo_icon.svg +14 -0
  27. package/dist/webui/.next/standalone/public/logos/dexto/dexto_logo_icon_light.svg +17 -0
  28. package/dist/webui/.next/standalone/public/logos/dexto/dexto_logo_light.svg +31 -0
  29. package/dist/webui/.next/{standalone/packages/webui/.next/static/chunks/app/page-655c5da45b79231a.js → static/chunks/app/page-cf95b233c1df6dcd.js} +1 -1
  30. package/dist/webui/.next/static/css/9cdfb06589a2f6ce.css +3 -0
  31. package/dist/webui/package.json +1 -1
  32. package/dist/webui/public/logos/dexto/dexto_logo.svg +31 -0
  33. package/dist/webui/public/logos/dexto/dexto_logo_icon.svg +14 -0
  34. package/dist/webui/public/logos/dexto/dexto_logo_icon_light.svg +17 -0
  35. package/dist/webui/public/logos/dexto/dexto_logo_light.svg +31 -0
  36. package/package.json +2 -2
  37. package/dist/webui/.next/standalone/.next/static/css/daca29b49478cfbe.css +0 -3
  38. package/dist/webui/.next/standalone/packages/webui/.next/static/css/daca29b49478cfbe.css +0 -3
  39. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto_logo.svg +0 -1
  40. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto_logo_light.svg +0 -18
  41. package/dist/webui/.next/standalone/packages/webui/public/logos/dexto_logo_no_text.png +0 -0
  42. package/dist/webui/.next/standalone/public/logos/dexto_logo.svg +0 -1
  43. package/dist/webui/.next/standalone/public/logos/dexto_logo_light.svg +0 -18
  44. package/dist/webui/.next/standalone/public/logos/dexto_logo_no_text.png +0 -0
  45. package/dist/webui/.next/static/css/daca29b49478cfbe.css +0 -3
  46. package/dist/webui/public/logos/dexto_logo.svg +0 -1
  47. package/dist/webui/public/logos/dexto_logo_light.svg +0 -18
  48. package/dist/webui/public/logos/dexto_logo_no_text.png +0 -0
  49. /package/dist/webui/.next/standalone/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_buildManifest.js +0 -0
  50. /package/dist/webui/.next/standalone/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_ssgManifest.js +0 -0
  51. /package/dist/webui/.next/standalone/packages/webui/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_buildManifest.js +0 -0
  52. /package/dist/webui/.next/standalone/packages/webui/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_ssgManifest.js +0 -0
  53. /package/dist/webui/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_buildManifest.js +0 -0
  54. /package/dist/webui/.next/static/{wcYVcRLx1mruRrV5-XkIK → OsQGbLQi9bS4RzNw_6wgr}/_ssgManifest.js +0 -0
@@ -7,5 +7,5 @@ Context: ${c}`}return b}).join("\n\n")}`:a.message;return(0,d.jsx)("div",{classN
7
7
  transition-transform transform
8
8
  translate-x-0.5 data-[state=checked]:translate-x-[1.375rem]
9
9
  bg-white dark:bg-gray-100
10
- `,children:g?(0,d.jsx)(c$,{className:"w-3.5 h-3.5 text-gray-700"}):(0,d.jsx)(c_,{className:"w-3.5 h-3.5 text-yellow-500"})})})}),(0,d.jsx)(ad,{children:g?"Switch to light mode":"Switch to dark mode"})]})}):(0,d.jsx)("div",{className:"w-12 h-6 bg-gray-300 dark:bg-gray-700 rounded-full"})}function c1({active:a=!1}){let{voices:b,selected:c,setSelected:f}=function(){let[a,b]=(0,e.useState)(am.getVoices()),[c,d]=(0,e.useState)(am.getPreferredVoiceName());return{voices:a,selected:c,setSelected:a=>{am.setPreferredVoice(a),d(am.getPreferredVoiceName())}}}(),[g,h]=(0,e.useState)(!1);return a?(0,d.jsxs)(bX.l6,{value:c??"auto",onValueChange:a=>{f("auto"===a?null:a)},children:[(0,d.jsx)(bX.bq,{className:"h-8 w-[12rem] text-xs",children:(0,d.jsx)(bX.yv,{placeholder:"Voice"})}),(0,d.jsxs)(bX.gC,{children:[(0,d.jsx)(bX.eb,{value:"auto",children:"Auto (best available)"}),g&&b.map(a=>(0,d.jsxs)(bX.eb,{value:a.name,children:[a.name," (",a.lang,")"]},`${a.name}-${a.lang}`))]})]}):null}function c2({isOpen:a,onClose:b}){return(0,d.jsx)(bU.lG,{open:a,onOpenChange:a=>!a&&b(),children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-lg",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsx)(bU.L3,{children:"Settings"}),(0,d.jsx)(bU.rr,{children:"Configure preferences for speech and more."})]}),(0,d.jsx)("div",{className:"space-y-6 py-2",children:(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{className:"text-xs uppercase text-muted-foreground",children:"Voice"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Choose a preferred text-to-speech voice. “Auto” selects the best available voice on your device."}),(0,d.jsx)(c1,{active:a})]})})]})})}function c3(){let{messages:a,sendMessage:b,currentSessionId:c,switchSession:i,isWelcomeState:k,returnToWelcome:m,websocket:o,activeError:p,clearError:q,processing:r,cancel:s,greeting:t}=(0,g.v)(),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)("dexto-config"),[K,L]=(0,e.useState)(null),[M,N]=(0,e.useState)(""),[O,P]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(null),[S,T]=(0,e.useState)(!1),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(null),[Y,Z]=(0,e.useState)(!1),[$,_]=(0,e.useState)(!1),[aa,af]=(0,e.useState)(""),ag=f().useRef(null),ah=f().useRef(null),[ai,aj]=(0,e.useState)(!0),[ak,al]=(0,e.useState)(!1),[am,an]=(0,e.useState)(!1);f().useRef(0);let[ao,ap]=(0,e.useState)(!1);f().useRef(null);let[aq,as]=(0,e.useState)(0),[at,au]=(0,e.useState)(null);(0,e.useCallback)(()=>{let a=ag.current;a&&aj(a.scrollHeight-a.scrollTop<=a.clientHeight+1)},[]);let av=(0,e.useCallback)((a="auto")=>{let b=ag.current;b&&(al(!0),b.scrollTo({top:b.scrollHeight,behavior:a}),requestAnimationFrame(()=>al(!1)))},[]),aw=(0,e.useCallback)(()=>{let a=ag.current;if(!a)return;let b=a.querySelectorAll('[data-role="user"]'),c=b[b.length-1];if(!c)return void av("auto");let d=a.getBoundingClientRect(),e=Math.max(c.getBoundingClientRect().top-d.top+a.scrollTop-16,0);al(!0),a.scrollTo({top:e,behavior:"auto"}),requestAnimationFrame(()=>al(!1))},[av]),ax=(0,e.useCallback)(async()=>{try{let a=c?`/api/config.yaml?sessionId=${c}`:"/api/config.yaml",b=await fetch(a);if(!b.ok)throw Error("Failed to fetch configuration");let d=await b.text(),e=new Blob([d],{type:"application/x-yaml"}),f=URL.createObjectURL(e),g=document.createElement("a");g.href=f,g.download=c?`${I}-${c}.yml`:`${I}.yml`,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(f)}catch(a){console.error("Download failed:",a),L(a instanceof Error?a.message:"Download failed")}},[I,c]),ay=(0,e.useCallback)(async()=>{try{await navigator.clipboard.writeText(M),P(!0),setTimeout(()=>P(!1),2e3)}catch(a){console.error("Copy failed:",a),L("Failed to copy to clipboard")}},[M]),az=(0,e.useCallback)(async(a,c,d)=>{T(!0),X(null);try{await b(a,c,d),setTimeout(()=>{aw(),an(!0)},0)}catch(a){console.error("Failed to send message:",a),X(a instanceof Error?a.message:"Failed to send message"),setTimeout(()=>X(null),5e3)}finally{T(!1)}},[b,aw]),aA=(0,e.useCallback)(a=>{i(a),B(!1)},[i]),aB=(0,e.useCallback)(async a=>{let b={type:a.config.type,command:a.config.command,args:a.config.args||[],url:a.config.url,env:a.config.env||{},headers:a.config.headers||{},timeout:a.config.timeout||3e4};au({name:a.name,config:b,lockName:!0,registryEntryId:a.id}),x(!1),v(!0)},[]),aC=(0,e.useCallback)(async()=>{if(c){_(!0);try{if(!(await fetch(`/api/sessions/${c}`,{method:"DELETE"})).ok)throw Error("Failed to delete conversation");Z(!1),m()}catch(a){console.error("Failed to delete conversation:",a),X(a instanceof Error?a.message:"Failed to delete conversation"),setTimeout(()=>X(null),5e3)}finally{_(!1)}}},[c,m]);(0,e.useCallback)(a=>{a.preventDefault(),aa.trim()&&(az(aa.trim()),af(""))},[aa,az]);let aD=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!a.ok){let b=`HTTP ${a.status}: ${a.statusText}`;try{let c=await a.json();b=c.message||c.error||b}catch{}throw Error(b)}let b=await a.json();aA(b.session.id)}catch(a){console.error("Error creating new session:",a),X("Failed to create new session. Please try again."),setTimeout(()=>X(null),5e3)}},[aA]),aE=[{title:"Help me get started",description:"Show me what you can do",action:()=>az("I'm new to Dexto. Can you show me your capabilities and help me understand how to work with you effectively?"),icon:"\uD83D\uDE80"},{title:"Create Snake Game",description:"Build a game and open it",action:()=>az("Create a snake game in a new directory with HTML, CSS, and JavaScript, then open it in the browser for me to play."),icon:"\uD83D\uDC0D"},{title:"Connect new tools",description:"Browse and add MCP servers",action:()=>z(!0),icon:"\uD83D\uDD27"},{title:"Demonstrate tools",description:"Show me your capabilities",action:()=>az("Pick one of your most interesting tools and demonstrate it with a practical example. Show me what it can do."),icon:"⚡"}];return(0,d.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,d.jsx)("div",{className:(0,h.cn)("shrink-0 transition-all duration-300 ease-in-out border-r border-border/50 bg-card/50 backdrop-blur-sm",A?"w-80":"w-0 overflow-hidden"),children:A&&(0,d.jsx)(cN,{isOpen:A,onClose:()=>B(!1),currentSessionId:c,onSessionChange:aA,returnToWelcome:m,variant:"inline",onSearchOpen:()=>D(!0),onNewChat:aD})}),(0,d.jsxs)("main",{className:"flex-1 flex flex-col relative",style:{"--thread-max-width":"54rem"},children:[null,(0,d.jsx)("header",{className:"shrink-0 border-b border-border/50 bg-background/95 backdrop-blur-xl shadow-sm",children:(0,d.jsxs)("div",{className:"flex justify-between items-center px-4 py-3",children:[(0,d.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>B(!A),className:(0,h.cn)("h-8 w-8 p-0 transition-colors",A&&"bg-muted"),children:(0,d.jsx)(cT,{className:"h-4 w-4"})})}),(0,d.jsx)(ad,{children:"Chat History (⌘H)"})]}),!A&&(0,d.jsx)(cM,{onClick:aD}),(0,d.jsxs)("a",{href:"https://dexto.ai",target:"_blank",rel:"noopener noreferrer",className:"flex items-center space-x-3 hover:opacity-80 transition-opacity",children:[(0,d.jsx)("img",{src:"/logos/dexto_logo_light.svg",alt:"Dexto",className:"h-8 w-auto dark:hidden"}),(0,d.jsx)("img",{src:"/logos/dexto_logo.svg",alt:"Dexto",className:"h-8 w-auto hidden dark:block"}),(0,d.jsx)("span",{className:"sr-only",children:"Dexto"})]}),c&&!k&&(0,d.jsx)("div",{className:"flex items-center space-x-2",children:(0,d.jsx)(b2.E,{variant:"secondary",className:"text-xs bg-muted/50 border-border/30",children:c})})]}),(0,d.jsxs)("div",{className:"flex items-center space-x-1",children:[(0,d.jsx)(c0,{}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>H(!0),className:"h-8 w-8 p-0","aria-label":"Open settings",children:(0,d.jsx)(cQ,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(ad,{children:"Settings"})]}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsxs)(ae.$,{variant:"ghost",size:"sm",onClick:()=>z(!y),className:(0,h.cn)("h-8 px-2 text-sm transition-colors",y&&"bg-muted"),children:[(0,d.jsx)(ar,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline ml-1.5",children:"Tools"})]})}),(0,d.jsx)(ad,{children:"Toggle tools panel (⌘J)"})]}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",asChild:!0,className:"h-8 px-2 text-sm",children:(0,d.jsxs)(cZ(),{href:"/playground",target:"_blank",rel:"noopener noreferrer",children:[(0,d.jsx)(b3,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline ml-1.5",children:"Playground"})]})})}),(0,d.jsx)(ad,{children:"Open MCP playground (⌘L)"})]}),(0,d.jsxs)(bJ,{children:[(0,d.jsx)(bK,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:(0,d.jsx)(cU,{className:"h-3.5 w-3.5"})})}),(0,d.jsxs)(bL,{align:"end",children:[(0,d.jsxs)(bM,{onClick:()=>x(!0),children:[(0,d.jsx)(cr,{className:"h-4 w-4 mr-2"}),"Browse MCP Registry"]}),(0,d.jsxs)(bM,{onClick:()=>F(!0),children:[(0,d.jsx)(cV,{className:"h-4 w-4 mr-2"}),"Export Config"]}),(0,d.jsxs)(bM,{onClick:()=>V(!0),children:[(0,d.jsx)(cW,{className:"h-4 w-4 mr-2"}),"Shortcuts"]}),c&&!k&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bN,{}),(0,d.jsxs)(bM,{onClick:()=>Z(!0),className:"text-destructive focus:text-destructive",children:[(0,d.jsx)(cC.A,{className:"h-4 w-4 mr-2"}),"Delete Conversation"]})]})]})]})]})]})}),(0,d.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[Q&&(0,d.jsxs)("div",{className:"fixed bottom-4 right-4 z-50 border border-border/60 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80 text-foreground px-3 py-2 rounded-md shadow-md inline-flex items-center gap-2",children:[(0,d.jsx)(n.A,{className:"h-4 w-4 text-green-600"}),(0,d.jsx)("span",{className:"text-sm",children:Q})]}),W&&(0,d.jsx)("div",{className:"absolute top-4 right-4 z-50 bg-destructive text-destructive-foreground px-4 py-2 rounded-md shadow-lg",children:W}),(0,d.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:k||0===a.length?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center p-6 -mt-20",children:(0,d.jsxs)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto space-y-6",children:[(0,d.jsxs)("div",{className:"text-center space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,d.jsx)("img",{src:"/logos/dexto_logo_no_text.png",alt:"Dexto",className:"h-8 w-auto invert dark:invert-0"}),(0,d.jsx)("h2",{className:"text-2xl font-bold font-mono tracking-tight bg-gradient-to-r from-primary to-primary/70 bg-clip-text text-transparent",children:t??"Welcome to Dexto"})]}),(0,d.jsx)("p",{className:"text-base text-muted-foreground max-w-xl mx-auto leading-relaxed",children:"Your AI assistant with powerful tools. Ask anything or connect new capabilities."})]}),(0,d.jsx)("div",{className:"flex flex-wrap justify-center gap-2 max-w-[var(--thread-max-width)] mx-auto",children:aE.map((a,b)=>(0,d.jsx)("button",{onClick:a.action,className:"group px-3 py-2 text-left rounded-full bg-primary/5 hover:bg-primary/10 transition-all duration-200 hover:shadow-sm hover:scale-105",children:(0,d.jsxs)("div",{className:"flex items-center space-x-1.5",children:[(0,d.jsx)("span",{className:"text-sm",children:a.icon}),(0,d.jsx)("span",{className:"font-medium text-sm text-primary group-hover:text-primary/80 transition-colors",children:a.title})]})},b))}),(0,d.jsx)("div",{className:"max-w-[var(--thread-max-width)] mx-auto",children:(0,d.jsx)(ci,{onSend:az,isSending:S,variant:"welcome"})}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground space-y-1 text-center",children:(0,d.jsxs)("p",{children:["\uD83D\uDCA1 Try",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘K"})," for new chat,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘J"})," for tools,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘L"})," for playground,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"Ctrl+⌫"})," to delete session,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘/"})," for shortcuts"]})})]})}):(0,d.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,d.jsx)("div",{ref:ag,className:"h-full overflow-y-auto overscroll-contain relative",children:(0,d.jsxs)("div",{className:"min-h-full grid grid-rows-[1fr_auto]",children:[(0,d.jsx)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto",children:(0,d.jsx)(aG,{messages:a,activeError:p,onDismissError:q,outerRef:ah})}),(0,d.jsxs)("div",{className:"sticky bottom-0 z-10 px-4 pt-2 pb-[calc(env(safe-area-inset-bottom)+16px)] bg-background relative",children:[ao&&(0,d.jsx)("div",{className:"absolute left-1/2 -translate-x-1/2 -top-3 z-20 pointer-events-none",children:(0,d.jsxs)("button",{onClick:()=>{ap(!1),av("smooth")},className:"pointer-events-auto px-3 py-1.5 rounded-full shadow-sm bg-background/95 border border-border/60 backdrop-blur supports-[backdrop-filter]:bg-background/80 text-sm text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-1.5",children:[(0,d.jsx)("span",{children:"Scroll to bottom"}),(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"})]})}),(0,d.jsx)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto pointer-events-auto",children:(0,d.jsx)(ci,{onSend:az,isSending:S,variant:"chat"})})]})]})})})}),(0,d.jsx)("div",{className:(0,h.cn)("shrink-0 transition-all duration-300 ease-in-out border-l border-border/50 bg-card/50 backdrop-blur-sm",y?"w-80":"w-0 overflow-hidden"),children:y&&(0,d.jsx)(cG,{isOpen:y,onClose:()=>z(!1),onOpenConnectModal:()=>v(!0),onOpenConnectWithPrefill:a=>{au(a),v(!0)},variant:"inline",refreshTrigger:aq})})]}),(0,d.jsx)(cj.A,{isOpen:u,onClose:()=>{v(!1),au(null)},onServerConnected:async()=>{if(at?.registryEntryId)try{await cm.setInstalled(at.registryEntryId,!0)}catch(a){console.warn("Failed to mark registry entry installed:",a)}as(a=>a+1);let a=at?.name||"Server";R(`Added ${a}`),setTimeout(()=>R(null),4e3)},initialName:at?.name,initialConfig:at?.config,lockName:at?.lockName}),(0,d.jsx)(cy,{isOpen:w,onClose:()=>x(!1),onInstallServer:aB}),(0,d.jsx)(bU.lG,{open:E,onOpenChange:F,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-2xl",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cV,{className:"h-5 w-5"}),(0,d.jsx)("span",{children:"Export Configuration"})]}),(0,d.jsxs)(bU.rr,{children:["Download your tool configuration for Claude Desktop or other MCP clients",c&&(0,d.jsxs)("span",{className:"block mt-1 text-sm text-muted-foreground",children:["Including session-specific settings for: ",(0,d.jsx)("span",{className:"font-mono",children:c})]})]})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{htmlFor:"filename",children:"File name"}),(0,d.jsx)(bY.p,{id:"filename",value:I,onChange:a=>J(a.target.value),placeholder:"dexto-config",className:"font-mono"})]}),K&&(0,d.jsxs)(bW.Fc,{variant:"destructive",children:[(0,d.jsx)(j.A,{className:"h-4 w-4"}),(0,d.jsx)(bW.XL,{children:"Export Error"}),(0,d.jsx)(bW.TN,{children:K})]}),M&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{children:"Configuration Preview"}),(0,d.jsx)(cX.T,{value:M,readOnly:!0,className:"h-32 font-mono text-xs bg-muted/30"})]})]}),(0,d.jsxs)(bU.Es,{children:[(0,d.jsx)(ae.$,{variant:"outline",onClick:ay,className:"flex items-center space-x-2",children:(0,d.jsx)("span",{children:O?"Copied!":"Copy"})}),(0,d.jsxs)(ae.$,{onClick:ax,className:"flex items-center space-x-2",children:[(0,d.jsx)(cV,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Download"})]})]})]})}),(0,d.jsx)(c2,{isOpen:G,onClose:()=>H(!1)}),(0,d.jsx)(bU.lG,{open:Y,onOpenChange:Z,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-md",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cC.A,{className:"h-5 w-5 text-destructive"}),(0,d.jsx)("span",{children:"Delete Conversation"})]}),(0,d.jsxs)(bU.rr,{children:["This will permanently delete this conversation and all its messages. This action cannot be undone.",c&&(0,d.jsxs)("span",{className:"block mt-2 font-medium",children:["Session: ",(0,d.jsx)("span",{className:"font-mono",children:c})]})]})]}),(0,d.jsxs)(bU.Es,{children:[(0,d.jsx)(ae.$,{variant:"outline",onClick:()=>Z(!1),children:"Cancel"}),(0,d.jsxs)(ae.$,{variant:"destructive",onClick:aC,disabled:$,className:"flex items-center space-x-2",children:[(0,d.jsx)(cC.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:$?"Deleting...":"Delete Conversation"})]})]})]})}),(0,d.jsx)(bU.lG,{open:U,onOpenChange:V,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-md",children:[(0,d.jsx)(bU.c7,{children:(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cW,{className:"h-5 w-5"}),(0,d.jsx)("span",{children:"Keyboard Shortcuts"})]})}),(0,d.jsx)("div",{className:"space-y-3",children:[{key:"⌘H",desc:"Toggle chat history panel"},{key:"⌘K",desc:"Create new chat"},{key:"⌘J",desc:"Toggle tools panel"},{key:"⌘⇧S",desc:"Search conversations"},{key:"⌘L",desc:"Open MCP playground"},{key:"⌘⇧E",desc:"Export config"},{key:"⌘/",desc:"Show shortcuts"},{key:"Ctrl+⌫",desc:"Delete current session"},{key:"Esc",desc:"Close panels"}].map((a,b)=>(0,d.jsxs)("div",{className:"flex justify-between items-center py-1",children:[(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a.desc}),(0,d.jsx)(b2.E,{variant:"outline",className:"font-mono text-xs",children:a.key})]},b))}),(0,d.jsx)(bU.Es,{children:(0,d.jsx)(bU.HM,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"outline",children:"Close"})})})]})})]}),(0,d.jsx)(cS,{isOpen:C,onClose:()=>D(!1),onNavigateToSession:(a,b)=>{i(a),D(!1)}}),(0,d.jsx)(cP,{websocket:o})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18075:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(87033),e=c(32468),f=c(35270),g=e._(c(4039)),h=d._(c(43974)),i=c(744),j=c(38928),k=c(92019);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(70957);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},34628:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(70957);let d=c(2003),e=c(49719),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},38928:(a,b,c)=>{"use strict";a.exports=c(40198).vendored.contexts.HeadManagerContext},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43974:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(4039),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}},49719:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},50828:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(87033),e=c(32468),f=c(35270),g=e._(c(4039)),h=d._(c(16942)),i=d._(c(18075)),j=c(34628),k=c(49719),l=c(85362);c(70957);let m=c(85497),n=d._(c(8098)),o=c(58797),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62518:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(87033),e=c(34628),f=c(50828),g=d._(c(8098));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},62973:(a,b,c)=>{Promise.resolve().then(c.bind(c,8993))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70253:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(95364).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx","default")},73136:a=>{"use strict";a.exports=require("node:url")},76477:(a,b,c)=>{Promise.resolve().then(c.bind(c,70253))},76760:a=>{"use strict";a.exports=require("node:path")},84594:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(15592),e=c(823),f=c(45233),g=c(47710),h=c(28992),i=c(34706),j=c(68505),k=c(30554),l=c(20768),m=c(65802),n=c(64308),o=c(60195),p=c(73143),q=c(22908),r=c(261),s=c(29619),t=c(69936),u=c(26713),v=c(39802),w=c(60111),x=c(25699),y=c(50052),z=c(37732),A=c(96580),B=c(86439),C=c(97452),D=c.n(C),E=c(46912),F=c(50329),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,99226)),"/home/runner/work/dexto/dexto/packages/webui/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,90981)),"/home/runner/work/dexto/dexto/packages/webui/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,97452,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,70106,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,31547,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,8910,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/home/runner/work/dexto/dexto/packages/webui/app/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
10
+ `,children:g?(0,d.jsx)(c$,{className:"w-3.5 h-3.5 text-gray-700"}):(0,d.jsx)(c_,{className:"w-3.5 h-3.5 text-yellow-500"})})})}),(0,d.jsx)(ad,{children:g?"Switch to light mode":"Switch to dark mode"})]})}):(0,d.jsx)("div",{className:"w-12 h-6 bg-gray-300 dark:bg-gray-700 rounded-full"})}function c1({active:a=!1}){let{voices:b,selected:c,setSelected:f}=function(){let[a,b]=(0,e.useState)(am.getVoices()),[c,d]=(0,e.useState)(am.getPreferredVoiceName());return{voices:a,selected:c,setSelected:a=>{am.setPreferredVoice(a),d(am.getPreferredVoiceName())}}}(),[g,h]=(0,e.useState)(!1);return a?(0,d.jsxs)(bX.l6,{value:c??"auto",onValueChange:a=>{f("auto"===a?null:a)},children:[(0,d.jsx)(bX.bq,{className:"h-8 w-[12rem] text-xs",children:(0,d.jsx)(bX.yv,{placeholder:"Voice"})}),(0,d.jsxs)(bX.gC,{children:[(0,d.jsx)(bX.eb,{value:"auto",children:"Auto (best available)"}),g&&b.map(a=>(0,d.jsxs)(bX.eb,{value:a.name,children:[a.name," (",a.lang,")"]},`${a.name}-${a.lang}`))]})]}):null}function c2({isOpen:a,onClose:b}){return(0,d.jsx)(bU.lG,{open:a,onOpenChange:a=>!a&&b(),children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-lg",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsx)(bU.L3,{children:"Settings"}),(0,d.jsx)(bU.rr,{children:"Configure preferences for speech and more."})]}),(0,d.jsx)("div",{className:"space-y-6 py-2",children:(0,d.jsxs)("section",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{className:"text-xs uppercase text-muted-foreground",children:"Voice"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Choose a preferred text-to-speech voice. “Auto” selects the best available voice on your device."}),(0,d.jsx)(c1,{active:a})]})})]})})}function c3(){let[a,b]=(0,e.useState)(!1),{messages:c,sendMessage:i,currentSessionId:k,switchSession:m,isWelcomeState:o,returnToWelcome:p,websocket:q,activeError:r,clearError:s,processing:t,cancel:u,greeting:v}=(0,g.v)(),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1),[A,B]=(0,e.useState)(!1),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!1),[K,L]=(0,e.useState)("dexto-config"),[M,N]=(0,e.useState)(null),[O,P]=(0,e.useState)(""),[Q,R]=(0,e.useState)(!1),[S,T]=(0,e.useState)(null),[U,V]=(0,e.useState)(!1),[W,X]=(0,e.useState)(!1),[Y,Z]=(0,e.useState)(null),[$,_]=(0,e.useState)(!1),[aa,af]=(0,e.useState)(!1),[ag,ah]=(0,e.useState)(""),ai=f().useRef(null),aj=f().useRef(null),[ak,al]=(0,e.useState)(!0),[am,an]=(0,e.useState)(!1),[ao,ap]=(0,e.useState)(!1);f().useRef(0);let[aq,as]=(0,e.useState)(!1);f().useRef(null);let[at,au]=(0,e.useState)(0),[av,aw]=(0,e.useState)(null);(0,e.useCallback)(()=>{let a=ai.current;a&&al(a.scrollHeight-a.scrollTop<=a.clientHeight+1)},[]);let ax=(0,e.useCallback)((a="auto")=>{let b=ai.current;b&&(an(!0),b.scrollTo({top:b.scrollHeight,behavior:a}),requestAnimationFrame(()=>an(!1)))},[]),ay=(0,e.useCallback)(()=>{let a=ai.current;if(!a)return;let b=a.querySelectorAll('[data-role="user"]'),c=b[b.length-1];if(!c)return void ax("auto");let d=a.getBoundingClientRect(),e=Math.max(c.getBoundingClientRect().top-d.top+a.scrollTop-16,0);an(!0),a.scrollTo({top:e,behavior:"auto"}),requestAnimationFrame(()=>an(!1))},[ax]),az=(0,e.useCallback)(async()=>{try{let a=k?`/api/config.yaml?sessionId=${k}`:"/api/config.yaml",b=await fetch(a);if(!b.ok)throw Error("Failed to fetch configuration");let c=await b.text(),d=new Blob([c],{type:"application/x-yaml"}),e=URL.createObjectURL(d),f=document.createElement("a");f.href=e,f.download=k?`${K}-${k}.yml`:`${K}.yml`,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(e)}catch(a){console.error("Download failed:",a),N(a instanceof Error?a.message:"Download failed")}},[K,k]),aA=(0,e.useCallback)(async()=>{try{await navigator.clipboard.writeText(O),R(!0),setTimeout(()=>R(!1),2e3)}catch(a){console.error("Copy failed:",a),N("Failed to copy to clipboard")}},[O]),aB=(0,e.useCallback)(async(a,b,c)=>{V(!0),Z(null);try{await i(a,b,c),setTimeout(()=>{ay(),ap(!0)},0)}catch(a){console.error("Failed to send message:",a),Z(a instanceof Error?a.message:"Failed to send message"),setTimeout(()=>Z(null),5e3)}finally{V(!1)}},[i,ay]),aC=(0,e.useCallback)(a=>{m(a),D(!1)},[m]),aD=(0,e.useCallback)(async a=>{let b={type:a.config.type,command:a.config.command,args:a.config.args||[],url:a.config.url,env:a.config.env||{},headers:a.config.headers||{},timeout:a.config.timeout||3e4};aw({name:a.name,config:b,lockName:!0,registryEntryId:a.id}),z(!1),x(!0)},[]),aE=(0,e.useCallback)(async()=>{if(k){af(!0);try{if(!(await fetch(`/api/sessions/${k}`,{method:"DELETE"})).ok)throw Error("Failed to delete conversation");_(!1),p()}catch(a){console.error("Failed to delete conversation:",a),Z(a instanceof Error?a.message:"Failed to delete conversation"),setTimeout(()=>Z(null),5e3)}finally{af(!1)}}},[k,p]);(0,e.useCallback)(a=>{a.preventDefault(),ag.trim()&&(aB(ag.trim()),ah(""))},[ag,aB]);let aF=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!a.ok){let b=`HTTP ${a.status}: ${a.statusText}`;try{let c=await a.json();b=c.message||c.error||b}catch{}throw Error(b)}let b=await a.json();aC(b.session.id)}catch(a){console.error("Error creating new session:",a),Z("Failed to create new session. Please try again."),setTimeout(()=>Z(null),5e3)}},[aC]),aH=[{title:"Help me get started",description:"Show me what you can do",action:()=>aB("I'm new to Dexto. Can you show me your capabilities and help me understand how to work with you effectively?"),icon:"\uD83D\uDE80"},{title:"Create Snake Game",description:"Build a game and open it",action:()=>aB("Create a snake game in a new directory with HTML, CSS, and JavaScript, then open it in the browser for me to play."),icon:"\uD83D\uDC0D"},{title:"Connect new tools",description:"Browse and add MCP servers",action:()=>B(!0),icon:"\uD83D\uDD27"},{title:"Demonstrate tools",description:"Show me your capabilities",action:()=>aB("Pick one of your most interesting tools and demonstrate it with a practical example. Show me what it can do."),icon:"⚡"}];return(0,d.jsxs)("div",{className:"flex h-screen bg-background",children:[(0,d.jsx)("div",{className:(0,h.cn)("shrink-0 transition-all duration-300 ease-in-out border-r border-border/50 bg-card/50 backdrop-blur-sm",C?"w-80":"w-0 overflow-hidden"),children:C&&(0,d.jsx)(cN,{isOpen:C,onClose:()=>D(!1),currentSessionId:k,onSessionChange:aC,returnToWelcome:p,variant:"inline",onSearchOpen:()=>F(!0),onNewChat:aF})}),(0,d.jsxs)("main",{className:"flex-1 flex flex-col relative",style:{"--thread-max-width":"54rem"},children:[null,(0,d.jsx)("header",{className:"shrink-0 border-b border-border/50 bg-background/95 backdrop-blur-xl shadow-sm",children:(0,d.jsxs)("div",{className:"flex justify-between items-center px-4 py-3",children:[(0,d.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>D(!C),className:(0,h.cn)("h-8 w-8 p-0 transition-colors",C&&"bg-muted"),children:(0,d.jsx)(cT,{className:"h-4 w-4"})})}),(0,d.jsx)(ad,{children:"Chat History (⌘H)"})]}),!C&&(0,d.jsx)(cM,{onClick:aF}),(0,d.jsxs)("a",{href:"https://dexto.ai",target:"_blank",rel:"noopener noreferrer",className:"flex items-center space-x-3 hover:opacity-80 transition-opacity",children:[(0,d.jsx)("img",{src:"/logos/dexto/dexto_logo_light.svg",alt:"Dexto",className:"h-12 w-auto dark:hidden"}),(0,d.jsx)("img",{src:"/logos/dexto/dexto_logo.svg",alt:"Dexto",className:"h-12 w-auto hidden dark:block"}),(0,d.jsx)("span",{className:"sr-only",children:"Dexto"})]}),k&&!o&&(0,d.jsx)("div",{className:"flex items-center space-x-2",children:(0,d.jsx)(b2.E,{variant:"secondary",className:"text-xs bg-muted/50 border-border/30",children:k})})]}),(0,d.jsxs)("div",{className:"flex items-center space-x-1",children:[(0,d.jsx)(c0,{}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",onClick:()=>J(!0),className:"h-8 w-8 p-0","aria-label":"Open settings",children:(0,d.jsx)(cQ,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(ad,{children:"Settings"})]}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsxs)(ae.$,{variant:"ghost",size:"sm",onClick:()=>B(!A),className:(0,h.cn)("h-8 px-2 text-sm transition-colors",A&&"bg-muted"),children:[(0,d.jsx)(ar,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline ml-1.5",children:"Tools"})]})}),(0,d.jsx)(ad,{children:"Toggle tools panel (⌘J)"})]}),(0,d.jsxs)(ab,{children:[(0,d.jsx)(ac,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",asChild:!0,className:"h-8 px-2 text-sm",children:(0,d.jsxs)(cZ(),{href:"/playground",target:"_blank",rel:"noopener noreferrer",children:[(0,d.jsx)(b3,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{className:"hidden sm:inline ml-1.5",children:"Playground"})]})})}),(0,d.jsx)(ad,{children:"Open MCP playground (⌘L)"})]}),(0,d.jsxs)(bJ,{children:[(0,d.jsx)(bK,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",children:(0,d.jsx)(cU,{className:"h-3.5 w-3.5"})})}),(0,d.jsxs)(bL,{align:"end",children:[(0,d.jsxs)(bM,{onClick:()=>z(!0),children:[(0,d.jsx)(cr,{className:"h-4 w-4 mr-2"}),"Browse MCP Registry"]}),(0,d.jsxs)(bM,{onClick:()=>H(!0),children:[(0,d.jsx)(cV,{className:"h-4 w-4 mr-2"}),"Export Config"]}),(0,d.jsxs)(bM,{onClick:()=>X(!0),children:[(0,d.jsx)(cW,{className:"h-4 w-4 mr-2"}),"Shortcuts"]}),k&&!o&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(bN,{}),(0,d.jsxs)(bM,{onClick:()=>_(!0),className:"text-destructive focus:text-destructive",children:[(0,d.jsx)(cC.A,{className:"h-4 w-4 mr-2"}),"Delete Conversation"]})]})]})]})]})]})}),(0,d.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[S&&(0,d.jsxs)("div",{className:"fixed bottom-4 right-4 z-50 border border-border/60 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/80 text-foreground px-3 py-2 rounded-md shadow-md inline-flex items-center gap-2",children:[(0,d.jsx)(n.A,{className:"h-4 w-4 text-green-600"}),(0,d.jsx)("span",{className:"text-sm",children:S})]}),Y&&(0,d.jsx)("div",{className:"absolute top-4 right-4 z-50 bg-destructive text-destructive-foreground px-4 py-2 rounded-md shadow-lg",children:Y}),(0,d.jsx)("div",{className:"flex-1 flex flex-col min-h-0",children:o||0===c.length?(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center p-6 -mt-20",children:(0,d.jsxs)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto space-y-6",children:[(0,d.jsxs)("div",{className:"text-center space-y-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-center gap-3",children:[(0,d.jsx)("img",{src:"/logos/dexto/dexto_logo_icon.svg",alt:"Dexto",className:"h-12 w-auto"}),(0,d.jsx)("h2",{className:"text-2xl font-bold font-mono tracking-tight bg-gradient-to-r from-primary to-primary/70 bg-clip-text text-transparent",children:v??"Welcome to Dexto"})]}),(0,d.jsx)("p",{className:"text-base text-muted-foreground max-w-xl mx-auto leading-relaxed",children:"Your AI assistant with powerful tools. Ask anything or connect new capabilities."})]}),(0,d.jsx)("div",{className:"flex flex-wrap justify-center gap-2 max-w-[var(--thread-max-width)] mx-auto",children:aH.map((a,b)=>(0,d.jsx)("button",{onClick:a.action,className:"group px-3 py-2 text-left rounded-full bg-primary/5 hover:bg-primary/10 transition-all duration-200 hover:shadow-sm hover:scale-105",children:(0,d.jsxs)("div",{className:"flex items-center space-x-1.5",children:[(0,d.jsx)("span",{className:"text-sm",children:a.icon}),(0,d.jsx)("span",{className:"font-medium text-sm text-primary group-hover:text-primary/80 transition-colors",children:a.title})]})},b))}),(0,d.jsx)("div",{className:"max-w-[var(--thread-max-width)] mx-auto",children:(0,d.jsx)(ci,{onSend:aB,isSending:U,variant:"welcome"})}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground space-y-1 text-center",children:(0,d.jsxs)("p",{children:["\uD83D\uDCA1 Try",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘K"})," for new chat,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘J"})," for tools,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘L"})," for playground,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:a?"⌘⌫":"Ctrl+⌫"})," to delete session,",(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded text-xs ml-1",children:"⌘/"})," for shortcuts"]})})]})}):(0,d.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,d.jsx)("div",{ref:ai,className:"h-full overflow-y-auto overscroll-contain relative",children:(0,d.jsxs)("div",{className:"min-h-full grid grid-rows-[1fr_auto]",children:[(0,d.jsx)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto",children:(0,d.jsx)(aG,{messages:c,activeError:r,onDismissError:s,outerRef:aj})}),(0,d.jsxs)("div",{className:"sticky bottom-0 z-10 px-4 pt-2 pb-[calc(env(safe-area-inset-bottom)+16px)] bg-background relative",children:[aq&&(0,d.jsx)("div",{className:"absolute left-1/2 -translate-x-1/2 -top-3 z-20 pointer-events-none",children:(0,d.jsxs)("button",{onClick:()=>{as(!1),ax("smooth")},className:"pointer-events-auto px-3 py-1.5 rounded-full shadow-sm bg-background/95 border border-border/60 backdrop-blur supports-[backdrop-filter]:bg-background/80 text-sm text-muted-foreground hover:text-foreground transition-colors inline-flex items-center gap-1.5",children:[(0,d.jsx)("span",{children:"Scroll to bottom"}),(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"})]})}),(0,d.jsx)("div",{className:"w-full max-w-[var(--thread-max-width)] mx-auto pointer-events-auto",children:(0,d.jsx)(ci,{onSend:aB,isSending:U,variant:"chat"})})]})]})})})}),(0,d.jsx)("div",{className:(0,h.cn)("shrink-0 transition-all duration-300 ease-in-out border-l border-border/50 bg-card/50 backdrop-blur-sm",A?"w-80":"w-0 overflow-hidden"),children:A&&(0,d.jsx)(cG,{isOpen:A,onClose:()=>B(!1),onOpenConnectModal:()=>x(!0),onOpenConnectWithPrefill:a=>{aw(a),x(!0)},variant:"inline",refreshTrigger:at})})]}),(0,d.jsx)(cj.A,{isOpen:w,onClose:()=>{x(!1),aw(null)},onServerConnected:async()=>{if(av?.registryEntryId)try{await cm.setInstalled(av.registryEntryId,!0)}catch(a){console.warn("Failed to mark registry entry installed:",a)}au(a=>a+1);let a=av?.name||"Server";T(`Added ${a}`),setTimeout(()=>T(null),4e3)},initialName:av?.name,initialConfig:av?.config,lockName:av?.lockName}),(0,d.jsx)(cy,{isOpen:y,onClose:()=>z(!1),onInstallServer:aD}),(0,d.jsx)(bU.lG,{open:G,onOpenChange:H,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-2xl",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cV,{className:"h-5 w-5"}),(0,d.jsx)("span",{children:"Export Configuration"})]}),(0,d.jsxs)(bU.rr,{children:["Download your tool configuration for Claude Desktop or other MCP clients",k&&(0,d.jsxs)("span",{className:"block mt-1 text-sm text-muted-foreground",children:["Including session-specific settings for: ",(0,d.jsx)("span",{className:"font-mono",children:k})]})]})]}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{htmlFor:"filename",children:"File name"}),(0,d.jsx)(bY.p,{id:"filename",value:K,onChange:a=>L(a.target.value),placeholder:"dexto-config",className:"font-mono"})]}),M&&(0,d.jsxs)(bW.Fc,{variant:"destructive",children:[(0,d.jsx)(j.A,{className:"h-4 w-4"}),(0,d.jsx)(bW.XL,{children:"Export Error"}),(0,d.jsx)(bW.TN,{children:M})]}),O&&(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(bV.J,{children:"Configuration Preview"}),(0,d.jsx)(cX.T,{value:O,readOnly:!0,className:"h-32 font-mono text-xs bg-muted/30"})]})]}),(0,d.jsxs)(bU.Es,{children:[(0,d.jsx)(ae.$,{variant:"outline",onClick:aA,className:"flex items-center space-x-2",children:(0,d.jsx)("span",{children:Q?"Copied!":"Copy"})}),(0,d.jsxs)(ae.$,{onClick:az,className:"flex items-center space-x-2",children:[(0,d.jsx)(cV,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Download"})]})]})]})}),(0,d.jsx)(c2,{isOpen:I,onClose:()=>J(!1)}),(0,d.jsx)(bU.lG,{open:$,onOpenChange:_,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-md",children:[(0,d.jsxs)(bU.c7,{children:[(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cC.A,{className:"h-5 w-5 text-destructive"}),(0,d.jsx)("span",{children:"Delete Conversation"})]}),(0,d.jsxs)(bU.rr,{children:["This will permanently delete this conversation and all its messages. This action cannot be undone.",k&&(0,d.jsxs)("span",{className:"block mt-2 font-medium",children:["Session: ",(0,d.jsx)("span",{className:"font-mono",children:k})]})]})]}),(0,d.jsxs)(bU.Es,{children:[(0,d.jsx)(ae.$,{variant:"outline",onClick:()=>_(!1),children:"Cancel"}),(0,d.jsxs)(ae.$,{variant:"destructive",onClick:aE,disabled:aa,className:"flex items-center space-x-2",children:[(0,d.jsx)(cC.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:aa?"Deleting...":"Delete Conversation"})]})]})]})}),(0,d.jsx)(bU.lG,{open:W,onOpenChange:X,children:(0,d.jsxs)(bU.Cf,{className:"sm:max-w-md",children:[(0,d.jsx)(bU.c7,{children:(0,d.jsxs)(bU.L3,{className:"flex items-center space-x-2",children:[(0,d.jsx)(cW,{className:"h-5 w-5"}),(0,d.jsx)("span",{children:"Keyboard Shortcuts"})]})}),(0,d.jsx)("div",{className:"space-y-3",children:[{key:"⌘H",desc:"Toggle chat history panel"},{key:"⌘K",desc:"Create new chat"},{key:"⌘J",desc:"Toggle tools panel"},{key:"⌘⇧S",desc:"Search conversations"},{key:"⌘L",desc:"Open MCP playground"},{key:"⌘⇧E",desc:"Export config"},{key:"⌘/",desc:"Show shortcuts"},{key:a?"⌘⌫":"Ctrl+⌫",desc:"Delete current session"},{key:"Esc",desc:"Close panels"}].map((a,b)=>(0,d.jsxs)("div",{className:"flex justify-between items-center py-1",children:[(0,d.jsx)("span",{className:"text-sm text-muted-foreground",children:a.desc}),(0,d.jsx)(b2.E,{variant:"outline",className:"font-mono text-xs",children:a.key})]},b))}),(0,d.jsx)(bU.Es,{children:(0,d.jsx)(bU.HM,{asChild:!0,children:(0,d.jsx)(ae.$,{variant:"outline",children:"Close"})})})]})})]}),(0,d.jsx)(cS,{isOpen:E,onClose:()=>F(!1),onNavigateToSession:(a,b)=>{m(a),F(!1)}}),(0,d.jsx)(cP,{websocket:q})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18075:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return p},defaultHead:function(){return l}});let d=c(87033),e=c(32468),f=c(35270),g=e._(c(4039)),h=d._(c(43974)),i=c(744),j=c(38928),k=c(92019);function l(a){void 0===a&&(a=!1);let b=[(0,f.jsx)("meta",{charSet:"utf-8"},"charset")];return a||b.push((0,f.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),b}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===g.default.Fragment?a.concat(g.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}c(70957);let n=["name","httpEquiv","charSet","itemProp"];function o(a,b){let{inAmpMode:c}=b;return a.reduce(m,[]).reverse().concat(l(c).reverse()).filter(function(){let a=new Set,b=new Set,c=new Set,d={};return e=>{let f=!0,g=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){g=!0;let b=e.key.slice(e.key.indexOf("$")+1);a.has(b)?f=!1:a.add(b)}switch(e.type){case"title":case"base":b.has(e.type)?f=!1:b.add(e.type);break;case"meta":for(let a=0,b=n.length;a<b;a++){let b=n[a];if(e.props.hasOwnProperty(b))if("charSet"===b)c.has(b)?f=!1:c.add(b);else{let a=e.props[b],c=d[b]||new Set;("name"!==b||!g)&&c.has(a)?f=!1:(c.add(a),d[b]=c)}}}return f}}()).reverse().map((a,b)=>{let c=a.key||b;return g.default.cloneElement(a,{key:c})})}let p=function(a){let{children:b}=a,c=(0,g.useContext)(i.AmpStateContext),d=(0,g.useContext)(j.HeadManagerContext);return(0,f.jsx)(h.default,{reduceComponentsToState:o,headManager:d,inAmpMode:(0,k.isInAmpMode)(c),children:b})};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},34628:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImgProps",{enumerable:!0,get:function(){return i}}),c(70957);let d=c(2003),e=c(49719),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i(a,b){var c,i;let j,k,l,{src:m,sizes:n,unoptimized:o=!1,priority:p=!1,loading:q,className:r,quality:s,width:t,height:u,fill:v=!1,style:w,overrideSrc:x,onLoad:y,onLoadingComplete:z,placeholder:A="empty",blurDataURL:B,fetchPriority:C,decoding:D="async",layout:E,objectFit:F,objectPosition:G,lazyBoundary:H,lazyRoot:I,...J}=a,{imgConf:K,showAltText:L,blurComplete:M,defaultLoader:N}=b,O=K||e.imageConfigDefault;if("allSizes"in O)j=O;else{let a=[...O.deviceSizes,...O.imageSizes].sort((a,b)=>a-b),b=O.deviceSizes.sort((a,b)=>a-b),d=null==(c=O.qualities)?void 0:c.sort((a,b)=>a-b);j={...O,allSizes:a,deviceSizes:b,qualities:d}}if(void 0===N)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let P=J.loader||N;delete J.loader,delete J.srcSet;let Q="__next_img_default"in P;if(Q){if("custom"===j.loader)throw Object.defineProperty(Error('Image with src "'+m+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=P;P=b=>{let{config:c,...d}=b;return a(d)}}if(E){"fill"===E&&(v=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[E];a&&(w={...w,...a});let b={responsive:"100vw",fill:"100vw"}[E];b&&!n&&(n=b)}let R="",S=h(t),T=h(u);if((i=m)&&"object"==typeof i&&(g(i)||void 0!==i.src)){let a=g(m)?m.default:m;if(!a.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!a.height||!a.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(a)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(k=a.blurWidth,l=a.blurHeight,B=B||a.blurDataURL,R=a.src,!v)if(S||T){if(S&&!T){let b=S/a.width;T=Math.round(a.height*b)}else if(!S&&T){let b=T/a.height;S=Math.round(a.width*b)}}else S=a.width,T=a.height}let U=!p&&("lazy"===q||void 0===q);(!(m="string"==typeof m?m:R)||m.startsWith("data:")||m.startsWith("blob:"))&&(o=!0,U=!1),j.unoptimized&&(o=!0),Q&&!j.dangerouslyAllowSVG&&m.split("?",1)[0].endsWith(".svg")&&(o=!0);let V=h(s),W=Object.assign(v?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:F,objectPosition:G}:{},L?{}:{color:"transparent"},w),X=M||"empty"===A?null:"blur"===A?'url("data:image/svg+xml;charset=utf-8,'+(0,d.getImageBlurSvg)({widthInt:S,heightInt:T,blurWidth:k,blurHeight:l,blurDataURL:B||"",objectFit:W.objectFit})+'")':'url("'+A+'")',Y=f.includes(W.objectFit)?"fill"===W.objectFit?"100% 100%":"cover":W.objectFit,Z=X?{backgroundSize:Y,backgroundPosition:W.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:X}:{},$=function(a){let{config:b,src:c,unoptimized:d,width:e,quality:f,sizes:g,loader:h}=a;if(d)return{src:c,srcSet:void 0,sizes:void 0};let{widths:i,kind:j}=function(a,b,c){let{deviceSizes:d,allSizes:e}=a;if(c){let a=/(^|\s)(1?\d?\d)vw/g,b=[];for(let d;d=a.exec(c);)b.push(parseInt(d[2]));if(b.length){let a=.01*Math.min(...b);return{widths:e.filter(b=>b>=d[0]*a),kind:"w"}}return{widths:e,kind:"w"}}return"number"!=typeof b?{widths:d,kind:"w"}:{widths:[...new Set([b,2*b].map(a=>e.find(b=>b>=a)||e[e.length-1]))],kind:"x"}}(b,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((a,d)=>h({config:b,src:c,quality:f,width:a})+" "+("w"===j?a:d+1)+j).join(", "),src:h({config:b,src:c,quality:f,width:i[k]})}}({config:j,src:m,unoptimized:o,width:S,quality:V,sizes:n,loader:P});return{props:{...J,loading:U?"lazy":q,fetchPriority:C,width:S,height:T,decoding:D,className:r,style:{...W,...Z},sizes:$.sizes,srcSet:$.srcSet,src:x||$.src},meta:{unoptimized:o,priority:p,placeholder:A,fill:v}}}},38928:(a,b,c)=>{"use strict";a.exports=c(40198).vendored.contexts.HeadManagerContext},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43974:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(4039),e=()=>{};function f(a){var b;let{headManager:c,reduceComponentsToState:f}=a;function g(){if(c&&c.mountedInstances){let b=d.Children.toArray(Array.from(c.mountedInstances).filter(Boolean));c.updateHead(f(b,a))}}return null==c||null==(b=c.mountedInstances)||b.add(a.children),g(),e(()=>{var b;return null==c||null==(b=c.mountedInstances)||b.add(a.children),()=>{var b;null==c||null==(b=c.mountedInstances)||b.delete(a.children)}}),e(()=>(c&&(c._pendingUpdate=g),()=>{c&&(c._pendingUpdate=g)})),null}},49719:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{VALID_LOADERS:function(){return c},imageConfigDefault:function(){return d}});let c=["default","imgix","cloudinary","akamai","custom"],d={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},50828:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Image",{enumerable:!0,get:function(){return u}});let d=c(87033),e=c(32468),f=c(35270),g=e._(c(4039)),h=d._(c(16942)),i=d._(c(18075)),j=c(34628),k=c(49719),l=c(85362);c(70957);let m=c(85497),n=d._(c(8098)),o=c(58797),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=null==a?void 0:a.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),null==c?void 0:c.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}(null==d?void 0:d.current)&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)((a,b)=>{let{src:c,srcSet:d,sizes:e,height:h,width:i,decoding:j,className:k,style:l,fetchPriority:m,placeholder:n,loading:p,unoptimized:s,fill:t,onLoadRef:u,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:x,sizesInput:y,onLoad:z,onError:A,...B}=a,C=(0,g.useCallback)(a=>{a&&(A&&(a.src=a.src),a.complete&&q(a,n,u,v,w,s,y))},[c,n,u,v,w,A,s,y]),D=(0,o.useMergedRef)(b,C);return(0,f.jsx)("img",{...B,...r(m),loading:p,width:i,height:h,decoding:j,"data-nimg":t?"fill":"1",className:k,style:l,sizes:e,srcSet:d,src:c,ref:D,onLoad:a=>{q(a.currentTarget,n,u,v,w,s,y)},onError:a=>{x(!0),"empty"!==n&&w(!0),A&&A(a)}})});function t(a){let{isAppRouter:b,imgAttributes:c}=a,d={as:"image",imageSrcSet:c.srcSet,imageSizes:c.sizes,crossOrigin:c.crossOrigin,referrerPolicy:c.referrerPolicy,...r(c.fetchPriority)};return b&&h.default.preload?(h.default.preload(c.src,d),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:c.srcSet?void 0:c.src,...d},"__nimg-"+c.src+c.srcSet+c.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{var a;let b=p||d||k.imageConfigDefault,c=[...b.deviceSizes,...b.imageSizes].sort((a,b)=>a-b),e=b.deviceSizes.sort((a,b)=>a-b),f=null==(a=b.qualities)?void 0:a.sort((a,b)=>a-b);return{...b,allSizes:c,deviceSizes:e,qualities:f}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.priority?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62518:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{default:function(){return i},getImageProps:function(){return h}});let d=c(87033),e=c(34628),f=c(50828),g=d._(c(8098));function h(a){let{props:b}=(0,e.getImgProps)(a,{defaultLoader:g.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let i=f.Image},62973:(a,b,c)=>{Promise.resolve().then(c.bind(c,8993))},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70253:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(95364).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx","default")},73136:a=>{"use strict";a.exports=require("node:url")},76477:(a,b,c)=>{Promise.resolve().then(c.bind(c,70253))},76760:a=>{"use strict";a.exports=require("node:path")},84594:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(15592),e=c(823),f=c(45233),g=c(47710),h=c(28992),i=c(34706),j=c(68505),k=c(30554),l=c(20768),m=c(65802),n=c(64308),o=c(60195),p=c(73143),q=c(22908),r=c(261),s=c(29619),t=c(69936),u=c(26713),v=c(39802),w=c(60111),x=c(25699),y=c(50052),z=c(37732),A=c(96580),B=c(86439),C=c(97452),D=c.n(C),E=c(46912),F=c(50329),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H=["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,99226)),"/home/runner/work/dexto/dexto/packages/webui/app/page.tsx"]}]},{layout:[()=>Promise.resolve().then(c.bind(c,90981)),"/home/runner/work/dexto/dexto/packages/webui/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,97452,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,70106,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,31547,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,8910,23)),"next/dist/client/components/builtin/unauthorized.js"]}],I=["/home/runner/work/dexto/dexto/packages/webui/app/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(33873).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
11
11
  see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw aF||b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},85362:(a,b,c)=>{"use strict";a.exports=c(40198).vendored.contexts.ImageConfigContext},85497:(a,b,c)=>{"use strict";a.exports=c(40198).vendored.contexts.RouterContext},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92019:(a,b)=>{"use strict";function c(a){let{ampFirst:b=!1,hybrid:c=!1,hasQuery:d=!1}=void 0===a?{}:a;return b||c&&d}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isInAmpMode",{enumerable:!0,get:function(){return c}})},99226:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(21824),e=c(70253);function f(){return(0,d.jsx)(e.default,{})}}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[619,950,43,549],()=>b(b.s=84594));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"191":{"*":{"id":"63501","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"8993","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"18995","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"64516","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":6819,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3145,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/globals.css":{"id":94,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx":{"id":9854,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx":{"id":191,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx":{"id":1633,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","762","static/chunks/762-8cfe2287ad3f2d16.js","442","static/chunks/442-b1916bec348454b3.js","854","static/chunks/854-2a6d5a5297a15d52.js","974","static/chunks/app/page-655c5da45b79231a.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/playground/page.tsx":{"id":8509,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/dexto/dexto/packages/webui/":[],"/home/runner/work/dexto/dexto/packages/webui/app/layout":[{"inlined":false,"path":"static/css/daca29b49478cfbe.css"}],"/home/runner/work/dexto/dexto/packages/webui/app/page":[]},"rscModuleMapping":{"94":{"*":{"id":"21842","name":"*","chunks":[],"async":false}},"191":{"*":{"id":"27359","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"97452","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"61742","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"43598","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"70253","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"41143","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"30670","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"202","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"10190","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"96972","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"96731","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"68299","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"34820","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}}}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"191":{"*":{"id":"63501","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"8993","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"18995","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"64516","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":6819,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3145,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/globals.css":{"id":94,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx":{"id":9854,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx":{"id":191,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx":{"id":1633,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","762","static/chunks/762-8cfe2287ad3f2d16.js","442","static/chunks/442-b1916bec348454b3.js","854","static/chunks/854-2a6d5a5297a15d52.js","974","static/chunks/app/page-cf95b233c1df6dcd.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/playground/page.tsx":{"id":8509,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/dexto/dexto/packages/webui/":[],"/home/runner/work/dexto/dexto/packages/webui/app/layout":[{"inlined":false,"path":"static/css/9cdfb06589a2f6ce.css"}],"/home/runner/work/dexto/dexto/packages/webui/app/page":[]},"rscModuleMapping":{"94":{"*":{"id":"21842","name":"*","chunks":[],"async":false}},"191":{"*":{"id":"27359","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"97452","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"61742","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"43598","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"70253","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"41143","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"30670","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"202","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"10190","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"96972","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"96731","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"68299","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"34820","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}}}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/playground/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"191":{"*":{"id":"63501","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"8993","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"18995","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"64516","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":6819,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3145,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/globals.css":{"id":94,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx":{"id":9854,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx":{"id":191,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx":{"id":1633,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","762","static/chunks/762-8cfe2287ad3f2d16.js","442","static/chunks/442-b1916bec348454b3.js","854","static/chunks/854-2a6d5a5297a15d52.js","974","static/chunks/app/page-655c5da45b79231a.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/playground/page.tsx":{"id":8509,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","442","static/chunks/442-b1916bec348454b3.js","882","static/chunks/app/playground/page-9ae40e0b219583e3.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/dexto/dexto/packages/webui/":[],"/home/runner/work/dexto/dexto/packages/webui/app/layout":[{"inlined":false,"path":"static/css/daca29b49478cfbe.css"}],"/home/runner/work/dexto/dexto/packages/webui/app/page":[],"/home/runner/work/dexto/dexto/packages/webui/app/playground/page":[]},"rscModuleMapping":{"94":{"*":{"id":"21842","name":"*","chunks":[],"async":false}},"191":{"*":{"id":"27359","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"97452","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"61742","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"43598","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"70253","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"41143","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"30670","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"202","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"10190","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"96972","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"96731","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"68299","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"34820","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}}}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/playground/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"191":{"*":{"id":"63501","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"8993","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"18995","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"64516","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":692,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-page.js":{"id":1861,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8647,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":1420,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/layout-router.js":{"id":5672,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":1440,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":5374,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":9333,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":7200,"name":"*","chunks":[],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":6819,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/node_modules/.pnpm/next@15.5.2_@opentelemetry+api@1.9.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":3145,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/globals.css":{"id":94,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx":{"id":9854,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx":{"id":191,"name":"*","chunks":["854","static/chunks/854-2a6d5a5297a15d52.js","177","static/chunks/app/layout-dde711766eda096b.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/components/ChatApp.tsx":{"id":1633,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","762","static/chunks/762-8cfe2287ad3f2d16.js","442","static/chunks/442-b1916bec348454b3.js","854","static/chunks/854-2a6d5a5297a15d52.js","974","static/chunks/app/page-cf95b233c1df6dcd.js"],"async":false},"/home/runner/work/dexto/dexto/packages/webui/app/playground/page.tsx":{"id":8509,"name":"*","chunks":["544","static/chunks/544-c4a8f278ed1a25d7.js","442","static/chunks/442-b1916bec348454b3.js","882","static/chunks/app/playground/page-9ae40e0b219583e3.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/dexto/dexto/packages/webui/":[],"/home/runner/work/dexto/dexto/packages/webui/app/layout":[{"inlined":false,"path":"static/css/9cdfb06589a2f6ce.css"}],"/home/runner/work/dexto/dexto/packages/webui/app/page":[],"/home/runner/work/dexto/dexto/packages/webui/app/playground/page":[]},"rscModuleMapping":{"94":{"*":{"id":"21842","name":"*","chunks":[],"async":false}},"191":{"*":{"id":"27359","name":"*","chunks":[],"async":false}},"692":{"*":{"id":"97452","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"61742","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"43598","name":"*","chunks":[],"async":false}},"1633":{"*":{"id":"70253","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"41143","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"30670","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"202","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"10190","name":"*","chunks":[],"async":false}},"8509":{"*":{"id":"96972","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"96731","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"68299","name":"*","chunks":[],"async":false}},"9854":{"*":{"id":"34820","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{"692":{"*":{"id":"28710","name":"*","chunks":[],"async":false}},"1420":{"*":{"id":"11096","name":"*","chunks":[],"async":false}},"1440":{"*":{"id":"53612","name":"*","chunks":[],"async":false}},"1861":{"*":{"id":"11865","name":"*","chunks":[],"async":false}},"5374":{"*":{"id":"88572","name":"*","chunks":[],"async":false}},"5672":{"*":{"id":"55368","name":"*","chunks":[],"async":false}},"7200":{"*":{"id":"74476","name":"*","chunks":[],"async":false}},"8647":{"*":{"id":"54401","name":"*","chunks":[],"async":false}},"9333":{"*":{"id":"47629","name":"*","chunks":[],"async":false}}}}
@@ -1 +1 @@
1
- exports.id=43,exports.ids=[43],exports.modules={21842:()=>{},21870:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,97452,23)),Promise.resolve().then(c.t.bind(c,41143,23)),Promise.resolve().then(c.t.bind(c,96731,23)),Promise.resolve().then(c.t.bind(c,61742,23)),Promise.resolve().then(c.t.bind(c,202,23)),Promise.resolve().then(c.t.bind(c,43598,23)),Promise.resolve().then(c.t.bind(c,30670,23)),Promise.resolve().then(c.t.bind(c,68299,23)),Promise.resolve().then(c.t.bind(c,10190,23))},24599:(a,b,c)=>{Promise.resolve().then(c.bind(c,34820)),Promise.resolve().then(c.bind(c,27359))},27359:(a,b,c)=>{"use strict";c.d(b,{SpeechReset:()=>d});let d=(0,c(95364).registerClientReference)(function(){throw Error("Attempted to call SpeechReset() from the server but SpeechReset is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx","SpeechReset")},34820:(a,b,c)=>{"use strict";c.d(b,{ChatProvider:()=>e});var d=c(95364);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ChatProvider() from the server but ChatProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx","ChatProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useChatContext() from the server but useChatContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx","useChatContext")},52623:(a,b,c)=>{Promise.resolve().then(c.bind(c,64516)),Promise.resolve().then(c.bind(c,63501))},61622:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,28710,23)),Promise.resolve().then(c.t.bind(c,11865,23)),Promise.resolve().then(c.t.bind(c,54401,23)),Promise.resolve().then(c.t.bind(c,11096,23)),Promise.resolve().then(c.t.bind(c,55368,23)),Promise.resolve().then(c.t.bind(c,53612,23)),Promise.resolve().then(c.t.bind(c,88572,23)),Promise.resolve().then(c.t.bind(c,47629,23)),Promise.resolve().then(c.bind(c,74476))},63501:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{SpeechReset:()=>d}),c(4039)},64516:(a,b,c)=>{"use strict";c.d(b,{ChatProvider:()=>h,v:()=>i});var d=c(35270),e=c(4039),f=c(70702);let g=(0,e.createContext)(void 0);function h({children:a}){let b=process.env.NEXT_PUBLIC_WS_URL||"ws://localhost:3001",[c,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(!0),{messages:m,sendMessage:n,status:o,reset:p,setMessages:q,websocket:r,activeError:s,clearError:t,processing:u,cancel:v}=(0,f.Y_)(b,()=>c),[w,x]=(0,e.useState)(null),y=(0,e.useCallback)(async a=>{try{let b=void 0!==a?a:c,d=b?`/api/llm/current?sessionId=${b}`:"/api/llm/current",e=await fetch(d);if(e.ok){let a=await e.json(),b=a.config||a;x({provider:b.provider,model:b.model,displayName:b.displayName,router:b.router,baseURL:b.baseURL})}}catch{}},[c]),{greeting:z}=function(a){let[b,c]=(0,e.useState)(null),[d,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(null);return{greeting:b,isLoading:d,error:g}}(0),A=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!a.ok)throw Error("Failed to create session");return(await a.json()).session.id}catch(a){return console.error("Error creating auto session:",a),`chat-${Date.now()}`}},[]),B=(0,e.useCallback)(async(a,b,d)=>{let e=c;!e&&i&&(h(e=await A()),j(!1),await y(e)),e?n(a,b,d,e,k):console.error("No session available for sending message")},[n,c,i,A,k]),C=(0,e.useCallback)(()=>{c&&p(c)},[p,c]),D=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${a}/history`);if(!b.ok){if(404===b.status){if(!(await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a})})).ok)throw Error("Failed to create session");q([]);return}throw Error("Failed to load session history")}let c=(await b.json()).history||[],d=[];for(let b=0;b<c.length;b++){let e=c[b],f={id:`session-${a}-${b}`,role:e.role,content:e.content,createdAt:Date.now()-(c.length-b)*1e3,sessionId:a,tokenUsage:e.tokenUsage,reasoning:e.reasoning,model:e.model,router:e.router,provider:e.provider};if("assistant"===e.role&&e.toolCalls&&e.toolCalls.length>0)e.content&&d.push(f),e.toolCalls.forEach((e,f)=>{let g,h=e.function?JSON.parse(e.function.arguments||"{}"):{},i=e.function?.name||"unknown";for(let a=b+1;a<c.length;a++){let b=c[a];if("tool"===b.role&&b.toolCallId===e.id){g=b.content;break}}d.push({id:`session-${a}-${b}-tool-${f}`,role:"tool",content:null,createdAt:Date.now()-(c.length-b)*1e3+f,sessionId:a,toolName:i,toolArgs:h,toolResult:g})});else{if("tool"===e.role)continue;d.push(f)}}q(d)}catch(a){console.error("Error loading session history:",a),q([])}},[q,y]),E=(0,e.useCallback)(async a=>{if(a!==c)try{h(a),j(!1),await D(a),await y(a)}catch(a){throw console.error("Error switching session:",a),a}},[c,D]),F=(0,e.useCallback)(()=>{h(null),j(!0),q([]),x(null)},[q]);return(0,d.jsx)(g.Provider,{value:{messages:m,sendMessage:B,status:o,reset:C,currentSessionId:c,switchSession:E,loadSessionHistory:D,isWelcomeState:i,returnToWelcome:F,isStreaming:k,setStreaming:l,websocket:r,currentLLM:w,refreshCurrentLLM:y,processing:u,cancel:v,activeError:s,clearError:t,greeting:z},children:a})}function i(){let a=(0,e.useContext)(g);if(!a)throw Error("useChatContext must be used within a ChatProvider");return a}},70702:(a,b,c)=>{"use strict";c.d(b,{kz:()=>i,EQ:()=>j,j0:()=>h,PI:()=>g,P2:()=>f,KU:()=>e,Y_:()=>l});var d=c(4039);function e(a){return"object"==typeof a&&null!==a&&"error"in a}function f(a){return"object"==typeof a&&null!==a&&"content"in a&&Array.isArray(a.content)}function g(a){return"object"==typeof a&&null!==a&&"type"in a&&"text"===a.type}function h(a){return"object"==typeof a&&null!==a&&"type"in a&&"image"===a.type}function i(a){return"object"==typeof a&&null!==a&&"type"in a&&"audio"===a.type}function j(a){return"object"==typeof a&&null!==a&&"type"in a&&"file"===a.type}let k=()=>`msg-${Date.now()}-${Math.random().toString(36).substring(2,9)}`;function l(a,b){let c=(0,d.useRef)(null),[e,f]=(0,d.useState)([]),g=(0,d.useRef)(null),[h,i]=(0,d.useState)("connecting"),[j,l]=(0,d.useState)(!1),[m,n]=(0,d.useState)(null),o=(0,d.useRef)(!1),p=(0,d.useRef)(b);(0,d.useCallback)(a=>{if(!a)return!1;let b=p.current,c=b?b():null;return!!c&&a===c},[]);let q=(0,d.useCallback)((a,b,d,e,h=!1)=>{if(c.current?.readyState===globalThis.WebSocket.OPEN){c.current.send(JSON.stringify({type:"message",content:a,imageData:b,fileData:d,sessionId:e,stream:h})),l(!0);let i=k();g.current=i,f(c=>[...c,{id:i,role:"user",content:a,createdAt:Date.now(),sessionId:e,imageData:b,fileData:d}])}else n({id:k(),message:"Cannot send message: connection is not open",timestamp:Date.now(),context:"websocket",recoverable:!0})},[]),r=(0,d.useCallback)(a=>{c.current?.readyState===globalThis.WebSocket.OPEN&&c.current.send(JSON.stringify({type:"reset",sessionId:a})),f([]),n(null),g.current=null,l(!1)},[]),s=(0,d.useCallback)(a=>{c.current?.readyState===globalThis.WebSocket.OPEN&&c.current.send(JSON.stringify({type:"cancel",sessionId:a})),l(!1),o.current=!0},[]),t=(0,d.useCallback)(()=>{n(null)},[]);return{messages:e,status:h,sendMessage:q,reset:r,setMessages:f,websocket:c.current,processing:j,cancel:s,activeError:m,clearError:t}}},90981:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(21824),e=c(99741),f=c.n(e),g=c(42829),h=c.n(g);c(21842);var i=c(34820),j=c(27359),k=c(85972);let l={title:{default:"Dexto Web UI",template:"%s \xb7 Dexto"},description:"Interactive playground for testing MCP tools and talking to AI agents",icons:{icon:[{url:"/logos/dexto_logo_no_text.png?v=2",type:"image/png",sizes:"32x32"},{url:"/logos/dexto_logo_no_text.png?v=2",type:"image/png",sizes:"16x16"}],shortcut:[{url:"/logos/dexto_logo_no_text.png?v=2",type:"image/png"}],apple:[{url:"/logos/dexto_logo_no_text.png?v=2",type:"image/png"}]},openGraph:{title:"Dexto",description:"Interactive playground for testing MCP tools and talking to AI agents",type:"website"},twitter:{card:"summary",title:"Dexto",description:"Interactive playground for testing MCP tools and talking to AI agents"}};async function m({children:a}){let b=await (0,k.UL)(),c=b.get("theme")?.value;return(0,d.jsx)("html",{lang:"en",className:c&&"dark"!==c?"":"dark",children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased bg-background text-foreground`,children:(0,d.jsxs)(i.ChatProvider,{children:[(0,d.jsx)(j.SpeechReset,{}),(0,d.jsx)("div",{className:"flex h-screen w-screen flex-col",children:a})]})})})}}};
1
+ exports.id=43,exports.ids=[43],exports.modules={21842:()=>{},21870:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,97452,23)),Promise.resolve().then(c.t.bind(c,41143,23)),Promise.resolve().then(c.t.bind(c,96731,23)),Promise.resolve().then(c.t.bind(c,61742,23)),Promise.resolve().then(c.t.bind(c,202,23)),Promise.resolve().then(c.t.bind(c,43598,23)),Promise.resolve().then(c.t.bind(c,30670,23)),Promise.resolve().then(c.t.bind(c,68299,23)),Promise.resolve().then(c.t.bind(c,10190,23))},24599:(a,b,c)=>{Promise.resolve().then(c.bind(c,34820)),Promise.resolve().then(c.bind(c,27359))},27359:(a,b,c)=>{"use strict";c.d(b,{SpeechReset:()=>d});let d=(0,c(95364).registerClientReference)(function(){throw Error("Attempted to call SpeechReset() from the server but SpeechReset is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/ui/speech-reset.tsx","SpeechReset")},34820:(a,b,c)=>{"use strict";c.d(b,{ChatProvider:()=>e});var d=c(95364);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ChatProvider() from the server but ChatProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx","ChatProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useChatContext() from the server but useChatContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/dexto/dexto/packages/webui/components/hooks/ChatContext.tsx","useChatContext")},52623:(a,b,c)=>{Promise.resolve().then(c.bind(c,64516)),Promise.resolve().then(c.bind(c,63501))},61622:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,28710,23)),Promise.resolve().then(c.t.bind(c,11865,23)),Promise.resolve().then(c.t.bind(c,54401,23)),Promise.resolve().then(c.t.bind(c,11096,23)),Promise.resolve().then(c.t.bind(c,55368,23)),Promise.resolve().then(c.t.bind(c,53612,23)),Promise.resolve().then(c.t.bind(c,88572,23)),Promise.resolve().then(c.t.bind(c,47629,23)),Promise.resolve().then(c.bind(c,74476))},63501:(a,b,c)=>{"use strict";function d(){return null}c.d(b,{SpeechReset:()=>d}),c(4039)},64516:(a,b,c)=>{"use strict";c.d(b,{ChatProvider:()=>h,v:()=>i});var d=c(35270),e=c(4039),f=c(70702);let g=(0,e.createContext)(void 0);function h({children:a}){let b=process.env.NEXT_PUBLIC_WS_URL||"ws://localhost:3001",[c,h]=(0,e.useState)(null),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(!0),{messages:m,sendMessage:n,status:o,reset:p,setMessages:q,websocket:r,activeError:s,clearError:t,processing:u,cancel:v}=(0,f.Y_)(b,()=>c),[w,x]=(0,e.useState)(null),y=(0,e.useCallback)(async a=>{try{let b=void 0!==a?a:c,d=b?`/api/llm/current?sessionId=${b}`:"/api/llm/current",e=await fetch(d);if(e.ok){let a=await e.json(),b=a.config||a;x({provider:b.provider,model:b.model,displayName:b.displayName,router:b.router,baseURL:b.baseURL})}}catch{}},[c]),{greeting:z}=function(a){let[b,c]=(0,e.useState)(null),[d,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(null);return{greeting:b,isLoading:d,error:g}}(0),A=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(!a.ok)throw Error("Failed to create session");return(await a.json()).session.id}catch(a){return console.error("Error creating auto session:",a),`chat-${Date.now()}`}},[]),B=(0,e.useCallback)(async(a,b,d)=>{let e=c;!e&&i&&(h(e=await A()),j(!1),await y(e)),e?n(a,b,d,e,k):console.error("No session available for sending message")},[n,c,i,A,k]),C=(0,e.useCallback)(()=>{c&&p(c)},[p,c]),D=(0,e.useCallback)(async a=>{try{let b=await fetch(`/api/sessions/${a}/history`);if(!b.ok){if(404===b.status){if(!(await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:a})})).ok)throw Error("Failed to create session");q([]);return}throw Error("Failed to load session history")}let c=(await b.json()).history||[],d=[];for(let b=0;b<c.length;b++){let e=c[b],f={id:`session-${a}-${b}`,role:e.role,content:e.content,createdAt:Date.now()-(c.length-b)*1e3,sessionId:a,tokenUsage:e.tokenUsage,reasoning:e.reasoning,model:e.model,router:e.router,provider:e.provider};if("assistant"===e.role&&e.toolCalls&&e.toolCalls.length>0)e.content&&d.push(f),e.toolCalls.forEach((e,f)=>{let g,h=e.function?JSON.parse(e.function.arguments||"{}"):{},i=e.function?.name||"unknown";for(let a=b+1;a<c.length;a++){let b=c[a];if("tool"===b.role&&b.toolCallId===e.id){g=b.content;break}}d.push({id:`session-${a}-${b}-tool-${f}`,role:"tool",content:null,createdAt:Date.now()-(c.length-b)*1e3+f,sessionId:a,toolName:i,toolArgs:h,toolResult:g})});else{if("tool"===e.role)continue;d.push(f)}}q(d)}catch(a){console.error("Error loading session history:",a),q([])}},[q,y]),E=(0,e.useCallback)(async a=>{if(a!==c)try{h(a),j(!1),await D(a),await y(a)}catch(a){throw console.error("Error switching session:",a),a}},[c,D]),F=(0,e.useCallback)(()=>{h(null),j(!0),q([]),x(null)},[q]);return(0,d.jsx)(g.Provider,{value:{messages:m,sendMessage:B,status:o,reset:C,currentSessionId:c,switchSession:E,loadSessionHistory:D,isWelcomeState:i,returnToWelcome:F,isStreaming:k,setStreaming:l,websocket:r,currentLLM:w,refreshCurrentLLM:y,processing:u,cancel:v,activeError:s,clearError:t,greeting:z},children:a})}function i(){let a=(0,e.useContext)(g);if(!a)throw Error("useChatContext must be used within a ChatProvider");return a}},70702:(a,b,c)=>{"use strict";c.d(b,{kz:()=>i,EQ:()=>j,j0:()=>h,PI:()=>g,P2:()=>f,KU:()=>e,Y_:()=>l});var d=c(4039);function e(a){return"object"==typeof a&&null!==a&&"error"in a}function f(a){return"object"==typeof a&&null!==a&&"content"in a&&Array.isArray(a.content)}function g(a){return"object"==typeof a&&null!==a&&"type"in a&&"text"===a.type}function h(a){return"object"==typeof a&&null!==a&&"type"in a&&"image"===a.type}function i(a){return"object"==typeof a&&null!==a&&"type"in a&&"audio"===a.type}function j(a){return"object"==typeof a&&null!==a&&"type"in a&&"file"===a.type}let k=()=>`msg-${Date.now()}-${Math.random().toString(36).substring(2,9)}`;function l(a,b){let c=(0,d.useRef)(null),[e,f]=(0,d.useState)([]),g=(0,d.useRef)(null),[h,i]=(0,d.useState)("connecting"),[j,l]=(0,d.useState)(!1),[m,n]=(0,d.useState)(null),o=(0,d.useRef)(!1),p=(0,d.useRef)(b);(0,d.useCallback)(a=>{if(!a)return!1;let b=p.current,c=b?b():null;return!!c&&a===c},[]);let q=(0,d.useCallback)((a,b,d,e,h=!1)=>{if(c.current?.readyState===globalThis.WebSocket.OPEN){c.current.send(JSON.stringify({type:"message",content:a,imageData:b,fileData:d,sessionId:e,stream:h})),l(!0);let i=k();g.current=i,f(c=>[...c,{id:i,role:"user",content:a,createdAt:Date.now(),sessionId:e,imageData:b,fileData:d}])}else n({id:k(),message:"Cannot send message: connection is not open",timestamp:Date.now(),context:"websocket",recoverable:!0})},[]),r=(0,d.useCallback)(a=>{c.current?.readyState===globalThis.WebSocket.OPEN&&c.current.send(JSON.stringify({type:"reset",sessionId:a})),f([]),n(null),g.current=null,l(!1)},[]),s=(0,d.useCallback)(a=>{c.current?.readyState===globalThis.WebSocket.OPEN&&c.current.send(JSON.stringify({type:"cancel",sessionId:a})),l(!1),o.current=!0},[]),t=(0,d.useCallback)(()=>{n(null)},[]);return{messages:e,status:h,sendMessage:q,reset:r,setMessages:f,websocket:c.current,processing:j,cancel:s,activeError:m,clearError:t}}},90981:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>m,metadata:()=>l});var d=c(21824),e=c(99741),f=c.n(e),g=c(42829),h=c.n(g);c(21842);var i=c(34820),j=c(27359),k=c(85972);let l={title:{default:"Dexto Web UI",template:"%s \xb7 Dexto"},description:"Interactive playground for testing MCP tools and talking to AI agents",icons:{icon:[{url:"/logos/dexto/dexto_logo_icon.svg",type:"image/svg+xml"}],shortcut:[{url:"/logos/dexto/dexto_logo_icon.svg",type:"image/svg+xml"}],apple:[{url:"/logos/dexto/dexto_logo_icon.svg",type:"image/svg+xml"}]},openGraph:{title:"Dexto",description:"Interactive playground for testing MCP tools and talking to AI agents",type:"website"},twitter:{card:"summary",title:"Dexto",description:"Interactive playground for testing MCP tools and talking to AI agents"}};async function m({children:a}){let b=await (0,k.UL)(),c=b.get("theme")?.value;return(0,d.jsx)("html",{lang:"en",className:c&&"dark"!==c?"":"dark",children:(0,d.jsx)("body",{className:`${f().variable} ${h().variable} antialiased bg-background text-foreground`,children:(0,d.jsxs)(i.ChatProvider,{children:[(0,d.jsx)(j.SpeechReset,{}),(0,d.jsx)("div",{className:"flex h-screen w-screen flex-col",children:a})]})})})}}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-7c234e7e7e272295.js" defer=""></script><script src="/_next/static/chunks/framework-6873d9e7016e0d56.js" defer=""></script><script src="/_next/static/chunks/main-b65ece3506a2355c.js" defer=""></script><script src="/_next/static/chunks/pages/_app-46db88469de84370.js" defer=""></script><script src="/_next/static/chunks/pages/_error-162d61367b59fad2.js" defer=""></script><script src="/_next/static/wcYVcRLx1mruRrV5-XkIK/_buildManifest.js" defer=""></script><script src="/_next/static/wcYVcRLx1mruRrV5-XkIK/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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)}@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></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wcYVcRLx1mruRrV5-XkIK","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-7c234e7e7e272295.js" defer=""></script><script src="/_next/static/chunks/framework-6873d9e7016e0d56.js" defer=""></script><script src="/_next/static/chunks/main-b65ece3506a2355c.js" defer=""></script><script src="/_next/static/chunks/pages/_app-46db88469de84370.js" defer=""></script><script src="/_next/static/chunks/pages/_error-162d61367b59fad2.js" defer=""></script><script src="/_next/static/OsQGbLQi9bS4RzNw_6wgr/_buildManifest.js" defer=""></script><script src="/_next/static/OsQGbLQi9bS4RzNw_6wgr/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;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)}@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></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"OsQGbLQi9bS4RzNw_6wgr","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"i/Kph1tuX2RSOvWhxNfs5DdRZQ6S8PXuCEoXU48j7xE="}
1
+ {"node":{},"edge":{},"encryptionKey":"u60g1+PwmKbGqbR1Y9t/13t0dazsRpHQxARk3+Vd5aQ="}