conductor-oss 0.29.2 → 0.29.4

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 (91) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +4 -4
  4. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -8
  7. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +4 -4
  45. package/web/.next/standalone/packages/web/.next/server/chunks/2120.js +1 -0
  46. package/web/.next/standalone/packages/web/.next/server/chunks/3855.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/chunks/4573.js +1 -0
  48. package/web/.next/standalone/packages/web/.next/server/chunks/5164.js +3 -3
  49. package/web/.next/standalone/packages/web/.next/server/chunks/5192.js +1 -0
  50. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  57. package/web/.next/standalone/packages/web/.next/static/chunks/{1225.91f9418ae07ce2a2.js → 1225.32af7dfd5b964af3.js} +2 -2
  58. package/web/.next/standalone/packages/web/.next/static/chunks/1874.e94d9fa15b5dc9a9.js +1 -0
  59. package/web/.next/standalone/packages/web/.next/static/chunks/{4443.ba5097eaeba247d0.js → 4443.ba72082042788e39.js} +1 -1
  60. package/web/.next/standalone/packages/web/.next/static/chunks/{4997-af3ab1850eb7e4bc.js → 4997-8999bef50a976132.js} +1 -1
  61. package/web/.next/standalone/packages/web/.next/static/chunks/5242.7c40051d473ef917.js +1 -0
  62. package/web/.next/standalone/packages/web/.next/static/chunks/5680-20adf4efe87c38ee.js +1 -0
  63. package/web/.next/{static/chunks/7220-1026c34175f542e8.js → standalone/packages/web/.next/static/chunks/7220-b49625c9dd596186.js} +1 -1
  64. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/{page-28bc30f55e087ee7.js → page-47ffaca2ce6dacf5.js} +1 -1
  65. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-5d72879b7d604ad5.js +1 -0
  66. package/web/.next/{static/chunks/webpack-76868503f34eea38.js → standalone/packages/web/.next/static/chunks/webpack-9155d54a383c8cd8.js} +1 -1
  67. package/web/.next/static/chunks/{1225.91f9418ae07ce2a2.js → 1225.32af7dfd5b964af3.js} +2 -2
  68. package/web/.next/static/chunks/1874.e94d9fa15b5dc9a9.js +1 -0
  69. package/web/.next/static/chunks/{4443.ba5097eaeba247d0.js → 4443.ba72082042788e39.js} +1 -1
  70. package/web/.next/static/chunks/{4997-af3ab1850eb7e4bc.js → 4997-8999bef50a976132.js} +1 -1
  71. package/web/.next/static/chunks/5242.7c40051d473ef917.js +1 -0
  72. package/web/.next/static/chunks/5680-20adf4efe87c38ee.js +1 -0
  73. package/web/.next/{standalone/packages/web/.next/static/chunks/7220-1026c34175f542e8.js → static/chunks/7220-b49625c9dd596186.js} +1 -1
  74. package/web/.next/static/chunks/app/bridge/connect/{page-28bc30f55e087ee7.js → page-47ffaca2ce6dacf5.js} +1 -1
  75. package/web/.next/static/chunks/app/layout-5d72879b7d604ad5.js +1 -0
  76. package/web/.next/{standalone/packages/web/.next/static/chunks/webpack-76868503f34eea38.js → static/chunks/webpack-9155d54a383c8cd8.js} +1 -1
  77. package/web/.next/standalone/packages/web/.next/server/chunks/4586.js +0 -1
  78. package/web/.next/standalone/packages/web/.next/server/chunks/8063.js +0 -1
  79. package/web/.next/standalone/packages/web/.next/server/chunks/8776.js +0 -1
  80. package/web/.next/standalone/packages/web/.next/static/chunks/1874.b6ef53ba217d7178.js +0 -1
  81. package/web/.next/standalone/packages/web/.next/static/chunks/3954-9bc13b5c99af6c4e.js +0 -1
  82. package/web/.next/standalone/packages/web/.next/static/chunks/7507.007587cc4c8d16c1.js +0 -1
  83. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-750763e4acdf5898.js +0 -1
  84. package/web/.next/static/chunks/1874.b6ef53ba217d7178.js +0 -1
  85. package/web/.next/static/chunks/3954-9bc13b5c99af6c4e.js +0 -1
  86. package/web/.next/static/chunks/7507.007587cc4c8d16c1.js +0 -1
  87. package/web/.next/static/chunks/app/layout-750763e4acdf5898.js +0 -1
  88. /package/web/.next/standalone/packages/web/.next/static/{YOiflQNehk8Oq83QyAR5E → MgEY7lbVZV5QwAepxOi3o}/_buildManifest.js +0 -0
  89. /package/web/.next/standalone/packages/web/.next/static/{YOiflQNehk8Oq83QyAR5E → MgEY7lbVZV5QwAepxOi3o}/_ssgManifest.js +0 -0
  90. /package/web/.next/static/{YOiflQNehk8Oq83QyAR5E → MgEY7lbVZV5QwAepxOi3o}/_buildManifest.js +0 -0
  91. /package/web/.next/static/{YOiflQNehk8Oq83QyAR5E → MgEY7lbVZV5QwAepxOi3o}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- exports.id=4586,exports.ids=[4586],exports.modules={11740:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00474fb1cf3d4e90f4682374dd82d620242804f386":()=>e.ai,"007bbe90eb90c37922d32338f8a704685d8e0eb42d":()=>d.i,"00a51b9f4eb211f6befcb19ab35d193d9223aff2a5":()=>e.AZ,"00cdcd2c0d1927c1c22851aee11acde7e58079788a":()=>e.at,"4020a9fecf4069c6b7fe5830c09b6656d882b8827e":()=>e.ot,"4096496df8d389832af3a24274248a4d6c6526f77e":()=>d.$});var d=c(35515),e=c(78113)},14276:()=>{},14308:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,87839)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},24922:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"005e6455a37302ce939d09f0646d13241d3bf945b6":()=>d.y});var d=c(30254)},32493:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("005e6455a37302ce939d09f0646d13241d3bf945b6",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},36026:(a,b,c)=>{"use strict";function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(49588),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",a),...c})})).displayName="TooltipContent"},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,33996)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,19867)),Promise.resolve().then(c.bind(c,89833)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider 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/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip 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/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger 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/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent 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/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip 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/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider 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/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme 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/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>y,metadata:()=>v,viewport:()=>w});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(59520),j=c.n(i),k=c(42525),l=c.n(k),m=c(76323),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${l().variable} ${f().variable} ${h().variable} ${j().variable}`,u="1"===process.env.VERCEL||"true"===process.env.VERCEL,v={title:"Conductor",description:"Multi-agent orchestrator dashboard"},w={width:"device-width",initialScale:1};function x({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,u?(0,d.jsx)(n.Analytics,{}):null]})})})]})}async function y({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,clerkJSUrl:f.clerkJSUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(x,{children:a})}):(0,d.jsx)(x,{children:a})}},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))},99571:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00a51b9f4eb211f6befcb19ab35d193d9223aff2a5",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=8063,exports.ids=[8063],exports.modules={76680:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},88063:(a,b,c)=>{c.r(b),c.d(b,{SessionTerminal:()=>s});var d=c(92692),e=c(71943),f=c(64583),g=c(75185);let h=(0,c(37303).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var i=c(2625),j=c(76680),k=c(71277),l=c(1071);let m=(0,c(3429).default)(async()=>{},{loadableGenerated:{modules:["components/sessions/RemoteSessionTerminal.tsx -> ./RemoteSessionTerminalImpl"]},ssr:!1});var n=c(46818);let o=new Set(["queued","spawning","running","working","needs_input","stuck"]),p=new Set(["done","needs_input","stuck","errored","terminated","killed"]);c(62465);let q=new Set(["archived","killed","terminated","restored"]);function r(a){let{sessionId:b,projectId:c,bridgeId:m,sessionState:r,runtimeMode:s,pendingInsert:t,immersiveMobileMode:u=!1}=a,v=(0,k.useRef)(null);(0,k.useRef)(0);let w=(0,k.useRef)(0),x=(0,k.useRef)(null),y=(0,k.useMemo)(()=>r.trim().toLowerCase(),[r]),z="ttyd"===(s?.trim().toLowerCase()??null),A=z?!q.has(y):o.has(y),B=!z&&!u&&p.has(y),[C,D]=(0,k.useState)(null),[E,F]=(0,k.useState)(A),[G,H]=(0,k.useState)(null),[I,J]=(0,k.useState)(!1),[K,L]=(0,k.useState)(0),[M,N]=(0,k.useState)(""),[O,P]=(0,k.useState)(!1),[Q,R]=(0,k.useState)(null),[S,T]=(0,k.useState)(null);(0,k.useRef)(null);let U=(0,k.useCallback)(async()=>{let a=M.trim();if(0!==a.length&&!O){P(!0),R(null);try{let c=await fetch((0,n.S)(`/api/sessions/${encodeURIComponent(b)}/actions`,m),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:a})});if(!c.ok){let a=await c.json().catch(()=>null);throw Error(a?.error??`Failed to send message (${c.status})`)}N(""),v.current?.focus()}catch(a){R(a instanceof Error?a.message:"Failed to send message")}finally{P(!1)}}},[m,M,O,b]),V=(0,k.useCallback)(()=>{x.current},[]),W=(0,k.useCallback)(()=>{H(null),w.current=0,L(a=>a+1)},[]),X=G??(A?"Reconnecting to the existing ttyd terminal.":z?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":B?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${y}\`. Interactive ttyd terminals only run while the agent is active.`);return(0,d.jsxs)("div",{className:u?"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,d.jsxs)("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-2 sm:right-3 sm:top-3",children:[C?(0,d.jsx)("a",{href:C,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,d.jsx)(e.A,{className:"h-3.5 w-3.5"})}):null,(0,d.jsx)(l.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:W,"aria-label":"Reload ttyd terminal",children:E?(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"})})]}),(0,d.jsx)("div",{className:u?"min-h-0 min-w-0 flex-1 overflow-hidden px-0 pb-0 pt-0 w-full":"min-h-0 min-w-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:A&&C?(0,d.jsxs)("div",{ref:x,className:"relative h-full w-full overflow-hidden rounded-[10px] bg-[#060404]",children:[I?null:(0,d.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,d.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,d.jsx)("iframe",{title:`ttyd terminal for ${b}`,src:C,className:"h-full w-full border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{J(!0),H(null),V()}})]}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,d.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:G?(0,d.jsx)(h,{className:"h-4 w-4"}):(0,d.jsx)(f.A,{className:`h-4 w-4 ${E?"animate-spin":""}`})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"text-[14px] font-medium",children:A?"Connecting live terminal":B?"Session is waiting for input":"Live terminal is not active"}),(0,d.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:X}),C?(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)("a",{href:C,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!B&&S?(0,d.jsx)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(h,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:S}),(0,d.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>T(null),children:(0,d.jsx)(i.A,{className:"h-3 w-3"})})]})}):null,B?(0,d.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[S?(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,d.jsx)(h,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:S}),(0,d.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>T(null),children:(0,d.jsx)(i.A,{className:"h-3 w-3"})})]}):null,Q?(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ff8f7a]",children:[(0,d.jsx)(h,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:Q}),(0,d.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>R(null),children:(0,d.jsx)(i.A,{className:"h-3 w-3"})})]}):null,(0,d.jsxs)("form",{onSubmit:a=>{a.preventDefault(),U()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,d.jsx)("input",{ref:v,value:M,onChange:a=>N(a.target.value),placeholder:"Send a follow-up message…",disabled:O,className:"h-8 min-w-0 flex-1 rounded-md border border-white/10 bg-[#0c0808] px-2.5 text-[12px] text-[#efe8e1] outline-none placeholder:text-[#7d746e] focus:border-white/20 disabled:opacity-50",onKeyDown:a=>{"Escape"===a.key&&(a.preventDefault(),a.currentTarget.blur())}}),(0,d.jsx)(l.$,{type:"submit",size:"icon",variant:"ghost",disabled:O||0===M.trim().length,className:"h-8 w-8 shrink-0 rounded-md border border-white/10 bg-[#0c0808] text-[#c9c0b7] hover:bg-[#201818] disabled:opacity-30","aria-label":"Send message",children:O?(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let s=(0,k.memo)(function(a){return a.bridgeId?.trim()?(0,d.jsx)(m,{...a}):(0,d.jsx)(r,{...a})},function(a,b){var c,d;return a.sessionId===b.sessionId&&a.projectId===b.projectId&&a.bridgeId===b.bridgeId&&a.sessionState===b.sessionState&&a.runtimeMode===b.runtimeMode&&a.immersiveMobileMode===b.immersiveMobileMode&&((c=a.pendingInsert)===(d=b.pendingInsert)||!!c&&!!d&&c.nonce===d.nonce&&c.inlineText===d.inlineText)})}};
@@ -1 +0,0 @@
1
- "use strict";exports.id=8776,exports.ids=[8776],exports.modules={8776:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>d.a,deleteKeylessAction:()=>g,detectKeylessEnvDriftAction:()=>e.A,syncKeylessConfigAction:()=>h});var d=c(90244),e=c(99571),f=c(85660);let g=(0,f.createServerReference)("00cdcd2c0d1927c1c22851aee11acde7e58079788a",f.callServer,void 0,f.findSourceMapURL,"deleteKeylessAction"),h=(0,f.createServerReference)("4020a9fecf4069c6b7fe5830c09b6656d882b8827e",f.callServer,void 0,f.findSourceMapURL,"syncKeylessConfigAction")},90244:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00474fb1cf3d4e90f4682374dd82d620242804f386",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")}};
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1874],{2939:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},46548:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},81874:(e,t,a)=>{a.r(t),a.d(t,{SessionSkills:()=>P});var s=a(54568),r=a(7620),l=a(2939),n=a(13454);let i=(0,n.A)("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),d=(0,n.A)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),o=(0,n.A)("users-round",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),c=(0,n.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),x=(0,n.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var h=a(46548);let m=(0,n.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),p=(0,n.A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),v=(0,n.A)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var k=a(23555);let u=(0,n.A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),f=(0,n.A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),g=(0,n.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),y=(0,n.A)("megaphone",[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]);var b=a(97380);let j=(0,n.A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),w=(0,n.A)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);var N=a(41007);let M=(0,n.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var A=a(58299),S=a(22061),C=a(87242),R=a(63322),z=a(31404),E=a(90986),I=a(76081),$=a(40443);let q={FileText:l.A,Presentation:i,Table2:d,UsersRound:o,Palette:c,Image:x,Sparkles:h.A,LayoutGrid:m,Rocket:p,Bug:v,Search:k.A,Workflow:u,Wand2:f,Video:g,Megaphone:y,Globe:b.A,BookOpen:j,NotebookPen:w},H=[l.A,j,b.A,m,c,k.A,h.A,f,u,w,o],U={id:"generic-open-standard",name:"Generic open-standard",projectRoots:[".agents/skills"],userRoots:["~/.agents/skills"]};async function L(e){let t=await e,a=await t.json().catch(()=>null);if(!t.ok)throw Error(function(e,t){if(e&&"object"==typeof e){if("string"==typeof e.error&&e.error.trim().length>0)return e.error;if("string"==typeof e.reason&&e.reason.trim().length>0)return e.reason}return`Request failed (${t})`}(a,t.status));return a}function V(e,t){return e instanceof Error?e.message:t}function P({session:e,sessionId:t,active:a}){let l=e.bridgeId??null,n=e.metadata.agent?.trim()||e.metadata.executor?.trim()||e.metadata.runtimeAgent?.trim()||"",i=e.metadata.workspacePath?.trim()||null,[d,o]=(0,r.useState)(""),[c,x]=(0,r.useState)(n||U.id),[m,p]=(0,r.useState)(i?"workspace":"user"),[v,u]=(0,r.useState)([]),[f,g]=(0,r.useState)([]),[y,b]=(0,r.useState)({}),[j,w]=(0,r.useState)([]),[W,T]=(0,r.useState)([]),[_,D]=(0,r.useState)(!0),[F,O]=(0,r.useState)(null),[G,Z]=(0,r.useState)(null),B=(0,r.useMemo)(()=>f.find(e=>e.id===c)??(c.trim().length>0&&c!==U.id?{id:c,name:c,projectRoots:U.projectRoots,userRoots:U.userRoots}:U),[f,c]),J=(0,r.useMemo)(()=>{let e=[...f];return e.some(e=>e.id===B.id)||e.unshift(B),e.some(e=>e.id===n&&n.trim().length>0)||e.unshift({id:n||U.id,name:n||U.name,projectRoots:U.projectRoots,userRoots:U.userRoots}),e.filter((e,t,a)=>a.findIndex(t=>t.id===e.id)===t)},[n,f,B]),K=(0,r.useCallback)(async(e={})=>{let{clearToast:s=!0}=e;if(a){D(!0),s&&Z(null);try{let[e,a,s]=await Promise.allSettled([L(fetch("/api/skills/catalog",{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/installed?agent=${encodeURIComponent(c)}${i?`&workspacePath=${encodeURIComponent(i)}`:""}`,l),{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(t)}`,l),{cache:"no-store"}))]),r=[];if("fulfilled"===e.status?(u(Array.isArray(e.value.skills)?e.value.skills:[]),g(Array.isArray(e.value.agents)?e.value.agents:[])):r.push(V(e.reason,"Failed to load skills catalog")),"fulfilled"===a.status){let e=Object.fromEntries((a.value.skills??[]).map(e=>[e.skillId,e]));b(e),T(a.value.customSkills??[])}else r.push(V(a.reason,"Failed to load installed skills"));"fulfilled"===s.status?w(s.value.skillIds??[]):r.push(V(s.reason,"Failed to load active session skills")),r.length>0&&Z({kind:"error",message:r[0]})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Failed to load skills"})}finally{D(!1)}}},[a,l,t,c,i]);(0,r.useEffect)(()=>{K()},[K]);let Q=(0,r.useMemo)(()=>{let e=d.trim().toLowerCase();return v.filter(t=>0===e.length||t.name.toLowerCase().includes(e)||t.summary.toLowerCase().includes(e)||t.category.toLowerCase().includes(e))},[v,d]),X=(0,r.useCallback)(async(e,a)=>{O(e.id),Z(null);try{let s="activate"===a||"deactivate"===a?{sessionId:t,skillId:e.id}:{skillId:e.id,agent:c,scope:m,workspacePath:i,sessionId:t},r=await fetch((0,z.S)("install"===a?"/api/skills/install":"activate"===a?"/api/skills/activate":"deactivate"===a?"/api/skills/deactivate":"/api/skills/uninstall",l),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s)}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error||"Skill action failed");let d={install:`${e.name} installed and activated for this session.`,activate:`${e.name} is active for this session.`,deactivate:`${e.name} is no longer active for this session.`,uninstall:`${e.name} was removed from ${m} scope.`};Z({kind:"success",message:d[a]}),await K({clearToast:!1})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Skill action failed"})}finally{O(null)}},[l,K,m,t,c,i]),Y=_&&0===v.length,ee=_&&v.length>0,et=d.trim().length>0;return(0,s.jsx)("div",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain pb-4 touch-pan-y lg:overflow-hidden lg:pb-0",children:(0,s.jsxs)("div",{className:"flex min-h-full min-w-0 flex-col gap-3",children:[(0,s.jsx)($.Zp,{className:"min-w-0",children:(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install open-agent skills from the curated catalog, detect what is already installed for the selected agent, and mark a skill as active for this session."})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)(M,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0",children:["Agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:n||"unknown"})]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:["Device: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:l??"local"})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Target agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:B.name})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Workspace: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:i??"Unavailable"})]})]})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("label",{className:"flex w-full items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("input",{value:d,onChange:e=>o(e.target.value),placeholder:"Search skills",className:"min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Target agent"}),(0,s.jsx)("select",{value:c,onChange:e=>x(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:J.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Install scope"}),(0,s.jsxs)("select",{value:m,onChange:e=>p(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"workspace",disabled:!i,children:"Workspace"})]})]})]}),(0,s.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installs into the selected agent's official skill folders. User scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.userRoots.join(" • ")}),"; workspace scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.projectRoots.join(" • ")}),"."]}),G?(0,s.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===G.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:G.message}):null,ee?(0,s.jsx)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Refreshing skills..."}):null]})}),(0,s.jsxs)("div",{className:"grid min-h-0 min-w-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,s.jsx)("div",{className:"min-h-0 min-w-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto",children:(0,s.jsx)("div",{className:"space-y-3 lg:pr-2",children:Y?(0,s.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:[(0,s.jsx)(A.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===Q.length?(0,s.jsx)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:et?"No matching skills found.":"No skills available."}):Q.map(e=>{var t;let a,r=y[e.id],l=!!(r?.installedUser||r?.installedWorkspace),n=j.includes(e.id),i=F===e.id,d=(t=e.icon,(a=t?.trim())&&q[a]?q[a]:N.A),o=f.length>0&&e.compatibleAgents.length>=f.length;return(0,s.jsxs)($.Zp,{className:"min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,s.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] text-[var(--vk-text-normal)]",children:(0,s.jsx)(d,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"min-w-0 text-[14px] font-semibold text-[var(--vk-text-normal)]",children:e.name}),e.verified?(0,s.jsx)(E.E,{children:"Verified"}):(0,s.jsx)(E.E,{variant:"outline",children:"Community"}),(0,s.jsx)(E.E,{variant:"outline",children:e.category}),l?(0,s.jsx)(E.E,{variant:"outline",children:"Installed"}):null,n?(0,s.jsx)(E.E,{variant:"outline",children:"Active now"}):null,null]}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:e.summary})]})]}),(0,s.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,s.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,s.jsx)(S.A,{className:"h-3 w-3"})]})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:o?(0,s.jsx)(E.E,{variant:"outline",children:"Compatible with all supported agents"}):e.compatibleAgents.map(e=>(0,s.jsx)(E.E,{variant:"outline",children:e},e))})]}),(0,s.jsxs)($.Wu,{className:"space-y-3",children:[r?.installPaths?.length?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)] break-words",children:["Installed at: ",r.installPaths.join(" • ")]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[l?n?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"deactivate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(C.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"activate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"install"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),l?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"uninstall"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},e.id)})})}),(0,s.jsxs)($.Zp,{className:"min-h-0 min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto",children:[(0,s.jsxs)($.aR,{className:"flex-col items-start gap-1.5",children:[(0,s.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,s.jsx)($.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===W.length?(0,s.jsx)("p",{children:"No custom skill folders detected."}):W.map(e=>{let t=function(e){if(0===e.trim().length)return N.A;let t=0;for(let a of e)t=(t<<5)-t+a.charCodeAt(0)|0;return H[Math.abs(t)%H.length]??h.A}(e.name);return(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 break-words",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",children:(0,s.jsx)(t,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:e.name}),(0,s.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)] break-words",children:["Detected from ",e.source]})]})]},e.id)})})]})]})]})})})}},90986:(e,t,a)=>{a.d(t,{E:()=>n});var s=a(54568),r=a(46916);let l={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function n({variant:e="default",className:t,children:a}){return(0,s.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:a})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3954],{14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},14810:(e,t,n)=>{n.d(t,{G:()=>l,x:()=>r});let r=new Set(["queued","spawning","running","working","needs_input","stuck"]),l=new Set(["done","needs_input","stuck","errored","terminated","killed"])},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},83954:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>k});var r=n(54568),l=n(26083),s=n(58299),i=n(60527),a=n(14796),o=n(36645),c=n(82797),d=n(7620),u=n(76081);let m=(0,n(42925).default)(()=>Promise.all([n.e(4887),n.e(5134),n.e(1225)]).then(n.bind(n,41225)).then(e=>e.RemoteSessionTerminal),{loadableGenerated:{webpack:()=>[41225]},ssr:!1});var h=n(31404),p=n(14810),f=n(63680);function x(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function b(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}async function w(e,t){let n=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,s="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,i=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();if(401===n.status||403===n.status)return{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,reason:r?.error??"Terminal access denied"};if(!n.ok)throw Error(r?.error??`Failed to resolve terminal token: ${n.status}`);return{interactive:!0,ttydHttpUrl:l,ttydWsUrl:s,expiresInSeconds:i}}async function g(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);x(n.hostname)&&!x(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=f.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:s}=window.location;return"3000"===s||"4747"===s?`${n}//${r}:4749`:l}(),r=await w(e,t);if(!r.interactive)return{terminalUrl:null,interactive:!1,reason:r.reason,expiresInSeconds:null};let l=function(e,t,n){let r=e??t;if(!r)return null;try{let e=new URL(r,n);return"ws:"===e.protocol&&(e.protocol="http:"),"wss:"===e.protocol&&(e.protocol="https:"),"/ws"===e.pathname?e.pathname="/":e.pathname.endsWith("/ws")&&(e.pathname=b(e.pathname.slice(0,-3))),e.pathname=b(e.pathname),e.hash="",e.toString()}catch{return null}}(r.ttydHttpUrl,r.ttydWsUrl,n);return l?{terminalUrl:l,interactive:!0,reason:null,expiresInSeconds:r.expiresInSeconds}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}var v=n(86181);let y=new Set(["archived","killed","terminated","restored"]);async function j(e,t,n){let r=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function N(e){let{sessionId:t,projectId:n,bridgeId:m,sessionState:f,runtimeMode:x,pendingInsert:b,immersiveMobileMode:w=!1}=e,N=(0,d.useRef)(null),k=(0,d.useRef)(0),S=(0,d.useRef)(0),U=(0,d.useRef)(null),E=(0,d.useMemo)(()=>f.trim().toLowerCase(),[f]),C=x?.trim().toLowerCase()??null,I="ttyd"===C,A=I?!y.has(E):p.x.has(E),R=!I&&!w&&p.G.has(E),[T,_]=(0,d.useState)(null),[L,M]=(0,d.useState)(A),[$,z]=(0,d.useState)(null),[O,F]=(0,d.useState)(!1),[P,W]=(0,d.useState)(0),[D,H]=(0,d.useState)(""),[q,B]=(0,d.useState)(!1),[G,J]=(0,d.useState)(null),[K,V]=(0,d.useState)(null),X=(0,d.useRef)(null);(0,d.useEffect)(()=>{X.current=T},[T]),(0,d.useEffect)(()=>{k.current=0,S.current=0,_(null),M(A),z(null),F(!1),W(0),H(""),B(!1),J(null),V(null)},[A,t]),(0,d.useEffect)(()=>{if(!A){M(!1),z(null);return}let e=!1,n=null,r=null,l=new AbortController;return M(!0),z(null),g(t,{signal:l.signal,bridgeId:m}).then(t=>{if(!e){if(S.current=0,t.interactive&&t.terminalUrl){var n,l,s;(n=X.current,l=t.terminalUrl,n&&n===l)?X.current||_(t.terminalUrl):(F(!1),_(t.terminalUrl)),z(null);let e="number"!=typeof(s=t.expiresInSeconds)||!Number.isFinite(s)||s<=0?null:1e3*Math.max(5,s-10);null!==e&&(r=window.setTimeout(()=>{W(e=>e+1)},e));return}X.current||(_(null),F(!1)),z(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!X.current;r||(_(null),F(!1)),z(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=S.current,s=r?5e3:Math.min(4e3,500*2**l);S.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{W(e=>e+1)},s)}).finally(()=>{e||M(!1)}),()=>{e=!0,l.abort(),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r)}},[m,P,A,t]),(0,d.useEffect)(()=>{if(!b||b.nonce<=k.current)return;k.current=b.nonce;let e=b.inlineText.trim();if(0===e.length)return;let n=!1;return j(t,`${e} `,m).then(()=>{n||V(null)}).catch(e=>{n||V(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[m,b,t]);let Q=(0,d.useCallback)(async()=>{let e=D.trim();if(0!==e.length&&!q){B(!0),J(null);try{let n=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,m),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}H(""),N.current?.focus()}catch(e){J(e instanceof Error?e.message:"Failed to send message")}finally{B(!1)}}},[m,D,q,t]),Y=(0,d.useCallback)(()=>{let e=U.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,v.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);!r||n<=0?e.style.removeProperty("height"):e.style.height=`${Math.max(0,Math.round(n))}px`},[]);(0,d.useEffect)(()=>{let e=U.current;if(!e)return;let t=()=>{Y()};t();let n="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{t()}),r=window.visualViewport;return n?.observe(e),window.addEventListener("resize",t),r?.addEventListener("resize",t),r?.addEventListener("scroll",t),()=>{n?.disconnect(),window.removeEventListener("resize",t),r?.removeEventListener("resize",t),r?.removeEventListener("scroll",t),e.style.removeProperty("height")}},[Y,A,T]),(0,d.useEffect)(()=>{},[$,A,O,C,G,K,L,t,T,I]);let Z=(0,d.useCallback)(()=>{z(null),S.current=0,W(e=>e+1)},[]),ee=A?"Connecting live terminal":R?"Session is waiting for input":"Live terminal is not active",et=$??(A?"Reconnecting to the existing ttyd terminal.":I?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":R?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${E}\`. Interactive ttyd terminals only run while the agent is active.`);return(0,r.jsxs)("div",{className:w?"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-2 sm:right-3 sm:top-3",children:[T?(0,r.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(u.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:Z,"aria-label":"Reload ttyd terminal",children:L?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:w?"min-h-0 min-w-0 flex-1 overflow-hidden px-0 pb-0 pt-0 w-full":"min-h-0 min-w-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:A&&T?(0,r.jsxs)("div",{ref:U,className:"relative h-full w-full overflow-hidden rounded-[10px] bg-[#060404]",children:[O?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{title:`ttyd terminal for ${t}`,src:T,className:"h-full w-full border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{F(!0),z(null),Y()}})]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:$?(0,r.jsx)(a.A,{className:"h-4 w-4"}):(0,r.jsx)(s.A,{className:`h-4 w-4 ${L?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:ee}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:et}),T?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!R&&K?(0,r.jsx)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:K}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>V(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]})}):null,R?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[K?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:K}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>V(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]}):null,G?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ff8f7a]",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:G}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>J(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),Q()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:N,value:D,onChange:e=>H(e.target.value),placeholder:"Send a follow-up message…",disabled:q,className:"h-8 min-w-0 flex-1 rounded-md border border-white/10 bg-[#0c0808] px-2.5 text-[12px] text-[#efe8e1] outline-none placeholder:text-[#7d746e] focus:border-white/20 disabled:opacity-50",onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.currentTarget.blur())}}),(0,r.jsx)(u.$,{type:"submit",size:"icon",variant:"ghost",disabled:q||0===D.trim().length,className:"h-8 w-8 shrink-0 rounded-md border border-white/10 bg-[#0c0808] text-[#c9c0b7] hover:bg-[#201818] disabled:opacity-30","aria-label":"Send message",children:q?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(c.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let k=(0,d.memo)(function(e){return e.bridgeId?.trim()?(0,r.jsx)(m,{...e}):(0,r.jsx)(N,{...e})},function(e,t){var n,r;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7507],{47507:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>a.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>d.A,syncKeylessConfigAction:()=>n});var a=r(77873),d=r(21722),s=r(5974);let t=(0,s.createServerReference)("00cdcd2c0d1927c1c22851aee11acde7e58079788a",s.callServer,void 0,s.findSourceMapURL,"deleteKeylessAction"),n=(0,s.createServerReference)("4020a9fecf4069c6b7fe5830c09b6656d882b8827e",s.callServer,void 0,s.findSourceMapURL,"syncKeylessConfigAction")},77873:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("00474fb1cf3d4e90f4682374dd82d620242804f386",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{21722:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00a51b9f4eb211f6befcb19ab35d193d9223aff2a5",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},24876:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,31008,23)),Promise.resolve().then(t.t.bind(t,78578,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},62608:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("005e6455a37302ce939d09f0646d13241d3bf945b6",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"}},e=>{e.O(0,[7547,3357,524,1455,7220,587,1968,7358],()=>e(e.s=24876)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1874],{2939:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},46548:(e,t,a)=>{a.d(t,{A:()=>s});let s=(0,a(13454).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},81874:(e,t,a)=>{a.r(t),a.d(t,{SessionSkills:()=>P});var s=a(54568),r=a(7620),l=a(2939),n=a(13454);let i=(0,n.A)("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),d=(0,n.A)("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),o=(0,n.A)("users-round",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),c=(0,n.A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),x=(0,n.A)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);var h=a(46548);let m=(0,n.A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),p=(0,n.A)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),v=(0,n.A)("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);var k=a(23555);let u=(0,n.A)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),f=(0,n.A)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]),g=(0,n.A)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),y=(0,n.A)("megaphone",[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]);var b=a(97380);let j=(0,n.A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),w=(0,n.A)("notebook-pen",[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]);var N=a(41007);let M=(0,n.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var A=a(58299),S=a(22061),C=a(87242),R=a(63322),z=a(31404),E=a(90986),I=a(76081),$=a(40443);let q={FileText:l.A,Presentation:i,Table2:d,UsersRound:o,Palette:c,Image:x,Sparkles:h.A,LayoutGrid:m,Rocket:p,Bug:v,Search:k.A,Workflow:u,Wand2:f,Video:g,Megaphone:y,Globe:b.A,BookOpen:j,NotebookPen:w},H=[l.A,j,b.A,m,c,k.A,h.A,f,u,w,o],U={id:"generic-open-standard",name:"Generic open-standard",projectRoots:[".agents/skills"],userRoots:["~/.agents/skills"]};async function L(e){let t=await e,a=await t.json().catch(()=>null);if(!t.ok)throw Error(function(e,t){if(e&&"object"==typeof e){if("string"==typeof e.error&&e.error.trim().length>0)return e.error;if("string"==typeof e.reason&&e.reason.trim().length>0)return e.reason}return`Request failed (${t})`}(a,t.status));return a}function V(e,t){return e instanceof Error?e.message:t}function P({session:e,sessionId:t,active:a}){let l=e.bridgeId??null,n=e.metadata.agent?.trim()||e.metadata.executor?.trim()||e.metadata.runtimeAgent?.trim()||"",i=e.metadata.workspacePath?.trim()||null,[d,o]=(0,r.useState)(""),[c,x]=(0,r.useState)(n||U.id),[m,p]=(0,r.useState)(i?"workspace":"user"),[v,u]=(0,r.useState)([]),[f,g]=(0,r.useState)([]),[y,b]=(0,r.useState)({}),[j,w]=(0,r.useState)([]),[W,T]=(0,r.useState)([]),[_,D]=(0,r.useState)(!0),[F,O]=(0,r.useState)(null),[G,Z]=(0,r.useState)(null),B=(0,r.useMemo)(()=>f.find(e=>e.id===c)??(c.trim().length>0&&c!==U.id?{id:c,name:c,projectRoots:U.projectRoots,userRoots:U.userRoots}:U),[f,c]),J=(0,r.useMemo)(()=>{let e=[...f];return e.some(e=>e.id===B.id)||e.unshift(B),e.some(e=>e.id===n&&n.trim().length>0)||e.unshift({id:n||U.id,name:n||U.name,projectRoots:U.projectRoots,userRoots:U.userRoots}),e.filter((e,t,a)=>a.findIndex(t=>t.id===e.id)===t)},[n,f,B]),K=(0,r.useCallback)(async(e={})=>{let{clearToast:s=!0}=e;if(a){D(!0),s&&Z(null);try{let[e,a,s]=await Promise.allSettled([L(fetch("/api/skills/catalog",{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/installed?agent=${encodeURIComponent(c)}${i?`&workspacePath=${encodeURIComponent(i)}`:""}`,l),{cache:"no-store"})),L(fetch((0,z.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(t)}`,l),{cache:"no-store"}))]),r=[];if("fulfilled"===e.status?(u(Array.isArray(e.value.skills)?e.value.skills:[]),g(Array.isArray(e.value.agents)?e.value.agents:[])):r.push(V(e.reason,"Failed to load skills catalog")),"fulfilled"===a.status){let e=Object.fromEntries((a.value.skills??[]).map(e=>[e.skillId,e]));b(e),T(a.value.customSkills??[])}else r.push(V(a.reason,"Failed to load installed skills"));"fulfilled"===s.status?w(s.value.skillIds??[]):r.push(V(s.reason,"Failed to load active session skills")),r.length>0&&Z({kind:"error",message:r[0]})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Failed to load skills"})}finally{D(!1)}}},[a,l,t,c,i]);(0,r.useEffect)(()=>{K()},[K]);let Q=(0,r.useMemo)(()=>{let e=d.trim().toLowerCase();return v.filter(t=>0===e.length||t.name.toLowerCase().includes(e)||t.summary.toLowerCase().includes(e)||t.category.toLowerCase().includes(e))},[v,d]),X=(0,r.useCallback)(async(e,a)=>{O(e.id),Z(null);try{let s="activate"===a||"deactivate"===a?{sessionId:t,skillId:e.id}:{skillId:e.id,agent:c,scope:m,workspacePath:i,sessionId:t},r=await fetch((0,z.S)("install"===a?"/api/skills/install":"activate"===a?"/api/skills/activate":"deactivate"===a?"/api/skills/deactivate":"/api/skills/uninstall",l),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s)}),n=await r.json().catch(()=>({}));if(!r.ok)throw Error(n.error||"Skill action failed");let d={install:`${e.name} installed and activated for this session.`,activate:`${e.name} is active for this session.`,deactivate:`${e.name} is no longer active for this session.`,uninstall:`${e.name} was removed from ${m} scope.`};Z({kind:"success",message:d[a]}),await K({clearToast:!1})}catch(e){Z({kind:"error",message:e instanceof Error?e.message:"Skill action failed"})}finally{O(null)}},[l,K,m,t,c,i]),Y=_&&0===v.length,ee=_&&v.length>0,et=d.trim().length>0;return(0,s.jsx)("div",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden",children:(0,s.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain pb-4 touch-pan-y lg:overflow-hidden lg:pb-0",children:(0,s.jsxs)("div",{className:"flex min-h-full min-w-0 flex-col gap-3",children:[(0,s.jsx)($.Zp,{className:"min-w-0",children:(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install open-agent skills from the curated catalog, detect what is already installed for the selected agent, and mark a skill as active for this session."})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)(M,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0",children:["Agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:n||"unknown"})]})]}),(0,s.jsxs)("div",{className:"min-w-0",children:["Device: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:l??"local"})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Target agent: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:B.name})]}),(0,s.jsxs)("div",{className:"min-w-0 break-words",children:["Workspace: ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)] break-words",children:i??"Unavailable"})]})]})]}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("label",{className:"flex w-full items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,s.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,s.jsx)("input",{value:d,onChange:e=>o(e.target.value),placeholder:"Search skills",className:"min-w-0 flex-1 bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Target agent"}),(0,s.jsx)("select",{value:c,onChange:e=>x(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:J.map(e=>(0,s.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,s.jsxs)("label",{className:"flex w-full items-center justify-between gap-2 text-[12px] text-[var(--vk-text-muted)] lg:w-auto lg:justify-start",children:[(0,s.jsx)("span",{className:"shrink-0",children:"Install scope"}),(0,s.jsxs)("select",{value:m,onChange:e=>p(e.target.value),className:"min-w-0 w-full rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)] lg:w-auto",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"workspace",disabled:!i,children:"Workspace"})]})]})]}),(0,s.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installs into the selected agent's official skill folders. User scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.userRoots.join(" • ")}),"; workspace scope mirrors into"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:B.projectRoots.join(" • ")}),"."]}),G?(0,s.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===G.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:G.message}):null,ee?(0,s.jsx)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"Refreshing skills..."}):null]})}),(0,s.jsxs)("div",{className:"grid min-h-0 min-w-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,s.jsx)("div",{className:"min-h-0 min-w-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto",children:(0,s.jsx)("div",{className:"space-y-3 lg:pr-2",children:Y?(0,s.jsxs)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:[(0,s.jsx)(A.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===Q.length?(0,s.jsx)("div",{className:"flex min-h-[180px] items-center justify-center text-[13px] text-[var(--vk-text-muted)] sm:min-h-[220px]",children:et?"No matching skills found.":"No skills available."}):Q.map(e=>{var t;let a,r=y[e.id],l=!!(r?.installedUser||r?.installedWorkspace),n=j.includes(e.id),i=F===e.id,d=(t=e.icon,(a=t?.trim())&&q[a]?q[a]:N.A),o=f.length>0&&e.compatibleAgents.length>=f.length;return(0,s.jsxs)($.Zp,{className:"min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,s.jsxs)($.aR,{className:"flex flex-col items-stretch gap-3",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,s.jsxs)("div",{className:"flex min-w-0 gap-3",children:[(0,s.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] text-[var(--vk-text-normal)]",children:(0,s.jsx)(d,{className:"h-4 w-4"})}),(0,s.jsxs)("div",{className:"min-w-0 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"min-w-0 text-[14px] font-semibold text-[var(--vk-text-normal)]",children:e.name}),e.verified?(0,s.jsx)(E.E,{children:"Verified"}):(0,s.jsx)(E.E,{variant:"outline",children:"Community"}),(0,s.jsx)(E.E,{variant:"outline",children:e.category}),l?(0,s.jsx)(E.E,{variant:"outline",children:"Installed"}):null,n?(0,s.jsx)(E.E,{variant:"outline",children:"Active now"}):null,null]}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:e.summary})]})]}),(0,s.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,s.jsxs)("a",{href:e.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,s.jsx)(S.A,{className:"h-3 w-3"})]})})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:o?(0,s.jsx)(E.E,{variant:"outline",children:"Compatible with all supported agents"}):e.compatibleAgents.map(e=>(0,s.jsx)(E.E,{variant:"outline",children:e},e))})]}),(0,s.jsxs)($.Wu,{className:"space-y-3",children:[r?.installPaths?.length?(0,s.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)] break-words",children:["Installed at: ",r.installPaths.join(" • ")]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[l?n?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"deactivate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(C.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"activate"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,s.jsxs)(I.$,{type:"button",size:"sm",disabled:i||!1,onClick:()=>void X(e,"install"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(R.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),l?(0,s.jsxs)(I.$,{type:"button",variant:"outline",size:"sm",disabled:i,onClick:()=>void X(e,"uninstall"),children:[i?(0,s.jsx)(A.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},e.id)})})}),(0,s.jsxs)($.Zp,{className:"min-h-0 min-w-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto",children:[(0,s.jsxs)($.aR,{className:"flex-col items-start gap-1.5",children:[(0,s.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,s.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,s.jsx)($.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===W.length?(0,s.jsx)("p",{children:"No custom skill folders detected."}):W.map(e=>{let t=function(e){if(0===e.trim().length)return N.A;let t=0;for(let a of e)t=(t<<5)-t+a.charCodeAt(0)|0;return H[Math.abs(t)%H.length]??h.A}(e.name);return(0,s.jsxs)("div",{className:"flex items-start gap-3 rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 break-words",children:[(0,s.jsx)("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",children:(0,s.jsx)(t,{className:"h-3.5 w-3.5"})}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:e.name}),(0,s.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)] break-words",children:["Detected from ",e.source]})]})]},e.id)})})]})]})]})})})}},90986:(e,t,a)=>{a.d(t,{E:()=>n});var s=a(54568),r=a(46916);let l={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function n({variant:e="default",className:t,children:a}){return(0,s.jsx)("span",{className:(0,r.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",l[e],t),children:a})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3954],{14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},14810:(e,t,n)=>{n.d(t,{G:()=>l,x:()=>r});let r=new Set(["queued","spawning","running","working","needs_input","stuck"]),l=new Set(["done","needs_input","stuck","errored","terminated","killed"])},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},83954:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>k});var r=n(54568),l=n(26083),s=n(58299),i=n(60527),a=n(14796),o=n(36645),c=n(82797),d=n(7620),u=n(76081);let m=(0,n(42925).default)(()=>Promise.all([n.e(4887),n.e(5134),n.e(1225)]).then(n.bind(n,41225)).then(e=>e.RemoteSessionTerminal),{loadableGenerated:{webpack:()=>[41225]},ssr:!1});var h=n(31404),p=n(14810),f=n(63680);function x(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function b(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}async function w(e,t){let n=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,s="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,i=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();if(401===n.status||403===n.status)return{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,reason:r?.error??"Terminal access denied"};if(!n.ok)throw Error(r?.error??`Failed to resolve terminal token: ${n.status}`);return{interactive:!0,ttydHttpUrl:l,ttydWsUrl:s,expiresInSeconds:i}}async function g(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);x(n.hostname)&&!x(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=f.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:s}=window.location;return"3000"===s||"4747"===s?`${n}//${r}:4749`:l}(),r=await w(e,t);if(!r.interactive)return{terminalUrl:null,interactive:!1,reason:r.reason,expiresInSeconds:null};let l=function(e,t,n){let r=e??t;if(!r)return null;try{let e=new URL(r,n);return"ws:"===e.protocol&&(e.protocol="http:"),"wss:"===e.protocol&&(e.protocol="https:"),"/ws"===e.pathname?e.pathname="/":e.pathname.endsWith("/ws")&&(e.pathname=b(e.pathname.slice(0,-3))),e.pathname=b(e.pathname),e.hash="",e.toString()}catch{return null}}(r.ttydHttpUrl,r.ttydWsUrl,n);return l?{terminalUrl:l,interactive:!0,reason:null,expiresInSeconds:r.expiresInSeconds}:{terminalUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."}}var v=n(86181);let y=new Set(["archived","killed","terminated","restored"]);async function j(e,t,n){let r=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function N(e){let{sessionId:t,projectId:n,bridgeId:m,sessionState:f,runtimeMode:x,pendingInsert:b,immersiveMobileMode:w=!1}=e,N=(0,d.useRef)(null),k=(0,d.useRef)(0),S=(0,d.useRef)(0),U=(0,d.useRef)(null),E=(0,d.useMemo)(()=>f.trim().toLowerCase(),[f]),C=x?.trim().toLowerCase()??null,I="ttyd"===C,A=I?!y.has(E):p.x.has(E),R=!I&&!w&&p.G.has(E),[T,_]=(0,d.useState)(null),[L,M]=(0,d.useState)(A),[$,z]=(0,d.useState)(null),[O,F]=(0,d.useState)(!1),[P,W]=(0,d.useState)(0),[D,H]=(0,d.useState)(""),[q,B]=(0,d.useState)(!1),[G,J]=(0,d.useState)(null),[K,V]=(0,d.useState)(null),X=(0,d.useRef)(null);(0,d.useEffect)(()=>{X.current=T},[T]),(0,d.useEffect)(()=>{k.current=0,S.current=0,_(null),M(A),z(null),F(!1),W(0),H(""),B(!1),J(null),V(null)},[A,t]),(0,d.useEffect)(()=>{if(!A){M(!1),z(null);return}let e=!1,n=null,r=null,l=new AbortController;return M(!0),z(null),g(t,{signal:l.signal,bridgeId:m}).then(t=>{if(!e){if(S.current=0,t.interactive&&t.terminalUrl){var n,l,s;(n=X.current,l=t.terminalUrl,n&&n===l)?X.current||_(t.terminalUrl):(F(!1),_(t.terminalUrl)),z(null);let e="number"!=typeof(s=t.expiresInSeconds)||!Number.isFinite(s)||s<=0?null:1e3*Math.max(5,s-10);null!==e&&(r=window.setTimeout(()=>{W(e=>e+1)},e));return}X.current||(_(null),F(!1)),z(t.reason??"Live ttyd terminal is unavailable.")}}).catch(t=>{if(e||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!X.current;r||(_(null),F(!1)),z(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=S.current,s=r?5e3:Math.min(4e3,500*2**l);S.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{W(e=>e+1)},s)}).finally(()=>{e||M(!1)}),()=>{e=!0,l.abort(),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r)}},[m,P,A,t]),(0,d.useEffect)(()=>{if(!b||b.nonce<=k.current)return;k.current=b.nonce;let e=b.inlineText.trim();if(0===e.length)return;let n=!1;return j(t,`${e} `,m).then(()=>{n||V(null)}).catch(e=>{n||V(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[m,b,t]);let Q=(0,d.useCallback)(async()=>{let e=D.trim();if(0!==e.length&&!q){B(!0),J(null);try{let n=await fetch((0,h.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,m),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}H(""),N.current?.focus()}catch(e){J(e instanceof Error?e.message:"Failed to send message")}finally{B(!1)}}},[m,D,q,t]),Y=(0,d.useCallback)(()=>{let e=U.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,v.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);!r||n<=0?e.style.removeProperty("height"):e.style.height=`${Math.max(0,Math.round(n))}px`},[]);(0,d.useEffect)(()=>{let e=U.current;if(!e)return;let t=()=>{Y()};t();let n="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{t()}),r=window.visualViewport;return n?.observe(e),window.addEventListener("resize",t),r?.addEventListener("resize",t),r?.addEventListener("scroll",t),()=>{n?.disconnect(),window.removeEventListener("resize",t),r?.removeEventListener("resize",t),r?.removeEventListener("scroll",t),e.style.removeProperty("height")}},[Y,A,T]),(0,d.useEffect)(()=>{},[$,A,O,C,G,K,L,t,T,I]);let Z=(0,d.useCallback)(()=>{z(null),S.current=0,W(e=>e+1)},[]),ee=A?"Connecting live terminal":R?"Session is waiting for input":"Live terminal is not active",et=$??(A?"Reconnecting to the existing ttyd terminal.":I?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":R?"Send a follow-up below to relaunch the agent in a fresh ttyd terminal.":`Session status is \`${E}\`. Interactive ttyd terminals only run while the agent is active.`);return(0,r.jsxs)("div",{className:w?"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex h-full min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-10 flex items-center gap-2 sm:right-3 sm:top-3",children:[T?(0,r.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm transition hover:bg-[#201818] sm:h-7 sm:w-7","aria-label":"Open ttyd terminal in a new tab",children:(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(u.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:Z,"aria-label":"Reload ttyd terminal",children:L?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:w?"min-h-0 min-w-0 flex-1 overflow-hidden px-0 pb-0 pt-0 w-full":"min-h-0 min-w-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:A&&T?(0,r.jsxs)("div",{ref:U,className:"relative h-full w-full overflow-hidden rounded-[10px] bg-[#060404]",children:[O?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{title:`ttyd terminal for ${t}`,src:T,className:"h-full w-full border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onLoad:()=>{F(!0),z(null),Y()}})]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:$?(0,r.jsx)(a.A,{className:"h-4 w-4"}):(0,r.jsx)(s.A,{className:`h-4 w-4 ${L?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:ee}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:et}),T?(0,r.jsx)("div",{className:"mt-3",children:(0,r.jsx)("a",{href:T,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the ttyd terminal directly"})}):null]})]})})})}),!R&&K?(0,r.jsx)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:K}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>V(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]})}):null,R?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[K?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ffb39e]",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:K}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>V(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]}):null,G?(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 text-[11px] text-[#ff8f7a]",children:[(0,r.jsx)(a.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:G}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>J(null),children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),Q()},className:"flex items-center gap-2 px-2 py-2 lg:px-3",children:[(0,r.jsx)("input",{ref:N,value:D,onChange:e=>H(e.target.value),placeholder:"Send a follow-up message…",disabled:q,className:"h-8 min-w-0 flex-1 rounded-md border border-white/10 bg-[#0c0808] px-2.5 text-[12px] text-[#efe8e1] outline-none placeholder:text-[#7d746e] focus:border-white/20 disabled:opacity-50",onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),e.currentTarget.blur())}}),(0,r.jsx)(u.$,{type:"submit",size:"icon",variant:"ghost",disabled:q||0===D.trim().length,className:"h-8 w-8 shrink-0 rounded-md border border-white/10 bg-[#0c0808] text-[#c9c0b7] hover:bg-[#201818] disabled:opacity-30","aria-label":"Send message",children:q?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(c.A,{className:"h-3.5 w-3.5"})})]})]}):null]})}let k=(0,d.memo)(function(e){return e.bridgeId?.trim()?(0,r.jsx)(m,{...e}):(0,r.jsx)(N,{...e})},function(e,t){var n,r;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)})}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7507],{47507:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>a.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>d.A,syncKeylessConfigAction:()=>n});var a=r(77873),d=r(21722),s=r(5974);let t=(0,s.createServerReference)("00cdcd2c0d1927c1c22851aee11acde7e58079788a",s.callServer,void 0,s.findSourceMapURL,"deleteKeylessAction"),n=(0,s.createServerReference)("4020a9fecf4069c6b7fe5830c09b6656d882b8827e",s.callServer,void 0,s.findSourceMapURL,"syncKeylessConfigAction")},77873:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("00474fb1cf3d4e90f4682374dd82d620242804f386",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{21722:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00a51b9f4eb211f6befcb19ab35d193d9223aff2a5",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},24876:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,31008,23)),Promise.resolve().then(t.t.bind(t,78578,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},62608:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("005e6455a37302ce939d09f0646d13241d3bf945b6",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"}},e=>{e.O(0,[7547,3357,524,1455,7220,587,1968,7358],()=>e(e.s=24876)),_N_E=e.O()}]);