@agent-relay/dashboard-server 2.0.78 → 2.0.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/404.html +1 -1
- package/out/_next/static/chunks/285-dc644487a8d6500d.js +1 -0
- package/out/_next/static/chunks/687-88b6b139a6bb0e2e.js +1 -0
- package/out/_next/static/chunks/app/app/[[...slug]]/{page-45fe4b47b29547d1.js → page-1e81c047cff17212.js} +1 -1
- package/out/_next/static/chunks/app/{page-5c60a00d938ac40a.js → page-6892fe2dd07fb48b.js} +1 -1
- package/out/_next/static/chunks/app/providers/{page-9a2e7c46b61d7742.js → page-59114505f4353512.js} +1 -1
- package/out/_next/static/chunks/app/providers/setup/[provider]/page-daf9b3e05e77ae19.js +1 -0
- package/out/about.html +1 -1
- package/out/about.txt +1 -1
- package/out/app/onboarding.html +1 -1
- package/out/app/onboarding.txt +1 -1
- package/out/app.html +1 -1
- package/out/app.txt +2 -2
- package/out/blog/go-to-bed-wake-up-to-a-finished-product.html +1 -1
- package/out/blog/go-to-bed-wake-up-to-a-finished-product.txt +1 -1
- package/out/blog/let-them-cook-multi-agent-orchestration.html +1 -1
- package/out/blog/let-them-cook-multi-agent-orchestration.txt +1 -1
- package/out/blog.html +1 -1
- package/out/blog.txt +1 -1
- package/out/careers.html +1 -1
- package/out/careers.txt +1 -1
- package/out/changelog.html +1 -1
- package/out/changelog.txt +1 -1
- package/out/cloud/link.html +1 -1
- package/out/cloud/link.txt +1 -1
- package/out/complete-profile.html +1 -1
- package/out/complete-profile.txt +1 -1
- package/out/connect-repos.html +1 -1
- package/out/connect-repos.txt +1 -1
- package/out/contact.html +1 -1
- package/out/contact.txt +1 -1
- package/out/docs.html +1 -1
- package/out/docs.txt +1 -1
- package/out/history.html +1 -1
- package/out/history.txt +1 -1
- package/out/index.html +1 -1
- package/out/index.txt +2 -2
- package/out/login.html +1 -1
- package/out/login.txt +1 -1
- package/out/metrics.html +1 -1
- package/out/metrics.txt +1 -1
- package/out/pricing.html +1 -1
- package/out/pricing.txt +1 -1
- package/out/privacy.html +1 -1
- package/out/privacy.txt +1 -1
- package/out/providers/setup/claude.html +1 -1
- package/out/providers/setup/claude.txt +2 -2
- package/out/providers/setup/codex.html +1 -1
- package/out/providers/setup/codex.txt +2 -2
- package/out/providers/setup/cursor.html +1 -1
- package/out/providers/setup/cursor.txt +2 -2
- package/out/providers.html +1 -1
- package/out/providers.txt +2 -2
- package/out/security.html +1 -1
- package/out/security.txt +1 -1
- package/out/signup.html +1 -1
- package/out/signup.txt +1 -1
- package/out/terms.html +1 -1
- package/out/terms.txt +1 -1
- package/package.json +1 -1
- package/out/_next/static/chunks/285-cdcfcdf809c3db61.js +0 -1
- package/out/_next/static/chunks/722-b46e932925a74e7d.js +0 -1
- package/out/_next/static/chunks/994-0ce5f1d759089504.js +0 -1
- package/out/_next/static/chunks/app/providers/setup/[provider]/page-f058bf6696242d7b.js +0 -1
- /package/out/_next/static/{bEZfGbSMzOw3Hg1Gm6kJX → AqelRhy1vr2nBUcU0Iqcp}/_buildManifest.js +0 -0
- /package/out/_next/static/{bEZfGbSMzOw3Hg1Gm6kJX → AqelRhy1vr2nBUcU0Iqcp}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[687],{4722:function(e,t,r){r.d(t,{j:function(){return a}});var n=r(7573),s=r(7653);let c={codex:"openai"};function a(e){let{provider:t,workspaceId:r,csrfToken:a,onSuccess:o,onCancel:l,onError:i}=e,[d,u]=(0,s.useState)("idle"),[x,p]=(0,s.useState)(null),[m,h]=(0,s.useState)(null),[b,f]=(0,s.useState)(!1),g=(0,s.useRef)(!1),y=(0,s.useRef)(!1),j=t.id,v=c[j]||j,w=(0,s.useCallback)(async()=>{u("starting"),p(null),y.current=!1;try{let e={"Content-Type":"application/json"};a&&(e["X-CSRF-Token"]=a);let t=await fetch("/api/auth/ssh/init",{method:"POST",credentials:"include",headers:e,body:JSON.stringify({provider:j,workspaceId:r})}),n=await t.json();if(!t.ok)throw Error(n.error||"Failed to start authentication");let s=n.commandWithUrl||n.command,c=s&&!s.trim().startsWith("npx ")?"npx ".concat(s):s;h(c),u("waiting"),n.workspaceId&&N(n.workspaceId)}catch(t){let e=t instanceof Error?t.message:"Failed to start authentication";p(e),u("error"),i(e)}},[j,r,a,i]),N=(0,s.useCallback)(e=>{if(g.current)return;g.current=!0;let t=0,r=async()=>{if(t>=120||!g.current){g.current=!1,t>=120&&(p("Authentication timed out. Please try again."),u("error"),i("Authentication timed out"));return}try{let s=await fetch("/api/auth/ssh/status/".concat(e),{credentials:"include"});if(s.ok){var n;let e=await s.json(),t=null===(n=e.providers)||void 0===n?void 0:n.find(e=>e.name===v);if((null==t?void 0:t.status)==="connected"){g.current=!1,y.current||(y.current=!0,u("success"),setTimeout(()=>o(),1500));return}}t++,setTimeout(r,5e3)}catch(e){console.error("Poll error:",e),t++,setTimeout(r,5e3)}};r()},[v,i,o]),k=(0,s.useCallback)(()=>{g.current=!1,u("idle"),h(null),p(null),f(!1),l()},[l]),C=(0,s.useCallback)(()=>{m&&(navigator.clipboard.writeText(m),f(!0),setTimeout(()=>f(!1),2e3))},[m]);return(0,s.useEffect)(()=>{"idle"===d&&w()},[w,d]),(0,s.useEffect)(()=>()=>{g.current=!1},[]),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"w-10 h-10 rounded-lg flex items-center justify-center text-white font-bold",style:{backgroundColor:t.color},children:t.displayName[0]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium text-white",children:t.displayName}),(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["starting"===d&&"Starting authentication...","waiting"===d&&"Complete authentication below","success"===d&&"Connected!","error"===d&&(x||"Authentication failed")]})]})]}),"starting"===d&&(0,n.jsxs)("div",{className:"flex items-center justify-center gap-3 py-4",children:[(0,n.jsxs)("svg",{className:"w-5 h-5 text-accent-cyan animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("span",{className:"text-text-muted",children:"Preparing authentication..."})]}),"waiting"===d&&m&&(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"p-3 bg-accent-cyan/10 border border-accent-cyan/30 rounded-lg",children:[(0,n.jsxs)("p",{className:"text-sm text-accent-cyan mb-2",children:[(0,n.jsx)("strong",{children:"Step 1:"})," Copy and run this command in your terminal"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("code",{className:"flex-1 px-3 py-2 bg-bg-deep rounded-lg text-xs font-mono text-white overflow-x-auto",children:m}),(0,n.jsx)("button",{onClick:C,className:"px-3 py-2 bg-bg-tertiary border border-border-subtle rounded-lg text-text-muted hover:text-white hover:border-accent-cyan/50 transition-colors text-xs whitespace-nowrap",children:b?"Copied!":"Copy"})]})]}),(0,n.jsxs)("div",{className:"p-3 bg-bg-tertiary border border-border-subtle rounded-lg",children:[(0,n.jsxs)("p",{className:"text-sm text-white mb-1",children:[(0,n.jsx)("strong",{children:"Step 2:"})," Accept any SSH host key warnings"]}),(0,n.jsxs)("p",{className:"text-xs text-text-muted",children:['If prompted with "Are you sure you want to continue connecting?", type ',(0,n.jsx)("code",{className:"px-1 py-0.5 bg-bg-deep rounded text-accent-cyan",children:"yes"})," and press Enter."]})]}),(0,n.jsxs)("div",{className:"p-3 bg-bg-tertiary border border-border-subtle rounded-lg",children:[(0,n.jsxs)("p",{className:"text-sm text-white mb-1",children:[(0,n.jsx)("strong",{children:"Step 3:"})," Complete the sign-in"]}),(0,n.jsxs)("p",{className:"text-xs text-text-muted",children:["A browser window will open for ",t.displayName," authentication. Sign in with your account and authorize access."]})]}),(0,n.jsxs)("div",{className:"p-3 bg-amber-500/10 border border-amber-500/30 rounded-lg",children:[(0,n.jsxs)("p",{className:"text-sm text-amber-400 mb-1",children:[(0,n.jsx)("strong",{children:"Step 4:"})," Wait for the ",t.displayName," input prompt, then type ",(0,n.jsx)("code",{className:"px-1 py-0.5 bg-bg-deep rounded",children:"exit"})]}),(0,n.jsxs)("p",{className:"text-xs text-amber-400/80",children:["Do NOT close the terminal early. After sign-in completes, wait until you see the ",t.displayName," input screen (e.g. the ",(0,n.jsx)("code",{className:"px-1 py-0.5 bg-bg-deep rounded",children:">"})," prompt). Then type ",(0,n.jsx)("code",{className:"px-1 py-0.5 bg-bg-deep rounded",children:"exit"})," and press Enter. This page will update automatically."]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-success/10 border border-success/30 rounded-lg text-sm text-success",children:[(0,n.jsxs)("svg",{className:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("span",{children:"Waiting for authentication to complete..."})]}),(0,n.jsx)("button",{onClick:k,className:"w-full py-2 text-text-muted hover:text-white transition-colors text-sm",children:"Cancel"})]}),"success"===d&&(0,n.jsxs)("div",{className:"flex items-center justify-center gap-3 py-4",children:[(0,n.jsx)("div",{className:"w-10 h-10 bg-success/20 rounded-full flex items-center justify-center",children:(0,n.jsx)("svg",{className:"w-6 h-6 text-success",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),(0,n.jsxs)("span",{className:"text-white font-medium",children:[t.displayName," connected!"]})]}),"error"===d&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)("div",{className:"p-4 bg-error/10 border border-error/30 rounded-lg text-error text-sm",children:x||"Authentication failed. Please try again."}),(0,n.jsxs)("div",{className:"flex gap-3",children:[(0,n.jsx)("button",{onClick:w,className:"flex-1 py-2 px-4 bg-bg-tertiary border border-border-subtle text-white rounded-lg hover:border-accent-cyan/50 transition-colors",children:"Try Again"}),(0,n.jsx)("button",{onClick:k,className:"py-2 px-4 text-text-muted hover:text-white transition-colors",children:"Cancel"})]})]})]})}},1994:function(e,t,r){r.d(t,{$:function(){return l}});var n=r(7573),s=r(7653),c=r(2547),a=r(8514);let o={background:"#0d0f14",foreground:"#c9d1d9",cursor:"#58a6ff",cursorAccent:"#0d0f14",selectionBackground:"#264f78",selectionForeground:"#ffffff",black:"#484f58",red:"#f85149",green:"#3fb950",yellow:"#d29922",blue:"#58a6ff",magenta:"#bc8cff",cyan:"#39c5cf",white:"#b1bac4",brightBlack:"#6e7681",brightRed:"#ff7b72",brightGreen:"#56d364",brightYellow:"#e3b341",brightBlue:"#79c0ff",brightMagenta:"#d2a8ff",brightCyan:"#56d4dd",brightWhite:"#ffffff"};function l(e){let{provider:t,workspaceId:r,csrfToken:l,maxHeight:x="400px",onSuccess:p,onError:m,onCancel:h,onConnectAnother:b,showHeader:f=!0,className:g=""}=e,y=(0,s.useRef)(null),j=(0,s.useRef)(null),v=(0,s.useRef)(null),w=(0,s.useRef)(null),N=(0,s.useRef)(null),k=(0,s.useRef)(!1),C=(0,s.useRef)(null),[S,T]=(0,s.useState)(!1),[E,R]=(0,s.useState)(!1),[A,F]=(0,s.useState)(!1),[W,O]=(0,s.useState)(null),[P,B]=(0,s.useState)(null),[M,I]=(0,s.useState)(!1),[_,D]=(0,s.useState)(l),L=(0,s.useCallback)(()=>{let e=Date.now().toString(36),r=Math.random().toString(36).substring(2,6);return"__setup__".concat(t.id,"-").concat(e).concat(r)},[t.id]);(0,s.useEffect)(()=>{_||fetch("/api/auth/session",{credentials:"include"}).then(e=>{let t=e.headers.get("X-CSRF-Token");t&&D(t)}).catch(()=>{})},[_]);let X=(0,s.useCallback)(async()=>{if(r&&P)try{let e={};_&&(e["X-CSRF-Token"]=_),await fetch("/api/workspaces/".concat(r,"/agents/").concat(encodeURIComponent(P)),{method:"DELETE",credentials:"include",headers:e})}catch(e){}},[r,P,_]),z=(0,s.useCallback)(async()=>{if(!r||!_)return;T(!0),O(null);let e=L();try{let n={"Content-Type":"application/json"};_&&(n["X-CSRF-Token"]=_);let s=await fetch("/api/workspaces/".concat(r,"/agents"),{method:"POST",credentials:"include",headers:n,body:JSON.stringify({name:e,provider:"anthropic"===t.id?"claude":t.id,interactive:!0})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to spawn agent")}B(e)}catch(t){let e=t instanceof Error?t.message:"Failed to spawn agent";O(e),null==m||m(e)}finally{T(!1)}},[r,_,t.id,L,m]);(0,s.useEffect)(()=>{if(!y.current)return;let e=new c.o({theme:o,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace',fontSize:12,lineHeight:1.4,convertEol:!0,scrollback:1e4,cursorBlink:!0,cursorStyle:"block",disableStdin:!1,allowProposedApi:!0}),t=new a.X;e.loadAddon(t),e.open(y.current),t.fit(),j.current=e,v.current=t;let r=new ResizeObserver(()=>{t.fit()});return r.observe(y.current),()=>{r.disconnect(),e.dispose(),j.current=null,v.current=null}},[]),(0,s.useEffect)(()=>{if(!P||!r)return;k.current=!1;let e=()=>{var t;if((null===(t=w.current)||void 0===t?void 0:t.readyState)===WebSocket.OPEN)return;let n="https:"===window.location.protocol?"wss:":"ws:",s="".concat(n,"//").concat(window.location.host,"/ws/logs/").concat(encodeURIComponent(r),"/").concat(encodeURIComponent(P));F(!0);let c=new WebSocket(s);w.current=c,c.onopen=()=>{if(R(!0),F(!1),!k.current){var e,t;k.current=!0,null===(e=j.current)||void 0===e||e.writeln("\x1b[90m[Connected - Interactive Mode]\x1b[0m"),null===(t=j.current)||void 0===t||t.writeln("\x1b[90m[Type directly to respond to prompts]\x1b[0m\n")}},c.onclose=()=>{R(!1),F(!1),N.current=setTimeout(e,2e3)},c.onmessage=e=>{var t,r;try{let r=JSON.parse(e.data);if("history"===r.type&&Array.isArray(r.lines))r.lines.forEach(e=>{var t;null===(t=j.current)||void 0===t||t.writeln(e)});else if("log"===r.type||"output"===r.type){let e=r.content||r.data||r.message||"";e&&(null===(t=j.current)||void 0===t||t.write(e))}}catch(t){"string"==typeof e.data&&(null===(r=j.current)||void 0===r||r.write(e.data))}},C.current&&(C.current.dispose(),C.current=null),j.current&&(C.current=j.current.onData(e=>{var t;let r=null===(t=j.current)||void 0===t?void 0:t.getSelection();r&&r.length>0||c.readyState!==WebSocket.OPEN||c.send(JSON.stringify({type:"input",agent:P,data:e}))}))};return e(),()=>{var e;N.current&&(clearTimeout(N.current),N.current=null),C.current&&(C.current.dispose(),C.current=null),null===(e=w.current)||void 0===e||e.close(),w.current=null}},[P,r]),(0,s.useEffect)(()=>{!_||P||S||z()},[_,P,S,z]),(0,s.useEffect)(()=>()=>{X()},[X]);let J=(0,s.useCallback)(async()=>{let e=t.name||t.id;try{let t={"Content-Type":"application/json"};_&&(t["X-CSRF-Token"]=_);let n=await fetch("/api/onboarding/mark-connected/".concat(e),{method:"POST",credentials:"include",headers:t,body:JSON.stringify({workspaceId:r})});n.ok||console.error("Failed to mark provider as connected:",await n.text())}catch(e){console.error("Error marking provider as connected:",e)}await X(),I(!0)},[X,t.id,t.name,_,r]),U=(0,s.useCallback)(()=>{null==p||p()},[p]),H=(0,s.useCallback)(()=>{null==b||b()},[b]),V=(0,s.useCallback)(async()=>{await X(),null==h||h()},[X,h]);return(0,n.jsxs)("div",{className:"flex flex-col rounded-xl overflow-hidden border border-border-subtle ".concat(g),children:[f&&(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border-subtle bg-bg-tertiary",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:"w-8 h-8 rounded-lg flex items-center justify-center text-white font-bold text-sm",style:{backgroundColor:t.color},children:t.displayName[0]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("h4",{className:"text-sm font-semibold text-text-primary",children:[t.displayName," Setup"]}),(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"Interactive terminal"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[E&&(0,n.jsxs)("span",{className:"flex items-center gap-1 px-2 py-1 rounded-full bg-success/15 text-xs text-success",children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-success animate-pulse"}),"Connected"]}),h&&(0,n.jsx)("button",{onClick:V,className:"p-1.5 rounded-lg hover:bg-bg-hover text-text-muted hover:text-text-primary transition-colors",children:(0,n.jsx)(i,{})})]})]}),M?(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-6",children:[(0,n.jsx)("div",{className:"w-16 h-16 rounded-full flex items-center justify-center mb-4",style:{backgroundColor:"".concat(t.color,"20")},children:(0,n.jsx)(u,{className:"w-8 h-8",style:{color:t.color}})}),(0,n.jsxs)("h3",{className:"text-lg font-semibold text-text-primary mb-2",children:[t.displayName," Connected!"]}),(0,n.jsxs)("p",{className:"text-sm text-text-muted mb-6 text-center",children:["Your ",t.displayName," account has been successfully connected."]}),(0,n.jsxs)("div",{className:"flex gap-3",children:[b&&(0,n.jsx)("button",{onClick:H,className:"px-4 py-2 bg-bg-hover text-text-primary text-sm font-medium rounded-lg hover:bg-bg-tertiary transition-colors border border-border-subtle",children:"Connect Another Provider"}),(0,n.jsx)("button",{onClick:U,className:"px-4 py-2 bg-accent-cyan text-bg-deep text-sm font-semibold rounded-lg hover:bg-accent-cyan/90 transition-colors",children:"Continue to Dashboard"})]})]}):(0,n.jsxs)(n.Fragment,{children:[W&&(0,n.jsxs)("div",{className:"px-4 py-3 bg-error/10 border-b border-error/30 text-sm text-error flex items-center gap-2",children:[(0,n.jsx)(d,{}),(0,n.jsx)("span",{children:W}),(0,n.jsx)("button",{onClick:z,className:"ml-auto text-xs px-2 py-1 rounded bg-error/20 hover:bg-error/30 transition-colors",children:"Retry"})]}),S&&(0,n.jsxs)("div",{className:"px-4 py-3 bg-accent-cyan/10 border-b border-accent-cyan/30 text-sm text-accent-cyan flex items-center gap-2",children:[(0,n.jsx)("div",{className:"w-4 h-4 border-2 border-accent-cyan/30 border-t-accent-cyan rounded-full animate-spin"}),(0,n.jsxs)("span",{children:["Starting ",t.displayName,"..."]})]}),(0,n.jsx)("div",{ref:y,className:"flex-1 bg-[#0d0f14]",style:{minHeight:"300px",maxHeight:x},onClick:()=>{var e;return null===(e=j.current)||void 0===e?void 0:e.focus()}}),(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-t border-border-subtle bg-bg-tertiary",children:[(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"Respond to prompts above to complete setup"}),(0,n.jsx)("button",{onClick:J,className:"px-4 py-2 bg-accent-cyan text-bg-deep text-sm font-semibold rounded-lg hover:bg-accent-cyan/90 transition-colors",children:"Done - Continue"})]})]})]})}function i(){return(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}function d(){return(0,n.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}function u(e){let{className:t,style:r}=e;return(0,n.jsx)("svg",{className:t,style:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[614],{9316:function(e,n,t){Promise.resolve().then(t.bind(t,8704))},8704:function(e,n,t){"use strict";t.d(n,{default:function(){return b}});var r=t(7573),a=t(7653),s=t(4285),o=t(7118),i=t(5634),l=t(5118);let c=[{id:"creating",name:"Initialize",description:"Creating workspace container",estimatedSeconds:5,icon:"◈"},{id:"networking",name:"Network",description:"Configuring DNS & IP allocation",estimatedSeconds:8,icon:"◇"},{id:"secrets",name:"Secure",description:"Encrypting credentials",estimatedSeconds:3,icon:"◆"},{id:"machine",name:"Deploy",description:"Launching cloud instance",estimatedSeconds:25,icon:"▣"},{id:"booting",name:"Boot",description:"Starting relay services",estimatedSeconds:20,icon:"▢"},{id:"health",name:"Verify",description:"Running health checks",estimatedSeconds:15,icon:"◉"}],d=["> Establishing secure connection...","> Allocating compute resources...","> Configuring agent protocols...","> Initializing relay daemon...","> Syncing workspace state...","> Warming up inference engine...","> Connecting to neural mesh...","> Deploying agent swarm..."];function p(e){let{currentStage:n,isProvisioning:t,workspaceName:s,error:o,onCancel:i}=e,[l,p]=(0,a.useState)(0),[u,h]=(0,a.useState)([]),[g,f]=(0,a.useState)(!0);(0,a.useEffect)(()=>{if(!t){p(0);return}let e=setInterval(()=>{p(e=>e+1)},1e3);return()=>clearInterval(e)},[t]),(0,a.useEffect)(()=>{let e=setInterval(()=>{f(e=>!e)},530);return()=>clearInterval(e)},[]),(0,a.useEffect)(()=>{if(!t){h([]);return}let e=()=>{let e=d[Math.floor(Math.random()*d.length)];h(n=>[...n.slice(-4),e])};e();let n=setInterval(e,3500);return()=>clearInterval(n)},[t]);let b=(0,a.useMemo)(()=>{if(n){let e=c.findIndex(e=>e.id===n);return e>=0?e:0}let e=0;for(let n=0;n<c.length;n++)if(l<(e+=c[n].estimatedSeconds))return n;return c.length-1},[n,l]),w=(0,a.useMemo)(()=>c.reduce((e,n)=>e+n.estimatedSeconds,0),[]),v=(0,a.useMemo)(()=>Math.min(95,Math.round(l/w*100)),[l,w]);return o?(0,r.jsxs)("div",{className:"prov-container prov-error",children:[(0,r.jsx)("div",{className:"error-glitch",children:(0,r.jsx)("span",{className:"error-icon",children:"✕"})}),(0,r.jsx)("h3",{className:"error-title",children:"PROVISIONING FAILED"}),(0,r.jsx)("p",{className:"error-message",children:o}),i&&(0,r.jsx)("button",{onClick:i,className:"retry-btn",children:(0,r.jsx)("span",{children:"RETRY"})}),(0,r.jsx)("style",{children:x})]}):(0,r.jsxs)("div",{className:"prov-container",children:[(0,r.jsx)("div",{className:"ambient-glow"}),(0,r.jsx)("div",{className:"scan-line"}),(0,r.jsxs)("header",{className:"prov-header",children:[(0,r.jsx)("div",{className:"header-badge",children:"PROVISIONING"}),(0,r.jsx)("h1",{className:"header-title",children:s||"Workspace"}),(0,r.jsxs)("div",{className:"header-meta",children:[(0,r.jsx)("span",{className:"meta-time",children:(e=>{let n=Math.floor(e/60),t=e%60;return n>0?"".concat(n,":").concat(t.toString().padStart(2,"0")):"0:".concat(t.toString().padStart(2,"0"))})(l)}),(0,r.jsx)("span",{className:"meta-sep",children:"•"}),(0,r.jsxs)("span",{className:"meta-percent",children:[v,"%"]})]})]}),(0,r.jsxs)("div",{className:"progress-track",children:[(0,r.jsx)("div",{className:"progress-fill",style:{width:"".concat(v,"%")}}),(0,r.jsx)("div",{className:"progress-glow",style:{left:"".concat(v,"%")}})]}),(0,r.jsx)("div",{className:"stages-timeline",children:c.map((e,n)=>{let t=n<b,a=n===b,s=n>b;return(0,r.jsxs)("div",{className:"stage-row ".concat(t?"completed":""," ").concat(a?"current":""," ").concat(s?"pending":""),children:[n>0&&(0,r.jsxs)("div",{className:"stage-connector ".concat(t?"active":""),children:[(0,r.jsx)("div",{className:"connector-line"}),t&&(0,r.jsx)("div",{className:"connector-pulse"})]}),(0,r.jsxs)("div",{className:"stage-node",children:[(0,r.jsx)("span",{className:"node-icon",children:e.icon}),a&&(0,r.jsx)("div",{className:"node-ring"})]}),(0,r.jsxs)("div",{className:"stage-content",children:[(0,r.jsx)("span",{className:"stage-name",children:e.name}),a&&(0,r.jsx)("span",{className:"stage-desc",children:e.description})]}),(0,r.jsxs)("div",{className:"stage-status",children:[t&&(0,r.jsx)("span",{className:"status-done",children:"DONE"}),a&&(0,r.jsx)("span",{className:"status-active",children:"ACTIVE"}),s&&(0,r.jsxs)("span",{className:"status-wait",children:["~",e.estimatedSeconds,"s"]})]})]},e.id)})}),(0,r.jsxs)("div",{className:"terminal-window",children:[(0,r.jsxs)("div",{className:"terminal-header",children:[(0,r.jsx)("span",{className:"terminal-dot red"}),(0,r.jsx)("span",{className:"terminal-dot yellow"}),(0,r.jsx)("span",{className:"terminal-dot green"}),(0,r.jsx)("span",{className:"terminal-title",children:"agent-relay"})]}),(0,r.jsxs)("div",{className:"terminal-body",children:[u.map((e,n)=>(0,r.jsx)("div",{className:"terminal-line",style:{animationDelay:"".concat(.1*n,"s")},children:e},n)),(0,r.jsxs)("div",{className:"terminal-cursor",children:[(0,r.jsx)("span",{className:"cursor-prompt",children:"$"}),(0,r.jsx)("span",{className:"cursor-block ".concat(g?"visible":""),children:"_"})]})]})]}),i&&(0,r.jsx)("button",{onClick:i,className:"cancel-btn",children:"Cancel"}),(0,r.jsx)("style",{children:m})]})}let m="\n .prov-container {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 40px 32px;\n background: linear-gradient(145deg, rgba(10, 15, 25, 0.95) 0%, rgba(5, 10, 18, 0.98) 100%);\n border: 1px solid rgba(6, 182, 212, 0.15);\n border-radius: 16px;\n overflow: hidden;\n font-family: 'SF Mono', 'JetBrains Mono', 'Fira Code', monospace;\n }\n\n /* Ambient effects */\n .ambient-glow {\n position: absolute;\n top: -100px;\n left: 50%;\n transform: translateX(-50%);\n width: 300px;\n height: 200px;\n background: radial-gradient(ellipse, rgba(6, 182, 212, 0.12) 0%, transparent 70%);\n pointer-events: none;\n }\n\n .scan-line {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 2px;\n background: linear-gradient(90deg, transparent, rgba(6, 182, 212, 0.4), transparent);\n animation: scanMove 3s ease-in-out infinite;\n pointer-events: none;\n }\n\n @keyframes scanMove {\n 0%, 100% { top: 0; opacity: 0.5; }\n 50% { top: 100%; opacity: 0.2; }\n }\n\n /* Header */\n .prov-header {\n text-align: center;\n position: relative;\n z-index: 1;\n }\n\n .header-badge {\n display: inline-block;\n padding: 4px 12px;\n background: rgba(6, 182, 212, 0.1);\n border: 1px solid rgba(6, 182, 212, 0.3);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 2px;\n color: #06b6d4;\n margin-bottom: 12px;\n }\n\n .header-title {\n font-size: 22px;\n font-weight: 600;\n color: #f1f5f9;\n margin: 0 0 8px 0;\n letter-spacing: -0.5px;\n }\n\n .header-meta {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-size: 13px;\n color: #64748b;\n }\n\n .meta-time {\n font-variant-numeric: tabular-nums;\n }\n\n .meta-percent {\n color: #06b6d4;\n font-weight: 500;\n }\n\n .meta-sep {\n opacity: 0.3;\n }\n\n /* Progress bar */\n .progress-track {\n position: relative;\n height: 4px;\n background: rgba(100, 116, 139, 0.2);\n border-radius: 2px;\n overflow: visible;\n }\n\n .progress-fill {\n height: 100%;\n background: linear-gradient(90deg, #0891b2, #06b6d4, #22d3ee);\n border-radius: 2px;\n transition: width 0.5s ease;\n }\n\n .progress-glow {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 8px;\n height: 8px;\n background: #22d3ee;\n border-radius: 50%;\n box-shadow: 0 0 16px rgba(34, 211, 238, 0.6);\n transition: left 0.5s ease;\n }\n\n /* Stages */\n .stages-timeline {\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: 16px 0;\n }\n\n .stage-row {\n display: grid;\n grid-template-columns: 40px 1fr auto;\n align-items: center;\n gap: 12px;\n padding: 10px 0;\n position: relative;\n }\n\n .stage-connector {\n position: absolute;\n left: 19px;\n top: -10px;\n width: 2px;\n height: 20px;\n }\n\n .connector-line {\n width: 100%;\n height: 100%;\n background: rgba(100, 116, 139, 0.3);\n transition: background 0.3s ease;\n }\n\n .stage-connector.active .connector-line {\n background: linear-gradient(180deg, #06b6d4, rgba(6, 182, 212, 0.3));\n }\n\n .connector-pulse {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(180deg, rgba(34, 211, 238, 0.8), transparent);\n animation: pulseLine 1.5s ease-out infinite;\n }\n\n @keyframes pulseLine {\n 0% { opacity: 1; transform: translateY(-100%); }\n 100% { opacity: 0; transform: translateY(100%); }\n }\n\n .stage-node {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n\n .node-icon {\n font-size: 18px;\n color: #475569;\n transition: all 0.3s ease;\n }\n\n .stage-row.completed .node-icon {\n color: #06b6d4;\n }\n\n .stage-row.current .node-icon {\n color: #22d3ee;\n text-shadow: 0 0 12px rgba(34, 211, 238, 0.5);\n }\n\n .node-ring {\n position: absolute;\n inset: 4px;\n border: 2px solid rgba(34, 211, 238, 0.4);\n border-radius: 50%;\n animation: ringPulse 2s ease-in-out infinite;\n }\n\n @keyframes ringPulse {\n 0%, 100% { transform: scale(1); opacity: 1; }\n 50% { transform: scale(1.2); opacity: 0.5; }\n }\n\n .stage-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n }\n\n .stage-name {\n font-size: 13px;\n font-weight: 500;\n color: #64748b;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n transition: color 0.3s ease;\n }\n\n .stage-row.completed .stage-name {\n color: #475569;\n }\n\n .stage-row.current .stage-name {\n color: #f1f5f9;\n }\n\n .stage-desc {\n font-size: 11px;\n color: #64748b;\n animation: fadeSlideIn 0.3s ease;\n }\n\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateX(-8px); }\n to { opacity: 1; transform: translateX(0); }\n }\n\n .stage-status {\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 1px;\n }\n\n .status-done {\n color: #06b6d4;\n }\n\n .status-active {\n color: #22d3ee;\n animation: blink 1s ease-in-out infinite;\n }\n\n @keyframes blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n\n .status-wait {\n color: #475569;\n font-variant-numeric: tabular-nums;\n }\n\n /* Terminal */\n .terminal-window {\n background: rgba(0, 0, 0, 0.4);\n border: 1px solid rgba(100, 116, 139, 0.2);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .terminal-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: rgba(30, 41, 59, 0.5);\n border-bottom: 1px solid rgba(100, 116, 139, 0.15);\n }\n\n .terminal-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n }\n\n .terminal-dot.red { background: #ef4444; }\n .terminal-dot.yellow { background: #eab308; }\n .terminal-dot.green { background: #22c55e; }\n\n .terminal-title {\n margin-left: auto;\n font-size: 11px;\n color: #64748b;\n }\n\n .terminal-body {\n padding: 12px;\n min-height: 100px;\n }\n\n .terminal-line {\n font-size: 12px;\n color: #94a3b8;\n padding: 2px 0;\n animation: typeIn 0.3s ease;\n }\n\n @keyframes typeIn {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .terminal-cursor {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-top: 8px;\n }\n\n .cursor-prompt {\n color: #06b6d4;\n font-weight: 600;\n }\n\n .cursor-block {\n color: #22d3ee;\n opacity: 0;\n transition: opacity 0.1s;\n }\n\n .cursor-block.visible {\n opacity: 1;\n }\n\n /* Cancel button */\n .cancel-btn {\n align-self: center;\n padding: 8px 20px;\n background: transparent;\n border: 1px solid rgba(100, 116, 139, 0.3);\n border-radius: 6px;\n color: #64748b;\n font-family: inherit;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .cancel-btn:hover {\n border-color: rgba(239, 68, 68, 0.5);\n color: #ef4444;\n }\n",x="\n .prov-container.prov-error {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 48px 32px;\n background: linear-gradient(145deg, rgba(25, 10, 10, 0.95) 0%, rgba(15, 5, 8, 0.98) 100%);\n border: 1px solid rgba(239, 68, 68, 0.2);\n border-radius: 16px;\n text-align: center;\n font-family: 'SF Mono', 'JetBrains Mono', monospace;\n }\n\n .error-glitch {\n position: relative;\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(239, 68, 68, 0.1);\n border: 1px solid rgba(239, 68, 68, 0.3);\n border-radius: 12px;\n }\n\n .error-icon {\n font-size: 28px;\n color: #ef4444;\n animation: glitch 0.3s ease infinite;\n }\n\n @keyframes glitch {\n 0%, 100% { transform: translate(0); }\n 25% { transform: translate(-2px, 1px); }\n 50% { transform: translate(2px, -1px); }\n 75% { transform: translate(-1px, -1px); }\n }\n\n .error-title {\n font-size: 14px;\n font-weight: 600;\n letter-spacing: 2px;\n color: #ef4444;\n margin: 0;\n }\n\n .error-message {\n font-size: 13px;\n color: #94a3b8;\n max-width: 350px;\n margin: 0;\n line-height: 1.5;\n }\n\n .retry-btn {\n margin-top: 8px;\n padding: 10px 28px;\n background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(220, 38, 38, 0.2) 100%);\n border: 1px solid rgba(239, 68, 68, 0.4);\n border-radius: 6px;\n color: #ef4444;\n font-family: inherit;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 1px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .retry-btn:hover {\n background: linear-gradient(135deg, rgba(239, 68, 68, 0.3) 0%, rgba(220, 38, 38, 0.3) 100%);\n border-color: rgba(239, 68, 68, 0.6);\n transform: translateY(-1px);\n }\n";var u=t(9175),h=t(4859);let g=[{id:"anthropic",name:"Anthropic",displayName:"Claude",color:"#D97757",cliCommand:"claude",requiresUrlCopy:!0},{id:"codex",name:"OpenAI",displayName:"Codex",color:"#10A37F",cliCommand:"codex login",requiresUrlCopy:!0},{id:"google",name:"Google",displayName:"Gemini",color:"#4285F4",cliCommand:"gemini"},{id:"opencode",name:"OpenCode",displayName:"OpenCode",color:"#00D4AA",cliCommand:"opencode"},{id:"droid",name:"Factory",displayName:"Droid",color:"#6366F1",cliCommand:"droid"},{id:"cursor",name:"Cursor",displayName:"Cursor",color:"#7C3AED",cliCommand:"agent",requiresUrlCopy:!0}],f="true"===h.env.NEXT_PUBLIC_FORCE_CLOUD_MODE;function b(){let[e,n]=(0,a.useState)("loading"),[t,c]=(0,a.useState)([]),[d,m]=(0,a.useState)([]),[x,h]=(0,a.useState)(null),[b,w]=(0,a.useState)(void 0),[v,j]=(0,a.useState)(null),[N,k]=(0,a.useState)(f),[y,C]=(0,a.useState)(null),[S,I]=(0,a.useState)(null),[z,M]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/session",{credentials:"include"});if(404===e.status){if(f)throw Error("Cloud mode enforced but session endpoint returned 404. Is the cloud server running?");k(!1),n("local");return}let t=e.headers.get("X-CSRF-Token");t&&C(t);let r=await e.json();if(!r.authenticated){window.location.href="/login";return}k(!0);let a={openai:"codex"};if(r.connectedProviders){let e=[];r.connectedProviders.forEach(n=>{e.push(n.provider);let t=a[n.provider];t&&e.push(t)}),M(e)}let[s,o]=await Promise.all([fetch("/api/workspaces/accessible",{credentials:"include"}),fetch("/api/github-app/repos",{credentials:"include"})]);if(!s.ok){if(401===s.status){window.location.href="/login";return}throw Error("Failed to fetch workspaces")}let i=await s.json(),l=o.ok?await o.json():{repositories:[]};c(i.workspaces||[]),m(l.repositories||[]);let d=(i.workspaces||[]).filter(e=>"running"===e.status&&e.publicUrl),p=new URLSearchParams(window.location.search);if((null==p?void 0:p.get("select"))==="true"){window.history.replaceState({},"","/app"),n("select-workspace");return}let x=localStorage.getItem("agentrelay_workspace_id");if(x){let e=d.find(e=>e.id===x);if(e){E(e);return}}1===d.length?E(d[0]):d.length>1?n("select-workspace"):(i.workspaces||[]).length>0?n("select-workspace"):(l.repositories||[]).length>0?n("no-workspaces"):window.location.href="/connect-repos"}catch(e){if(e instanceof TypeError&&e.message.includes("Failed to fetch")){if(f){console.error("Cloud mode enforced but network request failed:",e),j("Cloud mode enforced but failed to connect to server. Is the cloud server running?"),n("error");return}k(!1),n("local");return}console.error("Init error:",e),j(e instanceof Error?e.message:"Failed to initialize"),n("error")}})()},[]);let E=(0,a.useCallback)(e=>{if(!e.publicUrl){j("Workspace has no public URL"),n("error");return}h(e),n("connecting"),(0,l.hc)(e.id);let t=new URL(e.publicUrl),r="https:"===t.protocol?"wss:":"ws:";w("".concat(r,"//").concat(t.host,"/ws")),n("connected")},[]),P=(0,a.useCallback)(async e=>{j(null);try{let t={"Content-Type":"application/json"};y&&(t["X-CSRF-Token"]=y);let r=await fetch("/api/workspaces/quick",{method:"POST",credentials:"include",headers:t,body:JSON.stringify({repositoryFullName:e})}),a=await r.json();if(!r.ok)throw Error(a.error||"Failed to create workspace");let s=Date.now();I({workspaceId:a.workspaceId,workspaceName:e.split("/")[1]||e,stage:null,startedAt:s}),n("provisioning");let o=async e=>{let t=0;for(;t<150;){var r;let a=await fetch("/api/workspaces/".concat(e,"/status"),{credentials:"include"}),s=await a.json();if((null===(r=s.provisioning)||void 0===r?void 0:r.stage)&&I(e=>e?{...e,stage:s.provisioning.stage}:null),"running"===s.status){let t=await fetch("/api/workspaces/".concat(e),{credentials:"include"}),r=await t.json();if(r.publicUrl){I(null),h(r),n("connect-provider");return}}else if("error"===s.status){let e=s.errorMessage||"Workspace provisioning failed";throw Error(e)}await new Promise(e=>setTimeout(e,2e3)),++t%15==0&&console.log("[workspace] Still provisioning... (".concat(Math.floor(2e3*t/1e3),"s elapsed)"))}throw Error("Workspace provisioning timed out after 5 minutes. Please try again or contact support.")};await o(a.workspaceId)}catch(e){console.error("Create workspace error:",e),I(null),j(e instanceof Error?e.message:"Failed to create workspace"),n("no-workspaces")}},[E,y]),L=(0,a.useCallback)(e=>{M(n=>[...new Set([...n,e])])},[]),A=(0,a.useCallback)(()=>{x&&E(x)},[x,E]),F=(0,a.useCallback)(async e=>{n("loading"),j(null);try{let n={};y&&(n["X-CSRF-Token"]=y);let t=await fetch("/api/workspaces/".concat(e.id,"/restart"),{method:"POST",credentials:"include",headers:n});if(!t.ok){let e=await t.json();throw Error(e.error||"Failed to start workspace")}let r=0;for(;r<60;){let n=await fetch("/api/workspaces/".concat(e.id,"/status"),{credentials:"include"}),t=await n.json();if("running"===t.status){let n=await fetch("/api/workspaces/".concat(e.id),{credentials:"include"}),t=await n.json();if(t.publicUrl){E({...e,...t});return}}await new Promise(e=>setTimeout(e,2e3)),r++}throw Error("Workspace start timed out")}catch(e){console.error("Start workspace error:",e),j(e instanceof Error?e.message:"Failed to start workspace"),n("select-workspace")}},[E,y]);if("loading"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,r.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading..."})]})});if("local"===e)return(0,r.jsx)(s.gV,{});if("connected"===e&&b)return(0,r.jsx)(o.TI,{cloudMode:!0,children:(0,r.jsx)(s.gV,{wsUrl:b})});if("connecting"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,r.jsxs)("p",{className:"mt-4 text-white font-medium",children:["Connecting to ",null==x?void 0:x.name,"..."]}),(0,r.jsx)("p",{className:"mt-2 text-text-muted text-sm",children:null==x?void 0:x.publicUrl})]})});if("provisioning"===e&&S)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsx)("div",{className:"w-full max-w-xl",children:(0,r.jsx)(p,{isProvisioning:!0,currentStage:S.stage,workspaceName:S.workspaceName,error:v,onCancel:()=>{I(null),n("no-workspaces")}})})});if("error"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center p-4",children:(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-8 max-w-md w-full text-center",children:[(0,r.jsx)("div",{className:"w-16 h-16 mx-auto mb-4 bg-error/20 rounded-full flex items-center justify-center",children:(0,r.jsx)("svg",{className:"w-8 h-8 text-error",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Something went wrong"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:v}),(0,r.jsx)("button",{onClick:()=>window.location.reload(),className:"w-full py-3 px-4 bg-bg-tertiary border border-border-subtle rounded-xl text-white font-medium hover:bg-bg-hover transition-colors",children:"Try Again"})]})});if("connect-provider"===e&&x)return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Provider"}),(0,r.jsxs)("p",{className:"mt-2 text-text-muted text-center",children:["Your workspace ",(0,r.jsx)("span",{className:"text-white",children:x.name})," is ready!",(0,r.jsx)("br",{}),"Connect an AI provider to start using agents."]})]}),(0,r.jsx)(u.c,{providers:g,connectedProviders:z,workspaceId:x.id,csrfToken:y||void 0,onProviderConnected:L,onContinue:A,showDetailedInfo:!0})]})]});if("create-workspace"===e){let e=new Set(t.flatMap(e=>{let n=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>n.push(e.toLowerCase()));let t=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return t&&n.push(t[1].toLowerCase()),n})),a=d.filter(n=>!e.has(n.fullName.toLowerCase()));return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Create Workspace"}),(0,r.jsx)("p",{className:"mt-2 text-text-muted",children:"Select a repository to create a workspace"})]}),v&&(0,r.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,r.jsx)("p",{className:"text-error",children:v})}),(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsxs)("button",{onClick:()=>n("select-workspace"),className:"mb-4 flex items-center gap-2 text-text-muted hover:text-white transition-colors text-sm",children:[(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),"Back to workspaces"]}),(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Available Repositories"}),(0,r.jsx)("p",{className:"text-text-muted mb-6 text-sm",children:"These are repositories the GitHub App has access to that don't have a workspace yet."}),a.length>0?(0,r.jsx)("div",{className:"space-y-3",children:a.map(e=>(0,r.jsxs)("button",{onClick:()=>P(e.fullName),className:"w-full flex items-center gap-3 p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors text-left",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,r.jsx)("path",{d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8z"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,r.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)("p",{className:"text-text-muted mb-4",children:"All connected repositories already have workspaces."}),(0,r.jsxs)("a",{href:"/connect-repos",className:"inline-flex items-center gap-2 py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:[(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})}),"Connect More Repositories"]})]})]})]})]})}return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Agent Relay"}),(0,r.jsx)("p",{className:"mt-2 text-text-muted",children:"no-workspaces"===e?"Create a workspace to get started":"Select a workspace"})]}),v&&(0,r.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,r.jsx)("p",{className:"text-error",children:v})}),"select-workspace"===e&&t.length>0&&(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Your Workspaces"}),(0,r.jsx)("div",{className:"space-y-3",children:t.map(e=>(0,r.jsxs)("div",{className:"flex items-center justify-between p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full ".concat("running"===e.status?"bg-success":"provisioning"===e.status?"bg-warning animate-pulse":"error"===e.status?"bg-error":"bg-gray-500")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium text-white",children:e.name}),(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"running"===e.status?"Running":"provisioning"===e.status?"Starting...":"stopped"===e.status?"Stopped":"Error"})]})]}),(0,r.jsx)("div",{children:"running"===e.status&&e.publicUrl?(0,r.jsx)("button",{onClick:()=>E(e),className:"py-2 px-4 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-lg hover:shadow-glow-cyan transition-all",children:"Connect"}):"stopped"===e.status?(0,r.jsx)("button",{onClick:()=>F(e),className:"py-2 px-4 bg-bg-card border border-border-subtle rounded-lg text-white hover:border-accent-cyan/50 transition-colors",children:"Start"}):"provisioning"===e.status?(0,r.jsx)("span",{className:"text-text-muted text-sm",children:"Starting..."}):(0,r.jsx)("span",{className:"text-error text-sm",children:"Failed"})})]},e.id))}),(()=>{let e=new Set(t.flatMap(e=>{let n=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>n.push(e.toLowerCase()));let t=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return t&&n.push(t[1].toLowerCase()),n}));return 0===d.filter(n=>!e.has(n.fullName.toLowerCase())).length?null:(0,r.jsxs)("div",{className:"mt-6 pt-6 border-t border-border-subtle",children:[(0,r.jsx)("p",{className:"text-text-muted text-sm mb-3",children:"Or create a new workspace:"}),(0,r.jsxs)("button",{onClick:()=>n("create-workspace"),className:"py-2 px-4 bg-bg-card border border-border-subtle rounded-lg text-sm text-white hover:border-accent-cyan/50 transition-colors flex items-center gap-2",children:[(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Create"]})]})})()]}),"no-workspaces"===e&&(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Create Your First Workspace"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"Select a repository to create a workspace where agents can work on your code."}),d.length>0?(0,r.jsx)("div",{className:"space-y-3",children:d.map(e=>(0,r.jsxs)("button",{onClick:()=>P(e.fullName),className:"w-full flex items-center gap-3 p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors text-left",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,r.jsx)("path",{d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8z"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,r.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)("p",{className:"text-text-muted mb-4",children:"No repositories connected yet."}),(0,r.jsxs)("a",{href:"/connect-repos",className:"inline-flex items-center gap-2 py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:[(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})}),"Connect GitHub"]})]})]}),(0,r.jsxs)("div",{className:"mt-6 flex justify-center gap-4 text-sm",children:[(0,r.jsx)("a",{href:"/connect-repos",className:"text-text-muted hover:text-white transition-colors",children:"Manage Repositories"}),(0,r.jsx)("span",{className:"text-text-muted",children:"\xb7"}),(0,r.jsx)("button",{onClick:async()=>{let e={};y&&(e["X-CSRF-Token"]=y),await fetch("/api/auth/logout",{method:"POST",credentials:"include",headers:e}),window.location.href="/login"},className:"text-text-muted hover:text-white transition-colors",children:"Sign Out"})]})]})]})}}},function(e){e.O(0,[440,202,11,118,994,722,285,259,293,528,744],function(){return e(e.s=9316)}),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[614],{9316:function(e,n,t){Promise.resolve().then(t.bind(t,8704))},8704:function(e,n,t){"use strict";t.d(n,{default:function(){return b}});var r=t(7573),a=t(7653),s=t(4285),o=t(7118),i=t(5634),l=t(5118);let c=[{id:"creating",name:"Initialize",description:"Creating workspace container",estimatedSeconds:5,icon:"◈"},{id:"networking",name:"Network",description:"Configuring DNS & IP allocation",estimatedSeconds:8,icon:"◇"},{id:"secrets",name:"Secure",description:"Encrypting credentials",estimatedSeconds:3,icon:"◆"},{id:"machine",name:"Deploy",description:"Launching cloud instance",estimatedSeconds:25,icon:"▣"},{id:"booting",name:"Boot",description:"Starting relay services",estimatedSeconds:20,icon:"▢"},{id:"health",name:"Verify",description:"Running health checks",estimatedSeconds:15,icon:"◉"}],d=["> Establishing secure connection...","> Allocating compute resources...","> Configuring agent protocols...","> Initializing relay daemon...","> Syncing workspace state...","> Warming up inference engine...","> Connecting to neural mesh...","> Deploying agent swarm..."];function p(e){let{currentStage:n,isProvisioning:t,workspaceName:s,error:o,onCancel:i}=e,[l,p]=(0,a.useState)(0),[u,h]=(0,a.useState)([]),[g,f]=(0,a.useState)(!0);(0,a.useEffect)(()=>{if(!t){p(0);return}let e=setInterval(()=>{p(e=>e+1)},1e3);return()=>clearInterval(e)},[t]),(0,a.useEffect)(()=>{let e=setInterval(()=>{f(e=>!e)},530);return()=>clearInterval(e)},[]),(0,a.useEffect)(()=>{if(!t){h([]);return}let e=()=>{let e=d[Math.floor(Math.random()*d.length)];h(n=>[...n.slice(-4),e])};e();let n=setInterval(e,3500);return()=>clearInterval(n)},[t]);let b=(0,a.useMemo)(()=>{if(n){let e=c.findIndex(e=>e.id===n);return e>=0?e:0}let e=0;for(let n=0;n<c.length;n++)if(l<(e+=c[n].estimatedSeconds))return n;return c.length-1},[n,l]),w=(0,a.useMemo)(()=>c.reduce((e,n)=>e+n.estimatedSeconds,0),[]),v=(0,a.useMemo)(()=>Math.min(95,Math.round(l/w*100)),[l,w]);return o?(0,r.jsxs)("div",{className:"prov-container prov-error",children:[(0,r.jsx)("div",{className:"error-glitch",children:(0,r.jsx)("span",{className:"error-icon",children:"✕"})}),(0,r.jsx)("h3",{className:"error-title",children:"PROVISIONING FAILED"}),(0,r.jsx)("p",{className:"error-message",children:o}),i&&(0,r.jsx)("button",{onClick:i,className:"retry-btn",children:(0,r.jsx)("span",{children:"RETRY"})}),(0,r.jsx)("style",{children:x})]}):(0,r.jsxs)("div",{className:"prov-container",children:[(0,r.jsx)("div",{className:"ambient-glow"}),(0,r.jsx)("div",{className:"scan-line"}),(0,r.jsxs)("header",{className:"prov-header",children:[(0,r.jsx)("div",{className:"header-badge",children:"PROVISIONING"}),(0,r.jsx)("h1",{className:"header-title",children:s||"Workspace"}),(0,r.jsxs)("div",{className:"header-meta",children:[(0,r.jsx)("span",{className:"meta-time",children:(e=>{let n=Math.floor(e/60),t=e%60;return n>0?"".concat(n,":").concat(t.toString().padStart(2,"0")):"0:".concat(t.toString().padStart(2,"0"))})(l)}),(0,r.jsx)("span",{className:"meta-sep",children:"•"}),(0,r.jsxs)("span",{className:"meta-percent",children:[v,"%"]})]})]}),(0,r.jsxs)("div",{className:"progress-track",children:[(0,r.jsx)("div",{className:"progress-fill",style:{width:"".concat(v,"%")}}),(0,r.jsx)("div",{className:"progress-glow",style:{left:"".concat(v,"%")}})]}),(0,r.jsx)("div",{className:"stages-timeline",children:c.map((e,n)=>{let t=n<b,a=n===b,s=n>b;return(0,r.jsxs)("div",{className:"stage-row ".concat(t?"completed":""," ").concat(a?"current":""," ").concat(s?"pending":""),children:[n>0&&(0,r.jsxs)("div",{className:"stage-connector ".concat(t?"active":""),children:[(0,r.jsx)("div",{className:"connector-line"}),t&&(0,r.jsx)("div",{className:"connector-pulse"})]}),(0,r.jsxs)("div",{className:"stage-node",children:[(0,r.jsx)("span",{className:"node-icon",children:e.icon}),a&&(0,r.jsx)("div",{className:"node-ring"})]}),(0,r.jsxs)("div",{className:"stage-content",children:[(0,r.jsx)("span",{className:"stage-name",children:e.name}),a&&(0,r.jsx)("span",{className:"stage-desc",children:e.description})]}),(0,r.jsxs)("div",{className:"stage-status",children:[t&&(0,r.jsx)("span",{className:"status-done",children:"DONE"}),a&&(0,r.jsx)("span",{className:"status-active",children:"ACTIVE"}),s&&(0,r.jsxs)("span",{className:"status-wait",children:["~",e.estimatedSeconds,"s"]})]})]},e.id)})}),(0,r.jsxs)("div",{className:"terminal-window",children:[(0,r.jsxs)("div",{className:"terminal-header",children:[(0,r.jsx)("span",{className:"terminal-dot red"}),(0,r.jsx)("span",{className:"terminal-dot yellow"}),(0,r.jsx)("span",{className:"terminal-dot green"}),(0,r.jsx)("span",{className:"terminal-title",children:"agent-relay"})]}),(0,r.jsxs)("div",{className:"terminal-body",children:[u.map((e,n)=>(0,r.jsx)("div",{className:"terminal-line",style:{animationDelay:"".concat(.1*n,"s")},children:e},n)),(0,r.jsxs)("div",{className:"terminal-cursor",children:[(0,r.jsx)("span",{className:"cursor-prompt",children:"$"}),(0,r.jsx)("span",{className:"cursor-block ".concat(g?"visible":""),children:"_"})]})]})]}),i&&(0,r.jsx)("button",{onClick:i,className:"cancel-btn",children:"Cancel"}),(0,r.jsx)("style",{children:m})]})}let m="\n .prov-container {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: 40px 32px;\n background: linear-gradient(145deg, rgba(10, 15, 25, 0.95) 0%, rgba(5, 10, 18, 0.98) 100%);\n border: 1px solid rgba(6, 182, 212, 0.15);\n border-radius: 16px;\n overflow: hidden;\n font-family: 'SF Mono', 'JetBrains Mono', 'Fira Code', monospace;\n }\n\n /* Ambient effects */\n .ambient-glow {\n position: absolute;\n top: -100px;\n left: 50%;\n transform: translateX(-50%);\n width: 300px;\n height: 200px;\n background: radial-gradient(ellipse, rgba(6, 182, 212, 0.12) 0%, transparent 70%);\n pointer-events: none;\n }\n\n .scan-line {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 2px;\n background: linear-gradient(90deg, transparent, rgba(6, 182, 212, 0.4), transparent);\n animation: scanMove 3s ease-in-out infinite;\n pointer-events: none;\n }\n\n @keyframes scanMove {\n 0%, 100% { top: 0; opacity: 0.5; }\n 50% { top: 100%; opacity: 0.2; }\n }\n\n /* Header */\n .prov-header {\n text-align: center;\n position: relative;\n z-index: 1;\n }\n\n .header-badge {\n display: inline-block;\n padding: 4px 12px;\n background: rgba(6, 182, 212, 0.1);\n border: 1px solid rgba(6, 182, 212, 0.3);\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 2px;\n color: #06b6d4;\n margin-bottom: 12px;\n }\n\n .header-title {\n font-size: 22px;\n font-weight: 600;\n color: #f1f5f9;\n margin: 0 0 8px 0;\n letter-spacing: -0.5px;\n }\n\n .header-meta {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-size: 13px;\n color: #64748b;\n }\n\n .meta-time {\n font-variant-numeric: tabular-nums;\n }\n\n .meta-percent {\n color: #06b6d4;\n font-weight: 500;\n }\n\n .meta-sep {\n opacity: 0.3;\n }\n\n /* Progress bar */\n .progress-track {\n position: relative;\n height: 4px;\n background: rgba(100, 116, 139, 0.2);\n border-radius: 2px;\n overflow: visible;\n }\n\n .progress-fill {\n height: 100%;\n background: linear-gradient(90deg, #0891b2, #06b6d4, #22d3ee);\n border-radius: 2px;\n transition: width 0.5s ease;\n }\n\n .progress-glow {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 8px;\n height: 8px;\n background: #22d3ee;\n border-radius: 50%;\n box-shadow: 0 0 16px rgba(34, 211, 238, 0.6);\n transition: left 0.5s ease;\n }\n\n /* Stages */\n .stages-timeline {\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: 16px 0;\n }\n\n .stage-row {\n display: grid;\n grid-template-columns: 40px 1fr auto;\n align-items: center;\n gap: 12px;\n padding: 10px 0;\n position: relative;\n }\n\n .stage-connector {\n position: absolute;\n left: 19px;\n top: -10px;\n width: 2px;\n height: 20px;\n }\n\n .connector-line {\n width: 100%;\n height: 100%;\n background: rgba(100, 116, 139, 0.3);\n transition: background 0.3s ease;\n }\n\n .stage-connector.active .connector-line {\n background: linear-gradient(180deg, #06b6d4, rgba(6, 182, 212, 0.3));\n }\n\n .connector-pulse {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(180deg, rgba(34, 211, 238, 0.8), transparent);\n animation: pulseLine 1.5s ease-out infinite;\n }\n\n @keyframes pulseLine {\n 0% { opacity: 1; transform: translateY(-100%); }\n 100% { opacity: 0; transform: translateY(100%); }\n }\n\n .stage-node {\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n }\n\n .node-icon {\n font-size: 18px;\n color: #475569;\n transition: all 0.3s ease;\n }\n\n .stage-row.completed .node-icon {\n color: #06b6d4;\n }\n\n .stage-row.current .node-icon {\n color: #22d3ee;\n text-shadow: 0 0 12px rgba(34, 211, 238, 0.5);\n }\n\n .node-ring {\n position: absolute;\n inset: 4px;\n border: 2px solid rgba(34, 211, 238, 0.4);\n border-radius: 50%;\n animation: ringPulse 2s ease-in-out infinite;\n }\n\n @keyframes ringPulse {\n 0%, 100% { transform: scale(1); opacity: 1; }\n 50% { transform: scale(1.2); opacity: 0.5; }\n }\n\n .stage-content {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n }\n\n .stage-name {\n font-size: 13px;\n font-weight: 500;\n color: #64748b;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n transition: color 0.3s ease;\n }\n\n .stage-row.completed .stage-name {\n color: #475569;\n }\n\n .stage-row.current .stage-name {\n color: #f1f5f9;\n }\n\n .stage-desc {\n font-size: 11px;\n color: #64748b;\n animation: fadeSlideIn 0.3s ease;\n }\n\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateX(-8px); }\n to { opacity: 1; transform: translateX(0); }\n }\n\n .stage-status {\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 1px;\n }\n\n .status-done {\n color: #06b6d4;\n }\n\n .status-active {\n color: #22d3ee;\n animation: blink 1s ease-in-out infinite;\n }\n\n @keyframes blink {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n\n .status-wait {\n color: #475569;\n font-variant-numeric: tabular-nums;\n }\n\n /* Terminal */\n .terminal-window {\n background: rgba(0, 0, 0, 0.4);\n border: 1px solid rgba(100, 116, 139, 0.2);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .terminal-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n background: rgba(30, 41, 59, 0.5);\n border-bottom: 1px solid rgba(100, 116, 139, 0.15);\n }\n\n .terminal-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n }\n\n .terminal-dot.red { background: #ef4444; }\n .terminal-dot.yellow { background: #eab308; }\n .terminal-dot.green { background: #22c55e; }\n\n .terminal-title {\n margin-left: auto;\n font-size: 11px;\n color: #64748b;\n }\n\n .terminal-body {\n padding: 12px;\n min-height: 100px;\n }\n\n .terminal-line {\n font-size: 12px;\n color: #94a3b8;\n padding: 2px 0;\n animation: typeIn 0.3s ease;\n }\n\n @keyframes typeIn {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .terminal-cursor {\n display: flex;\n align-items: center;\n gap: 4px;\n margin-top: 8px;\n }\n\n .cursor-prompt {\n color: #06b6d4;\n font-weight: 600;\n }\n\n .cursor-block {\n color: #22d3ee;\n opacity: 0;\n transition: opacity 0.1s;\n }\n\n .cursor-block.visible {\n opacity: 1;\n }\n\n /* Cancel button */\n .cancel-btn {\n align-self: center;\n padding: 8px 20px;\n background: transparent;\n border: 1px solid rgba(100, 116, 139, 0.3);\n border-radius: 6px;\n color: #64748b;\n font-family: inherit;\n font-size: 12px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .cancel-btn:hover {\n border-color: rgba(239, 68, 68, 0.5);\n color: #ef4444;\n }\n",x="\n .prov-container.prov-error {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 16px;\n padding: 48px 32px;\n background: linear-gradient(145deg, rgba(25, 10, 10, 0.95) 0%, rgba(15, 5, 8, 0.98) 100%);\n border: 1px solid rgba(239, 68, 68, 0.2);\n border-radius: 16px;\n text-align: center;\n font-family: 'SF Mono', 'JetBrains Mono', monospace;\n }\n\n .error-glitch {\n position: relative;\n width: 64px;\n height: 64px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(239, 68, 68, 0.1);\n border: 1px solid rgba(239, 68, 68, 0.3);\n border-radius: 12px;\n }\n\n .error-icon {\n font-size: 28px;\n color: #ef4444;\n animation: glitch 0.3s ease infinite;\n }\n\n @keyframes glitch {\n 0%, 100% { transform: translate(0); }\n 25% { transform: translate(-2px, 1px); }\n 50% { transform: translate(2px, -1px); }\n 75% { transform: translate(-1px, -1px); }\n }\n\n .error-title {\n font-size: 14px;\n font-weight: 600;\n letter-spacing: 2px;\n color: #ef4444;\n margin: 0;\n }\n\n .error-message {\n font-size: 13px;\n color: #94a3b8;\n max-width: 350px;\n margin: 0;\n line-height: 1.5;\n }\n\n .retry-btn {\n margin-top: 8px;\n padding: 10px 28px;\n background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(220, 38, 38, 0.2) 100%);\n border: 1px solid rgba(239, 68, 68, 0.4);\n border-radius: 6px;\n color: #ef4444;\n font-family: inherit;\n font-size: 12px;\n font-weight: 600;\n letter-spacing: 1px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .retry-btn:hover {\n background: linear-gradient(135deg, rgba(239, 68, 68, 0.3) 0%, rgba(220, 38, 38, 0.3) 100%);\n border-color: rgba(239, 68, 68, 0.6);\n transform: translateY(-1px);\n }\n";var u=t(9175),h=t(4859);let g=[{id:"anthropic",name:"Anthropic",displayName:"Claude",color:"#D97757",cliCommand:"claude",requiresUrlCopy:!0},{id:"codex",name:"OpenAI",displayName:"Codex",color:"#10A37F",cliCommand:"codex login",requiresUrlCopy:!0},{id:"google",name:"Google",displayName:"Gemini",color:"#4285F4",cliCommand:"gemini"},{id:"opencode",name:"OpenCode",displayName:"OpenCode",color:"#00D4AA",cliCommand:"opencode"},{id:"droid",name:"Factory",displayName:"Droid",color:"#6366F1",cliCommand:"droid"},{id:"cursor",name:"Cursor",displayName:"Cursor",color:"#7C3AED",cliCommand:"agent",requiresUrlCopy:!0}],f="true"===h.env.NEXT_PUBLIC_FORCE_CLOUD_MODE;function b(){let[e,n]=(0,a.useState)("loading"),[t,c]=(0,a.useState)([]),[d,m]=(0,a.useState)([]),[x,h]=(0,a.useState)(null),[b,w]=(0,a.useState)(void 0),[v,j]=(0,a.useState)(null),[N,k]=(0,a.useState)(f),[y,C]=(0,a.useState)(null),[S,I]=(0,a.useState)(null),[z,M]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/session",{credentials:"include"});if(404===e.status){if(f)throw Error("Cloud mode enforced but session endpoint returned 404. Is the cloud server running?");k(!1),n("local");return}let t=e.headers.get("X-CSRF-Token");t&&C(t);let r=await e.json();if(!r.authenticated){window.location.href="/login";return}k(!0);let a={openai:"codex"};if(r.connectedProviders){let e=[];r.connectedProviders.forEach(n=>{e.push(n.provider);let t=a[n.provider];t&&e.push(t)}),M(e)}let[s,o]=await Promise.all([fetch("/api/workspaces/accessible",{credentials:"include"}),fetch("/api/github-app/repos",{credentials:"include"})]);if(!s.ok){if(401===s.status){window.location.href="/login";return}throw Error("Failed to fetch workspaces")}let i=await s.json(),l=o.ok?await o.json():{repositories:[]};c(i.workspaces||[]),m(l.repositories||[]);let d=(i.workspaces||[]).filter(e=>"running"===e.status&&e.publicUrl),p=new URLSearchParams(window.location.search);if((null==p?void 0:p.get("select"))==="true"){window.history.replaceState({},"","/app"),n("select-workspace");return}let x=localStorage.getItem("agentrelay_workspace_id");if(x){let e=d.find(e=>e.id===x);if(e){E(e);return}}1===d.length?E(d[0]):d.length>1?n("select-workspace"):(i.workspaces||[]).length>0?n("select-workspace"):(l.repositories||[]).length>0?n("no-workspaces"):window.location.href="/connect-repos"}catch(e){if(e instanceof TypeError&&e.message.includes("Failed to fetch")){if(f){console.error("Cloud mode enforced but network request failed:",e),j("Cloud mode enforced but failed to connect to server. Is the cloud server running?"),n("error");return}k(!1),n("local");return}console.error("Init error:",e),j(e instanceof Error?e.message:"Failed to initialize"),n("error")}})()},[]);let E=(0,a.useCallback)(e=>{if(!e.publicUrl){j("Workspace has no public URL"),n("error");return}h(e),n("connecting"),(0,l.hc)(e.id);let t=new URL(e.publicUrl),r="https:"===t.protocol?"wss:":"ws:";w("".concat(r,"//").concat(t.host,"/ws")),n("connected")},[]),L=(0,a.useCallback)(async e=>{j(null);try{let t={"Content-Type":"application/json"};y&&(t["X-CSRF-Token"]=y);let r=await fetch("/api/workspaces/quick",{method:"POST",credentials:"include",headers:t,body:JSON.stringify({repositoryFullName:e})}),a=await r.json();if(!r.ok)throw Error(a.error||"Failed to create workspace");let s=Date.now();I({workspaceId:a.workspaceId,workspaceName:e.split("/")[1]||e,stage:null,startedAt:s}),n("provisioning");let o=async e=>{let t=0;for(;t<150;){var r;let a=await fetch("/api/workspaces/".concat(e,"/status"),{credentials:"include"}),s=await a.json();if((null===(r=s.provisioning)||void 0===r?void 0:r.stage)&&I(e=>e?{...e,stage:s.provisioning.stage}:null),"running"===s.status){let t=await fetch("/api/workspaces/".concat(e),{credentials:"include"}),r=await t.json();if(r.publicUrl){I(null),h(r),n("connect-provider");return}}else if("error"===s.status){let e=s.errorMessage||"Workspace provisioning failed";throw Error(e)}await new Promise(e=>setTimeout(e,2e3)),++t%15==0&&console.log("[workspace] Still provisioning... (".concat(Math.floor(2e3*t/1e3),"s elapsed)"))}throw Error("Workspace provisioning timed out after 5 minutes. Please try again or contact support.")};await o(a.workspaceId)}catch(e){console.error("Create workspace error:",e),I(null),j(e instanceof Error?e.message:"Failed to create workspace"),n("no-workspaces")}},[E,y]),P=(0,a.useCallback)(e=>{M(n=>[...new Set([...n,e])])},[]),A=(0,a.useCallback)(()=>{x&&E(x)},[x,E]),F=(0,a.useCallback)(async e=>{n("loading"),j(null);try{let n={};y&&(n["X-CSRF-Token"]=y);let t=await fetch("/api/workspaces/".concat(e.id,"/restart"),{method:"POST",credentials:"include",headers:n});if(!t.ok){let e=await t.json();throw Error(e.error||"Failed to start workspace")}let r=0;for(;r<60;){let n=await fetch("/api/workspaces/".concat(e.id,"/status"),{credentials:"include"}),t=await n.json();if("running"===t.status){let n=await fetch("/api/workspaces/".concat(e.id),{credentials:"include"}),t=await n.json();if(t.publicUrl){E({...e,...t});return}}await new Promise(e=>setTimeout(e,2e3)),r++}throw Error("Workspace start timed out")}catch(e){console.error("Start workspace error:",e),j(e instanceof Error?e.message:"Failed to start workspace"),n("select-workspace")}},[E,y]);if("loading"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,r.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading..."})]})});if("local"===e)return(0,r.jsx)(s.gV,{});if("connected"===e&&b)return(0,r.jsx)(o.TI,{cloudMode:!0,children:(0,r.jsx)(s.gV,{wsUrl:b})});if("connecting"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,r.jsxs)("p",{className:"mt-4 text-white font-medium",children:["Connecting to ",null==x?void 0:x.name,"..."]}),(0,r.jsx)("p",{className:"mt-2 text-text-muted text-sm",children:null==x?void 0:x.publicUrl})]})});if("provisioning"===e&&S)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,r.jsx)("div",{className:"w-full max-w-xl",children:(0,r.jsx)(p,{isProvisioning:!0,currentStage:S.stage,workspaceName:S.workspaceName,error:v,onCancel:()=>{I(null),n("no-workspaces")}})})});if("error"===e)return(0,r.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center p-4",children:(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-8 max-w-md w-full text-center",children:[(0,r.jsx)("div",{className:"w-16 h-16 mx-auto mb-4 bg-error/20 rounded-full flex items-center justify-center",children:(0,r.jsx)("svg",{className:"w-8 h-8 text-error",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,r.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Something went wrong"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:v}),(0,r.jsx)("button",{onClick:()=>window.location.reload(),className:"w-full py-3 px-4 bg-bg-tertiary border border-border-subtle rounded-xl text-white font-medium hover:bg-bg-hover transition-colors",children:"Try Again"})]})});if("connect-provider"===e&&x)return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Provider"}),(0,r.jsxs)("p",{className:"mt-2 text-text-muted text-center",children:["Your workspace ",(0,r.jsx)("span",{className:"text-white",children:x.name})," is ready!",(0,r.jsx)("br",{}),"Connect an AI provider to start using agents."]})]}),(0,r.jsx)(u.c,{providers:g,connectedProviders:z,workspaceId:x.id,csrfToken:y||void 0,onProviderConnected:P,onContinue:A,showDetailedInfo:!0})]})]});if("create-workspace"===e){let e=new Set(t.flatMap(e=>{let n=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>n.push(e.toLowerCase()));let t=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return t&&n.push(t[1].toLowerCase()),n})),a=d.filter(n=>!e.has(n.fullName.toLowerCase()));return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Create Workspace"}),(0,r.jsx)("p",{className:"mt-2 text-text-muted",children:"Select a repository to create a workspace"})]}),v&&(0,r.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,r.jsx)("p",{className:"text-error",children:v})}),(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsxs)("button",{onClick:()=>n("select-workspace"),className:"mb-4 flex items-center gap-2 text-text-muted hover:text-white transition-colors text-sm",children:[(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),"Back to workspaces"]}),(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Available Repositories"}),(0,r.jsx)("p",{className:"text-text-muted mb-6 text-sm",children:"These are repositories the GitHub App has access to that don't have a workspace yet."}),a.length>0?(0,r.jsx)("div",{className:"space-y-3",children:a.map(e=>(0,r.jsxs)("button",{onClick:()=>L(e.fullName),className:"w-full flex items-center gap-3 p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors text-left",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,r.jsx)("path",{d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8z"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,r.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)("p",{className:"text-text-muted mb-4",children:"All connected repositories already have workspaces."}),(0,r.jsxs)("a",{href:"/connect-repos",className:"inline-flex items-center gap-2 py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:[(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})}),"Connect More Repositories"]})]})]})]})]})}return(0,r.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,r.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,r.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,r.jsx)(i.K7,{size:48,withGlow:!0}),(0,r.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Agent Relay"}),(0,r.jsx)("p",{className:"mt-2 text-text-muted",children:"no-workspaces"===e?"Create a workspace to get started":"Select a workspace"})]}),v&&(0,r.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,r.jsx)("p",{className:"text-error",children:v})}),"select-workspace"===e&&t.length>0&&(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Your Workspaces"}),(0,r.jsx)("div",{className:"space-y-3",children:t.map(e=>(0,r.jsxs)("div",{className:"flex items-center justify-between p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("div",{className:"w-3 h-3 rounded-full ".concat("running"===e.status?"bg-success":"provisioning"===e.status?"bg-warning animate-pulse":"error"===e.status?"bg-error":"bg-gray-500")}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"font-medium text-white",children:e.name}),(0,r.jsx)("p",{className:"text-sm text-text-muted",children:"running"===e.status?"Running":"provisioning"===e.status?"Starting...":"stopped"===e.status?"Stopped":"Error"})]})]}),(0,r.jsx)("div",{children:"running"===e.status&&e.publicUrl?(0,r.jsx)("button",{onClick:()=>E(e),className:"py-2 px-4 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-lg hover:shadow-glow-cyan transition-all",children:"Connect"}):"stopped"===e.status?(0,r.jsx)("button",{onClick:()=>F(e),className:"py-2 px-4 bg-bg-card border border-border-subtle rounded-lg text-white hover:border-accent-cyan/50 transition-colors",children:"Start"}):"provisioning"===e.status?(0,r.jsx)("span",{className:"text-text-muted text-sm",children:"Starting..."}):"error"===e.status?(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("button",{onClick:()=>F(e),className:"py-2 px-4 bg-accent-cyan/10 border border-accent-cyan/30 rounded-lg text-accent-cyan text-sm font-medium hover:bg-accent-cyan/20 transition-colors",children:"Restart"}),(0,r.jsx)("a",{href:"/app/settings/workspace",className:"py-2 px-3 text-text-muted text-sm hover:text-white transition-colors",title:"Workspace settings",children:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,r.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"})]})})]}):(0,r.jsx)("span",{className:"text-error text-sm",children:"Failed"})})]},e.id))}),(()=>{let e=new Set(t.flatMap(e=>{let n=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>n.push(e.toLowerCase()));let t=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return t&&n.push(t[1].toLowerCase()),n}));return 0===d.filter(n=>!e.has(n.fullName.toLowerCase())).length?null:(0,r.jsxs)("div",{className:"mt-6 pt-6 border-t border-border-subtle",children:[(0,r.jsx)("p",{className:"text-text-muted text-sm mb-3",children:"Or create a new workspace:"}),(0,r.jsxs)("button",{onClick:()=>n("create-workspace"),className:"py-2 px-4 bg-bg-card border border-border-subtle rounded-lg text-sm text-white hover:border-accent-cyan/50 transition-colors flex items-center gap-2",children:[(0,r.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Create"]})]})})()]}),"no-workspaces"===e&&(0,r.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,r.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Create Your First Workspace"}),(0,r.jsx)("p",{className:"text-text-muted mb-6",children:"Select a repository to create a workspace where agents can work on your code."}),d.length>0?(0,r.jsx)("div",{className:"space-y-3",children:d.map(e=>(0,r.jsxs)("button",{onClick:()=>L(e.fullName),className:"w-full flex items-center gap-3 p-4 bg-bg-tertiary rounded-xl border border-border-subtle hover:border-accent-cyan/50 transition-colors text-left",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,r.jsx)("path",{d:"M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8z"})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,r.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,r.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)("p",{className:"text-text-muted mb-4",children:"No repositories connected yet."}),(0,r.jsxs)("a",{href:"/connect-repos",className:"inline-flex items-center gap-2 py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:[(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})}),"Connect GitHub"]})]})]}),(0,r.jsxs)("div",{className:"mt-6 flex justify-center gap-4 text-sm",children:[(0,r.jsx)("a",{href:"/connect-repos",className:"text-text-muted hover:text-white transition-colors",children:"Manage Repositories"}),(0,r.jsx)("span",{className:"text-text-muted",children:"\xb7"}),(0,r.jsx)("button",{onClick:async()=>{let e={};y&&(e["X-CSRF-Token"]=y),await fetch("/api/auth/logout",{method:"POST",credentials:"include",headers:e}),window.location.href="/login"},className:"text-text-muted hover:text-white transition-colors",children:"Sign Out"})]})]})]})}}},function(e){e.O(0,[440,202,11,118,687,285,259,293,528,744],function(){return e(e.s=9316)}),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{7905:function(e,t,n){Promise.resolve().then(n.bind(n,1403))},1403:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return l}});var r=n(7573),u=n(7653),a=n(717),c=n(4285);function l(){let[e,t]=(0,u.useState)(!1),[n,l]=(0,u.useState)(!1);return((0,u.useEffect)(()=>{t(function(){let e=window.location.hostname,t=new URLSearchParams(window.location.search);if("true"===t.get("landing")||"true"===t.get("cloud")||e.includes("agent-relay.com")||e.includes("agentrelay.dev")||e.includes(".fly.dev"))return!0;let n=document.querySelector('meta[name="agent-relay-cloud"]');return(null==n?void 0:n.getAttribute("content"))==="true"||"true"===localStorage.getItem("agent-relay-cloud-mode")}()),l(!0)},[]),n)?e?(0,r.jsx)(a.fy,{}):(0,r.jsx)(c.gV,{}):(0,r.jsx)("div",{className:"flex h-screen bg-bg-deep font-sans text-text-primary items-center justify-center",children:(0,r.jsx)("div",{className:"text-text-muted",children:"Loading..."})})}}},function(e){e.O(0,[694,440,202,11,695,118,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{7905:function(e,t,n){Promise.resolve().then(n.bind(n,1403))},1403:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return l}});var r=n(7573),u=n(7653),a=n(717),c=n(4285);function l(){let[e,t]=(0,u.useState)(!1),[n,l]=(0,u.useState)(!1);return((0,u.useEffect)(()=>{t(function(){let e=window.location.hostname,t=new URLSearchParams(window.location.search);if("true"===t.get("landing")||"true"===t.get("cloud")||e.includes("agent-relay.com")||e.includes("agentrelay.dev")||e.includes(".fly.dev"))return!0;let n=document.querySelector('meta[name="agent-relay-cloud"]');return(null==n?void 0:n.getAttribute("content"))==="true"||"true"===localStorage.getItem("agent-relay-cloud-mode")}()),l(!0)},[]),n)?e?(0,r.jsx)(a.fy,{}):(0,r.jsx)(c.gV,{}):(0,r.jsx)("div",{className:"flex h-screen bg-bg-deep font-sans text-text-primary items-center justify-center",children:(0,r.jsx)("div",{className:"text-text-muted",children:"Loading..."})})}}},function(e){e.O(0,[694,440,202,11,695,118,687,285,293,528,744],function(){return e(e.s=7905)}),_N_E=e.O()}]);
|
package/out/_next/static/chunks/app/providers/{page-9a2e7c46b61d7742.js → page-59114505f4353512.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[150],{1125:function(e,t,r){Promise.resolve().then(r.bind(r,9835))},1695:function(e,t,r){"use strict";var n=r(1219);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},4859:function(e,t,r){"use strict";var n,i;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(i=r.g.process)?void 0:i.env)?r.g.process:r(9566)},9566:function(e){!function(){var t={229:function(e){var t,r,n,i=e.exports={};function o(){throw Error("setTimeout has not been defined")}function s(){throw Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var c=[],l=!1,d=-1;function u(){l&&n&&(l=!1,n.length?c=n.concat(c):d=-1,c.length&&m())}function m(){if(!l){var e=a(u);l=!0;for(var t=c.length;t;){for(n=c,c=[];++d<t;)n&&n[d].run();d=-1,t=c.length}n=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}i.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||a(m)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=h,i.addListener=h,i.once=h,i.off=h,i.removeListener=h,i.removeAllListeners=h,i.emit=h,i.prependListener=h,i.prependOnceListener=h,i.listeners=function(e){return[]},i.binding=function(e){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw Error("process.chdir is not supported")},i.umask=function(){return 0}}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var o=r[e]={exports:{}},s=!0;try{t[e](o,o.exports,n),s=!1}finally{s&&delete r[e]}return o.exports}n.ab="//";var i=n(229);e.exports=i}()},9835:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return u}});var n=r(7573),i=r(7653),o=r(1695),s=r(5634),a=r(9175);let c=[{id:"anthropic",name:"Anthropic",displayName:"Claude",color:"#D97757",cliCommand:"claude",requiresUrlCopy:!0},{id:"codex",name:"OpenAI",displayName:"Codex",color:"#10A37F",cliCommand:"codex login",requiresUrlCopy:!0},{id:"google",name:"Google",displayName:"Gemini",color:"#4285F4",cliCommand:"gemini"},{id:"opencode",name:"OpenCode",displayName:"OpenCode",color:"#00D4AA",cliCommand:"opencode",comingSoon:!0},{id:"droid",name:"Factory",displayName:"Droid",color:"#6366F1",cliCommand:"droid",comingSoon:!0},{id:"cursor",name:"Cursor",displayName:"Cursor",color:"#7C3AED",cliCommand:"agent",requiresUrlCopy:!0}];function l(){return(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading providers..."})]})})}function d(){let e=(0,o.useSearchParams)().get("workspace"),[t,r]=(0,i.useState)(!0),[l,d]=(0,i.useState)(null),[u,m]=(0,i.useState)(null),[p,h]=(0,i.useState)([]);return((0,i.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/providers",{credentials:"include"}),t=e.headers.get("X-CSRF-Token");if(t&&m(t),!e.ok){if(401===e.status){window.location.href="/login";return}throw Error("Failed to fetch providers")}let r=((await e.json()).providers||[]).filter(e=>e.isConnected&&"github"!==e.id).map(e=>e.id);h(r)}catch(e){d(e instanceof Error?e.message:"Failed to load providers")}finally{r(!1)}})()},[]),t)?(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading providers..."})]})}):(0,n.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,n.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,n.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,n.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,n.jsx)(s.K7,{size:48,withGlow:!0}),(0,n.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Providers"}),(0,n.jsx)("p",{className:"mt-2 text-text-muted text-center",children:"Connect your AI providers to start using agents."})]}),l&&(0,n.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,n.jsx)("p",{className:"text-error",children:l})}),!e&&(0,n.jsx)("div",{className:"mb-4 p-4 bg-warning/10 border border-warning/20 rounded-xl",children:(0,n.jsxs)("p",{className:"text-warning text-sm",children:[(0,n.jsx)("strong",{children:"Note:"})," CLI-based authentication requires a running workspace. Please"," ",(0,n.jsx)("a",{href:"/app",className:"underline hover:no-underline",children:"create a workspace"})," first."]})}),e?(0,n.jsx)(a.c,{providers:c,connectedProviders:p,workspaceId:e,csrfToken:u||void 0,onProviderConnected:e=>{h(t=>[...new Set([...t,e])])},onContinue:()=>{window.location.href=e?"/app?workspace=".concat(e):"/app"},showDetailedInfo:!0}):(0,n.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6 text-center",children:[(0,n.jsx)("p",{className:"text-text-muted mb-4",children:"A workspace is required to connect providers via CLI authentication."}),(0,n.jsx)("a",{href:"/app",className:"inline-block py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:"Create a Workspace"})]})]})]})}function u(){return(0,n.jsx)(i.Suspense,{fallback:(0,n.jsx)(l,{}),children:(0,n.jsx)(d,{})})}},8514:function(e,t,r){"use strict";r.d(t,{X:function(){return n}});var n=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),s={top:parseInt(o.getPropertyValue("padding-top")),bottom:parseInt(o.getPropertyValue("padding-bottom")),right:parseInt(o.getPropertyValue("padding-right")),left:parseInt(o.getPropertyValue("padding-left"))},a=s.top+s.bottom;return{cols:Math.max(2,Math.floor((i-(s.right+s.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-a)/e.css.cell.height))}}}}},function(e){e.O(0,[440,
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[150],{1125:function(e,t,r){Promise.resolve().then(r.bind(r,9835))},1695:function(e,t,r){"use strict";var n=r(1219);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},4859:function(e,t,r){"use strict";var n,i;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(i=r.g.process)?void 0:i.env)?r.g.process:r(9566)},9566:function(e){!function(){var t={229:function(e){var t,r,n,i=e.exports={};function o(){throw Error("setTimeout has not been defined")}function s(){throw Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===o||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:o}catch(e){t=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var c=[],l=!1,d=-1;function u(){l&&n&&(l=!1,n.length?c=n.concat(c):d=-1,c.length&&m())}function m(){if(!l){var e=a(u);l=!0;for(var t=c.length;t;){for(n=c,c=[];++d<t;)n&&n[d].run();d=-1,t=c.length}n=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}i.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||a(m)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=h,i.addListener=h,i.once=h,i.off=h,i.removeListener=h,i.removeAllListeners=h,i.emit=h,i.prependListener=h,i.prependOnceListener=h,i.listeners=function(e){return[]},i.binding=function(e){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw Error("process.chdir is not supported")},i.umask=function(){return 0}}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var o=r[e]={exports:{}},s=!0;try{t[e](o,o.exports,n),s=!1}finally{s&&delete r[e]}return o.exports}n.ab="//";var i=n(229);e.exports=i}()},9835:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return u}});var n=r(7573),i=r(7653),o=r(1695),s=r(5634),a=r(9175);let c=[{id:"anthropic",name:"Anthropic",displayName:"Claude",color:"#D97757",cliCommand:"claude",requiresUrlCopy:!0},{id:"codex",name:"OpenAI",displayName:"Codex",color:"#10A37F",cliCommand:"codex login",requiresUrlCopy:!0},{id:"google",name:"Google",displayName:"Gemini",color:"#4285F4",cliCommand:"gemini"},{id:"opencode",name:"OpenCode",displayName:"OpenCode",color:"#00D4AA",cliCommand:"opencode",comingSoon:!0},{id:"droid",name:"Factory",displayName:"Droid",color:"#6366F1",cliCommand:"droid",comingSoon:!0},{id:"cursor",name:"Cursor",displayName:"Cursor",color:"#7C3AED",cliCommand:"agent",requiresUrlCopy:!0}];function l(){return(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading providers..."})]})})}function d(){let e=(0,o.useSearchParams)().get("workspace"),[t,r]=(0,i.useState)(!0),[l,d]=(0,i.useState)(null),[u,m]=(0,i.useState)(null),[p,h]=(0,i.useState)([]);return((0,i.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/providers",{credentials:"include"}),t=e.headers.get("X-CSRF-Token");if(t&&m(t),!e.ok){if(401===e.status){window.location.href="/login";return}throw Error("Failed to fetch providers")}let r=((await e.json()).providers||[]).filter(e=>e.isConnected&&"github"!==e.id).map(e=>e.id);h(r)}catch(e){d(e instanceof Error?e.message:"Failed to load providers")}finally{r(!1)}})()},[]),t)?(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,n.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,n.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,n.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading providers..."})]})}):(0,n.jsxs)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex flex-col items-center justify-center p-4",children:[(0,n.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,n.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"linear-gradient(rgba(0, 217, 255, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0, 217, 255, 0.1) 1px, transparent 1px)",backgroundSize:"50px 50px"}})}),(0,n.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,n.jsx)(s.K7,{size:48,withGlow:!0}),(0,n.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Providers"}),(0,n.jsx)("p",{className:"mt-2 text-text-muted text-center",children:"Connect your AI providers to start using agents."})]}),l&&(0,n.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,n.jsx)("p",{className:"text-error",children:l})}),!e&&(0,n.jsx)("div",{className:"mb-4 p-4 bg-warning/10 border border-warning/20 rounded-xl",children:(0,n.jsxs)("p",{className:"text-warning text-sm",children:[(0,n.jsx)("strong",{children:"Note:"})," CLI-based authentication requires a running workspace. Please"," ",(0,n.jsx)("a",{href:"/app",className:"underline hover:no-underline",children:"create a workspace"})," first."]})}),e?(0,n.jsx)(a.c,{providers:c,connectedProviders:p,workspaceId:e,csrfToken:u||void 0,onProviderConnected:e=>{h(t=>[...new Set([...t,e])])},onContinue:()=>{window.location.href=e?"/app?workspace=".concat(e):"/app"},showDetailedInfo:!0}):(0,n.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6 text-center",children:[(0,n.jsx)("p",{className:"text-text-muted mb-4",children:"A workspace is required to connect providers via CLI authentication."}),(0,n.jsx)("a",{href:"/app",className:"inline-block py-3 px-6 bg-gradient-to-r from-accent-cyan to-[#00b8d9] text-bg-deep font-semibold rounded-xl hover:shadow-glow-cyan transition-all",children:"Create a Workspace"})]})]})]})}function u(){return(0,n.jsx)(i.Suspense,{fallback:(0,n.jsx)(l,{}),children:(0,n.jsx)(d,{})})}},8514:function(e,t,r){"use strict";r.d(t,{X:function(){return n}});var n=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),s={top:parseInt(o.getPropertyValue("padding-top")),bottom:parseInt(o.getPropertyValue("padding-bottom")),right:parseInt(o.getPropertyValue("padding-right")),left:parseInt(o.getPropertyValue("padding-left"))},a=s.top+s.bottom;return{cols:Math.max(2,Math.floor((i-(s.right+s.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-a)/e.css.cell.height))}}}}},function(e){e.O(0,[440,687,259,293,528,744],function(){return e(e.s=1125)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[668],{3935:function(e,t,r){Promise.resolve().then(r.bind(r,7104))},1695:function(e,t,r){"use strict";var n=r(1219);r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},4859:function(e,t,r){"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(9566)},9566:function(e){!function(){var t={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function s(){throw Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var c=[],l=!1,d=-1;function u(){l&&n&&(l=!1,n.length?c=n.concat(c):d=-1,c.length&&h())}function h(){if(!l){var e=a(u);l=!0;for(var t=c.length;t;){for(n=c,c=[];++d<t;)n&&n[d].run();d=-1,t=c.length}n=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function m(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new p(e,t)),1!==c.length||l||a(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}},s=!0;try{t[e](i,i.exports,n),s=!1}finally{s&&delete r[e]}return i.exports}n.ab="//";var o=n(229);e.exports=o}()},7104:function(e,t,r){"use strict";r.d(t,{ProviderSetupClient:function(){return d}});var n=r(7573);r(7653);var o=r(1695),i=r(5634),s=r(1994),a=r(4722);let c={claude:{id:"claude",name:"anthropic",displayName:"Claude",color:"#D97706",agentCommand:"claude"},codex:{id:"codex",name:"codex",displayName:"Codex",color:"#10A37F",agentCommand:"codex"},cursor:{id:"cursor",name:"cursor",displayName:"Cursor",color:"#7C3AED",agentCommand:"cursor"}},l={anthropic:{authMethod:"oauth",requiresUrlCopy:!0},codex:{authMethod:"oauth",requiresUrlCopy:!0},openai:{authMethod:"oauth",requiresUrlCopy:!0},cursor:{authMethod:"oauth",requiresUrlCopy:!0},google:{authMethod:"terminal"},opencode:{authMethod:"terminal"},droid:{authMethod:"terminal"}};function d(e){let{provider:t}=e,r=(0,o.useRouter)(),d=(0,o.useSearchParams)().get("workspace"),u=c[t];if(!u)return(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsxs)("p",{className:"text-error",children:["Unknown provider: ",t]}),(0,n.jsx)("a",{href:"/providers",className:"mt-4 text-accent-cyan hover:underline",children:"Back to providers"})]})});if(!d)return(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)("p",{className:"text-error",children:"No workspace specified"}),(0,n.jsx)("a",{href:"/app",className:"mt-4 text-accent-cyan hover:underline",children:"Back to dashboard"})]})});let h=()=>{r.push("/app?workspace=".concat(d))},p=()=>{r.push("/app?workspace=".concat(d))},m=l[u.name],x=(null==m?void 0:m.authMethod)==="oauth";return(0,n.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] p-8",children:(0,n.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-8",children:[(0,n.jsxs)("a",{href:"/app",className:"flex items-center gap-3 group",children:[(0,n.jsx)(i.K7,{className:"w-8 h-8 text-accent-cyan group-hover:scale-105 transition-transform"}),(0,n.jsx)("span",{className:"text-lg font-bold text-white",children:"Agent Relay"})]}),(0,n.jsx)("a",{href:"/app?workspace=".concat(d),className:"px-4 py-2 text-sm text-text-secondary hover:text-text-primary transition-colors",children:"Skip for now →"})]}),(0,n.jsxs)("div",{className:"text-center mb-8",children:[(0,n.jsxs)("div",{className:"inline-flex items-center gap-3 mb-4",children:[(0,n.jsx)("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center text-white font-bold text-xl shadow-lg",style:{backgroundColor:u.color,boxShadow:"0 4px 20px ".concat(u.color,"40")},children:u.displayName[0]}),(0,n.jsxs)("h1",{className:"text-2xl font-bold text-white",children:["Set up ",u.displayName]})]}),(0,n.jsx)("p",{className:"text-text-muted",children:x?"Follow the instructions below to authenticate using your local terminal":"Complete the authentication flow in the interactive terminal below"})]}),x?(0,n.jsx)(a.j,{provider:{id:u.name,name:u.name,displayName:u.displayName,color:u.color,requiresUrlCopy:m.requiresUrlCopy},workspaceId:d,onSuccess:h,onCancel:p,onError:e=>console.error("Setup error:",e)}):(0,n.jsx)(s.$,{provider:{id:u.id,name:u.name,displayName:u.displayName,color:u.color},workspaceId:d,maxHeight:"500px",showHeader:!0,onSuccess:h,onCancel:p,onConnectAnother:()=>{r.push("/providers?workspace=".concat(d))},onError:e=>console.error("Setup error:",e),className:"shadow-2xl"}),(0,n.jsxs)("div",{className:"mt-6 p-4 bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-xl",children:[(0,n.jsx)("h3",{className:"text-white font-medium mb-2",children:"How this works:"}),x?(0,n.jsxs)("ol",{className:"text-sm text-text-muted space-y-1 list-decimal list-inside",children:[(0,n.jsx)("li",{children:"Copy the command shown above and run it in your terminal"}),(0,n.jsx)("li",{children:"The CLI will open your browser automatically for OAuth login"}),(0,n.jsx)("li",{children:"Complete the authentication in your browser"}),(0,n.jsx)("li",{children:"The CLI will capture the callback and complete the setup"}),(0,n.jsx)("li",{children:"Return here to continue to the dashboard"})]}):(0,n.jsxs)("ol",{className:"text-sm text-text-muted space-y-1 list-decimal list-inside",children:[(0,n.jsx)("li",{children:"The terminal above is interactive - respond to any prompts by typing directly"}),(0,n.jsx)("li",{children:"When a login URL appears, copy and paste it into your browser"}),(0,n.jsx)("li",{children:"Complete the login in your browser, then return here"}),(0,n.jsx)("li",{children:"Answer any remaining prompts (skills, permissions, etc.) in the terminal"}),(0,n.jsx)("li",{children:'Once connected, click "Done - Continue" to go to the dashboard'})]})]}),(0,n.jsx)("div",{className:"mt-4 text-center",children:(0,n.jsx)("a",{href:"/providers?connect=".concat(u.id,"&workspace=").concat(d),className:"text-sm text-text-muted hover:text-accent-cyan transition-colors",children:"Having trouble? Try the popup-based login instead →"})})]})})}},5634:function(e,t,r){"use strict";r.d(t,{K7:function(){return o}});var n=r(7573);function o(e){let{size:t=24,className:r="",withGlow:o=!1}=e;return(0,n.jsxs)("svg",{width:t,height:t,viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"\n transition-all duration-300\n ".concat(o?"drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]":"","\n ").concat(r,"\n "),"aria-label":"Agent Relay Logo",role:"img",children:[(0,n.jsx)("path",{d:"M30 80 L 50 20 L 70 80",stroke:"#00d9ff",strokeWidth:"5",strokeLinejoin:"round",strokeLinecap:"round",fill:"none"}),(0,n.jsx)("line",{x1:"40",y1:"50",x2:"60",y2:"50",stroke:"#00d9ff",strokeWidth:"5",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M50 20 L 50 80",stroke:"#00ffc8",strokeWidth:"2.5",strokeLinecap:"round",opacity:"0.7"}),(0,n.jsx)("path",{d:"M50 20 C 80 20 80 50 50 50 L 80 80",stroke:"#00ffc8",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",fill:"none",opacity:"0.7"})]})}r(7653)},8514:function(e,t,r){"use strict";r.d(t,{X:function(){return n}});var n=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let t=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),o=Math.max(0,parseInt(r.getPropertyValue("width"))),i=window.getComputedStyle(this._terminal.element),s={top:parseInt(i.getPropertyValue("padding-top")),bottom:parseInt(i.getPropertyValue("padding-bottom")),right:parseInt(i.getPropertyValue("padding-right")),left:parseInt(i.getPropertyValue("padding-left"))},a=s.top+s.bottom;return{cols:Math.max(2,Math.floor((o-(s.right+s.left)-t)/e.css.cell.width)),rows:Math.max(1,Math.floor((n-a)/e.css.cell.height))}}}}},function(e){e.O(0,[440,687,293,528,744],function(){return e(e.s=3935)}),_N_E=e.O()}]);
|
package/out/about.html
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
transition-all duration-300
|
|
7
7
|
drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]
|
|
8
8
|
|
|
9
|
-
" aria-label="Agent Relay Logo" role="img"><path d="M30 80 L 50 20 L 70 80" stroke="#00d9ff" stroke-width="5" stroke-linejoin="round" stroke-linecap="round" fill="none"></path><line x1="40" y1="50" x2="60" y2="50" stroke="#00d9ff" stroke-width="5" stroke-linecap="round"></line><path d="M50 20 L 50 80" stroke="#00ffc8" stroke-width="2.5" stroke-linecap="round" opacity="0.7"></path><path d="M50 20 C 80 20 80 50 50 50 L 80 80" stroke="#00ffc8" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0.7"></path></svg><span class="logo-text">Agent Relay</span></a><p>Orchestrate AI agents like a symphony.</p></div><div class="footer-links"><div class="footer-column"><h4>Product</h4><a href="/#features">Features</a><a href="/pricing">Pricing</a><a href="https://docs.agent-relay.com/">Documentation</a><a href="/changelog">Changelog</a></div><div class="footer-column"><h4>Company</h4><a href="/about">About</a><a href="/blog">Blog</a><a href="/careers">Careers</a><a href="/contact">Contact</a></div><div class="footer-column"><h4>Legal</h4><a href="/privacy">Privacy</a><a href="/terms">Terms</a><a href="/security">Security</a></div></div></div><div class="footer-bottom"><p>© 2026 Agent Relay. All rights reserved.</p><div class="social-links"><a href="https://github.com/AgentWorkforce/relay" aria-label="GitHub"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg></a><a href="https://twitter.com/agent_relay" aria-label="Twitter"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a></div></div></footer></div><script src="/_next/static/chunks/webpack-dd93b81e2659669c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/4c58d9cf493aa626.css\",\"style\"]\n2:HL[\"/_next/static/css/629d21db423c78a2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[1815,[],\"\"]\n5:I[5428,[],\"ClientPageRoot\"]\n6:I[1705,[\"695\",\"static/chunks/695-51d25b1988644374.js\",\"301\",\"static/chunks/app/about/page-fff7c6457683f243.js\"],\"default\",1]\n7:I[5092,[],\"\"]\n8:I[2023,[],\"\"]\na:I[1584,[],\"\"]\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"
|
|
9
|
+
" aria-label="Agent Relay Logo" role="img"><path d="M30 80 L 50 20 L 70 80" stroke="#00d9ff" stroke-width="5" stroke-linejoin="round" stroke-linecap="round" fill="none"></path><line x1="40" y1="50" x2="60" y2="50" stroke="#00d9ff" stroke-width="5" stroke-linecap="round"></line><path d="M50 20 L 50 80" stroke="#00ffc8" stroke-width="2.5" stroke-linecap="round" opacity="0.7"></path><path d="M50 20 C 80 20 80 50 50 50 L 80 80" stroke="#00ffc8" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0.7"></path></svg><span class="logo-text">Agent Relay</span></a><p>Orchestrate AI agents like a symphony.</p></div><div class="footer-links"><div class="footer-column"><h4>Product</h4><a href="/#features">Features</a><a href="/pricing">Pricing</a><a href="https://docs.agent-relay.com/">Documentation</a><a href="/changelog">Changelog</a></div><div class="footer-column"><h4>Company</h4><a href="/about">About</a><a href="/blog">Blog</a><a href="/careers">Careers</a><a href="/contact">Contact</a></div><div class="footer-column"><h4>Legal</h4><a href="/privacy">Privacy</a><a href="/terms">Terms</a><a href="/security">Security</a></div></div></div><div class="footer-bottom"><p>© 2026 Agent Relay. All rights reserved.</p><div class="social-links"><a href="https://github.com/AgentWorkforce/relay" aria-label="GitHub"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"></path></svg></a><a href="https://twitter.com/agent_relay" aria-label="Twitter"><svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a></div></div></footer></div><script src="/_next/static/chunks/webpack-dd93b81e2659669c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/4c58d9cf493aa626.css\",\"style\"]\n2:HL[\"/_next/static/css/629d21db423c78a2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[1815,[],\"\"]\n5:I[5428,[],\"ClientPageRoot\"]\n6:I[1705,[\"695\",\"static/chunks/695-51d25b1988644374.js\",\"301\",\"static/chunks/app/about/page-fff7c6457683f243.js\"],\"default\",1]\n7:I[5092,[],\"\"]\n8:I[2023,[],\"\"]\na:I[1584,[],\"\"]\nb:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"AqelRhy1vr2nBUcU0Iqcp\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"about\"],\"initialTree\":[\"\",{\"children\":[\"about\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"about\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[\"$\",\"$L5\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$6\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/629d21db423c78a2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"about\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c58d9cf493aa626.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L7\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L8\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L9\"],\"globalErrorComponent\":\"$a\",\"missingSlots\":\"$Wb\"}]\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Agent Relay Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Fleet control dashboard for Agent Relay\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?9e7a840704165ca6\",\"type\":\"image/png\",\"sizes\":\"256x256\"}]]\n4:null\n"])</script></body></html>
|
package/out/about.txt
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
3:I[1705,["695","static/chunks/695-51d25b1988644374.js","301","static/chunks/app/about/page-fff7c6457683f243.js"],"default",1]
|
|
3
3
|
4:I[5092,[],""]
|
|
4
4
|
5:I[2023,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["AqelRhy1vr2nBUcU0Iqcp",[[["",{"children":["about",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["about",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/629d21db423c78a2.css","precedence":"next","crossOrigin":"$undefined"}]]],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","about","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/4c58d9cf493aa626.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
|
|
6
6
|
6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Agent Relay Dashboard"}],["$","meta","3",{"name":"description","content":"Fleet control dashboard for Agent Relay"}],["$","link","4",{"rel":"apple-touch-icon","href":"/apple-icon.png?9e7a840704165ca6","type":"image/png","sizes":"256x256"}]]
|
|
7
7
|
1:null
|
package/out/app/onboarding.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4c58d9cf493aa626.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-dd93b81e2659669c.js"/><script src="/_next/static/chunks/1dd3208c-40ab0fc0f60392b8.js" async=""></script><script src="/_next/static/chunks/528-d375bc8b46912d2c.js" async=""></script><script src="/_next/static/chunks/main-app-7f73a939a312a228.js" async=""></script><script src="/_next/static/chunks/app/app/onboarding/page-129abc5da2e67971.js" async=""></script><title>Agent Relay Dashboard</title><meta name="description" content="Fleet control dashboard for Agent Relay"/><link rel="apple-touch-icon" href="/apple-icon.png?9e7a840704165ca6" type="image/png" sizes="256x256"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center"><div class="text-center"><svg class="w-8 h-8 text-accent-cyan animate-spin mx-auto" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg><p class="mt-4 text-text-muted">Loading...</p></div></div><!--/$--><script src="/_next/static/chunks/webpack-dd93b81e2659669c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/4c58d9cf493aa626.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[5428,[],\"ClientPageRoot\"]\n5:I[7657,[\"615\",\"static/chunks/app/app/onboarding/page-129abc5da2e67971.js\"],\"default\",1]\n6:I[5092,[],\"\"]\n7:I[2023,[],\"\"]\n9:I[1584,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4c58d9cf493aa626.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-dd93b81e2659669c.js"/><script src="/_next/static/chunks/1dd3208c-40ab0fc0f60392b8.js" async=""></script><script src="/_next/static/chunks/528-d375bc8b46912d2c.js" async=""></script><script src="/_next/static/chunks/main-app-7f73a939a312a228.js" async=""></script><script src="/_next/static/chunks/app/app/onboarding/page-129abc5da2e67971.js" async=""></script><title>Agent Relay Dashboard</title><meta name="description" content="Fleet control dashboard for Agent Relay"/><link rel="apple-touch-icon" href="/apple-icon.png?9e7a840704165ca6" type="image/png" sizes="256x256"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center"><div class="text-center"><svg class="w-8 h-8 text-accent-cyan animate-spin mx-auto" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg><p class="mt-4 text-text-muted">Loading...</p></div></div><!--/$--><script src="/_next/static/chunks/webpack-dd93b81e2659669c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/4c58d9cf493aa626.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[5428,[],\"ClientPageRoot\"]\n5:I[7657,[\"615\",\"static/chunks/app/app/onboarding/page-129abc5da2e67971.js\"],\"default\",1]\n6:I[5092,[],\"\"]\n7:I[2023,[],\"\"]\n9:I[1584,[],\"\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"AqelRhy1vr2nBUcU0Iqcp\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"app\",\"onboarding\"],\"initialTree\":[\"\",{\"children\":[\"app\",{\"children\":[\"onboarding\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"app\",{\"children\":[\"onboarding\",{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$5\"}],null],null],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"app\",\"children\",\"onboarding\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"app\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c58d9cf493aa626.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Agent Relay Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Fleet control dashboard for Agent Relay\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?9e7a840704165ca6\",\"type\":\"image/png\",\"sizes\":\"256x256\"}]]\n3:null\n"])</script></body></html>
|
package/out/app/onboarding.txt
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
3:I[7657,["615","static/chunks/app/app/onboarding/page-129abc5da2e67971.js"],"default",1]
|
|
3
3
|
4:I[5092,[],""]
|
|
4
4
|
5:I[2023,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["AqelRhy1vr2nBUcU0Iqcp",[[["",{"children":["app",{"children":["onboarding",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["app",{"children":["onboarding",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","app","children","onboarding","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","app","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/4c58d9cf493aa626.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]],null],null],["$L6",null]]]]
|
|
6
6
|
6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Agent Relay Dashboard"}],["$","meta","3",{"name":"description","content":"Fleet control dashboard for Agent Relay"}],["$","link","4",{"rel":"apple-touch-icon","href":"/apple-icon.png?9e7a840704165ca6","type":"image/png","sizes":"256x256"}]]
|
|
7
7
|
1:null
|
package/out/app.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4c58d9cf493aa626.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-dd93b81e2659669c.js"/><script src="/_next/static/chunks/1dd3208c-40ab0fc0f60392b8.js" async=""></script><script src="/_next/static/chunks/528-d375bc8b46912d2c.js" async=""></script><script src="/_next/static/chunks/main-app-7f73a939a312a228.js" async=""></script><script src="/_next/static/chunks/ab6c8a12-0a58072fbb505134.js" async=""></script><script src="/_next/static/chunks/202-fc0763dd7488e58f.js" async=""></script><script src="/_next/static/chunks/11-9a2993a37266dcb3.js" async=""></script><script src="/_next/static/chunks/118-4c8241b0218335de.js" async=""></script><script src="/_next/static/chunks/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/4c58d9cf493aa626.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-dd93b81e2659669c.js"/><script src="/_next/static/chunks/1dd3208c-40ab0fc0f60392b8.js" async=""></script><script src="/_next/static/chunks/528-d375bc8b46912d2c.js" async=""></script><script src="/_next/static/chunks/main-app-7f73a939a312a228.js" async=""></script><script src="/_next/static/chunks/ab6c8a12-0a58072fbb505134.js" async=""></script><script src="/_next/static/chunks/202-fc0763dd7488e58f.js" async=""></script><script src="/_next/static/chunks/11-9a2993a37266dcb3.js" async=""></script><script src="/_next/static/chunks/118-4c8241b0218335de.js" async=""></script><script src="/_next/static/chunks/687-88b6b139a6bb0e2e.js" async=""></script><script src="/_next/static/chunks/285-dc644487a8d6500d.js" async=""></script><script src="/_next/static/chunks/259-83b77fa1b91ba5aa.js" async=""></script><script src="/_next/static/chunks/app/app/%5B%5B...slug%5D%5D/page-1e81c047cff17212.js" async=""></script><title>Agent Relay Dashboard</title><meta name="description" content="Fleet control dashboard for Agent Relay"/><link rel="apple-touch-icon" href="/apple-icon.png?9e7a840704165ca6" type="image/png" sizes="256x256"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div class="min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center"><div class="text-center"><svg class="w-8 h-8 text-accent-cyan animate-spin mx-auto" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"></path></svg><p class="mt-4 text-text-muted">Loading...</p></div></div><script src="/_next/static/chunks/webpack-dd93b81e2659669c.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/4c58d9cf493aa626.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[8704,[\"440\",\"static/chunks/ab6c8a12-0a58072fbb505134.js\",\"202\",\"static/chunks/202-fc0763dd7488e58f.js\",\"11\",\"static/chunks/11-9a2993a37266dcb3.js\",\"118\",\"static/chunks/118-4c8241b0218335de.js\",\"687\",\"static/chunks/687-88b6b139a6bb0e2e.js\",\"285\",\"static/chunks/285-dc644487a8d6500d.js\",\"259\",\"static/chunks/259-83b77fa1b91ba5aa.js\",\"614\",\"static/chunks/app/app/%5B%5B...slug%5D%5D/page-1e81c047cff17212.js\"],\"default\"]\n5:I[5092,[],\"\"]\n7:I[2023,[],\"\"]\n9:I[1584,[],\"\"]\n6:[\"slug\",\"\",\"oc\"]\na:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L2\",null,{\"buildId\":\"AqelRhy1vr2nBUcU0Iqcp\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"app\"],\"initialTree\":[\"\",{\"children\":[\"app\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"app\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{},[[\"$L3\",[\"$\",\"$L4\",null,{}],null],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"app\",\"children\",\"$6\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"app\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4c58d9cf493aa626.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L8\"],\"globalErrorComponent\":\"$9\",\"missingSlots\":\"$Wa\"}]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Agent Relay Dashboard\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Fleet control dashboard for Agent Relay\"}],[\"$\",\"link\",\"4\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?9e7a840704165ca6\",\"type\":\"image/png\",\"sizes\":\"256x256\"}]]\n3:null\n"])</script></body></html>
|