@agent-relay/dashboard 2.0.87 → 2.0.89
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/270-8c0b8109123a0c5f.js +73 -0
- package/out/_next/static/chunks/{1028-85d028e818d3ef30.js → 9626-10e71fc51b892784.js} +1 -1
- package/out/_next/static/chunks/app/app/[[...slug]]/{page-f33c6214e21ccfdd.js → page-4f01a33b51f23cea.js} +1 -1
- package/out/_next/static/chunks/app/{page-2e38080856c3c293.js → page-2644ed4067d978e0.js} +1 -1
- 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/dev/cli-tools.html +1 -1
- package/out/dev/cli-tools.txt +1 -1
- package/out/dev/log-viewer.html +1 -1
- package/out/dev/log-viewer.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 +1 -1
- package/out/providers/setup/codex.html +1 -1
- package/out/providers/setup/codex.txt +1 -1
- package/out/providers/setup/cursor.html +1 -1
- package/out/providers/setup/cursor.txt +1 -1
- package/out/providers.html +1 -1
- package/out/providers.txt +1 -1
- 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 +4 -3
- package/src/components/ChannelChat.tsx +1 -1
- package/src/components/ChannelSidebar.tsx +2 -2
- package/src/components/hooks/useAllDMs.ts +88 -0
- package/src/components/hooks/useDirectMessage.ts +12 -0
- package/src/lib/relaycastMessageAdapters.test.ts +30 -1
- package/src/lib/relaycastMessageAdapters.ts +28 -7
- package/src/providers/ChannelProvider.tsx +15 -4
- package/src/providers/MessageProvider.tsx +20 -21
- package/src/providers/RelayConfigProvider.tsx +0 -2
- package/out/_next/static/chunks/3238-24c1e4b1cefe3c71.js +0 -73
- /package/out/_next/static/{Z91dsVnsvqDCvvYfCXRXH → SiFRCTvfNgk02ZX5qxVBQ}/_buildManifest.js +0 -0
- /package/out/_next/static/{Z91dsVnsvqDCvvYfCXRXH → SiFRCTvfNgk02ZX5qxVBQ}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2614],{9316:function(e,t,r){Promise.resolve().then(r.bind(r,387))},387:function(e,t,r){"use strict";r.d(t,{default:function(){return h}});var s=r(7573),a=r(7653),o=r(1028),n=r(5634),i=r(5118),l=r(9372),c=r(9175),d=r(2907),x=r(4859);let u=[{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}],m="true"===x.env.NEXT_PUBLIC_FORCE_CLOUD_MODE;function p(){{let e=window.__RELAY_CLOUD_CONFIG__;if(e)return e}return{isCloud:!1}}function h(){let[e,t]=(0,a.useState)("loading"),[r,x]=(0,a.useState)([]),[h,f]=(0,a.useState)([]),[b,g]=(0,a.useState)(null),[w,v]=(0,a.useState)(void 0),[j,k]=(0,a.useState)(null),[N,y]=(0,a.useState)(()=>m||p().isCloud),[C,S]=(0,a.useState)(null),[L,E]=(0,a.useState)(null),[A,M]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/session",{credentials:"include"});if(404===e.status){if(m)throw Error("Cloud mode enforced but session endpoint returned 404. Is the cloud server running?");try{let e=await fetch("/api/health");if(e.ok){let t=await e.json();t.projectName&&localStorage.setItem("relay_username",t.projectName)}}catch(e){}y(!1),t("local");return}let r=e.headers.get("X-CSRF-Token");r&&(S(r),(0,d.ks)(r));let s=await e.json();if(!s.authenticated){window.location.href="/login";return}y(!0);let a={openai:"codex"};if(s.connectedProviders){let e=[];s.connectedProviders.forEach(t=>{e.push(t.provider);let r=a[t.provider];r&&e.push(r)}),M(e)}let[o,n]=await Promise.all([fetch("/api/workspaces/accessible",{credentials:"include"}),fetch("/api/github-app/repos",{credentials:"include"})]);if(!o.ok){if(401===o.status){window.location.href="/login";return}throw Error("Failed to fetch workspaces")}let i=await o.json(),l=n.ok?await n.json():{repositories:[]};x(i.workspaces||[]),f(l.repositories||[]);let c=(i.workspaces||[]).filter(e=>"running"===e.status&&e.publicUrl),u=new URLSearchParams(window.location.search);if((null==u?void 0:u.get("select"))==="true"){window.history.replaceState({},"","/app"),t("select-workspace");return}let p=localStorage.getItem("agentrelay_workspace_id"),h=p&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(p)?p:null;if(h){let e=c.find(e=>e.id===h);if(e){P(e);return}}if(1===c.length)P(c[0]);else if(c.length>1)t("select-workspace");else if((l.repositories||[]).length>0){window.location.href="/app/onboarding";return}else window.location.href="/connect-repos"}catch(e){if(e instanceof TypeError&&e.message.includes("Failed to fetch")){if(m){console.error("Cloud mode enforced but network request failed:",e),k("Cloud mode enforced but failed to connect to server. Is the cloud server running?"),t("error");return}y(!1),t("local");return}console.error("Init error:",e),k(e instanceof Error?e.message:"Failed to initialize"),t("error")}})()},[]);let P=(0,a.useCallback)(e=>{if(!e.publicUrl){k("Workspace has no public URL"),t("error");return}g(e),t("connecting"),(0,i.hc)(e.id);let r=new URL(e.publicUrl),s="https:"===r.protocol?"wss:":"ws:";v("".concat(s,"//").concat(r.host,"/ws")),t("connected")},[]),F=(0,a.useCallback)(async e=>{k(null);try{let r={"Content-Type":"application/json"};C&&(r["X-CSRF-Token"]=C);let s=await fetch("/api/workspaces/quick",{method:"POST",credentials:"include",headers:r,body:JSON.stringify({repositoryFullName:e})}),a=await s.json();if(!s.ok)throw Error(a.error||"Failed to create workspace");let o=Date.now();E({workspaceId:a.workspaceId,workspaceName:e.split("/")[1]||e,stage:null,startedAt:o}),t("provisioning");let n=async e=>{let r=0;for(;r<150;){var s;let a=await fetch("/api/workspaces/".concat(e,"/status"),{credentials:"include"}),o=await a.json();if((null===(s=o.provisioning)||void 0===s?void 0:s.stage)&&E(e=>e?{...e,stage:o.provisioning.stage}:null),"running"===o.status){let r=await fetch("/api/workspaces/".concat(e),{credentials:"include"}),s=await r.json();if(s.publicUrl){E(null),g(s),t("connect-provider");return}}else if("error"===o.status){let e=o.errorMessage||"Workspace provisioning failed";throw Error(e)}await new Promise(e=>setTimeout(e,2e3)),++r%15==0&&console.log("[workspace] Still provisioning... (".concat(Math.floor(2e3*r/1e3),"s elapsed)"))}throw Error("Workspace provisioning timed out after 5 minutes. Please try again or contact support.")};await n(a.workspaceId)}catch(e){console.error("Create workspace error:",e),E(null),k(e instanceof Error?e.message:"Failed to create workspace"),t("no-workspaces")}},[P,C]),z=(0,a.useCallback)(e=>{M(t=>[...new Set([...t,e])])},[]),_=(0,a.useCallback)(()=>{b&&P(b)},[b,P]),I=(0,a.useCallback)(async e=>{t("loading"),k(null);try{let t={};C&&(t["X-CSRF-Token"]=C);let r=await fetch("/api/workspaces/".concat(e.id,"/restart"),{method:"POST",credentials:"include",headers:t});if(!r.ok){let e=await r.json();throw Error(e.error||"Failed to start workspace")}let s=0;for(;s<60;){let t=await fetch("/api/workspaces/".concat(e.id,"/status"),{credentials:"include"}),r=await t.json();if("running"===r.status){let t=await fetch("/api/workspaces/".concat(e.id),{credentials:"include"}),r=await t.json();if(r.publicUrl){P({...e,...r});return}}await new Promise(e=>setTimeout(e,2e3)),s++}throw Error("Workspace start timed out")}catch(e){console.error("Start workspace error:",e),k(e instanceof Error?e.message:"Failed to start workspace"),t("select-workspace")}},[P,C]),U=(0,a.useMemo)(()=>{var e,t,r,s;if(!N)return null;let a=p();return{features:{workspaces:!0,auth:!0,billing:null===(r=null===(e=a.features)||void 0===e?void 0:e.billing)||void 0===r||r,teams:null===(s=null===(t=a.features)||void 0===t?void 0:t.teams)||void 0===s||s},api:(0,d.mb)(),auth:(0,d.gX)(),isCloudMode:!0}},[N]),W=e=>{let t=(0,s.jsx)(o.gV,{wsUrl:null==e?void 0:e.wsUrl,enableReactions:!0});return U?(0,s.jsx)(d.n$,{config:U,children:t}):t};if("loading"===e)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,s.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading..."})]})});if("local"===e)return W();if("connected"===e&&w)return W({wsUrl:w});if("connecting"===e)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,s.jsxs)("p",{className:"mt-4 text-white font-medium",children:["Connecting to ",null==b?void 0:b.name,"..."]}),(0,s.jsx)("p",{className:"mt-2 text-text-muted text-sm",children:null==b?void 0:b.publicUrl})]})});if("provisioning"===e&&L)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsx)("div",{className:"w-full max-w-xl",children:(0,s.jsx)(l.n,{isProvisioning:!0,currentStage:L.stage,workspaceName:L.workspaceName,error:j,onCancel:()=>{E(null),t("no-workspaces")}})})});if("error"===e)return(0,s.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,s.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,s.jsx)("div",{className:"w-16 h-16 mx-auto mb-4 bg-error/20 rounded-full flex items-center justify-center",children:(0,s.jsx)("svg",{className:"w-8 h-8 text-error",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,s.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Something went wrong"}),(0,s.jsx)("p",{className:"text-text-muted mb-6",children:j}),(0,s.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&&b)return(0,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Provider"}),(0,s.jsxs)("p",{className:"mt-2 text-text-muted text-center",children:["Your workspace ",(0,s.jsx)("span",{className:"text-white",children:b.name})," is ready!",(0,s.jsx)("br",{}),"Connect an AI provider to start using agents."]})]}),(0,s.jsx)(c.c,{providers:u,connectedProviders:A,workspaceId:b.id,csrfToken:C||void 0,onProviderConnected:z,onContinue:_,showDetailedInfo:!0})]})]});if("create-workspace"===e){let e=new Set(r.flatMap(e=>{let t=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>t.push(e.toLowerCase()));let r=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return r&&t.push(r[1].toLowerCase()),t})),a=h.filter(t=>!e.has(t.fullName.toLowerCase()));return(0,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Create Workspace"}),(0,s.jsx)("p",{className:"mt-2 text-text-muted",children:"Select a repository to create a workspace"})]}),j&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,s.jsx)("p",{className:"text-error",children:j})}),(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsxs)("button",{onClick:()=>t("select-workspace"),className:"mb-4 flex items-center gap-2 text-text-muted hover:text-white transition-colors text-sm",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),"Back to workspaces"]}),(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Available Repositories"}),(0,s.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,s.jsx)("div",{className:"space-y-3",children:a.map(e=>(0,s.jsxs)("button",{onClick:()=>F(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,s.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,s.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,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,s.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,s.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,s.jsxs)("div",{className:"text-center py-8",children:[(0,s.jsx)("p",{className:"text-text-muted mb-4",children:"All connected repositories already have workspaces."}),(0,s.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,s.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,s.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,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Agent Relay"}),(0,s.jsx)("p",{className:"mt-2 text-text-muted",children:"no-workspaces"===e?"Create a workspace to get started":"Select a workspace"})]}),j&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,s.jsx)("p",{className:"text-error",children:j})}),"select-workspace"===e&&r.length>0&&(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Your Workspaces"}),(0,s.jsx)("div",{className:"space-y-3",children:r.map(e=>(0,s.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,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.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,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"font-medium text-white",children:e.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"running"===e.status?"Running":"provisioning"===e.status?"Starting...":"stopped"===e.status?"Stopped":"Error"})]})]}),(0,s.jsx)("div",{children:"running"===e.status&&e.publicUrl?(0,s.jsx)("button",{onClick:()=>P(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,s.jsx)("button",{onClick:()=>I(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,s.jsx)("span",{className:"text-text-muted text-sm",children:"Starting..."}):"error"===e.status?(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{onClick:()=>I(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,s.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,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,s.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,s.jsx)("span",{className:"text-error text-sm",children:"Failed"})})]},e.id))}),(()=>{let e=new Set(r.flatMap(e=>{let t=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>t.push(e.toLowerCase()));let r=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return r&&t.push(r[1].toLowerCase()),t}));return 0===h.filter(t=>!e.has(t.fullName.toLowerCase())).length?null:(0,s.jsxs)("div",{className:"mt-6 pt-6 border-t border-border-subtle",children:[(0,s.jsx)("p",{className:"text-text-muted text-sm mb-3",children:"Or create a new workspace:"}),(0,s.jsxs)("button",{onClick:()=>t("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,s.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Create"]})]})})()]}),"no-workspaces"===e&&(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Create Your First Workspace"}),(0,s.jsx)("p",{className:"text-text-muted mb-6",children:"Select a repository to create a workspace where agents can work on your code."}),h.length>0?(0,s.jsx)("div",{className:"space-y-3",children:h.map(e=>(0,s.jsxs)("button",{onClick:()=>F(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,s.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,s.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,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,s.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,s.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,s.jsxs)("div",{className:"text-center py-8",children:[(0,s.jsx)("p",{className:"text-text-muted mb-4",children:"No repositories connected yet."}),(0,s.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,s.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,s.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,s.jsxs)("div",{className:"mt-6 flex justify-center gap-4 text-sm",children:[(0,s.jsx)("a",{href:"/connect-repos",className:"text-text-muted hover:text-white transition-colors",children:"Manage Repositories"}),(0,s.jsx)("span",{className:"text-text-muted",children:"\xb7"}),(0,s.jsx)("button",{onClick:async()=>{let e={};C&&(e["X-CSRF-Token"]=C),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,[3440,6940,3238,5118,1705,7894,1028,9372,9175,1293,1528,1744],function(){return e(e.s=9316)}),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2614],{9316:function(e,t,r){Promise.resolve().then(r.bind(r,387))},387:function(e,t,r){"use strict";r.d(t,{default:function(){return h}});var s=r(7573),a=r(7653),o=r(9626),n=r(5634),i=r(5118),l=r(9372),c=r(9175),d=r(2907),x=r(4859);let u=[{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}],m="true"===x.env.NEXT_PUBLIC_FORCE_CLOUD_MODE;function p(){{let e=window.__RELAY_CLOUD_CONFIG__;if(e)return e}return{isCloud:!1}}function h(){let[e,t]=(0,a.useState)("loading"),[r,x]=(0,a.useState)([]),[h,f]=(0,a.useState)([]),[b,g]=(0,a.useState)(null),[w,v]=(0,a.useState)(void 0),[j,k]=(0,a.useState)(null),[N,y]=(0,a.useState)(()=>m||p().isCloud),[C,S]=(0,a.useState)(null),[L,E]=(0,a.useState)(null),[A,M]=(0,a.useState)([]);(0,a.useEffect)(()=>{(async()=>{try{let e=await fetch("/api/auth/session",{credentials:"include"});if(404===e.status){if(m)throw Error("Cloud mode enforced but session endpoint returned 404. Is the cloud server running?");try{let e=await fetch("/api/health");if(e.ok){let t=await e.json();t.projectName&&localStorage.setItem("relay_username",t.projectName)}}catch(e){}y(!1),t("local");return}let r=e.headers.get("X-CSRF-Token");r&&(S(r),(0,d.ks)(r));let s=await e.json();if(!s.authenticated){window.location.href="/login";return}y(!0);let a={openai:"codex"};if(s.connectedProviders){let e=[];s.connectedProviders.forEach(t=>{e.push(t.provider);let r=a[t.provider];r&&e.push(r)}),M(e)}let[o,n]=await Promise.all([fetch("/api/workspaces/accessible",{credentials:"include"}),fetch("/api/github-app/repos",{credentials:"include"})]);if(!o.ok){if(401===o.status){window.location.href="/login";return}throw Error("Failed to fetch workspaces")}let i=await o.json(),l=n.ok?await n.json():{repositories:[]};x(i.workspaces||[]),f(l.repositories||[]);let c=(i.workspaces||[]).filter(e=>"running"===e.status&&e.publicUrl),u=new URLSearchParams(window.location.search);if((null==u?void 0:u.get("select"))==="true"){window.history.replaceState({},"","/app"),t("select-workspace");return}let p=localStorage.getItem("agentrelay_workspace_id"),h=p&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(p)?p:null;if(h){let e=c.find(e=>e.id===h);if(e){P(e);return}}if(1===c.length)P(c[0]);else if(c.length>1)t("select-workspace");else if((l.repositories||[]).length>0){window.location.href="/app/onboarding";return}else window.location.href="/connect-repos"}catch(e){if(e instanceof TypeError&&e.message.includes("Failed to fetch")){if(m){console.error("Cloud mode enforced but network request failed:",e),k("Cloud mode enforced but failed to connect to server. Is the cloud server running?"),t("error");return}y(!1),t("local");return}console.error("Init error:",e),k(e instanceof Error?e.message:"Failed to initialize"),t("error")}})()},[]);let P=(0,a.useCallback)(e=>{if(!e.publicUrl){k("Workspace has no public URL"),t("error");return}g(e),t("connecting"),(0,i.hc)(e.id);let r=new URL(e.publicUrl),s="https:"===r.protocol?"wss:":"ws:";v("".concat(s,"//").concat(r.host,"/ws")),t("connected")},[]),F=(0,a.useCallback)(async e=>{k(null);try{let r={"Content-Type":"application/json"};C&&(r["X-CSRF-Token"]=C);let s=await fetch("/api/workspaces/quick",{method:"POST",credentials:"include",headers:r,body:JSON.stringify({repositoryFullName:e})}),a=await s.json();if(!s.ok)throw Error(a.error||"Failed to create workspace");let o=Date.now();E({workspaceId:a.workspaceId,workspaceName:e.split("/")[1]||e,stage:null,startedAt:o}),t("provisioning");let n=async e=>{let r=0;for(;r<150;){var s;let a=await fetch("/api/workspaces/".concat(e,"/status"),{credentials:"include"}),o=await a.json();if((null===(s=o.provisioning)||void 0===s?void 0:s.stage)&&E(e=>e?{...e,stage:o.provisioning.stage}:null),"running"===o.status){let r=await fetch("/api/workspaces/".concat(e),{credentials:"include"}),s=await r.json();if(s.publicUrl){E(null),g(s),t("connect-provider");return}}else if("error"===o.status){let e=o.errorMessage||"Workspace provisioning failed";throw Error(e)}await new Promise(e=>setTimeout(e,2e3)),++r%15==0&&console.log("[workspace] Still provisioning... (".concat(Math.floor(2e3*r/1e3),"s elapsed)"))}throw Error("Workspace provisioning timed out after 5 minutes. Please try again or contact support.")};await n(a.workspaceId)}catch(e){console.error("Create workspace error:",e),E(null),k(e instanceof Error?e.message:"Failed to create workspace"),t("no-workspaces")}},[P,C]),z=(0,a.useCallback)(e=>{M(t=>[...new Set([...t,e])])},[]),_=(0,a.useCallback)(()=>{b&&P(b)},[b,P]),I=(0,a.useCallback)(async e=>{t("loading"),k(null);try{let t={};C&&(t["X-CSRF-Token"]=C);let r=await fetch("/api/workspaces/".concat(e.id,"/restart"),{method:"POST",credentials:"include",headers:t});if(!r.ok){let e=await r.json();throw Error(e.error||"Failed to start workspace")}let s=0;for(;s<60;){let t=await fetch("/api/workspaces/".concat(e.id,"/status"),{credentials:"include"}),r=await t.json();if("running"===r.status){let t=await fetch("/api/workspaces/".concat(e.id),{credentials:"include"}),r=await t.json();if(r.publicUrl){P({...e,...r});return}}await new Promise(e=>setTimeout(e,2e3)),s++}throw Error("Workspace start timed out")}catch(e){console.error("Start workspace error:",e),k(e instanceof Error?e.message:"Failed to start workspace"),t("select-workspace")}},[P,C]),U=(0,a.useMemo)(()=>{var e,t,r,s;if(!N)return null;let a=p();return{features:{workspaces:!0,auth:!0,billing:null===(r=null===(e=a.features)||void 0===e?void 0:e.billing)||void 0===r||r,teams:null===(s=null===(t=a.features)||void 0===t?void 0:t.teams)||void 0===s||s},api:(0,d.mb)(),auth:(0,d.gX)(),isCloudMode:!0}},[N]),W=e=>{let t=(0,s.jsx)(o.gV,{wsUrl:null==e?void 0:e.wsUrl,enableReactions:!0});return U?(0,s.jsx)(d.n$,{config:U,children:t}):t};if("loading"===e)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,s.jsx)("p",{className:"mt-4 text-text-muted",children:"Loading..."})]})});if("local"===e)return W();if("connected"===e&&w)return W({wsUrl:w});if("connecting"===e)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsxs)("svg",{className:"w-8 h-8 text-accent-cyan animate-spin mx-auto",fill:"none",viewBox:"0 0 24 24",children:[(0,s.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,s.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),(0,s.jsxs)("p",{className:"mt-4 text-white font-medium",children:["Connecting to ",null==b?void 0:b.name,"..."]}),(0,s.jsx)("p",{className:"mt-2 text-text-muted text-sm",children:null==b?void 0:b.publicUrl})]})});if("provisioning"===e&&L)return(0,s.jsx)("div",{className:"min-h-screen bg-gradient-to-br from-[#0a0a0f] via-[#0d1117] to-[#0a0a0f] flex items-center justify-center",children:(0,s.jsx)("div",{className:"w-full max-w-xl",children:(0,s.jsx)(l.n,{isProvisioning:!0,currentStage:L.stage,workspaceName:L.workspaceName,error:j,onCancel:()=>{E(null),t("no-workspaces")}})})});if("error"===e)return(0,s.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,s.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,s.jsx)("div",{className:"w-16 h-16 mx-auto mb-4 bg-error/20 rounded-full flex items-center justify-center",children:(0,s.jsx)("svg",{className:"w-8 h-8 text-error",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),(0,s.jsx)("h2",{className:"text-xl font-semibold text-white mb-2",children:"Something went wrong"}),(0,s.jsx)("p",{className:"text-text-muted mb-6",children:j}),(0,s.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&&b)return(0,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Connect AI Provider"}),(0,s.jsxs)("p",{className:"mt-2 text-text-muted text-center",children:["Your workspace ",(0,s.jsx)("span",{className:"text-white",children:b.name})," is ready!",(0,s.jsx)("br",{}),"Connect an AI provider to start using agents."]})]}),(0,s.jsx)(c.c,{providers:u,connectedProviders:A,workspaceId:b.id,csrfToken:C||void 0,onProviderConnected:z,onContinue:_,showDetailedInfo:!0})]})]});if("create-workspace"===e){let e=new Set(r.flatMap(e=>{let t=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>t.push(e.toLowerCase()));let r=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return r&&t.push(r[1].toLowerCase()),t})),a=h.filter(t=>!e.has(t.fullName.toLowerCase()));return(0,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Create Workspace"}),(0,s.jsx)("p",{className:"mt-2 text-text-muted",children:"Select a repository to create a workspace"})]}),j&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,s.jsx)("p",{className:"text-error",children:j})}),(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsxs)("button",{onClick:()=>t("select-workspace"),className:"mb-4 flex items-center gap-2 text-text-muted hover:text-white transition-colors text-sm",children:[(0,s.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),"Back to workspaces"]}),(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Available Repositories"}),(0,s.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,s.jsx)("div",{className:"space-y-3",children:a.map(e=>(0,s.jsxs)("button",{onClick:()=>F(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,s.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,s.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,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,s.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,s.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,s.jsxs)("div",{className:"text-center py-8",children:[(0,s.jsx)("p",{className:"text-text-muted mb-4",children:"All connected repositories already have workspaces."}),(0,s.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,s.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,s.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,s.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,s.jsx)("div",{className:"fixed inset-0 opacity-10 pointer-events-none",children:(0,s.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,s.jsxs)("div",{className:"relative z-10 w-full max-w-2xl",children:[(0,s.jsxs)("div",{className:"flex flex-col items-center mb-8",children:[(0,s.jsx)(n.K7,{size:48,withGlow:!0}),(0,s.jsx)("h1",{className:"mt-4 text-2xl font-bold text-white",children:"Agent Relay"}),(0,s.jsx)("p",{className:"mt-2 text-text-muted",children:"no-workspaces"===e?"Create a workspace to get started":"Select a workspace"})]}),j&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-error/10 border border-error/20 rounded-xl",children:(0,s.jsx)("p",{className:"text-error",children:j})}),"select-workspace"===e&&r.length>0&&(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Your Workspaces"}),(0,s.jsx)("div",{className:"space-y-3",children:r.map(e=>(0,s.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,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.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,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"font-medium text-white",children:e.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"running"===e.status?"Running":"provisioning"===e.status?"Starting...":"stopped"===e.status?"Stopped":"Error"})]})]}),(0,s.jsx)("div",{children:"running"===e.status&&e.publicUrl?(0,s.jsx)("button",{onClick:()=>P(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,s.jsx)("button",{onClick:()=>I(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,s.jsx)("span",{className:"text-text-muted text-sm",children:"Starting..."}):"error"===e.status?(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("button",{onClick:()=>I(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,s.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,s.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,s.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,s.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,s.jsx)("span",{className:"text-error text-sm",children:"Failed"})})]},e.id))}),(()=>{let e=new Set(r.flatMap(e=>{let t=[];e.repositories&&e.repositories.length>0&&e.repositories.forEach(e=>t.push(e.toLowerCase()));let r=e.name.match(/(?:Workspace for\s+)?(.+\/.+)/i);return r&&t.push(r[1].toLowerCase()),t}));return 0===h.filter(t=>!e.has(t.fullName.toLowerCase())).length?null:(0,s.jsxs)("div",{className:"mt-6 pt-6 border-t border-border-subtle",children:[(0,s.jsx)("p",{className:"text-text-muted text-sm mb-3",children:"Or create a new workspace:"}),(0,s.jsxs)("button",{onClick:()=>t("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,s.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})}),"Create"]})]})})()]}),"no-workspaces"===e&&(0,s.jsxs)("div",{className:"bg-bg-primary/80 backdrop-blur-sm border border-border-subtle rounded-2xl p-6",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold text-white mb-4",children:"Create Your First Workspace"}),(0,s.jsx)("p",{className:"text-text-muted mb-6",children:"Select a repository to create a workspace where agents can work on your code."}),h.length>0?(0,s.jsx)("div",{className:"space-y-3",children:h.map(e=>(0,s.jsxs)("button",{onClick:()=>F(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,s.jsx)("svg",{className:"w-5 h-5 text-text-muted flex-shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,s.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,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-white font-medium truncate",children:e.fullName}),(0,s.jsx)("p",{className:"text-text-muted text-sm",children:e.isPrivate?"Private":"Public"})]}),(0,s.jsx)("svg",{className:"w-5 h-5 text-text-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,s.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},e.id))}):(0,s.jsxs)("div",{className:"text-center py-8",children:[(0,s.jsx)("p",{className:"text-text-muted mb-4",children:"No repositories connected yet."}),(0,s.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,s.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,s.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,s.jsxs)("div",{className:"mt-6 flex justify-center gap-4 text-sm",children:[(0,s.jsx)("a",{href:"/connect-repos",className:"text-text-muted hover:text-white transition-colors",children:"Manage Repositories"}),(0,s.jsx)("span",{className:"text-text-muted",children:"\xb7"}),(0,s.jsx)("button",{onClick:async()=>{let e={};C&&(e["X-CSRF-Token"]=C),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,[3440,6940,270,5118,1705,7894,9626,9372,9175,1293,1528,1744],function(){return e(e.s=9316)}),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{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(
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1931],{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(9626);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,{enableReactions:!0}):(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,[3694,3440,6940,270,1695,5118,1705,9626,1293,1528,1744],function(){return e(e.s=7905)}),_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-7586035f1585f2db.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/eb9fc69d1e3d2bed.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[2132,[\"1695\",\"static/chunks/1695-4a5d33ba715e09b4.js\",\"7301\",\"static/chunks/app/about/page-b78577a7da8fa459.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-7586035f1585f2db.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/eb9fc69d1e3d2bed.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[2132,[\"1695\",\"static/chunks/1695-4a5d33ba715e09b4.js\",\"7301\",\"static/chunks/app/about/page-b78577a7da8fa459.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\":\"SiFRCTvfNgk02ZX5qxVBQ\",\"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/eb9fc69d1e3d2bed.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[2132,["1695","static/chunks/1695-4a5d33ba715e09b4.js","7301","static/chunks/app/about/page-b78577a7da8fa459.js"],"default",1]
|
|
3
3
|
4:I[5092,[],""]
|
|
4
4
|
5:I[2023,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["SiFRCTvfNgk02ZX5qxVBQ",[[["",{"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/eb9fc69d1e3d2bed.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/eb9fc69d1e3d2bed.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7586035f1585f2db.js"/><script src="/_next/static/chunks/1dd3208c-e1f87c7b3dc1a820.js" async=""></script><script src="/_next/static/chunks/1528-78b17000a7e10bc6.js" async=""></script><script src="/_next/static/chunks/main-app-9f6b7ff9e754a8f5.js" async=""></script><script src="/_next/static/chunks/9372-1a804b8d08c7a236.js" async=""></script><script src="/_next/static/chunks/app/app/onboarding/page-b89be9aa6264a5e1.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-7586035f1585f2db.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/eb9fc69d1e3d2bed.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[5428,[],\"ClientPageRoot\"]\n5:I[7657,[\"9372\",\"static/chunks/9372-1a804b8d08c7a236.js\",\"1615\",\"static/chunks/app/app/onboarding/page-b89be9aa6264a5e1.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/eb9fc69d1e3d2bed.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7586035f1585f2db.js"/><script src="/_next/static/chunks/1dd3208c-e1f87c7b3dc1a820.js" async=""></script><script src="/_next/static/chunks/1528-78b17000a7e10bc6.js" async=""></script><script src="/_next/static/chunks/main-app-9f6b7ff9e754a8f5.js" async=""></script><script src="/_next/static/chunks/9372-1a804b8d08c7a236.js" async=""></script><script src="/_next/static/chunks/app/app/onboarding/page-b89be9aa6264a5e1.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-7586035f1585f2db.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/eb9fc69d1e3d2bed.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[5428,[],\"ClientPageRoot\"]\n5:I[7657,[\"9372\",\"static/chunks/9372-1a804b8d08c7a236.js\",\"1615\",\"static/chunks/app/app/onboarding/page-b89be9aa6264a5e1.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\":\"SiFRCTvfNgk02ZX5qxVBQ\",\"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/eb9fc69d1e3d2bed.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,["9372","static/chunks/9372-1a804b8d08c7a236.js","1615","static/chunks/app/app/onboarding/page-b89be9aa6264a5e1.js"],"default",1]
|
|
3
3
|
4:I[5092,[],""]
|
|
4
4
|
5:I[2023,[],""]
|
|
5
|
-
0:["
|
|
5
|
+
0:["SiFRCTvfNgk02ZX5qxVBQ",[[["",{"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/eb9fc69d1e3d2bed.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/eb9fc69d1e3d2bed.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7586035f1585f2db.js"/><script src="/_next/static/chunks/1dd3208c-e1f87c7b3dc1a820.js" async=""></script><script src="/_next/static/chunks/1528-78b17000a7e10bc6.js" async=""></script><script src="/_next/static/chunks/main-app-9f6b7ff9e754a8f5.js" async=""></script><script src="/_next/static/chunks/ab6c8a12-91438a812d94ecf0.js" async=""></script><script src="/_next/static/chunks/6940-b824612b605e79b3.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/eb9fc69d1e3d2bed.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7586035f1585f2db.js"/><script src="/_next/static/chunks/1dd3208c-e1f87c7b3dc1a820.js" async=""></script><script src="/_next/static/chunks/1528-78b17000a7e10bc6.js" async=""></script><script src="/_next/static/chunks/main-app-9f6b7ff9e754a8f5.js" async=""></script><script src="/_next/static/chunks/ab6c8a12-91438a812d94ecf0.js" async=""></script><script src="/_next/static/chunks/6940-b824612b605e79b3.js" async=""></script><script src="/_next/static/chunks/270-8c0b8109123a0c5f.js" async=""></script><script src="/_next/static/chunks/5118-de1c8f968feab8e2.js" async=""></script><script src="/_next/static/chunks/1705-36c2180d00a4a569.js" async=""></script><script src="/_next/static/chunks/7894-f4a15249082a680d.js" async=""></script><script src="/_next/static/chunks/9626-10e71fc51b892784.js" async=""></script><script src="/_next/static/chunks/9372-1a804b8d08c7a236.js" async=""></script><script src="/_next/static/chunks/9175-b3617c1e5cbfed0e.js" async=""></script><script src="/_next/static/chunks/app/app/%5B%5B...slug%5D%5D/page-4f01a33b51f23cea.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-7586035f1585f2db.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/eb9fc69d1e3d2bed.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"2:I[1815,[],\"\"]\n4:I[387,[\"3440\",\"static/chunks/ab6c8a12-91438a812d94ecf0.js\",\"6940\",\"static/chunks/6940-b824612b605e79b3.js\",\"270\",\"static/chunks/270-8c0b8109123a0c5f.js\",\"5118\",\"static/chunks/5118-de1c8f968feab8e2.js\",\"1705\",\"static/chunks/1705-36c2180d00a4a569.js\",\"7894\",\"static/chunks/7894-f4a15249082a680d.js\",\"9626\",\"static/chunks/9626-10e71fc51b892784.js\",\"9372\",\"static/chunks/9372-1a804b8d08c7a236.js\",\"9175\",\"static/chunks/9175-b3617c1e5cbfed0e.js\",\"2614\",\"static/chunks/app/app/%5B%5B...slug%5D%5D/page-4f01a33b51f23cea.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\":\"SiFRCTvfNgk02ZX5qxVBQ\",\"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/eb9fc69d1e3d2bed.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>
|
package/out/app.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
2:I[387,["3440","static/chunks/ab6c8a12-91438a812d94ecf0.js","6940","static/chunks/6940-b824612b605e79b3.js","
|
|
1
|
+
2:I[387,["3440","static/chunks/ab6c8a12-91438a812d94ecf0.js","6940","static/chunks/6940-b824612b605e79b3.js","270","static/chunks/270-8c0b8109123a0c5f.js","5118","static/chunks/5118-de1c8f968feab8e2.js","1705","static/chunks/1705-36c2180d00a4a569.js","7894","static/chunks/7894-f4a15249082a680d.js","9626","static/chunks/9626-10e71fc51b892784.js","9372","static/chunks/9372-1a804b8d08c7a236.js","9175","static/chunks/9175-b3617c1e5cbfed0e.js","2614","static/chunks/app/app/%5B%5B...slug%5D%5D/page-4f01a33b51f23cea.js"],"default"]
|
|
2
2
|
3:I[5092,[],""]
|
|
3
3
|
5:I[2023,[],""]
|
|
4
4
|
4:["slug","","oc"]
|
|
5
|
-
0:["
|
|
5
|
+
0:["SiFRCTvfNgk02ZX5qxVBQ",[[["",{"children":["app",{"children":[["slug","","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["app",{"children":[["slug","","oc"],{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{}],null],null],null]},[null,["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","app","children","$4","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L3",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/eb9fc69d1e3d2bed.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L3",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
|
|
@@ -35,4 +35,4 @@ await client.send('Worker', 'Hello from my app');</code></pr
|
|
|
35
35
|
transition-all duration-300
|
|
36
36
|
drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]
|
|
37
37
|
|
|
38
|
-
" 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-7586035f1585f2db.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/eb9fc69d1e3d2bed.css\",\"style\"]\n2:HL[\"/_next/static/css/629d21db423c78a2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[1815,[],\"\"]\n5:I[5092,[],\"\"]\n6:I[2023,[],\"\"]\n8:I[1584,[],\"\"]\n9:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"Z91dsVnsvqDCvvYfCXRXH\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"blog\",\"go-to-bed-wake-up-to-a-finished-product\"],\"initialTree\":[\"\",{\"children\":[\"blog\",{\"children\":[\"go-to-bed-wake-up-to-a-finished-product\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"blog\",{\"children\":[\"go-to-bed-wake-up-to-a-finished-product\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[\"$\",\"div\",null,{\"className\":\"landing-page static-page\",\"children\":[[\"$\",\"div\",null,{\"className\":\"landing-bg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid-bg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid-lines\"}],[\"$\",\"div\",null,{\"className\":\"grid-glow\"}]]}],[\"$\",\"div\",null,{\"className\":\"glow-orbs\",\"children\":[[\"$\",\"div\",null,{\"className\":\"orb orb-1\"}],[\"$\",\"div\",null,{\"className\":\"orb orb-2\"}],[\"$\",\"div\",null,{\"className\":\"orb orb-3\"}]]}]]}],[\"$\",\"nav\",null,{\"className\":\"nav scrolled\",\"children\":[\"$\",\"div\",null,{\"className\":\"nav-inner\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"nav-logo\",\"children\":[[\"$\",\"svg\",null,{\"width\":28,\"height\":28,\"viewBox\":\"0 0 100 100\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"\\n transition-all duration-300\\n drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]\\n \\n \",\"aria-label\":\"Agent Relay Logo\",\"role\":\"img\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M30 80 L 50 20 L 70 80\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinejoin\":\"round\",\"strokeLinecap\":\"round\",\"fill\":\"none\"}],[\"$\",\"line\",null,{\"x1\":\"40\",\"y1\":\"50\",\"x2\":\"60\",\"y2\":\"50\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinecap\":\"round\"}],[\"$\",\"path\",null,{\"d\":\"M50 20 L 50 80\",\"stroke\":\"#00ffc8\",\"strokeWidth\":\"2.5\",\"strokeLinecap\":\"round\",\"opacity\":\"0.7\"}],[\"$\",\"path\",null,{\"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\"}]]}],[\"$\",\"span\",null,{\"className\":\"logo-text\",\"children\":\"Agent Relay\"}]]}],[\"$\",\"div\",null,{\"className\":\"nav-links\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/#demo\",\"children\":\"Demo\"}],[\"$\",\"a\",null,{\"href\":\"/#features\",\"children\":\"Features\"}],[\"$\",\"a\",null,{\"href\":\"/pricing\",\"children\":\"Pricing\"}],[\"$\",\"a\",null,{\"href\":\"https://docs.agent-relay.com/\",\"className\":\"nav-docs\",\"children\":\"Docs\"}]]}],[\"$\",\"div\",null,{\"className\":\"nav-actions\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/login\",\"className\":\"btn-ghost\",\"children\":\"Sign In\"}],[\"$\",\"a\",null,{\"href\":\"/signup\",\"className\":\"btn-primary\",\"children\":\"Get Started\"}]]}]]}]}],[\"$\",\"main\",null,{\"children\":[[\"$\",\"section\",null,{\"className\":\"static-hero\",\"children\":[\"$\",\"div\",null,{\"className\":\"static-hero-content\",\"children\":[[\"$\",\"h1\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"/blog\",\"style\":{\"color\":\"inherit\",\"textDecoration\":\"none\"},\"children\":\"Blog\"}]}],[\"$\",\"p\",null,{\"className\":\"static-subtitle\",\"children\":\"News, tutorials, and insights from the Agent Relay team.\"}],\"$undefined\"]}]}],[\"$\",\"section\",null,{\"className\":\"static-content\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-container\",\"children\":[[\"$\",\"article\",null,{\"className\":\"blog-post\",\"children\":[[\"$\",\"img\",null,{\"src\":\"/blog/go-to-bed-wake-up-to-a-finished-product.svg\",\"alt\":\"Go to Bed, Wake Up to a Finished Product\",\"style\":{\"width\":\"100%\",\"height\":\"auto\",\"borderRadius\":\"12px\",\"marginBottom\":\"32px\"}}],[\"$\",\"div\",null,{\"className\":\"blog-post-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"blog-meta\",\"children\":[[\"$\",\"span\",null,{\"className\":\"blog-category\",\"children\":\"Vision\"}],[\"$\",\"span\",null,{\"children\":\"February 1, 2026\"}],[\"$\",\"span\",null,{\"className\":\"blog-author\",\"children\":[\"by \",[\"$\",\"a\",null,{\"href\":\"https://x.com/khaliqgant\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Khaliq Gant\"}]]}]]}],[\"$\",\"h2\",null,{\"className\":\"blog-post-title\",\"children\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"p\",null,{\"className\":\"blog-post-subtitle\",\"children\":\"How agent-to-agent communication is changing autonomous development\"}]]}],[\"$\",\"div\",null,{\"className\":\"blog-post-content\",\"children\":[[\"$\",\"p\",\"0\",{\"dangerouslySetInnerHTML\":{\"__html\":\"The clear and obvious takeaway from \u003ca href=\\\"https://openclaw.ai/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eOpenClaw\u003c/a\u003e (Moltbot) and \u003ca href=\\\"https://www.moltbook.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eMoltbook\u003c/a\u003e is that agent-to-agent communication is first of all weird and fascinating, but the potential this unlocks is also unprecedented and potentially revolutionary.\"}}],[\"$\",\"p\",\"1\",{\"dangerouslySetInnerHTML\":{\"__html\":\"On December 16th, we started a project where we wanted to get two Claude agents to play tic-tac-toe against each other. We first dug into Agent Mail and \u003ca href=\\\"https://github.com/Dicklesworthstone/mcp_agent_mail/pull/33\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003emade a proof of concept\u003c/a\u003e there, but quickly realized the limitations of a pull-based methodology. We kept digging and quickly realized the only way to get an agent to autonomously interact with other agents is a push-based method that delivers messages directly to their input. So was born \u003ca href=\\\"https://github.com/AgentWorkforce/relay\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eAgent Relay\u003c/a\u003e.\"}}],[\"$\",\"h2\",\"2\",{\"children\":\"Ok...I'm intrigued, go on...\"}],[\"$\",\"p\",\"3\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Agent-to-agent communication across any CLI tool (Codex, Claude, Gemini, OpenCode, Droid, etc.) is possible \u003cstrong\u003eright now\u003c/strong\u003e for any task. This can be done via an easy-to-use SDK or the relay-dashboard where you can see messages across agents, chat, spawn and release agents as needed.\"}}],[\"$\",\"p\",\"4\",{\"dangerouslySetInnerHTML\":{\"__html\":\"At the base level, Agent Relay is a protocol which makes it easy and reliable to stage CLI-agnostic agent-to-agent communication. The tools built on top of that protocol are the \u003ca href=\\\"https://github.com/AgentWorkforce/relay-dashboard/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003erelay-dashboard\u003c/a\u003e and \u003ca href=\\\"https://github.com/AgentWorkforce/relay-tui\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003erelay-tui\u003c/a\u003e — but could be relay-slack, relay-discord -- you name it!\"}}],[\"$\",\"p\",\"5\",{\"dangerouslySetInnerHTML\":{\"__html\":\"As we see with Moltbook and what I've seen for the past month: \u003cstrong\u003eagents are creative, efficient, sometimes lazy and cut corners, chatty, and but mostly it is clear that they work quite effectively when given roles and clear responsibilities.\u003c/strong\u003e\"}}],[\"$\",\"p\",\"6\",{\"dangerouslySetInnerHTML\":{\"__html\":\"I kept finding myself as the clear bottleneck when working on projects, so removing myself and replacing with an agent is a huge accelerator. I found myself spending more time planning and producing detailed specs. I'd hand that to a \\\"Lead\\\" agent, ask them to review it, staff a team accordingly, and just let me know of any blockers.\"}}],[\"$\",\"p\",\"7\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Then I would \u003ca href=\\\"https://x.com/khaliqgant/status/2008325804741071079\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003ego to bed\u003c/a\u003e and wake up to a finished product.\"}}],[\"$\",\"h2\",\"8\",{\"children\":\"Why Not Just Sub-Agents?\"}],[\"$\",\"p\",\"9\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Using actual agent instances is a more powerful abstraction. Your agents can create sub-agents, giving the agent much more power. When giving a sub-agent a task too big or complex, it'll often hit compaction (context window limits) and just stop—which completely breaks the autonomous workflow we're looking for.\"}}],[\"$\",\"h2\",\"10\",{\"children\":\"How Do I Use This?\"}],[\"$\",\"p\",\"11\",{\"dangerouslySetInnerHTML\":{\"__html\":\"There are a few ways to use Relay:\"}}],[\"$\",\"h3\",\"12\",{\"children\":\"For Developers\"}],[\"$\",\"p\",\"13\",{\"dangerouslySetInnerHTML\":{\"__html\":\"\u003cstrong\u003e1.\u003c/strong\u003e Start a relay server and use the dashboard to spawn and chat with agents:\"}}],[\"$\",\"pre\",\"14\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"npm install -g agent-relay\\nagent-relay up --dashboard\"}]}],[\"$\",\"p\",\"15\",{\"dangerouslySetInnerHTML\":{\"__html\":\"\u003cstrong\u003e2.\u003c/strong\u003e Start a \u003ccode\u003eclaude\u003c/code\u003e | \u003ccode\u003ecodex\u003c/code\u003e etc session and tell it to install and start agent-relay by following the instructions here:\"}}],[\"$\",\"pre\",\"16\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"$$ claude\\n\\n╭────────────────────────────────────────╮\\n│ ✻ Welcome to Claude Code! │\\n│ │\\n│ /help for help │\\n│ │\\n╰────────────────────────────────────────╯\\n\\n\u003e Install and configure agent-relay by following the instructions here:\\n curl -s https://raw.githubusercontent.com/AgentWorkforce/relay/main/docs/guide/agent-setup.md\"}]}],[\"$\",\"p\",\"17\",{\"dangerouslySetInnerHTML\":{\"__html\":\"The agent will read the setup guide and start a relay session, ready to coordinate with other agents.\"}}],[\"$\",\"h3\",\"18\",{\"children\":\"For Library Developers\"}],[\"$\",\"p\",\"19\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Use our SDK to enable agent-to-agent communication in your app:\"}}],[\"$\",\"pre\",\"20\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"# Install agent relay and start the broker\\nnpm install -g agent-relay\\nagent-relay up\\n\\n# In your project\\nnpm install agent-relay\"}]}],[\"$\",\"pre\",\"21\",{\"className\":\"code-block\",\"data-lang\":\"javascript\",\"children\":[\"$\",\"code\",null,{\"children\":\"import { RelayClient } from 'agent-relay';\\n\\nconst client = new RelayClient({ name: 'MyApp' });\\nawait client.connect();\\n\\n// Spawn a worker agent\\nawait client.spawn({\\n name: 'Worker',\\n cli: 'claude',\\n task: 'Wait for instructions'\\n});\\n\\n// Send it a message\\nawait client.send('Worker', 'Hello from my app');\"}]}],[\"$\",\"p\",\"22\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Check out our \u003ca href=\\\"https://docs.agent-relay.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003edocs\u003c/a\u003e for more info.\"}}],[\"$\",\"h2\",\"23\",{\"children\":\"What's Next\"}],[\"$\",\"p\",\"24\",{\"dangerouslySetInnerHTML\":{\"__html\":\"We're super excited for what's to come. \u003ca href=\\\"https://agent-relay.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eAgent Relay Cloud\u003c/a\u003e allows you, via GitHub login, to link your repository to your own private workspace server. Using your Claude, Codex, Gemini, or Cursor login, you can spawn agents and have them work 24/7 against your repo using the dashboard.\"}}],[\"$\",\"p\",\"25\",{\"dangerouslySetInnerHTML\":{\"__html\":\"You and your teammates who have access to the repository can interact with agents, giving instructions in different topic-based channels to help organize agent work. You can have agents review pull requests, work on documentation—all with authenticated access to your GitHub repo.\"}}],[\"$\",\"p\",\"26\",{\"dangerouslySetInnerHTML\":{\"__html\":\"This is just the beginning. GitHub is the first context we've unlocked. This will be extended to other integrations like Notion, Slack, Outlook, etc., so agents can operate 24/7 and accelerate your workflows.\"}}]]}]]}],[\"$\",\"hr\",null,{\"style\":{\"border\":\"none\",\"borderTop\":\"1px solid var(--border-subtle)\",\"margin\":\"48px 0\"}}],[\"$\",\"h2\",null,{\"children\":\"Stay Updated\"}],[\"$\",\"p\",null,{\"children\":[\"Follow us on \",[\"$\",\"a\",null,{\"href\":\"https://twitter.com/agent_relay\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Twitter\"}],\" for the latest updates and more content.\"]}]]}]}]]}],[\"$\",\"footer\",null,{\"className\":\"footer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-inner\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-brand\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"footer-logo\",\"children\":[[\"$\",\"svg\",null,{\"width\":24,\"height\":24,\"viewBox\":\"0 0 100 100\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"\\n transition-all duration-300\\n drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]\\n \\n \",\"aria-label\":\"Agent Relay Logo\",\"role\":\"img\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M30 80 L 50 20 L 70 80\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinejoin\":\"round\",\"strokeLinecap\":\"round\",\"fill\":\"none\"}],[\"$\",\"line\",null,{\"x1\":\"40\",\"y1\":\"50\",\"x2\":\"60\",\"y2\":\"50\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinecap\":\"round\"}],[\"$\",\"path\",null,{\"d\":\"M50 20 L 50 80\",\"stroke\":\"#00ffc8\",\"strokeWidth\":\"2.5\",\"strokeLinecap\":\"round\",\"opacity\":\"0.7\"}],[\"$\",\"path\",null,{\"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\"}]]}],[\"$\",\"span\",null,{\"className\":\"logo-text\",\"children\":\"Agent Relay\"}]]}],[\"$\",\"p\",null,{\"children\":\"Orchestrate AI agents like a symphony.\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Product\"}],[\"$\",\"a\",null,{\"href\":\"/#features\",\"children\":\"Features\"}],[\"$\",\"a\",null,{\"href\":\"/pricing\",\"children\":\"Pricing\"}],[\"$\",\"a\",null,{\"href\":\"https://docs.agent-relay.com/\",\"children\":\"Documentation\"}],[\"$\",\"a\",null,{\"href\":\"/changelog\",\"children\":\"Changelog\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Company\"}],[\"$\",\"a\",null,{\"href\":\"/about\",\"children\":\"About\"}],[\"$\",\"a\",null,{\"href\":\"/blog\",\"children\":\"Blog\"}],[\"$\",\"a\",null,{\"href\":\"/careers\",\"children\":\"Careers\"}],[\"$\",\"a\",null,{\"href\":\"/contact\",\"children\":\"Contact\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Legal\"}],[\"$\",\"a\",null,{\"href\":\"/privacy\",\"children\":\"Privacy\"}],[\"$\",\"a\",null,{\"href\":\"/terms\",\"children\":\"Terms\"}],[\"$\",\"a\",null,{\"href\":\"/security\",\"children\":\"Security\"}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"footer-bottom\",\"children\":[[\"$\",\"p\",null,{\"children\":\"© 2026 Agent Relay. All rights reserved.\"}],[\"$\",\"div\",null,{\"className\":\"social-links\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://github.com/AgentWorkforce/relay\",\"aria-label\":\"GitHub\",\"children\":[\"$\",\"svg\",null,{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"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\"}]}]}],[\"$\",\"a\",null,{\"href\":\"https://twitter.com/agent_relay\",\"aria-label\":\"Twitter\",\"children\":[\"$\",\"svg\",null,{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"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\"}]}]}]]}]]}]]}]]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/629d21db423c78a2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"blog\",\"children\",\"go-to-bed-wake-up-to-a-finished-product\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"blog\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eb9fc69d1e3d2bed.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\":[\"$\",\"$L6\",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,\"$L7\"],\"globalErrorComponent\":\"$8\",\"missingSlots\":\"$W9\"}]\n"])</script><script>self.__next_f.push([1,"7:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Go to Bed, Wake Up to a Finished Product | Agent Relay Blog\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Agent-to-agent communication is weird, fascinating, and potentially revolutionary. Here's how I built a system where agents work autonomously while I sleep.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"How agent-to-agent communication is changing autonomous development\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"Agent Relay\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product.svg\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"Go to Bed, Wake Up to a Finished Product - Agent Relay\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"13\",{\"property\":\"article:published_time\",\"content\":\"2026-02-01\"}],[\"$\",\"meta\",\"14\",{\"property\":\"article:author\",\"content\":\"Khaliq Gant\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"How agent-to-agent communication is changing autonomous development\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product.svg\"}],[\"$\",\"link\",\"19\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?9e7a840704165ca6\",\"type\":\"image/png\",\"sizes\":\"256x256\"}]]\n4:null\n"])</script></body></html>
|
|
38
|
+
" 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-7586035f1585f2db.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/eb9fc69d1e3d2bed.css\",\"style\"]\n2:HL[\"/_next/static/css/629d21db423c78a2.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[1815,[],\"\"]\n5:I[5092,[],\"\"]\n6:I[2023,[],\"\"]\n8:I[1584,[],\"\"]\n9:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L3\",null,{\"buildId\":\"SiFRCTvfNgk02ZX5qxVBQ\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"blog\",\"go-to-bed-wake-up-to-a-finished-product\"],\"initialTree\":[\"\",{\"children\":[\"blog\",{\"children\":[\"go-to-bed-wake-up-to-a-finished-product\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"blog\",{\"children\":[\"go-to-bed-wake-up-to-a-finished-product\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[\"$\",\"div\",null,{\"className\":\"landing-page static-page\",\"children\":[[\"$\",\"div\",null,{\"className\":\"landing-bg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid-bg\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid-lines\"}],[\"$\",\"div\",null,{\"className\":\"grid-glow\"}]]}],[\"$\",\"div\",null,{\"className\":\"glow-orbs\",\"children\":[[\"$\",\"div\",null,{\"className\":\"orb orb-1\"}],[\"$\",\"div\",null,{\"className\":\"orb orb-2\"}],[\"$\",\"div\",null,{\"className\":\"orb orb-3\"}]]}]]}],[\"$\",\"nav\",null,{\"className\":\"nav scrolled\",\"children\":[\"$\",\"div\",null,{\"className\":\"nav-inner\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"nav-logo\",\"children\":[[\"$\",\"svg\",null,{\"width\":28,\"height\":28,\"viewBox\":\"0 0 100 100\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"\\n transition-all duration-300\\n drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]\\n \\n \",\"aria-label\":\"Agent Relay Logo\",\"role\":\"img\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M30 80 L 50 20 L 70 80\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinejoin\":\"round\",\"strokeLinecap\":\"round\",\"fill\":\"none\"}],[\"$\",\"line\",null,{\"x1\":\"40\",\"y1\":\"50\",\"x2\":\"60\",\"y2\":\"50\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinecap\":\"round\"}],[\"$\",\"path\",null,{\"d\":\"M50 20 L 50 80\",\"stroke\":\"#00ffc8\",\"strokeWidth\":\"2.5\",\"strokeLinecap\":\"round\",\"opacity\":\"0.7\"}],[\"$\",\"path\",null,{\"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\"}]]}],[\"$\",\"span\",null,{\"className\":\"logo-text\",\"children\":\"Agent Relay\"}]]}],[\"$\",\"div\",null,{\"className\":\"nav-links\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/#demo\",\"children\":\"Demo\"}],[\"$\",\"a\",null,{\"href\":\"/#features\",\"children\":\"Features\"}],[\"$\",\"a\",null,{\"href\":\"/pricing\",\"children\":\"Pricing\"}],[\"$\",\"a\",null,{\"href\":\"https://docs.agent-relay.com/\",\"className\":\"nav-docs\",\"children\":\"Docs\"}]]}],[\"$\",\"div\",null,{\"className\":\"nav-actions\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/login\",\"className\":\"btn-ghost\",\"children\":\"Sign In\"}],[\"$\",\"a\",null,{\"href\":\"/signup\",\"className\":\"btn-primary\",\"children\":\"Get Started\"}]]}]]}]}],[\"$\",\"main\",null,{\"children\":[[\"$\",\"section\",null,{\"className\":\"static-hero\",\"children\":[\"$\",\"div\",null,{\"className\":\"static-hero-content\",\"children\":[[\"$\",\"h1\",null,{\"children\":[\"$\",\"a\",null,{\"href\":\"/blog\",\"style\":{\"color\":\"inherit\",\"textDecoration\":\"none\"},\"children\":\"Blog\"}]}],[\"$\",\"p\",null,{\"className\":\"static-subtitle\",\"children\":\"News, tutorials, and insights from the Agent Relay team.\"}],\"$undefined\"]}]}],[\"$\",\"section\",null,{\"className\":\"static-content\",\"children\":[\"$\",\"div\",null,{\"className\":\"content-container\",\"children\":[[\"$\",\"article\",null,{\"className\":\"blog-post\",\"children\":[[\"$\",\"img\",null,{\"src\":\"/blog/go-to-bed-wake-up-to-a-finished-product.svg\",\"alt\":\"Go to Bed, Wake Up to a Finished Product\",\"style\":{\"width\":\"100%\",\"height\":\"auto\",\"borderRadius\":\"12px\",\"marginBottom\":\"32px\"}}],[\"$\",\"div\",null,{\"className\":\"blog-post-header\",\"children\":[[\"$\",\"div\",null,{\"className\":\"blog-meta\",\"children\":[[\"$\",\"span\",null,{\"className\":\"blog-category\",\"children\":\"Vision\"}],[\"$\",\"span\",null,{\"children\":\"February 1, 2026\"}],[\"$\",\"span\",null,{\"className\":\"blog-author\",\"children\":[\"by \",[\"$\",\"a\",null,{\"href\":\"https://x.com/khaliqgant\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Khaliq Gant\"}]]}]]}],[\"$\",\"h2\",null,{\"className\":\"blog-post-title\",\"children\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"p\",null,{\"className\":\"blog-post-subtitle\",\"children\":\"How agent-to-agent communication is changing autonomous development\"}]]}],[\"$\",\"div\",null,{\"className\":\"blog-post-content\",\"children\":[[\"$\",\"p\",\"0\",{\"dangerouslySetInnerHTML\":{\"__html\":\"The clear and obvious takeaway from \u003ca href=\\\"https://openclaw.ai/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eOpenClaw\u003c/a\u003e (Moltbot) and \u003ca href=\\\"https://www.moltbook.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eMoltbook\u003c/a\u003e is that agent-to-agent communication is first of all weird and fascinating, but the potential this unlocks is also unprecedented and potentially revolutionary.\"}}],[\"$\",\"p\",\"1\",{\"dangerouslySetInnerHTML\":{\"__html\":\"On December 16th, we started a project where we wanted to get two Claude agents to play tic-tac-toe against each other. We first dug into Agent Mail and \u003ca href=\\\"https://github.com/Dicklesworthstone/mcp_agent_mail/pull/33\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003emade a proof of concept\u003c/a\u003e there, but quickly realized the limitations of a pull-based methodology. We kept digging and quickly realized the only way to get an agent to autonomously interact with other agents is a push-based method that delivers messages directly to their input. So was born \u003ca href=\\\"https://github.com/AgentWorkforce/relay\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eAgent Relay\u003c/a\u003e.\"}}],[\"$\",\"h2\",\"2\",{\"children\":\"Ok...I'm intrigued, go on...\"}],[\"$\",\"p\",\"3\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Agent-to-agent communication across any CLI tool (Codex, Claude, Gemini, OpenCode, Droid, etc.) is possible \u003cstrong\u003eright now\u003c/strong\u003e for any task. This can be done via an easy-to-use SDK or the relay-dashboard where you can see messages across agents, chat, spawn and release agents as needed.\"}}],[\"$\",\"p\",\"4\",{\"dangerouslySetInnerHTML\":{\"__html\":\"At the base level, Agent Relay is a protocol which makes it easy and reliable to stage CLI-agnostic agent-to-agent communication. The tools built on top of that protocol are the \u003ca href=\\\"https://github.com/AgentWorkforce/relay-dashboard/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003erelay-dashboard\u003c/a\u003e and \u003ca href=\\\"https://github.com/AgentWorkforce/relay-tui\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003erelay-tui\u003c/a\u003e — but could be relay-slack, relay-discord -- you name it!\"}}],[\"$\",\"p\",\"5\",{\"dangerouslySetInnerHTML\":{\"__html\":\"As we see with Moltbook and what I've seen for the past month: \u003cstrong\u003eagents are creative, efficient, sometimes lazy and cut corners, chatty, and but mostly it is clear that they work quite effectively when given roles and clear responsibilities.\u003c/strong\u003e\"}}],[\"$\",\"p\",\"6\",{\"dangerouslySetInnerHTML\":{\"__html\":\"I kept finding myself as the clear bottleneck when working on projects, so removing myself and replacing with an agent is a huge accelerator. I found myself spending more time planning and producing detailed specs. I'd hand that to a \\\"Lead\\\" agent, ask them to review it, staff a team accordingly, and just let me know of any blockers.\"}}],[\"$\",\"p\",\"7\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Then I would \u003ca href=\\\"https://x.com/khaliqgant/status/2008325804741071079\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003ego to bed\u003c/a\u003e and wake up to a finished product.\"}}],[\"$\",\"h2\",\"8\",{\"children\":\"Why Not Just Sub-Agents?\"}],[\"$\",\"p\",\"9\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Using actual agent instances is a more powerful abstraction. Your agents can create sub-agents, giving the agent much more power. When giving a sub-agent a task too big or complex, it'll often hit compaction (context window limits) and just stop—which completely breaks the autonomous workflow we're looking for.\"}}],[\"$\",\"h2\",\"10\",{\"children\":\"How Do I Use This?\"}],[\"$\",\"p\",\"11\",{\"dangerouslySetInnerHTML\":{\"__html\":\"There are a few ways to use Relay:\"}}],[\"$\",\"h3\",\"12\",{\"children\":\"For Developers\"}],[\"$\",\"p\",\"13\",{\"dangerouslySetInnerHTML\":{\"__html\":\"\u003cstrong\u003e1.\u003c/strong\u003e Start a relay server and use the dashboard to spawn and chat with agents:\"}}],[\"$\",\"pre\",\"14\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"npm install -g agent-relay\\nagent-relay up --dashboard\"}]}],[\"$\",\"p\",\"15\",{\"dangerouslySetInnerHTML\":{\"__html\":\"\u003cstrong\u003e2.\u003c/strong\u003e Start a \u003ccode\u003eclaude\u003c/code\u003e | \u003ccode\u003ecodex\u003c/code\u003e etc session and tell it to install and start agent-relay by following the instructions here:\"}}],[\"$\",\"pre\",\"16\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"$$ claude\\n\\n╭────────────────────────────────────────╮\\n│ ✻ Welcome to Claude Code! │\\n│ │\\n│ /help for help │\\n│ │\\n╰────────────────────────────────────────╯\\n\\n\u003e Install and configure agent-relay by following the instructions here:\\n curl -s https://raw.githubusercontent.com/AgentWorkforce/relay/main/docs/guide/agent-setup.md\"}]}],[\"$\",\"p\",\"17\",{\"dangerouslySetInnerHTML\":{\"__html\":\"The agent will read the setup guide and start a relay session, ready to coordinate with other agents.\"}}],[\"$\",\"h3\",\"18\",{\"children\":\"For Library Developers\"}],[\"$\",\"p\",\"19\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Use our SDK to enable agent-to-agent communication in your app:\"}}],[\"$\",\"pre\",\"20\",{\"className\":\"code-block\",\"data-lang\":\"bash\",\"children\":[\"$\",\"code\",null,{\"children\":\"# Install agent relay and start the broker\\nnpm install -g agent-relay\\nagent-relay up\\n\\n# In your project\\nnpm install agent-relay\"}]}],[\"$\",\"pre\",\"21\",{\"className\":\"code-block\",\"data-lang\":\"javascript\",\"children\":[\"$\",\"code\",null,{\"children\":\"import { RelayClient } from 'agent-relay';\\n\\nconst client = new RelayClient({ name: 'MyApp' });\\nawait client.connect();\\n\\n// Spawn a worker agent\\nawait client.spawn({\\n name: 'Worker',\\n cli: 'claude',\\n task: 'Wait for instructions'\\n});\\n\\n// Send it a message\\nawait client.send('Worker', 'Hello from my app');\"}]}],[\"$\",\"p\",\"22\",{\"dangerouslySetInnerHTML\":{\"__html\":\"Check out our \u003ca href=\\\"https://docs.agent-relay.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003edocs\u003c/a\u003e for more info.\"}}],[\"$\",\"h2\",\"23\",{\"children\":\"What's Next\"}],[\"$\",\"p\",\"24\",{\"dangerouslySetInnerHTML\":{\"__html\":\"We're super excited for what's to come. \u003ca href=\\\"https://agent-relay.com/\\\" target=\\\"_blank\\\" rel=\\\"noopener noreferrer\\\"\u003eAgent Relay Cloud\u003c/a\u003e allows you, via GitHub login, to link your repository to your own private workspace server. Using your Claude, Codex, Gemini, or Cursor login, you can spawn agents and have them work 24/7 against your repo using the dashboard.\"}}],[\"$\",\"p\",\"25\",{\"dangerouslySetInnerHTML\":{\"__html\":\"You and your teammates who have access to the repository can interact with agents, giving instructions in different topic-based channels to help organize agent work. You can have agents review pull requests, work on documentation—all with authenticated access to your GitHub repo.\"}}],[\"$\",\"p\",\"26\",{\"dangerouslySetInnerHTML\":{\"__html\":\"This is just the beginning. GitHub is the first context we've unlocked. This will be extended to other integrations like Notion, Slack, Outlook, etc., so agents can operate 24/7 and accelerate your workflows.\"}}]]}]]}],[\"$\",\"hr\",null,{\"style\":{\"border\":\"none\",\"borderTop\":\"1px solid var(--border-subtle)\",\"margin\":\"48px 0\"}}],[\"$\",\"h2\",null,{\"children\":\"Stay Updated\"}],[\"$\",\"p\",null,{\"children\":[\"Follow us on \",[\"$\",\"a\",null,{\"href\":\"https://twitter.com/agent_relay\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Twitter\"}],\" for the latest updates and more content.\"]}]]}]}]]}],[\"$\",\"footer\",null,{\"className\":\"footer\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-inner\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-brand\",\"children\":[[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"footer-logo\",\"children\":[[\"$\",\"svg\",null,{\"width\":24,\"height\":24,\"viewBox\":\"0 0 100 100\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"\\n transition-all duration-300\\n drop-shadow-[0_0_8px_rgba(0,217,255,0.3)]\\n \\n \",\"aria-label\":\"Agent Relay Logo\",\"role\":\"img\",\"children\":[[\"$\",\"path\",null,{\"d\":\"M30 80 L 50 20 L 70 80\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinejoin\":\"round\",\"strokeLinecap\":\"round\",\"fill\":\"none\"}],[\"$\",\"line\",null,{\"x1\":\"40\",\"y1\":\"50\",\"x2\":\"60\",\"y2\":\"50\",\"stroke\":\"#00d9ff\",\"strokeWidth\":\"5\",\"strokeLinecap\":\"round\"}],[\"$\",\"path\",null,{\"d\":\"M50 20 L 50 80\",\"stroke\":\"#00ffc8\",\"strokeWidth\":\"2.5\",\"strokeLinecap\":\"round\",\"opacity\":\"0.7\"}],[\"$\",\"path\",null,{\"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\"}]]}],[\"$\",\"span\",null,{\"className\":\"logo-text\",\"children\":\"Agent Relay\"}]]}],[\"$\",\"p\",null,{\"children\":\"Orchestrate AI agents like a symphony.\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-links\",\"children\":[[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Product\"}],[\"$\",\"a\",null,{\"href\":\"/#features\",\"children\":\"Features\"}],[\"$\",\"a\",null,{\"href\":\"/pricing\",\"children\":\"Pricing\"}],[\"$\",\"a\",null,{\"href\":\"https://docs.agent-relay.com/\",\"children\":\"Documentation\"}],[\"$\",\"a\",null,{\"href\":\"/changelog\",\"children\":\"Changelog\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Company\"}],[\"$\",\"a\",null,{\"href\":\"/about\",\"children\":\"About\"}],[\"$\",\"a\",null,{\"href\":\"/blog\",\"children\":\"Blog\"}],[\"$\",\"a\",null,{\"href\":\"/careers\",\"children\":\"Careers\"}],[\"$\",\"a\",null,{\"href\":\"/contact\",\"children\":\"Contact\"}]]}],[\"$\",\"div\",null,{\"className\":\"footer-column\",\"children\":[[\"$\",\"h4\",null,{\"children\":\"Legal\"}],[\"$\",\"a\",null,{\"href\":\"/privacy\",\"children\":\"Privacy\"}],[\"$\",\"a\",null,{\"href\":\"/terms\",\"children\":\"Terms\"}],[\"$\",\"a\",null,{\"href\":\"/security\",\"children\":\"Security\"}]]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"footer-bottom\",\"children\":[[\"$\",\"p\",null,{\"children\":\"© 2026 Agent Relay. All rights reserved.\"}],[\"$\",\"div\",null,{\"className\":\"social-links\",\"children\":[[\"$\",\"a\",null,{\"href\":\"https://github.com/AgentWorkforce/relay\",\"aria-label\":\"GitHub\",\"children\":[\"$\",\"svg\",null,{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"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\"}]}]}],[\"$\",\"a\",null,{\"href\":\"https://twitter.com/agent_relay\",\"aria-label\":\"Twitter\",\"children\":[\"$\",\"svg\",null,{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"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\"}]}]}]]}]]}]]}]]}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/629d21db423c78a2.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"blog\",\"children\",\"go-to-bed-wake-up-to-a-finished-product\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"blog\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/eb9fc69d1e3d2bed.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\":[\"$\",\"$L6\",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,\"$L7\"],\"globalErrorComponent\":\"$8\",\"missingSlots\":\"$W9\"}]\n"])</script><script>self.__next_f.push([1,"7:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Go to Bed, Wake Up to a Finished Product | Agent Relay Blog\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Agent-to-agent communication is weird, fascinating, and potentially revolutionary. Here's how I built a system where agents work autonomously while I sleep.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"How agent-to-agent communication is changing autonomous development\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:site_name\",\"content\":\"Agent Relay\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product.svg\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image:alt\",\"content\":\"Go to Bed, Wake Up to a Finished Product - Agent Relay\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"13\",{\"property\":\"article:published_time\",\"content\":\"2026-02-01\"}],[\"$\",\"meta\",\"14\",{\"property\":\"article:author\",\"content\":\"Khaliq Gant\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:title\",\"content\":\"Go to Bed, Wake Up to a Finished Product\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:description\",\"content\":\"How agent-to-agent communication is changing autonomous development\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image\",\"content\":\"https://agent-relay.com/blog/go-to-bed-wake-up-to-a-finished-product.svg\"}],[\"$\",\"link\",\"19\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?9e7a840704165ca6\",\"type\":\"image/png\",\"sizes\":\"256x256\"}]]\n4:null\n"])</script></body></html>
|