agentnetes 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +4 -2
  2. package/package.json +1 -1
  3. package/web/.next/BUILD_ID +1 -1
  4. package/web/.next/build-manifest.json +3 -3
  5. package/web/.next/server/app/_global-error.html +1 -1
  6. package/web/.next/server/app/_global-error.rsc +1 -1
  7. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/web/.next/server/app/_not-found.html +1 -1
  14. package/web/.next/server/app/_not-found.rsc +2 -2
  15. package/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  16. package/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  17. package/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  18. package/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  19. package/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  20. package/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/web/.next/server/app/demo/page_client-reference-manifest.js +1 -1
  22. package/web/.next/server/app/demo.html +1 -1
  23. package/web/.next/server/app/demo.rsc +2 -2
  24. package/web/.next/server/app/demo.segments/_full.segment.rsc +2 -2
  25. package/web/.next/server/app/demo.segments/_head.segment.rsc +1 -1
  26. package/web/.next/server/app/demo.segments/_index.segment.rsc +2 -2
  27. package/web/.next/server/app/demo.segments/_tree.segment.rsc +2 -2
  28. package/web/.next/server/app/demo.segments/demo/__PAGE__.segment.rsc +1 -1
  29. package/web/.next/server/app/demo.segments/demo.segment.rsc +1 -1
  30. package/web/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  31. package/web/.next/server/app/docs.html +17 -13
  32. package/web/.next/server/app/docs.rsc +3 -3
  33. package/web/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  34. package/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  35. package/web/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  36. package/web/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  37. package/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  38. package/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  39. package/web/.next/server/app/index.html +1 -1
  40. package/web/.next/server/app/index.rsc +2 -2
  41. package/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  42. package/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
  43. package/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  44. package/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
  45. package/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  46. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  47. package/web/.next/server/chunks/ssr/app_docs_page_tsx_0a3qz3_._.js +22 -18
  48. package/web/.next/server/middleware-build-manifest.js +3 -3
  49. package/web/.next/server/pages/404.html +1 -1
  50. package/web/.next/server/pages/500.html +1 -1
  51. package/web/.next/static/chunks/{0c50o8a5sgi.n.js → 0wsoljjoc5b47.js} +24 -20
  52. package/web/.next/static/chunks/164_6pqattb9q.css +1 -0
  53. package/web/.next/static/chunks/0wqf_v9i12zlw.css +0 -1
  54. /package/web/.next/static/{0QnzQ8Z6fEhlhVaWAQ2_v → x6OtPfrxJ7vA5hRM_7Q7K}/_buildManifest.js +0 -0
  55. /package/web/.next/static/{0QnzQ8Z6fEhlhVaWAQ2_v → x6OtPfrxJ7vA5hRM_7Q7K}/_clientMiddlewareManifest.js +0 -0
  56. /package/web/.next/static/{0QnzQ8Z6fEhlhVaWAQ2_v → x6OtPfrxJ7vA5hRM_7Q7K}/_ssgManifest.js +0 -0
@@ -1,8 +1,8 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",o=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==d?(d="//"+(d||""),s&&"/"!==s[0]&&(s="/"+s)):d||(d=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${s}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return o(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=i(e,n)),t&&(s.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),s=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return x},useLinkStatus:function(){return y}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809),a=e.r(43476),o=i._(e.r(71645)),l=e.r(95057),d=e.r(8372),c=e.r(18581),u=e.r(18967),h=e.r(5550);e.r(33525);let p=e.r(88540),m=e.r(91949),f=e.r(73668),g=e.r(9396);function x(t){var r,n;let s,i,x,[y,w]=(0,o.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:j,as:k,children:_,prefetch:E=null,passHref:N,replace:A,shallow:O,scroll:P,onClick:S,onMouseEnter:R,onTouchStart:I,legacyBehavior:C=!1,onNavigate:T,transitionTypes:L,ref:M,unstable_dynamicOnHover:G,...D}=t;s=_,C&&("string"==typeof s||"number"==typeof s)&&(s=(0,a.jsx)("a",{children:s}));let z=o.default.useContext(d.AppRouterContext),U=!1!==E,$=!1!==E?null===(n=E)||"auto"===n?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,q="string"==typeof(r=k||j)?r:(0,l.formatUrl)(r);if(C){if(s?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=o.default.Children.only(s)}let B=C?i&&"object"==typeof i&&i.ref:M,K=o.default.useCallback(e=>(null!==z&&(v.current=(0,m.mountLinkInstance)(e,q,z,$,U,w)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,q,z,$,w]),F={ref:(0,c.useMergedRef)(K,B),onClick(t){C||"function"!=typeof S||S(t),C&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!z||t.defaultPrevented||function(t,r,n,s,i,a,l){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,f.isLocalURL)(r)){s&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);o.default.startTransition(()=>{u(r,s?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l)})}}(t,q,v,A,P,T,L)},onMouseEnter(e){C||"function"!=typeof R||R(e),C&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),z&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===G)},onTouchStart:function(e){C||"function"!=typeof I||I(e),C&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),z&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===G)}};return(0,u.isAbsoluteUrl)(q)?F.href=q:C&&!N&&("a"!==i.type||"href"in i.props)||(F.href=(0,h.addBasePath)(q)),x=C?o.default.cloneElement(i,F):(0,a.jsx)("a",{...D,...F,children:s}),(0,a.jsx)(b.Provider,{value:y,children:x})}e.r(84508);let b=(0,o.createContext)(m.IDLE_LINK_STATUS),y=()=>(0,o.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},75254,68054,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:o="",children:l,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:n,height:n,stroke:e,strokeWidth:a?24*Number(i)/Number(n):i,className:r("lucide",o),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),a=(e,s)=>{let a=(0,t.forwardRef)(({className:a,...o},l)=>(0,t.createElement)(i,{ref:l,iconNode:s,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...o}));return a.displayName=n(e),a};e.s(["default",0,a],75254);let o=a("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,o],68054)},39616,e=>{"use strict";let t=(0,e.i(75254).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],39616)},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:s,blurDataURL:i,objectFit:a}){let o=r?40*r:e,l=s?40*s:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(33525);let n=e.r(43369),s=e.r(88143),i=e.r(87690),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:u=!1,loading:h,className:p,quality:m,width:f,height:g,fill:x=!1,style:b,overrideSrc:y,onLoad:w,onLoadingComplete:v,placeholder:j="empty",blurDataURL:k,fetchPriority:_,decoding:E="async",layout:N,objectFit:A,objectPosition:O,lazyBoundary:P,lazyRoot:S,...R},I){var C;let T,L,M,{imgConf:G,showAltText:D,blurComplete:z,defaultLoader:U}=I,$=G||i.imageConfigDefault;if("allSizes"in $)T=$;else{let e=[...$.deviceSizes,...$.imageSizes].sort((e,t)=>e-t),t=$.deviceSizes.sort((e,t)=>e-t),r=$.qualities?.sort((e,t)=>e-t);T={...$,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===U)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let q=R.loader||U;delete R.loader,delete R.srcSet;let B="__next_img_default"in q;if(B){if("custom"===T.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
- Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=q;q=t=>{let{config:r,...n}=t;return e(n)}}if(N){"fill"===N&&(x=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[N];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[N];r&&!t&&(t=r)}let K="",F=l(f),W=l(g);if((C=e)&&"object"==typeof C&&(o(C)||void 0!==C.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(L=t.blurWidth,M=t.blurHeight,k=k||t.blurDataURL,K=t.src,!x)if(F||W){if(F&&!W){let e=F/t.width;W=Math.round(t.height*e)}else if(!F&&W){let e=W/t.height;F=Math.round(t.width*e)}}else F=t.width,W=t.height}let V=!c&&!u&&("lazy"===h||void 0===h);(!(e="string"==typeof e?e:K)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),T.unoptimized&&(r=!0),B&&!T.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let Y=l(m),X=Object.assign(x?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:A,objectPosition:O}:{},D?{}:{color:"transparent"},b),H=z||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:F,heightInt:W,blurWidth:L,blurHeight:M,blurDataURL:k||"",objectFit:X.objectFit})}")`:`url("${j}")`,Z=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,J=H?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:H}:{},Q=function({config:e,src:t,unoptimized:r,width:s,quality:i,sizes:a,loader:o}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=r.exec(n);)s.push(parseInt(e[2]));if(s.length){let r=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,a),c=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((r,n)=>`${o({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:o({config:e,src:t,quality:i,width:l[c]})}}({config:T,src:e,unoptimized:r,width:F,quality:Y,sizes:t,loader:q}),ee=V?"lazy":h;return{props:{...R,loading:ee,fetchPriority:_,width:F,height:W,decoding:E,className:p,style:{...X,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:y||Q.src},meta:{unoptimized:r,preload:u||c,placeholder:j,fill:x}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(71645),s="u"<typeof window,i=s?()=>{}:n.useLayoutEffect,a=s?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return s&&(t?.mountedInstances?.add(e.children),o()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return f},defaultHead:function(){return u}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(55682),a=e.r(90809),o=e.r(43476),l=a._(e.r(71645)),d=i._(e.r(98879)),c=e.r(42732);function u(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,s;return e.reduce(h,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,n=new Set,s={},e=>{let i=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=s[r]||new Set;("name"!==r||!a)&&n.has(t)?i=!1:(n.add(t),s[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let f=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,o.jsx)(d.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(55682)._(e.r(71645)),s=e.r(87690),i=n.default.createContext(s.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(70965),s=e.r(43369);function i({config:e,src:t,width:r,quality:a}){let o=(0,s.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){o=n,r.delete("dpl");let s=r.toString();t=t.slice(0,e)+(s?"?"+s:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}i.__next_img_default=!0;let a=i},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let n=e.r(55682),s=e.r(90809),i=e.r(43476),a=s._(e.r(71645)),o=n._(e.r(74080)),l=n._(e.r(25633)),d=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let h=e.r(65856),p=n._(e.r(1948)),m=e.r(18581),f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,r,n,s,i,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function x(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:s,decoding:o,className:l,style:d,fetchPriority:c,placeholder:u,loading:h,unoptimized:p,fill:f,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:w,setShowAltText:v,sizesInput:j,onLoad:k,onError:_,...E},N)=>{let A=(0,a.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&g(e,u,b,y,w,p,j))},[e,u,b,y,w,_,p,j]),O=(0,m.useMergedRef)(N,A);return(0,i.jsx)("img",{...E,...x(c),loading:h,width:s,height:n,decoding:o,"data-nimg":f?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:O,onLoad:e=>{g(e.currentTarget,u,b,y,w,p,j)},onError:e=>{v(!0),"empty"!==u&&w(!0),_&&_(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...x(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(h.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),s=(0,a.useMemo)(()=>{let e=f||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,m=(0,a.useRef)(o);(0,a.useEffect)(()=>{m.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[x,w]=(0,a.useState)(!1),[v,j]=(0,a.useState)(!1),{props:k,meta:_}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:s,blurComplete:x,showAltText:v});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...k,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:g,setBlurComplete:w,setShowAltText:j,sizesInput:e.sizes,ref:t}),_.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(55682),a=e.r(8927),o=e.r(5500),l=i._(e.r(1948));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=o.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},97250,91799,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],97250);let n=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,n],91799)},50682,e=>{"use strict";let t=(0,e.i(75254).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",0,t],50682)},72664,e=>{"use strict";let t=(0,e.i(75254).default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",0,t],72664)},39312,e=>{"use strict";let t=(0,e.i(75254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],39312)},97625,e=>{"use strict";let t=(0,e.i(75254).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",0,t],97625)},52008,e=>{"use strict";let t=(0,e.i(75254).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",0,t],52008)},72520,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],72520)},14287,e=>{"use strict";var t=e.i(47167),r=e.i(43476),n=e.i(22016),s=e.i(57688),i=e.i(71645),a=e.i(63178),o=e.i(97250),l=e.i(91799),d=e.i(50682),c=e.i(68054),u=e.i(72664),h=e.i(39312),p=e.i(39616);let m=(0,e.i(75254).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var f=e.i(97625),g=e.i(52008),x=e.i(72520);let b=t.default.env.NEXT_PUBLIC_BASE_PATH??"";function y(){let{theme:e,setTheme:t}=(0,a.useTheme)(),[n,s]=(0,i.useState)(!1);return((0,i.useEffect)(()=>s(!0),[]),n)?(0,r.jsx)("button",{onClick:()=>t("dark"===e?"light":"dark"),className:"w-9 h-9 flex items-center justify-center rounded-lg border border-white/10 text-white/60 hover:text-white/80 transition-colors",children:"dark"===e?(0,r.jsx)(o.Sun,{size:15}):(0,r.jsx)(l.Moon,{size:15})}):(0,r.jsx)("div",{className:"w-9 h-9"})}let w=[{id:"quickstart",label:"Quick Start",icon:h.Zap},{id:"how-it-works",label:"How it Works",icon:g.Layers},{id:"local-docker",label:"Local Dev + Docker",icon:u.Box},{id:"cli",label:"CLI Reference",icon:c.Terminal},{id:"sandboxes",label:"Sandbox Providers",icon:u.Box},{id:"config",label:"Configuration",icon:p.Settings},{id:"examples",label:"Examples",icon:f.Code2},{id:"architecture",label:"Architecture",icon:m},{id:"troubleshoot",label:"Troubleshooting",icon:c.Terminal}];function v({children:e,lang:t="bash"}){let[n,s]=(0,i.useState)(!1);return(0,r.jsxs)("div",{className:"relative rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-white/[0.06]",children:[(0,r.jsx)("span",{className:"text-[11px] font-mono text-white/30 uppercase",children:t}),(0,r.jsx)("button",{onClick:function(){navigator.clipboard.writeText(e.trim()),s(!0),setTimeout(()=>s(!1),1500)},className:"text-[11px] font-mono text-white/40 hover:text-white/70 transition-colors px-2 py-0.5 rounded border border-white/10",children:n?"copied!":"copy"})]}),(0,r.jsx)("pre",{className:"px-5 py-4 text-sm font-mono text-white/80 overflow-x-auto leading-relaxed whitespace-pre",children:e.trim()})]})}function j({id:e,children:t}){return(0,r.jsxs)("h2",{id:e,className:"text-2xl font-bold text-white mt-14 mb-4 scroll-mt-20 flex items-center gap-3",children:[(0,r.jsx)("span",{className:"w-1 h-6 rounded-full inline-block shrink-0",style:{background:"linear-gradient(180deg, #a855f7, #ec4899)"}}),t]})}function k({children:e}){return(0,r.jsx)("h3",{className:"text-base font-semibold text-white mt-8 mb-3",children:e})}function _({children:e}){return(0,r.jsx)("p",{className:"text-white/70 leading-relaxed mb-4 text-base",children:e})}function E({type:e="info",children:t}){let n={info:{border:"border-purple-500/30",bg:"rgba(168,85,247,0.06)",dot:"#a855f7",label:"Note"},tip:{border:"border-green-500/30",bg:"rgba(34,197,94,0.06)",dot:"#22c55e",label:"Tip"},warn:{border:"border-orange-500/30",bg:"rgba(249,115,22,0.06)",dot:"#f97316",label:"Warning"}}[e];return(0,r.jsxs)("div",{className:`rounded-xl border ${n.border} px-5 py-4 my-4 text-sm text-white/70 leading-relaxed`,style:{background:n.bg},children:[(0,r.jsxs)("span",{className:"font-semibold text-white/90 mr-2",style:{color:n.dot},children:[n.label,":"]}),t]})}e.s(["default",0,function(){let[e,t]=(0,i.useState)("quickstart");return(0,i.useEffect)(()=>{let e=new IntersectionObserver(e=>{for(let r of e)r.isIntersecting&&t(r.target.id)},{rootMargin:"-20% 0% -70% 0%"});return w.forEach(t=>{let r=document.getElementById(t.id);r&&e.observe(r)}),()=>e.disconnect()},[]),(0,r.jsxs)("div",{style:{fontFamily:"'Inter', sans-serif",background:"var(--bg-base)",color:"rgb(var(--fg))"},children:[(0,r.jsx)("nav",{className:"fixed top-0 inset-x-0 z-50 border-b border-white/[0.06] backdrop-blur-xl",style:{background:"color-mix(in srgb, var(--bg-base) 90%, transparent)"},children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-6 h-14 flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsxs)(n.default,{href:"/",className:"flex items-center gap-2.5",children:[(0,r.jsx)(s.default,{src:`${b}/favicon.png`,alt:"Agentnetes",width:22,height:22,className:"rounded-md"}),(0,r.jsx)("span",{className:"font-bold tracking-tight text-white",children:"Agentnetes"})]}),(0,r.jsx)("span",{className:"text-white/20 hidden sm:inline",children:"/"}),(0,r.jsx)("span",{className:"text-white/60 text-sm hidden sm:inline",children:"Docs"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(y,{}),(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/50 hover:text-white/80 transition-colors hidden sm:block",children:(0,r.jsx)(d.Github,{size:16})}),(0,r.jsxs)(n.default,{href:"/demo",className:"flex items-center gap-1.5 text-xs font-semibold px-4 py-2 rounded-lg transition-all",style:{background:"linear-gradient(135deg, #c084fc, #f472b6, #fb923c)",color:"#000"},children:["Try demo ",(0,r.jsx)(x.ArrowRight,{size:11})]})]})]})}),(0,r.jsxs)("div",{className:"max-w-7xl mx-auto flex pt-14",children:[(0,r.jsxs)("aside",{className:"w-56 shrink-0 sticky top-14 h-[calc(100vh-3.5rem)] overflow-y-auto py-8 px-4 border-r border-white/[0.06] hidden md:block",children:[(0,r.jsx)("div",{className:"text-[10px] font-mono text-white/30 uppercase tracking-widest mb-4 px-3",children:"Documentation"}),(0,r.jsx)("nav",{className:"space-y-0.5",children:w.map(({id:t,label:n,icon:s})=>(0,r.jsxs)("a",{href:`#${t}`,className:`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-all ${e===t?"text-white font-medium":"text-white/50 hover:text-white/80"}`,style:e===t?{background:"var(--bg-card)"}:{},children:[(0,r.jsx)(s,{size:13,className:e===t?"text-purple-400":""}),n]},t))}),(0,r.jsxs)("div",{className:"mt-8 mx-3 pt-6 border-t border-white/[0.06]",children:[(0,r.jsx)("div",{className:"text-[10px] font-mono text-white/30 uppercase tracking-widest mb-3",children:"Links"}),(0,r.jsxs)("a",{href:"https://www.npmjs.com/package/agentnetes",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)("span",{className:"w-3 h-3 rounded-sm bg-red-500/70 inline-block"})," npm package"]}),(0,r.jsxs)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)(d.Github,{size:12})," GitHub repo"]}),(0,r.jsxs)("a",{href:"https://arxiv.org/abs/2512.24601",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)(m,{size:12})," RLM paper"]})]})]}),(0,r.jsxs)("main",{className:"flex-1 min-w-0 px-8 py-10 max-w-3xl",children:[(0,r.jsxs)("div",{className:"mb-10",children:[(0,r.jsx)("div",{className:"text-xs font-mono text-white/40 uppercase tracking-widest mb-3",children:"Developer Docs"}),(0,r.jsx)("h1",{className:"text-4xl font-extrabold text-white mb-4 tracking-tight",children:"Getting Started"}),(0,r.jsxs)("p",{className:"text-white/65 text-lg leading-relaxed",children:["Everything you need to run Agentnetes on your codebase · from a first"," ",(0,r.jsx)("code",{className:"text-purple-400 bg-purple-400/10 px-1.5 py-0.5 rounded text-sm",children:"npx"})," command to production agent swarms."]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-10",children:[{step:"1",label:"Get API key",detail:"Free at aistudio.google.com",href:"https://aistudio.google.com",color:"#a855f7"},{step:"2",label:"Pull Docker image",detail:"docker pull node:20-alpine",href:null,color:"#ec4899"},{step:"3",label:"Run on your repo",detail:'npx agentnetes run "goal"',href:null,color:"#f97316"}].map(({step:e,label:t,detail:n,href:s,color:i})=>(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 px-5 py-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"text-xs font-mono mb-2",style:{color:i},children:["Step ",e]}),(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-1",children:t}),s?(0,r.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",className:"text-xs font-mono underline underline-offset-2",style:{color:i},children:n}):(0,r.jsx)("code",{className:"text-xs font-mono text-white/50",children:n})]},e))}),(0,r.jsx)(j,{id:"quickstart",children:"Quick Start"}),(0,r.jsx)(_,{children:"No installation required. Point Agentnetes at any git repo in under 2 minutes."}),(0,r.jsx)(k,{children:"1. Get a Google API key"}),(0,r.jsxs)(_,{children:["Agentnetes uses Gemini 2.5 Pro (planner) and Gemini 2.5 Flash (workers) by default. Get a free API key from"," ",(0,r.jsx)("a",{href:"https://aistudio.google.com",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"aistudio.google.com"}),". The free tier is sufficient for most tasks."]}),(0,r.jsx)(k,{children:"2. Pull the Docker base image"}),(0,r.jsx)(v,{children:"docker pull node:20-alpine"}),(0,r.jsx)(_,{children:"This is a one-time step. Each agent gets its own container · pulling it now means the first run starts immediately."}),(0,r.jsx)(k,{children:"3. Run on your repo"}),(0,r.jsx)(v,{children:`# From inside any git repository
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return d},urlObjectKeys:function(){return l}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",s=e.pathname||"",o=e.hash||"",l=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==d?(d="//"+(d||""),s&&"/"!==s[0]&&(s="/"+s)):d||(d=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),s=s.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${s}${c}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return o(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return s}});let n=e.r(71645);function s(e,t){let r=(0,n.useRef)(null),s=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=s.current;t&&(s.current=null,t())}else e&&(r.current=i(e,n)),t&&(s.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),s=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,s.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return y}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(90809),a=e.r(43476),o=i._(e.r(71645)),l=e.r(95057),d=e.r(8372),c=e.r(18581),u=e.r(18967),h=e.r(5550);e.r(33525);let p=e.r(88540),m=e.r(91949),x=e.r(73668),f=e.r(9396);function g(t){var r,n;let s,i,g,[y,w]=(0,o.useOptimistic)(m.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:j,as:k,children:_,prefetch:E=null,passHref:O,replace:N,shallow:P,scroll:S,onClick:A,onMouseEnter:R,onTouchStart:I,legacyBehavior:L=!1,onNavigate:C,transitionTypes:T,ref:G,unstable_dynamicOnHover:M,...D}=t;s=_,L&&("string"==typeof s||"number"==typeof s)&&(s=(0,a.jsx)("a",{children:s}));let U=o.default.useContext(d.AppRouterContext),z=!1!==E,K=!1!==E?null===(n=E)||"auto"===n?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,q="string"==typeof(r=k||j)?r:(0,l.formatUrl)(r);if(L){if(s?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=o.default.Children.only(s)}let $=L?i&&"object"==typeof i&&i.ref:G,B=o.default.useCallback(e=>(null!==U&&(v.current=(0,m.mountLinkInstance)(e,q,U,K,z,w)),()=>{v.current&&((0,m.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,m.unmountPrefetchableInstance)(e)}),[z,q,U,K,w]),F={ref:(0,c.useMergedRef)(B,$),onClick(t){L||"function"!=typeof A||A(t),L&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,s,i,a,l){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,x.isLocalURL)(r)){s&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:u}=e.r(99781);o.default.startTransition(()=>{u(r,s?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l)})}}(t,q,v,N,S,C,T)},onMouseEnter(e){L||"function"!=typeof R||R(e),L&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),U&&z&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){L||"function"!=typeof I||I(e),L&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),U&&z&&(0,m.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,u.isAbsoluteUrl)(q)?F.href=q:L&&!O&&("a"!==i.type||"href"in i.props)||(F.href=(0,h.addBasePath)(q)),g=L?o.default.cloneElement(i,F):(0,a.jsx)("a",{...D,...F,children:s}),(0,a.jsx)(b.Provider,{value:y,children:g})}e.r(84508);let b=(0,o.createContext)(m.IDLE_LINK_STATUS),y=()=>(0,o.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},75254,68054,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:a,className:o="",children:l,iconNode:d,...c},u)=>(0,t.createElement)("svg",{ref:u,...s,width:n,height:n,stroke:e,strokeWidth:a?24*Number(i)/Number(n):i,className:r("lucide",o),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(c)&&{"aria-hidden":"true"},...c},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),a=(e,s)=>{let a=(0,t.forwardRef)(({className:a,...o},l)=>(0,t.createElement)(i,{ref:l,iconNode:s,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,a),...o}));return a.displayName=n(e),a};e.s(["default",0,a],75254);let o=a("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,o],68054)},39616,e=>{"use strict";let t=(0,e.i(75254).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Settings",0,t],39616)},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:s,blurDataURL:i,objectFit:a}){let o=r?40*r:e,l=s?40*s:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return d}}),e.r(33525);let n=e.r(43369),s=e.r(88143),i=e.r(87690),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:u=!1,loading:h,className:p,quality:m,width:x,height:f,fill:g=!1,style:b,overrideSrc:y,onLoad:w,onLoadingComplete:v,placeholder:j="empty",blurDataURL:k,fetchPriority:_,decoding:E="async",layout:O,objectFit:N,objectPosition:P,lazyBoundary:S,lazyRoot:A,...R},I){var L;let C,T,G,{imgConf:M,showAltText:D,blurComplete:U,defaultLoader:z}=I,K=M||i.imageConfigDefault;if("allSizes"in K)C=K;else{let e=[...K.deviceSizes,...K.imageSizes].sort((e,t)=>e-t),t=K.deviceSizes.sort((e,t)=>e-t),r=K.qualities?.sort((e,t)=>e-t);C={...K,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===z)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let q=R.loader||z;delete R.loader,delete R.srcSet;let $="__next_img_default"in q;if($){if("custom"===C.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=q;q=t=>{let{config:r,...n}=t;return e(n)}}if(O){"fill"===O&&(g=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[O];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[O];r&&!t&&(t=r)}let B="",F=l(x),Y=l(f);if((L=e)&&"object"==typeof L&&(o(L)||void 0!==L.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(T=t.blurWidth,G=t.blurHeight,k=k||t.blurDataURL,B=t.src,!g)if(F||Y){if(F&&!Y){let e=F/t.width;Y=Math.round(t.height*e)}else if(!F&&Y){let e=Y/t.height;F=Math.round(t.width*e)}}else F=t.width,Y=t.height}let W=!c&&!u&&("lazy"===h||void 0===h);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,W=!1),C.unoptimized&&(r=!0),$&&!C.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let V=l(m),X=Object.assign(g?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:N,objectPosition:P}:{},D?{}:{color:"transparent"},b),H=U||"empty"===j?null:"blur"===j?`url("data:image/svg+xml;charset=utf-8,${(0,s.getImageBlurSvg)({widthInt:F,heightInt:Y,blurWidth:T,blurHeight:G,blurDataURL:k||"",objectFit:X.objectFit})}")`:`url("${j}")`,Z=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,J=H?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:H}:{},Q=function({config:e,src:t,unoptimized:r,width:s,quality:i,sizes:a,loader:o}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,s=[];for(let e;e=r.exec(n);)s.push(parseInt(e[2]));if(s.length){let r=.01*Math.min(...s);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,s,a),c=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((r,n)=>`${o({config:e,src:t,quality:i,width:r})} ${"w"===d?r:n+1}${d}`).join(", "),src:o({config:e,src:t,quality:i,width:l[c]})}}({config:C,src:e,unoptimized:r,width:F,quality:V,sizes:t,loader:q}),ee=W?"lazy":h;return{props:{...R,loading:ee,fetchPriority:_,width:F,height:Y,decoding:E,className:p,style:{...X,...J},sizes:Q.sizes,srcSet:Q.srcSet,src:y||Q.src},meta:{unoptimized:r,preload:u||c,placeholder:j,fill:g}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(71645),s="u"<typeof window,i=s?()=>{}:n.useLayoutEffect,a=s?()=>{}:n.useEffect;function o(e){let{headManager:t,reduceComponentsToState:r}=e;function o(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return s&&(t?.mountedInstances?.add(e.children),o()),i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=o),()=>{t&&(t._pendingUpdate=o)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return x},defaultHead:function(){return u}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(55682),a=e.r(90809),o=e.r(43476),l=a._(e.r(71645)),d=i._(e.r(98879)),c=e.r(42732);function u(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,s;return e.reduce(h,[]).reverse().concat(u().reverse()).filter((t=new Set,r=new Set,n=new Set,s={},e=>{let i=!0,a=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){a=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?i=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?i=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?i=!1:n.add(r);else{let t=e.props[r],n=s[r]||new Set;("name"!==r||!a)&&n.has(t)?i=!1:(n.add(t),s[r]=n)}}}return i})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let x=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,o.jsx)(d.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(55682)._(e.r(71645)),s=e.r(87690),i=n.default.createContext(s.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,t.qualities[0]):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},1948,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(70965),s=e.r(43369);function i({config:e,src:t,width:r,quality:a}){let o=(0,s.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){o=n,r.delete("dpl");let s=r.toString();t=t.slice(0,e)+(s?"?"+s:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}i.__next_img_default=!0;let a=i},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let n=e.r(55682),s=e.r(90809),i=e.r(43476),a=s._(e.r(71645)),o=n._(e.r(74080)),l=n._(e.r(25633)),d=e.r(8927),c=e.r(87690),u=e.r(18556);e.r(33525);let h=e.r(65856),p=n._(e.r(1948)),m=e.r(18581),x={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function f(e,t,r,n,s,i,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&s(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,s=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>s,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{s=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function g(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b=(0,a.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:s,decoding:o,className:l,style:d,fetchPriority:c,placeholder:u,loading:h,unoptimized:p,fill:x,onLoadRef:b,onLoadingCompleteRef:y,setBlurComplete:w,setShowAltText:v,sizesInput:j,onLoad:k,onError:_,...E},O)=>{let N=(0,a.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&f(e,u,b,y,w,p,j))},[e,u,b,y,w,_,p,j]),P=(0,m.useMergedRef)(O,N);return(0,i.jsx)("img",{...E,...g(c),loading:h,width:s,height:n,decoding:o,"data-nimg":x?"fill":"1",className:l,style:d,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{f(e.currentTarget,u,b,y,w,p,j)},onError:e=>{v(!0),"empty"!==u&&w(!0),_&&_(e)}})});function y({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...g(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,i.jsx)(l.default,{children:(0,i.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,a.forwardRef)((e,t)=>{let r=(0,a.useContext)(h.RouterContext),n=(0,a.useContext)(u.ImageConfigContext),s=(0,a.useMemo)(()=>{let e=x||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),s=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:s,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:l}=e,m=(0,a.useRef)(o);(0,a.useEffect)(()=>{m.current=o},[o]);let f=(0,a.useRef)(l);(0,a.useEffect)(()=>{f.current=l},[l]);let[g,w]=(0,a.useState)(!1),[v,j]=(0,a.useState)(!1),{props:k,meta:_}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:s,blurComplete:g,showAltText:v});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(b,{...k,unoptimized:_.unoptimized,placeholder:_.placeholder,fill:_.fill,onLoadRef:m,onLoadingCompleteRef:f,setBlurComplete:w,setShowAltText:j,sizesInput:e.sizes,ref:t}),_.preload?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:k}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return d}};for(var s in n)Object.defineProperty(r,s,{enumerable:!0,get:n[s]});let i=e.r(55682),a=e.r(8927),o=e.r(5500),l=i._(e.r(1948));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=o.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},97250,91799,e=>{"use strict";var t=e.i(75254);let r=(0,t.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);e.s(["Sun",0,r],97250);let n=(0,t.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);e.s(["Moon",0,n],91799)},50682,e=>{"use strict";let t=(0,e.i(75254).default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);e.s(["Github",0,t],50682)},72664,e=>{"use strict";let t=(0,e.i(75254).default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);e.s(["Box",0,t],72664)},39312,e=>{"use strict";let t=(0,e.i(75254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],39312)},97625,e=>{"use strict";let t=(0,e.i(75254).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",0,t],97625)},52008,e=>{"use strict";let t=(0,e.i(75254).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",0,t],52008)},72520,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],72520)},14287,e=>{"use strict";var t=e.i(47167),r=e.i(43476),n=e.i(22016),s=e.i(57688),i=e.i(71645),a=e.i(63178),o=e.i(97250),l=e.i(91799),d=e.i(50682),c=e.i(68054),u=e.i(72664),h=e.i(39312),p=e.i(39616),m=e.i(75254);let x=(0,m.default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var f=e.i(97625),g=e.i(52008),b=e.i(72520);let y=(0,m.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),w=t.default.env.NEXT_PUBLIC_BASE_PATH??"";function v(){let{theme:e,setTheme:t}=(0,a.useTheme)(),[n,s]=(0,i.useState)(!1);return((0,i.useEffect)(()=>s(!0),[]),n)?(0,r.jsx)("button",{onClick:()=>t("dark"===e?"light":"dark"),className:"w-9 h-9 flex items-center justify-center rounded-lg border border-white/10 text-white/60 hover:text-white/80 transition-colors",children:"dark"===e?(0,r.jsx)(o.Sun,{size:15}):(0,r.jsx)(l.Moon,{size:15})}):(0,r.jsx)("div",{className:"w-9 h-9"})}let j=[{id:"quickstart",label:"Quick Start",icon:h.Zap},{id:"how-it-works",label:"How it Works",icon:g.Layers},{id:"local-docker",label:"Local Dev + Docker",icon:u.Box},{id:"cli",label:"CLI Reference",icon:c.Terminal},{id:"serve",label:"Web UI (serve)",icon:y},{id:"sandboxes",label:"Sandbox Providers",icon:u.Box},{id:"config",label:"Configuration",icon:p.Settings},{id:"examples",label:"Examples",icon:f.Code2},{id:"architecture",label:"Architecture",icon:x},{id:"troubleshoot",label:"Troubleshooting",icon:c.Terminal}];function k({children:e,lang:t="bash"}){let[n,s]=(0,i.useState)(!1);return(0,r.jsxs)("div",{className:"relative rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-white/[0.06]",children:[(0,r.jsx)("span",{className:"text-[11px] font-mono text-white/30 uppercase",children:t}),(0,r.jsx)("button",{onClick:function(){navigator.clipboard.writeText(e.trim()),s(!0),setTimeout(()=>s(!1),1500)},className:"text-[11px] font-mono text-white/40 hover:text-white/70 transition-colors px-2 py-0.5 rounded border border-white/10",children:n?"copied!":"copy"})]}),(0,r.jsx)("pre",{className:"px-5 py-4 text-sm font-mono text-white/80 overflow-x-auto leading-relaxed whitespace-pre",children:e.trim()})]})}function _({id:e,children:t}){return(0,r.jsxs)("h2",{id:e,className:"text-2xl font-bold text-white mt-14 mb-4 scroll-mt-20 flex items-center gap-3",children:[(0,r.jsx)("span",{className:"w-1 h-6 rounded-full inline-block shrink-0",style:{background:"linear-gradient(180deg, #a855f7, #ec4899)"}}),t]})}function E({children:e}){return(0,r.jsx)("h3",{className:"text-base font-semibold text-white mt-8 mb-3",children:e})}function O({children:e}){return(0,r.jsx)("p",{className:"text-white/70 leading-relaxed mb-4 text-base",children:e})}function N({type:e="info",children:t}){let n={info:{border:"border-purple-500/30",bg:"rgba(168,85,247,0.06)",dot:"#a855f7",label:"Note"},tip:{border:"border-green-500/30",bg:"rgba(34,197,94,0.06)",dot:"#22c55e",label:"Tip"},warn:{border:"border-orange-500/30",bg:"rgba(249,115,22,0.06)",dot:"#f97316",label:"Warning"}}[e];return(0,r.jsxs)("div",{className:`rounded-xl border ${n.border} px-5 py-4 my-4 text-sm text-white/70 leading-relaxed`,style:{background:n.bg},children:[(0,r.jsxs)("span",{className:"font-semibold text-white/90 mr-2",style:{color:n.dot},children:[n.label,":"]}),t]})}e.s(["default",0,function(){let[e,t]=(0,i.useState)("quickstart");return(0,i.useEffect)(()=>{let e=new IntersectionObserver(e=>{for(let r of e)r.isIntersecting&&t(r.target.id)},{rootMargin:"-20% 0% -70% 0%"});return j.forEach(t=>{let r=document.getElementById(t.id);r&&e.observe(r)}),()=>e.disconnect()},[]),(0,r.jsxs)("div",{style:{fontFamily:"'Inter', sans-serif",background:"var(--bg-base)",color:"rgb(var(--fg))"},children:[(0,r.jsx)("nav",{className:"fixed top-0 inset-x-0 z-50 border-b border-white/[0.06] backdrop-blur-xl",style:{background:"color-mix(in srgb, var(--bg-base) 90%, transparent)"},children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-6 h-14 flex items-center justify-between",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsxs)(n.default,{href:"/",className:"flex items-center gap-2.5",children:[(0,r.jsx)(s.default,{src:`${w}/favicon.png`,alt:"Agentnetes",width:22,height:22,className:"rounded-md"}),(0,r.jsx)("span",{className:"font-bold tracking-tight text-white",children:"Agentnetes"})]}),(0,r.jsx)("span",{className:"text-white/20 hidden sm:inline",children:"/"}),(0,r.jsx)("span",{className:"text-white/60 text-sm hidden sm:inline",children:"Docs"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(v,{}),(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/50 hover:text-white/80 transition-colors hidden sm:block",children:(0,r.jsx)(d.Github,{size:16})}),(0,r.jsxs)(n.default,{href:"/demo",className:"flex items-center gap-1.5 text-xs font-semibold px-4 py-2 rounded-lg transition-all",style:{background:"linear-gradient(135deg, #c084fc, #f472b6, #fb923c)",color:"#000"},children:["Try demo ",(0,r.jsx)(b.ArrowRight,{size:11})]})]})]})}),(0,r.jsxs)("div",{className:"max-w-7xl mx-auto flex pt-14",children:[(0,r.jsxs)("aside",{className:"w-56 shrink-0 sticky top-14 h-[calc(100vh-3.5rem)] overflow-y-auto py-8 px-4 border-r border-white/[0.06] hidden md:block",children:[(0,r.jsx)("div",{className:"text-[10px] font-mono text-white/30 uppercase tracking-widest mb-4 px-3",children:"Documentation"}),(0,r.jsx)("nav",{className:"space-y-0.5",children:j.map(({id:t,label:n,icon:s})=>(0,r.jsxs)("a",{href:`#${t}`,className:`flex items-center gap-2.5 px-3 py-2 rounded-lg text-sm transition-all ${e===t?"text-white font-medium":"text-white/50 hover:text-white/80"}`,style:e===t?{background:"var(--bg-card)"}:{},children:[(0,r.jsx)(s,{size:13,className:e===t?"text-purple-400":""}),n]},t))}),(0,r.jsxs)("div",{className:"mt-8 mx-3 pt-6 border-t border-white/[0.06]",children:[(0,r.jsx)("div",{className:"text-[10px] font-mono text-white/30 uppercase tracking-widest mb-3",children:"Links"}),(0,r.jsxs)("a",{href:"https://www.npmjs.com/package/agentnetes",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)("span",{className:"w-3 h-3 rounded-sm bg-red-500/70 inline-block"})," npm package"]}),(0,r.jsxs)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)(d.Github,{size:12})," GitHub repo"]}),(0,r.jsxs)("a",{href:"https://arxiv.org/abs/2512.24601",target:"_blank",rel:"noreferrer",className:"flex items-center gap-2 text-xs text-white/50 hover:text-white/80 transition-colors py-1.5",children:[(0,r.jsx)(x,{size:12})," RLM paper"]})]})]}),(0,r.jsxs)("main",{className:"flex-1 min-w-0 px-8 py-10 max-w-3xl",children:[(0,r.jsxs)("div",{className:"mb-10",children:[(0,r.jsx)("div",{className:"text-xs font-mono text-white/40 uppercase tracking-widest mb-3",children:"Developer Docs"}),(0,r.jsx)("h1",{className:"text-4xl font-extrabold text-white mb-4 tracking-tight",children:"Getting Started"}),(0,r.jsxs)("p",{className:"text-white/65 text-lg leading-relaxed",children:["Everything you need to run Agentnetes on your codebase · from a first"," ",(0,r.jsx)("code",{className:"text-purple-400 bg-purple-400/10 px-1.5 py-0.5 rounded text-sm",children:"npx"})," command to production agent swarms."]})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-10",children:[{step:"1",label:"Get API key",detail:"Free at aistudio.google.com",href:"https://aistudio.google.com",color:"#a855f7"},{step:"2",label:"Pull Docker image",detail:"docker pull node:20-alpine",href:null,color:"#ec4899"},{step:"3",label:"Run on your repo",detail:'npx agentnetes run "goal"',href:null,color:"#f97316"}].map(({step:e,label:t,detail:n,href:s,color:i})=>(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 px-5 py-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"text-xs font-mono mb-2",style:{color:i},children:["Step ",e]}),(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-1",children:t}),s?(0,r.jsx)("a",{href:s,target:"_blank",rel:"noreferrer",className:"text-xs font-mono underline underline-offset-2",style:{color:i},children:n}):(0,r.jsx)("code",{className:"text-xs font-mono text-white/50",children:n})]},e))}),(0,r.jsx)(_,{id:"quickstart",children:"Quick Start"}),(0,r.jsx)(O,{children:"No installation required. Point Agentnetes at any git repo in under 2 minutes."}),(0,r.jsx)(E,{children:"1. Get a Google API key"}),(0,r.jsxs)(O,{children:["Agentnetes uses Gemini 2.5 Pro (planner) and Gemini 2.5 Flash (workers) by default. Get a free API key from"," ",(0,r.jsx)("a",{href:"https://aistudio.google.com",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"aistudio.google.com"}),". The free tier is sufficient for most tasks."]}),(0,r.jsx)(E,{children:"2. Pull the Docker base image"}),(0,r.jsx)(k,{children:"docker pull node:20-alpine"}),(0,r.jsx)(O,{children:"This is a one-time step. Each agent gets its own container · pulling it now means the first run starts immediately."}),(0,r.jsx)(E,{children:"3. Run on your repo"}),(0,r.jsx)(k,{children:`# From inside any git repository
4
4
  cd your-project
5
- GOOGLE_API_KEY=your_key npx agentnetes run "add comprehensive test coverage"`}),(0,r.jsx)(k,{children:"What you will see"}),(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-white/[0.06]",children:[(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-red-500/50"}),(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-yellow-500/50"}),(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-green-500/50"})]}),(0,r.jsx)("pre",{className:"px-5 py-4 text-sm font-mono text-white/70 leading-relaxed",children:`
5
+ GOOGLE_API_KEY=your_key npx agentnetes run "add comprehensive test coverage"`}),(0,r.jsx)(E,{children:"What you will see"}),(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-white/[0.06]",children:[(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-red-500/50"}),(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-yellow-500/50"}),(0,r.jsx)("span",{className:"w-2.5 h-2.5 rounded-full bg-green-500/50"})]}),(0,r.jsx)("pre",{className:"px-5 py-4 text-sm font-mono text-white/70 leading-relaxed",children:`
6
6
  Agentnetes
7
7
  Zero to a self-organizing AI agency. On demand.
8
8
 
@@ -30,11 +30,11 @@ GOOGLE_API_KEY=your_key npx agentnetes run "add comprehensive test coverage"`}),
30
30
  Added 3 test files covering auth, middleware, and utils...
31
31
 
32
32
  Done.
33
- `.trim()})]}),(0,r.jsxs)(E,{type:"tip",children:["Run ",(0,r.jsx)("code",{className:"text-purple-400",children:"npx agentnetes"})," with no arguments to see all available commands."]}),(0,r.jsx)(k,{children:"3. Install globally (optional)"}),(0,r.jsxs)(_,{children:["Skip the ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"npx"})," prefix by installing once:"]}),(0,r.jsx)(v,{children:`npm install -g agentnetes
33
+ `.trim()})]}),(0,r.jsxs)(N,{type:"tip",children:["Run ",(0,r.jsx)("code",{className:"text-purple-400",children:"npx agentnetes"})," with no arguments to see all available commands."]}),(0,r.jsx)(E,{children:"3. Install globally (optional)"}),(0,r.jsxs)(O,{children:["Skip the ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"npx"})," prefix by installing once:"]}),(0,r.jsx)(k,{children:`npm install -g agentnetes
34
34
 
35
35
  # Then use anywhere
36
- GOOGLE_API_KEY=your_key agentnetes run "refactor auth module to use JWT"`}),(0,r.jsx)(k,{children:"Prerequisites"}),(0,r.jsx)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[["Node.js","18+","Required"],["Docker","any recent version","Required for docker sandbox (default)"],["Google API key","free tier works","Required · or use AI Gateway"],["Git","repo must have origin remote","Required"]].map(([e,t,n])=>(0,r.jsxs)("div",{className:"flex items-center gap-4 px-5 py-3 border-b border-white/[0.05] last:border-0",children:[(0,r.jsx)("span",{className:"text-white font-medium text-sm w-32 shrink-0",children:e}),(0,r.jsx)("span",{className:"text-white/50 text-sm font-mono",children:t}),(0,r.jsx)("span",{className:"text-white/35 text-xs ml-auto",children:n})]},e))}),(0,r.jsxs)(E,{type:"info",children:["Pull the Docker base image once to speed up first runs:"," ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"docker pull node:20-alpine"})]}),(0,r.jsx)(j,{id:"how-it-works",children:"How it Works"}),(0,r.jsxs)(_,{children:["Agentnetes implements the ",(0,r.jsx)("a",{href:"https://arxiv.org/abs/2512.24601",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"RLM pattern (MIT CSAIL)"})," · context lives in sandboxes, not prompts."]}),[["1. You type a goal","A natural-language description of what you want done. No special syntax required."],["2. Root agent plans","A Tech Lead agent explores your repo structure and invents a specialist team tailored to the goal. Roles are fully emergent · nothing is hardcoded."],["3. Specialists run in parallel","Each specialist gets its own isolated sandbox with the repo cloned inside. They use two tools: search() and execute(). No file contents stuffed into prompts."],["4. AutoResearch loop","Agents write code, run tests, observe failures, patch, and repeat · following the write → test → fix loop until the task is done or the step budget is reached."],["5. Synthesis","The root agent collects all findings and delivers a final markdown summary of everything built."]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex gap-4 mb-5",style:{},children:[(0,r.jsx)("div",{className:"w-1.5 shrink-0 rounded-full mt-1",style:{background:"linear-gradient(180deg, #a855f7 0%, #f97316 100%)",minHeight:"2rem"}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-1",children:e}),(0,r.jsx)("div",{className:"text-white/60 text-sm leading-relaxed",children:t})]})]},e)),(0,r.jsx)(k,{children:"The two-tool strategy"}),(0,r.jsx)(_,{children:"Every agent has exactly two tools · keeping the token footprint under ~1,000 tokens regardless of codebase size:"}),(0,r.jsx)(v,{lang:"typescript",children:`search(pattern, path?, fileGlob?) // grep -r across the repo
37
- execute(command) // run any shell command in the sandbox`}),(0,r.jsx)(j,{id:"local-docker",children:"Local Dev with Docker"}),(0,r.jsxs)(_,{children:["Run the full Agentnetes web app locally with real Docker sandboxes · no cloud accounts needed. Each agent gets its own ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"node:20-alpine"})," container with the target repo cloned inside."]}),(0,r.jsx)(k,{children:"1. Pre-pull the Docker image"}),(0,r.jsx)(_,{children:"Do this once to avoid the image download on your first run:"}),(0,r.jsx)(v,{children:"docker pull node:20-alpine"}),(0,r.jsx)(k,{children:"2. Create .env.local"}),(0,r.jsxs)(_,{children:["In the root of the agentnetes repo, create a ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:".env.local"})," file:"]}),(0,r.jsx)(v,{children:`# ── Sandbox ───────────────────────────────────────────────────────
36
+ GOOGLE_API_KEY=your_key agentnetes run "refactor auth module to use JWT"`}),(0,r.jsx)(E,{children:"Prerequisites"}),(0,r.jsx)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[["Node.js","18+","Required"],["Docker","any recent version","Required for docker sandbox (default)"],["Google API key","free tier works","Required · or use AI Gateway"],["Git","repo must have origin remote","Required"]].map(([e,t,n])=>(0,r.jsxs)("div",{className:"flex items-center gap-4 px-5 py-3 border-b border-white/[0.05] last:border-0",children:[(0,r.jsx)("span",{className:"text-white font-medium text-sm w-32 shrink-0",children:e}),(0,r.jsx)("span",{className:"text-white/50 text-sm font-mono",children:t}),(0,r.jsx)("span",{className:"text-white/35 text-xs ml-auto",children:n})]},e))}),(0,r.jsxs)(N,{type:"info",children:["Pull the Docker base image once to speed up first runs:"," ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"docker pull node:20-alpine"})]}),(0,r.jsx)(_,{id:"how-it-works",children:"How it Works"}),(0,r.jsxs)(O,{children:["Agentnetes implements the ",(0,r.jsx)("a",{href:"https://arxiv.org/abs/2512.24601",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"RLM pattern (MIT CSAIL)"})," · context lives in sandboxes, not prompts."]}),[["1. You type a goal","A natural-language description of what you want done. No special syntax required."],["2. Root agent plans","A Tech Lead agent explores your repo structure and invents a specialist team tailored to the goal. Roles are fully emergent · nothing is hardcoded."],["3. Specialists run in parallel","Each specialist gets its own isolated sandbox with the repo cloned inside. They use two tools: search() and execute(). No file contents stuffed into prompts."],["4. AutoResearch loop","Agents write code, run tests, observe failures, patch, and repeat · following the write → test → fix loop until the task is done or the step budget is reached."],["5. Synthesis","The root agent collects all findings and delivers a final markdown summary of everything built."]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex gap-4 mb-5",style:{},children:[(0,r.jsx)("div",{className:"w-1.5 shrink-0 rounded-full mt-1",style:{background:"linear-gradient(180deg, #a855f7 0%, #f97316 100%)",minHeight:"2rem"}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-1",children:e}),(0,r.jsx)("div",{className:"text-white/60 text-sm leading-relaxed",children:t})]})]},e)),(0,r.jsx)(E,{children:"The two-tool strategy"}),(0,r.jsx)(O,{children:"Every agent has exactly two tools · keeping the token footprint under ~1,000 tokens regardless of codebase size:"}),(0,r.jsx)(k,{lang:"typescript",children:`search(pattern, path?, fileGlob?) // grep -r across the repo
37
+ execute(command) // run any shell command in the sandbox`}),(0,r.jsx)(_,{id:"local-docker",children:"Local Dev with Docker"}),(0,r.jsxs)(O,{children:["Run the full Agentnetes web app locally with real Docker sandboxes · no cloud accounts needed. Each agent gets its own ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"node:20-alpine"})," container with the target repo cloned inside."]}),(0,r.jsx)(E,{children:"1. Pre-pull the Docker image"}),(0,r.jsx)(O,{children:"Do this once to avoid the image download on your first run:"}),(0,r.jsx)(k,{children:"docker pull node:20-alpine"}),(0,r.jsx)(E,{children:"2. Create .env.local"}),(0,r.jsxs)(O,{children:["In the root of the agentnetes repo, create a ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:".env.local"})," file:"]}),(0,r.jsx)(k,{children:`# ── Sandbox ───────────────────────────────────────────────────────
38
38
  SIMULATION_MODE=false
39
39
  SANDBOX_PROVIDER=docker
40
40
 
@@ -42,23 +42,29 @@ SANDBOX_PROVIDER=docker
42
42
  GOOGLE_API_KEY=your_key_here
43
43
 
44
44
  # ── Target repo for agents to work on ─────────────────────────────
45
- DEMO_REPO_URL=https://github.com/expressjs/express`}),(0,r.jsxs)(E,{type:"warn",children:["Do ",(0,r.jsx)("strong",{children:"not"})," set ",(0,r.jsx)("code",{className:"bg-white/5 px-1 py-0.5 rounded",children:"AI_GATEWAY_BASE_URL"})," when using Google directly · it will try to route through Vercel AI Gateway and fail with an authentication error."]}),(0,r.jsx)(k,{children:"3. Start the dev server"}),(0,r.jsx)(v,{children:"npm run dev"}),(0,r.jsx)(k,{children:"4. Open the simulation page"}),(0,r.jsxs)(_,{children:["Navigate to ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"http://localhost:3000/demo"}),", select a model, and submit a goal. Use ",(0,r.jsx)("strong",{children:"Gemini 2.5 Flash"})," for faster planning · 2.5 Pro has extended thinking which can take 30-60s."]}),(0,r.jsx)(k,{children:"5. Watch containers spin up"}),(0,r.jsx)(_,{children:"In a separate terminal, poll Docker every second to see agents appearing and disappearing:"}),(0,r.jsx)(v,{children:"watch -n 1 docker ps"}),(0,r.jsx)(_,{children:"You will see one container per worker agent. They are automatically removed when the agent finishes."}),(0,r.jsxs)(E,{type:"tip",children:["For faster iteration, point ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"DEMO_REPO_URL"})," at a small repo like ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"expressjs/express"}),". Large monorepos (e.g. ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"vercel/ai"}),") take 60-90s to clone per container."]}),(0,r.jsx)(k,{children:"What happens end-to-end"}),[["POST /api/chat","Browser sends the goal and selected model to the Next.js API route."],["Planner calls Gemini","The Tech Lead agent calls your GOOGLE_API_KEY directly · no gateway."],["Worker containers start","One docker run per specialist · node:20-alpine with git + bash installed, repo cloned to /workspace."],["Agents execute tools","search() and execute() run bash commands inside /workspace via docker exec."],["SSE stream to browser","Events (task-created, terminal, finding, done) stream in real time to the UI."],["Containers stop","Each container is removed automatically after its agent completes (--rm flag)."]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex gap-4 mb-4",children:[(0,r.jsx)("div",{className:"w-1.5 shrink-0 rounded-full mt-1",style:{background:"linear-gradient(180deg, #a855f7 0%, #f97316 100%)",minHeight:"1.5rem"}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-0.5",children:e}),(0,r.jsx)("div",{className:"text-white/60 text-sm leading-relaxed",children:t})]})]},e)),(0,r.jsx)(j,{id:"cli",children:"CLI Reference"}),(0,r.jsx)(k,{children:"agentnetes run"}),(0,r.jsx)(_,{children:"Run a swarm of agents against the current git repository."}),(0,r.jsx)(v,{children:`agentnetes run "<goal>"
45
+ DEMO_REPO_URL=https://github.com/expressjs/express`}),(0,r.jsx)(E,{children:"3. Start the dev server"}),(0,r.jsx)(k,{children:"npm run dev"}),(0,r.jsx)(E,{children:"4. Open the demo page"}),(0,r.jsxs)(O,{children:["Navigate to ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"http://localhost:3000/demo"}),". The page defaults to Real mode. Use the Real/Simulation toggle in the header to switch modes. Select a model and submit a goal. Use ",(0,r.jsx)("strong",{children:"Gemini 2.5 Flash"})," for faster planning 2.5 Pro has extended thinking which can take 30-60s. GOOGLE_API_KEY is read from the environment (set in ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:".env.local"})," or exported in your shell)."]}),(0,r.jsx)(E,{children:"5. Watch containers spin up"}),(0,r.jsx)(O,{children:"In a separate terminal, poll Docker every second to see agents appearing and disappearing:"}),(0,r.jsx)(k,{children:"watch -n 1 docker ps"}),(0,r.jsx)(O,{children:"You will see one container per worker agent. They are automatically removed when the agent finishes."}),(0,r.jsxs)(N,{type:"tip",children:["For faster iteration, point ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"DEMO_REPO_URL"})," at a small repo like ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"expressjs/express"}),". Large monorepos (e.g. ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"vercel/ai"}),") take 60-90s to clone per container."]}),(0,r.jsx)(E,{children:"What happens end-to-end"}),[["POST /api/chat","Browser sends the goal and selected model to the Next.js API route."],["Planner calls Gemini","The Tech Lead agent calls your GOOGLE_API_KEY directly · no gateway."],["Worker containers start","One docker run per specialist · node:20-alpine with git + bash installed, repo cloned to /workspace."],["Agents execute tools","search() and execute() run bash commands inside /workspace via docker exec."],["SSE stream to browser","Events (task-created, terminal, finding, done) stream in real time to the UI."],["Containers stop","Each container is removed automatically after its agent completes (--rm flag)."]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex gap-4 mb-4",children:[(0,r.jsx)("div",{className:"w-1.5 shrink-0 rounded-full mt-1",style:{background:"linear-gradient(180deg, #a855f7 0%, #f97316 100%)",minHeight:"1.5rem"}}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-white font-semibold text-sm mb-0.5",children:e}),(0,r.jsx)("div",{className:"text-white/60 text-sm leading-relaxed",children:t})]})]},e)),(0,r.jsx)(_,{id:"cli",children:"CLI Reference"}),(0,r.jsx)(E,{children:"agentnetes run"}),(0,r.jsx)(O,{children:"Run a swarm of agents against the current git repository."}),(0,r.jsx)(k,{children:`agentnetes run "<goal>"
46
46
 
47
47
  # Examples
48
48
  agentnetes run "add TypeScript strict mode and fix all type errors"
49
49
  agentnetes run "write unit tests for the auth module"
50
50
  agentnetes run "implement rate limiting on all API routes"
51
- agentnetes run "add OpenTelemetry tracing throughout the app"`}),(0,r.jsxs)(E,{type:"info",children:["Must be run from inside a git repository with a remote ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"origin"}),". Agentnetes auto-detects the repo URL."]}),(0,r.jsx)(k,{children:"agentnetes snapshot create"}),(0,r.jsx)(_,{children:"Pre-warm a Vercel sandbox snapshot of your repo so future runs start in seconds instead of cloning from scratch."}),(0,r.jsx)(v,{children:"VERCEL_TOKEN=your_token agentnetes snapshot create"}),(0,r.jsx)(k,{children:"agentnetes snapshot list"}),(0,r.jsx)(_,{children:"List all available snapshots in your Vercel account."}),(0,r.jsx)(v,{children:"VERCEL_TOKEN=your_token agentnetes snapshot list"}),(0,r.jsx)(j,{id:"sandboxes",children:"Sandbox Providers"}),(0,r.jsx)(_,{children:"Each agent runs in its own isolated sandbox with the repo cloned inside. Choose the provider that fits your setup:"}),(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",children:[(0,r.jsxs)("div",{className:"grid grid-cols-4 px-5 py-2.5 border-b border-white/[0.06] text-[11px] font-mono text-white/40 uppercase tracking-wider",style:{background:"var(--bg-card)"},children:[(0,r.jsx)("span",{children:"Provider"}),(0,r.jsx)("span",{children:"Env var"}),(0,r.jsx)("span",{children:"Speed"}),(0,r.jsx)("span",{children:"Notes"})]}),[["docker","-","Fast","Default. node:20-alpine per agent."],["local","-","Fastest","Runs on host machine. No isolation."],["vercel","VERCEL_TOKEN","Fastest*","Firecracker microVMs. Snapshot support."],["e2b","E2B_API_KEY","Fast","Install e2b package separately."],["daytona","DAYTONA_API_KEY","Fast","Install @daytonaio/sdk separately."]].map(([e,t,n,s])=>(0,r.jsxs)("div",{className:"grid grid-cols-4 px-5 py-3 border-b border-white/[0.05] last:border-0 text-sm",style:{background:"var(--bg-subtle)"},children:[(0,r.jsx)("code",{className:"text-purple-400",children:e}),(0,r.jsx)("code",{className:"text-white/50 text-xs",children:t}),(0,r.jsx)("span",{className:"text-white/60",children:n}),(0,r.jsx)("span",{className:"text-white/45 text-xs",children:s})]},e))]}),(0,r.jsx)(k,{children:"Setting the provider"}),(0,r.jsx)(v,{children:`# Use Docker (default for local dev)
51
+ agentnetes run "add OpenTelemetry tracing throughout the app"`}),(0,r.jsxs)(N,{type:"info",children:["Must be run from inside a git repository with a remote ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"origin"}),". Agentnetes auto-detects the repo URL."]}),(0,r.jsx)(E,{children:"agentnetes snapshot create"}),(0,r.jsx)(O,{children:"Pre-warm a Vercel sandbox snapshot of your repo so future runs start in seconds instead of cloning from scratch."}),(0,r.jsx)(k,{children:"VERCEL_TOKEN=your_token agentnetes snapshot create"}),(0,r.jsx)(E,{children:"agentnetes snapshot list"}),(0,r.jsx)(O,{children:"List all available snapshots in your Vercel account."}),(0,r.jsx)(k,{children:"VERCEL_TOKEN=your_token agentnetes snapshot list"}),(0,r.jsx)(E,{children:"agentnetes serve"}),(0,r.jsx)(O,{children:"Start the Agentnetes web UI on your local machine. No source code needed."}),(0,r.jsx)(k,{children:`# Start on default port 3000
52
+ npx agentnetes serve
53
+
54
+ # Custom port
55
+ npx agentnetes serve --port 8080`}),(0,r.jsx)(O,{children:"Then open http://localhost:3000 in your browser. Set GOOGLE_API_KEY in your environment before starting:"}),(0,r.jsx)(k,{children:`export GOOGLE_API_KEY=your_key
56
+ npx agentnetes serve`}),(0,r.jsx)(N,{type:"tip",children:"The web UI has a Real/Simulation toggle. Real mode runs live agents. Simulation mode shows pre-scripted scenarios with no API key needed."}),(0,r.jsx)(_,{id:"serve",children:"Web UI (serve)"}),(0,r.jsxs)(O,{children:[(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"agentnetes serve"})," starts the bundled Next.js web UI directly from the npm package. No cloning the repo or running ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"npm run dev"})," required."]}),(0,r.jsx)(E,{children:"Setting GOOGLE_API_KEY"}),(0,r.jsx)(O,{children:"The API key is read from environment variables only. Set it before starting the server:"}),(0,r.jsx)(k,{children:`# Option 1: export in your shell session
57
+ export GOOGLE_API_KEY=your_key
58
+ npx agentnetes serve`}),(0,r.jsx)(k,{children:`# Option 2: add to .env.local in the directory where you run serve
59
+ GOOGLE_API_KEY=your_key`}),(0,r.jsx)(E,{children:"Settings modal"}),(0,r.jsx)(O,{children:"The Settings modal (gear icon in the header) lets you configure:"}),(0,r.jsx)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[["Repo URL","The git repository agents will clone and work on"],["Sandbox provider","docker | local | vercel | e2b | daytona"],["Planner model","Model used by the root Tech Lead agent"],["Worker model","Model used by specialist agents"],["GOOGLE_API_KEY status","Green check if set, yellow warning with instructions if not"]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex items-start gap-4 px-5 py-3 border-b border-white/[0.05] last:border-0",children:[(0,r.jsx)("span",{className:"text-white font-medium text-sm w-44 shrink-0",children:e}),(0,r.jsx)("span",{className:"text-white/50 text-sm",children:t})]},e))}),(0,r.jsxs)(N,{type:"warn",children:["GOOGLE_API_KEY cannot be entered in the web UI. It must be set as an environment variable or in ",(0,r.jsx)("code",{className:"bg-white/5 px-1 py-0.5 rounded",children:".env.local"})," before starting the server."]}),(0,r.jsx)(E,{children:"Real vs Simulation toggle"}),(0,r.jsx)(O,{children:"The header has a Real/Simulation toggle. Real is the default and runs live agents against your repo using the Gemini API. Simulation mode plays back pre-scripted scenarios and requires no API key, useful for demos and UI development."}),(0,r.jsx)(_,{id:"sandboxes",children:"Sandbox Providers"}),(0,r.jsx)(O,{children:"Each agent runs in its own isolated sandbox with the repo cloned inside. Choose the provider that fits your setup:"}),(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",children:[(0,r.jsxs)("div",{className:"grid grid-cols-4 px-5 py-2.5 border-b border-white/[0.06] text-[11px] font-mono text-white/40 uppercase tracking-wider",style:{background:"var(--bg-card)"},children:[(0,r.jsx)("span",{children:"Provider"}),(0,r.jsx)("span",{children:"Env var"}),(0,r.jsx)("span",{children:"Speed"}),(0,r.jsx)("span",{children:"Notes"})]}),[["docker","-","Fast","Default. node:20-alpine per agent."],["local","-","Fastest","Runs on host machine. No isolation."],["vercel","VERCEL_TOKEN","Fastest*","Firecracker microVMs. Snapshot support."],["e2b","E2B_API_KEY","Fast","Install e2b package separately."],["daytona","DAYTONA_API_KEY","Fast","Install @daytonaio/sdk separately."]].map(([e,t,n,s])=>(0,r.jsxs)("div",{className:"grid grid-cols-4 px-5 py-3 border-b border-white/[0.05] last:border-0 text-sm",style:{background:"var(--bg-subtle)"},children:[(0,r.jsx)("code",{className:"text-purple-400",children:e}),(0,r.jsx)("code",{className:"text-white/50 text-xs",children:t}),(0,r.jsx)("span",{className:"text-white/60",children:n}),(0,r.jsx)("span",{className:"text-white/45 text-xs",children:s})]},e))]}),(0,r.jsx)(E,{children:"Setting the provider"}),(0,r.jsx)(k,{children:`# Use Docker (default for local dev)
52
60
  SANDBOX_PROVIDER=docker GOOGLE_API_KEY=xxx agentnetes run "goal"
53
61
 
54
62
  # Use local (fastest, no isolation)
55
63
  SANDBOX_PROVIDER=local GOOGLE_API_KEY=xxx agentnetes run "goal"
56
64
 
57
65
  # Use Vercel (requires VERCEL_TOKEN)
58
- SANDBOX_PROVIDER=vercel VERCEL_TOKEN=xxx GOOGLE_API_KEY=xxx agentnetes run "goal"`}),(0,r.jsxs)(E,{type:"tip",children:["For local development, ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"docker"})," is recommended over ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"local"})," · it prevents agents from writing to your actual working directory."]}),(0,r.jsx)(j,{id:"config",children:"Configuration"}),(0,r.jsx)(_,{children:"All configuration is done via environment variables. No config file needed."}),(0,r.jsx)(k,{children:"Full reference"}),(0,r.jsx)(v,{children:`# ── LLM Provider (one of these) ──────────────────────────────────
59
- GOOGLE_API_KEY= # Direct Gemini \xb7 get free at aistudio.google.com
60
- AI_GATEWAY_BASE_URL= # Vercel AI Gateway endpoint
61
- AI_GATEWAY_API_KEY= # Vercel AI Gateway API key
66
+ SANDBOX_PROVIDER=vercel VERCEL_TOKEN=xxx GOOGLE_API_KEY=xxx agentnetes run "goal"`}),(0,r.jsxs)(N,{type:"tip",children:["For local development, ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"docker"})," is recommended over ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1 py-0.5 rounded text-sm",children:"local"})," · it prevents agents from writing to your actual working directory."]}),(0,r.jsx)(_,{id:"config",children:"Configuration"}),(0,r.jsx)(O,{children:"All configuration is done via environment variables. No config file needed."}),(0,r.jsx)(E,{children:"Full reference"}),(0,r.jsx)(k,{children:`# ── LLM Provider ─────────────────────────────────────────────────
67
+ GOOGLE_API_KEY= # Required \xb7 get free at aistudio.google.com
62
68
 
63
69
  # ── Sandbox ───────────────────────────────────────────────────────
64
70
  SANDBOX_PROVIDER=docker # docker | local | vercel | e2b | daytona
@@ -68,12 +74,10 @@ VERCEL_TOKEN= # Required for vercel sandbox
68
74
  PLANNER_MODEL=google/gemini-2.5-pro # Root Tech Lead model
69
75
  WORKER_MODEL=google/gemini-2.5-flash # Specialist agent model
70
76
 
71
- # ── Demo web app only ─────────────────────────────────────────────
72
- SIMULATION_MODE=false # true = skip real runtime, use simulation
73
- DEMO_REPO_URL=https://github.com/vercel/ai`}),(0,r.jsx)(k,{children:"Using Vercel AI Gateway"}),(0,r.jsxs)(_,{children:["Instead of calling Google directly, you can route all model calls through"," ",(0,r.jsx)("a",{href:"https://vercel.com/docs/ai-gateway",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"Vercel AI Gateway"})," ","for unified logging, caching, and fallbacks:"]}),(0,r.jsx)(v,{children:`AI_GATEWAY_BASE_URL=https://ai-gateway.vercel.sh/v1/xxx
74
- AI_GATEWAY_API_KEY=your_gateway_key
75
- agentnetes run "your goal"`}),(0,r.jsx)(j,{id:"examples",children:"Examples"}),(0,r.jsx)(k,{children:"Add test coverage"}),(0,r.jsx)(v,{children:`cd your-node-project
76
- GOOGLE_API_KEY=xxx npx agentnetes run "add vitest unit tests for all utility functions"`}),(0,r.jsx)(k,{children:"Fix TypeScript errors"}),(0,r.jsx)(v,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "enable strict TypeScript and fix all type errors"'}),(0,r.jsx)(k,{children:"Implement a feature"}),(0,r.jsx)(v,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "add rate limiting middleware to all Express routes using express-rate-limit"'}),(0,r.jsx)(k,{children:"Security audit"}),(0,r.jsx)(v,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "audit the codebase for security vulnerabilities and fix them"'}),(0,r.jsx)(k,{children:"Add observability"}),(0,r.jsx)(v,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "add OpenTelemetry tracing to all API routes and database queries"'}),(0,r.jsxs)(E,{type:"tip",children:["Be specific in your goals. Instead of ",(0,r.jsx)("em",{children:'"improve the code"'}),", try ",(0,r.jsx)("em",{children:'"add error handling to all async functions in the API layer and log errors with structured JSON"'}),"."]}),(0,r.jsx)(j,{id:"architecture",children:"Architecture"}),(0,r.jsxs)(_,{children:["The core runtime is in ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"lib/vrlm/"})," and is completely independent of Next.js · you can embed it in any Node.js application."]}),(0,r.jsx)(k,{children:"Embedding the runtime"}),(0,r.jsx)(v,{lang:"typescript",children:`import { VrlmRuntime } from 'agentnetes/runtime';
77
+ # ── Web app / serve only ───────────────────────────────────────────
78
+ SIMULATION_MODE=false # true = always use simulation
79
+ DEMO_REPO_URL=https://github.com/expressjs/express`}),(0,r.jsx)(_,{id:"examples",children:"Examples"}),(0,r.jsx)(E,{children:"Add test coverage"}),(0,r.jsx)(k,{children:`cd your-node-project
80
+ GOOGLE_API_KEY=xxx npx agentnetes run "add vitest unit tests for all utility functions"`}),(0,r.jsx)(E,{children:"Fix TypeScript errors"}),(0,r.jsx)(k,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "enable strict TypeScript and fix all type errors"'}),(0,r.jsx)(E,{children:"Implement a feature"}),(0,r.jsx)(k,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "add rate limiting middleware to all Express routes using express-rate-limit"'}),(0,r.jsx)(E,{children:"Security audit"}),(0,r.jsx)(k,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "audit the codebase for security vulnerabilities and fix them"'}),(0,r.jsx)(E,{children:"Add observability"}),(0,r.jsx)(k,{children:'GOOGLE_API_KEY=xxx npx agentnetes run "add OpenTelemetry tracing to all API routes and database queries"'}),(0,r.jsxs)(N,{type:"tip",children:["Be specific in your goals. Instead of ",(0,r.jsx)("em",{children:'"improve the code"'}),", try ",(0,r.jsx)("em",{children:'"add error handling to all async functions in the API layer and log errors with structured JSON"'}),"."]}),(0,r.jsx)(_,{id:"architecture",children:"Architecture"}),(0,r.jsxs)(O,{children:["The core runtime is in ",(0,r.jsx)("code",{className:"text-white/80 bg-white/5 px-1.5 py-0.5 rounded text-sm",children:"lib/vrlm/"})," and is completely independent of Next.js · you can embed it in any Node.js application."]}),(0,r.jsx)(E,{children:"Embedding the runtime"}),(0,r.jsx)(k,{lang:"typescript",children:`import { VrlmRuntime } from 'agentnetes/runtime';
77
81
  import { VrlmEventEmitter } from 'agentnetes/events';
78
82
 
79
83
  const emitter = new VrlmEventEmitter();
@@ -91,4 +95,4 @@ const runtime = new VrlmRuntime(emitter, {
91
95
  maxStepsPerAgent: 20,
92
96
  });
93
97
 
94
- await runtime.run('add comprehensive test coverage');`}),(0,r.jsx)(k,{children:"Event types"}),(0,r.jsx)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[["task-created","A new agent task was spawned"],["task-updated","Agent status text changed"],["task-completed","Agent finished successfully"],["task-failed","Agent encountered an error"],["finding","Agent produced a text observation"],["terminal","Agent ran a shell command (tool call)"],["artifact","Agent created or modified a file"],["collaboration","Agent requested input from another agent"],["synthesis","Root agent produced the final summary"],["done","All agents finished · run is complete"],["error","Fatal runtime error"]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex items-center gap-4 px-5 py-2.5 border-b border-white/[0.05] last:border-0",children:[(0,r.jsx)("code",{className:"text-purple-400 text-xs w-36 shrink-0",children:e}),(0,r.jsx)("span",{className:"text-white/55 text-sm",children:t})]},e))}),(0,r.jsx)(j,{id:"troubleshoot",children:"Troubleshooting"}),[{error:'Error: not inside a git repository or no remote "origin" found',cause:"You must run agentnetes from inside a git repo that has a remote named origin.",fix:"cd into your project root and ensure git remote get-url origin returns a URL."},{error:"GOOGLE_API_KEY is not set / no LLM provider configured",cause:"No API key was provided and no AI Gateway is configured.",fix:"Set GOOGLE_API_KEY=your_key before the command, or add it to a .env file and use dotenv."},{error:"Docker daemon is not running",cause:"The Docker sandbox (default) requires Docker Desktop or Docker Engine to be running.",fix:"Start Docker Desktop, or switch to local sandbox: SANDBOX_PROVIDER=local"},{error:"docker: Cannot connect to the Docker daemon",cause:"Same as above · Docker is not running or the socket is not accessible.",fix:"Run: open -a Docker (macOS) or sudo systemctl start docker (Linux)"},{error:"Fatal: model returned empty response",cause:"The Gemini API returned nothing · usually a quota or region issue.",fix:"Check your quota at aistudio.google.com. Try WORKER_MODEL=google/gemini-2.0-flash as a fallback."},{error:"Agent exceeded step budget with no result",cause:"The agent hit the maxStepsPerAgent limit (default: 20) without completing.",fix:"Break the goal into smaller tasks, or increase the budget with WORKER_MAX_STEPS=40."},{error:"GatewayAuthenticationError: Unauthenticated request to AI Gateway",cause:"AI_GATEWAY_BASE_URL is set in your environment, causing all model calls to route through Vercel AI Gateway instead of Google directly.",fix:"Remove AI_GATEWAY_BASE_URL from your environment or .env.local. Use only GOOGLE_API_KEY for direct Gemini access."},{error:"UI shows nothing after submitting a prompt (empty EventStream)",cause:"The runtime errored silently. Common causes: invalid API key, model not available, or a missing env var.",fix:"Check the terminal running npm run dev for [chat] error: lines. The UI now shows error messages in the chat panel."},{error:"Gemini 2.5 Pro hangs for 60+ seconds before planning",cause:"Gemini 2.5 Pro uses extended thinking mode which can take over a minute for complex goals.",fix:"Switch to Gemini 2.5 Flash in the model selector dropdown · it plans in 3-5 seconds."}].map(({error:e,cause:t,fix:n})=>(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 px-5 py-4 mb-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsx)("code",{className:"text-red-400 text-xs font-mono block mb-3 leading-relaxed",children:e}),(0,r.jsxs)("div",{className:"text-sm text-white/60 mb-1",children:[(0,r.jsx)("span",{className:"text-white/40 mr-2",children:"Cause:"}),t]}),(0,r.jsxs)("div",{className:"text-sm text-white/70",children:[(0,r.jsx)("span",{className:"text-green-400 mr-2",children:"Fix:"}),n]})]},e)),(0,r.jsxs)(E,{type:"tip",children:["Still stuck? Open an issue at"," ",(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes/issues",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"github.com/Shashikant86/agentnetes/issues"})," ","with the error output and your sandbox provider."]}),(0,r.jsxs)("div",{className:"mt-16 pt-8 border-t border-white/[0.06] flex flex-col sm:flex-row items-center justify-between gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s.default,{src:`${b}/favicon.png`,alt:"Agentnetes",width:18,height:18,className:"rounded-sm opacity-60"}),(0,r.jsx)("span",{className:"text-white/40 text-sm font-mono",children:"Agentnetes · MIT License"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,r.jsx)(n.default,{href:"/",className:"text-white/40 hover:text-white/70 transition-colors",children:"Home"}),(0,r.jsx)(n.default,{href:"/demo",className:"text-white/40 hover:text-white/70 transition-colors",children:"Demo"}),(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/40 hover:text-white/70 transition-colors",children:"GitHub"}),(0,r.jsx)("a",{href:"https://www.npmjs.com/package/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/40 hover:text-white/70 transition-colors",children:"npm"})]})]})]})]})]})}],14287)}]);
98
+ await runtime.run('add comprehensive test coverage');`}),(0,r.jsx)(E,{children:"Event types"}),(0,r.jsx)("div",{className:"rounded-xl border border-white/10 overflow-hidden my-4",style:{background:"var(--bg-subtle)"},children:[["task-created","A new agent task was spawned"],["task-updated","Agent status text changed"],["task-completed","Agent finished successfully"],["task-failed","Agent encountered an error"],["finding","Agent produced a text observation"],["terminal","Agent ran a shell command (tool call)"],["artifact","Agent created or modified a file"],["collaboration","Agent requested input from another agent"],["synthesis","Root agent produced the final summary"],["done","All agents finished · run is complete"],["error","Fatal runtime error"]].map(([e,t])=>(0,r.jsxs)("div",{className:"flex items-center gap-4 px-5 py-2.5 border-b border-white/[0.05] last:border-0",children:[(0,r.jsx)("code",{className:"text-purple-400 text-xs w-36 shrink-0",children:e}),(0,r.jsx)("span",{className:"text-white/55 text-sm",children:t})]},e))}),(0,r.jsx)(_,{id:"troubleshoot",children:"Troubleshooting"}),[{error:'Error: not inside a git repository or no remote "origin" found',cause:"You must run agentnetes from inside a git repo that has a remote named origin.",fix:"cd into your project root and ensure git remote get-url origin returns a URL."},{error:"GOOGLE_API_KEY is not set / no LLM provider configured",cause:"No API key was provided and no AI Gateway is configured.",fix:"Set GOOGLE_API_KEY=your_key before the command, or add it to a .env file and use dotenv."},{error:"Docker daemon is not running",cause:"The Docker sandbox (default) requires Docker Desktop or Docker Engine to be running.",fix:"Start Docker Desktop, or switch to local sandbox: SANDBOX_PROVIDER=local"},{error:"docker: Cannot connect to the Docker daemon",cause:"Same as above · Docker is not running or the socket is not accessible.",fix:"Run: open -a Docker (macOS) or sudo systemctl start docker (Linux)"},{error:"Fatal: model returned empty response",cause:"The Gemini API returned nothing · usually a quota or region issue.",fix:"Check your quota at aistudio.google.com. Try WORKER_MODEL=google/gemini-2.0-flash as a fallback."},{error:"Agent exceeded step budget with no result",cause:"The agent hit the maxStepsPerAgent limit (default: 20) without completing.",fix:"Break the goal into smaller tasks, or increase the budget with WORKER_MAX_STEPS=40."},{error:"GatewayAuthenticationError: Unauthenticated request to AI Gateway",cause:"AI_GATEWAY_BASE_URL is set in your environment, causing all model calls to route through Vercel AI Gateway instead of Google directly.",fix:"Remove AI_GATEWAY_BASE_URL from your environment or .env.local. Use only GOOGLE_API_KEY for direct Gemini access."},{error:"UI shows nothing after submitting a prompt (empty EventStream)",cause:"The runtime errored silently. Common causes: invalid API key, model not available, or a missing env var.",fix:"Check the terminal running npm run dev for [chat] error: lines. The UI now shows error messages in the chat panel."},{error:"Gemini 2.5 Pro hangs for 60+ seconds before planning",cause:"Gemini 2.5 Pro uses extended thinking mode which can take over a minute for complex goals.",fix:"Switch to Gemini 2.5 Flash in the model selector dropdown · it plans in 3-5 seconds."},{error:"Error: web UI not found",cause:"The standalone web UI was not bundled in this version of the npm package.",fix:"Use npx agentnetes@latest serve to get the latest version with the web UI bundled."},{error:"GOOGLE_API_KEY not set — real agents will not run",cause:"The API key is read from environment variables only. It cannot be entered in the web UI.",fix:"Run: export GOOGLE_API_KEY=your_key then restart agentnetes serve. Or add it to .env.local."}].map(({error:e,cause:t,fix:n})=>(0,r.jsxs)("div",{className:"rounded-xl border border-white/10 px-5 py-4 mb-4",style:{background:"var(--bg-subtle)"},children:[(0,r.jsx)("code",{className:"text-red-400 text-xs font-mono block mb-3 leading-relaxed",children:e}),(0,r.jsxs)("div",{className:"text-sm text-white/60 mb-1",children:[(0,r.jsx)("span",{className:"text-white/40 mr-2",children:"Cause:"}),t]}),(0,r.jsxs)("div",{className:"text-sm text-white/70",children:[(0,r.jsx)("span",{className:"text-green-400 mr-2",children:"Fix:"}),n]})]},e)),(0,r.jsxs)(N,{type:"tip",children:["Still stuck? Open an issue at"," ",(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes/issues",target:"_blank",rel:"noreferrer",className:"text-purple-400 hover:text-purple-300 underline underline-offset-2",children:"github.com/Shashikant86/agentnetes/issues"})," ","with the error output and your sandbox provider."]}),(0,r.jsxs)("div",{className:"mt-16 pt-8 border-t border-white/[0.06] flex flex-col sm:flex-row items-center justify-between gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s.default,{src:`${w}/favicon.png`,alt:"Agentnetes",width:18,height:18,className:"rounded-sm opacity-60"}),(0,r.jsx)("span",{className:"text-white/40 text-sm font-mono",children:"Agentnetes · MIT License"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,r.jsx)(n.default,{href:"/",className:"text-white/40 hover:text-white/70 transition-colors",children:"Home"}),(0,r.jsx)(n.default,{href:"/demo",className:"text-white/40 hover:text-white/70 transition-colors",children:"Demo"}),(0,r.jsx)("a",{href:"https://github.com/Shashikant86/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/40 hover:text-white/70 transition-colors",children:"GitHub"}),(0,r.jsx)("a",{href:"https://www.npmjs.com/package/agentnetes",target:"_blank",rel:"noreferrer",className:"text-white/40 hover:text-white/70 transition-colors",children:"npm"})]})]})]})]})]})}],14287)}]);
@@ -0,0 +1 @@
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-yellow-300:#ffe02a;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-green-300:#7bf1a8;--color-green-400:#05df72;--color-green-500:#00c758;--color-emerald-400:#00d294;--color-emerald-500:#00bb7f;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-violet-300:#c4b4ff;--color-violet-400:#a685ff;--color-violet-500:#8d54ff;--color-purple-300:#d9b3ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-pink-400:#fb64b6;--color-gray-700:#364153;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-yellow-300:lab(89.7033% -.480294 84.4917);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-green-300:lab(86.9953% -47.2691 25.0054);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-violet-300:lab(76.7419% 18.3911 -37.0706);--color-violet-400:lab(62.8239% 34.9159 -60.0512);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-purple-300:lab(78.3298% 26.2195 -34.9499);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-pink-400:lab(64.5597% 64.3615 -12.7988);--color-gray-700:lab(27.1134% -.956401 -12.3224)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-14{top:calc(var(--spacing) * 14)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-14{height:calc(var(--spacing) * 14)}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-full{height:100%}.h-screen{height:100vh}.max-h-28{max-height:calc(var(--spacing) * 28)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-1{width:calc(var(--spacing) * 1)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-44{width:calc(var(--spacing) * 44)}.w-56{width:calc(var(--spacing) * 56)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.scroll-mt-20{scroll-margin-top:calc(var(--spacing) * 20)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-br-sm{border-bottom-right-radius:var(--radius-sm)}.rounded-bl-sm{border-bottom-left-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#333\]{border-color:#333}.border-\[\#21262d\]{border-color:#21262d}.border-\[\#30363d\]{border-color:#30363d}.border-blue-400\/20{border-color:#54a2ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/20{border-color:color-mix(in oklab, var(--color-blue-400) 20%, transparent)}}.border-blue-400\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/40{border-color:color-mix(in oklab, var(--color-blue-500) 40%, transparent)}}.border-emerald-400\/30{border-color:#00d2944d}@supports (color:color-mix(in lab, red, red)){.border-emerald-400\/30{border-color:color-mix(in oklab, var(--color-emerald-400) 30%, transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-500\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-emerald-500\/40{border-color:#00bb7f66}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/40{border-color:color-mix(in oklab, var(--color-emerald-500) 40%, transparent)}}.border-gray-700{border-color:var(--color-gray-700)}.border-green-500\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\/20{border-color:color-mix(in oklab, var(--color-green-500) 20%, transparent)}}.border-green-500\/25{border-color:#00c75840}@supports (color:color-mix(in lab, red, red)){.border-green-500\/25{border-color:color-mix(in oklab, var(--color-green-500) 25%, transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-orange-400\/30{border-color:#ff8b1a4d}@supports (color:color-mix(in lab, red, red)){.border-orange-400\/30{border-color:color-mix(in oklab, var(--color-orange-400) 30%, transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/40{border-color:color-mix(in oklab, var(--color-orange-500) 40%, transparent)}}.border-purple-400\/40{border-color:#c07eff66}@supports (color:color-mix(in lab, red, red)){.border-purple-400\/40{border-color:color-mix(in oklab, var(--color-purple-400) 40%, transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/20{border-color:color-mix(in oklab, var(--color-purple-500) 20%, transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/40{border-color:color-mix(in oklab, var(--color-purple-500) 40%, transparent)}}.border-purple-500\/50{border-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/50{border-color:color-mix(in oklab, var(--color-purple-500) 50%, transparent)}}.border-purple-500\/60{border-color:#ac4bff99}@supports (color:color-mix(in lab, red, red)){.border-purple-500\/60{border-color:color-mix(in oklab, var(--color-purple-500) 60%, transparent)}}.border-red-500\/25{border-color:#fb2c3640}@supports (color:color-mix(in lab, red, red)){.border-red-500\/25{border-color:color-mix(in oklab, var(--color-red-500) 25%, transparent)}}.border-violet-400\/30{border-color:#a685ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/30{border-color:color-mix(in oklab, var(--color-violet-400) 30%, transparent)}}.border-violet-500\/20{border-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/20{border-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-violet-500\/40{border-color:#8d54ff66}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/40{border-color:color-mix(in oklab, var(--color-violet-500) 40%, transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-white\/\[0\.05\]{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.05\]{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.border-white\/\[0\.07\]{border-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.07\]{border-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.border-white\/\[0\.08\]{border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.08\]{border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.border-white\/\[0\.12\]{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.12\]{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-yellow-400\/40{border-color:#fac80066}@supports (color:color-mix(in lab, red, red)){.border-yellow-400\/40{border-color:color-mix(in oklab, var(--color-yellow-400) 40%, transparent)}}.border-yellow-500\/20{border-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/20{border-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab, red, red)){.border-yellow-500\/40{border-color:color-mix(in oklab, var(--color-yellow-500) 40%, transparent)}}.bg-\[\#0d1117\]{background-color:#0d1117}.bg-\[\#28c840\]{background-color:#28c840}.bg-\[\#161b22\]{background-color:#161b22}.bg-\[\#ff5f57\]{background-color:#ff5f57}.bg-\[\#ffbd2e\]{background-color:#ffbd2e}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-400\/5{background-color:#54a2ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-400\/5{background-color:color-mix(in oklab, var(--color-blue-400) 5%, transparent)}}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/5{background-color:color-mix(in oklab, var(--color-blue-500) 5%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/5{background-color:#00d2940d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/5{background-color:color-mix(in oklab, var(--color-emerald-400) 5%, transparent)}}.bg-emerald-500\/5{background-color:#00bb7f0d}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/5{background-color:color-mix(in oklab, var(--color-emerald-500) 5%, transparent)}}.bg-emerald-500\/\[0\.03\]{background-color:#00bb7f08}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-emerald-500) 3%, transparent)}}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/5{background-color:color-mix(in oklab, var(--color-green-500) 5%, transparent)}}.bg-green-500\/50{background-color:#00c75880}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/50{background-color:color-mix(in oklab, var(--color-green-500) 50%, transparent)}}.bg-green-500\/60{background-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/60{background-color:color-mix(in oklab, var(--color-green-500) 60%, transparent)}}.bg-green-500\/\[0\.04\]{background-color:#00c7580a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-green-500) 4%, transparent)}}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-400\/5{background-color:#ff8b1a0d}@supports (color:color-mix(in lab, red, red)){.bg-orange-400\/5{background-color:color-mix(in oklab, var(--color-orange-400) 5%, transparent)}}.bg-purple-300{background-color:var(--color-purple-300)}.bg-purple-400\/10{background-color:#c07eff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-400\/10{background-color:color-mix(in oklab, var(--color-purple-400) 10%, transparent)}}.bg-purple-500\/5{background-color:#ac4bff0d}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/5{background-color:color-mix(in oklab, var(--color-purple-500) 5%, transparent)}}.bg-purple-500\/8{background-color:#ac4bff14}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/8{background-color:color-mix(in oklab, var(--color-purple-500) 8%, transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/10{background-color:color-mix(in oklab, var(--color-purple-500) 10%, transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/15{background-color:color-mix(in oklab, var(--color-purple-500) 15%, transparent)}}.bg-purple-500\/\[0\.03\]{background-color:#ac4bff08}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-purple-500) 3%, transparent)}}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500\/50{background-color:#fb2c3680}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/50{background-color:color-mix(in oklab, var(--color-red-500) 50%, transparent)}}.bg-red-500\/60{background-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/60{background-color:color-mix(in oklab, var(--color-red-500) 60%, transparent)}}.bg-red-500\/70{background-color:#fb2c36b3}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/70{background-color:color-mix(in oklab, var(--color-red-500) 70%, transparent)}}.bg-red-500\/\[0\.04\]{background-color:#fb2c360a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-red-500) 4%, transparent)}}.bg-violet-400{background-color:var(--color-violet-400)}.bg-violet-400\/5{background-color:#a685ff0d}@supports (color:color-mix(in lab, red, red)){.bg-violet-400\/5{background-color:color-mix(in oklab, var(--color-violet-400) 5%, transparent)}}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/5{background-color:color-mix(in oklab, var(--color-violet-500) 5%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-white\/\[0\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.02\]{background-color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-yellow-400\/5{background-color:#fac8000d}@supports (color:color-mix(in lab, red, red)){.bg-yellow-400\/5{background-color:color-mix(in oklab, var(--color-yellow-400) 5%, transparent)}}.bg-yellow-500\/5{background-color:#edb2000d}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/5{background-color:color-mix(in oklab, var(--color-yellow-500) 5%, transparent)}}.bg-yellow-500\/50{background-color:#edb20080}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/50{background-color:color-mix(in oklab, var(--color-yellow-500) 50%, transparent)}}.bg-yellow-500\/60{background-color:#edb20099}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/60{background-color:color-mix(in oklab, var(--color-yellow-500) 60%, transparent)}}.bg-yellow-500\/\[0\.03\]{background-color:#edb20008}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-yellow-500) 3%, transparent)}}.bg-yellow-500\/\[0\.04\]{background-color:#edb2000a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-yellow-500) 4%, transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-green-400{--tw-gradient-to:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-20{padding-block:calc(var(--spacing) * 20)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-14{padding-top:calc(var(--spacing) * 14)}.pt-28{padding-top:calc(var(--spacing) * 28)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#7dd3fc\]{color:#7dd3fc}.text-\[\#79c0ff\]{color:#79c0ff}.text-\[\#555\]{color:#555}.text-\[\#666\]{color:#666}.text-\[\#a5d6ff\]{color:#a5d6ff}.text-\[\#e6edf3\]{color:#e6edf3}.text-\[\#ff7b72\]{color:#ff7b72}.text-black{color:var(--color-black)}.text-blue-400{color:var(--color-blue-400)}.text-blue-400\/70{color:#54a2ffb3}@supports (color:color-mix(in lab, red, red)){.text-blue-400\/70{color:color-mix(in oklab, var(--color-blue-400) 70%, transparent)}}.text-blue-400\/80{color:#54a2ffcc}@supports (color:color-mix(in lab, red, red)){.text-blue-400\/80{color:color-mix(in oklab, var(--color-blue-400) 80%, transparent)}}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-400\/50{color:#00d29480}@supports (color:color-mix(in lab, red, red)){.text-emerald-400\/50{color:color-mix(in oklab, var(--color-emerald-400) 50%, transparent)}}.text-emerald-400\/70{color:#00d294b3}@supports (color:color-mix(in lab, red, red)){.text-emerald-400\/70{color:color-mix(in oklab, var(--color-emerald-400) 70%, transparent)}}.text-emerald-400\/80{color:#00d294cc}@supports (color:color-mix(in lab, red, red)){.text-emerald-400\/80{color:color-mix(in oklab, var(--color-emerald-400) 80%, transparent)}}.text-green-300\/80{color:#7bf1a8cc}@supports (color:color-mix(in lab, red, red)){.text-green-300\/80{color:color-mix(in oklab, var(--color-green-300) 80%, transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-400\/80{color:#05df72cc}@supports (color:color-mix(in lab, red, red)){.text-green-400\/80{color:color-mix(in oklab, var(--color-green-400) 80%, transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/70{color:#ff8b1ab3}@supports (color:color-mix(in lab, red, red)){.text-orange-400\/70{color:color-mix(in oklab, var(--color-orange-400) 70%, transparent)}}.text-orange-400\/80{color:#ff8b1acc}@supports (color:color-mix(in lab, red, red)){.text-orange-400\/80{color:color-mix(in oklab, var(--color-orange-400) 80%, transparent)}}.text-pink-400{color:var(--color-pink-400)}.text-pink-400\/70{color:#fb64b6b3}@supports (color:color-mix(in lab, red, red)){.text-pink-400\/70{color:color-mix(in oklab, var(--color-pink-400) 70%, transparent)}}.text-purple-300{color:var(--color-purple-300)}.text-purple-300\/80{color:#d9b3ffcc}@supports (color:color-mix(in lab, red, red)){.text-purple-300\/80{color:color-mix(in oklab, var(--color-purple-300) 80%, transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-purple-400\/50{color:#c07eff80}@supports (color:color-mix(in lab, red, red)){.text-purple-400\/50{color:color-mix(in oklab, var(--color-purple-400) 50%, transparent)}}.text-purple-400\/70{color:#c07effb3}@supports (color:color-mix(in lab, red, red)){.text-purple-400\/70{color:color-mix(in oklab, var(--color-purple-400) 70%, transparent)}}.text-purple-400\/80{color:#c07effcc}@supports (color:color-mix(in lab, red, red)){.text-purple-400\/80{color:color-mix(in oklab, var(--color-purple-400) 80%, transparent)}}.text-purple-500\/60{color:#ac4bff99}@supports (color:color-mix(in lab, red, red)){.text-purple-500\/60{color:color-mix(in oklab, var(--color-purple-500) 60%, transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-400\/50{color:#ff656880}@supports (color:color-mix(in lab, red, red)){.text-red-400\/50{color:color-mix(in oklab, var(--color-red-400) 50%, transparent)}}.text-red-400\/70{color:#ff6568b3}@supports (color:color-mix(in lab, red, red)){.text-red-400\/70{color:color-mix(in oklab, var(--color-red-400) 70%, transparent)}}.text-red-400\/80{color:#ff6568cc}@supports (color:color-mix(in lab, red, red)){.text-red-400\/80{color:color-mix(in oklab, var(--color-red-400) 80%, transparent)}}.text-violet-300{color:var(--color-violet-300)}.text-violet-400{color:var(--color-violet-400)}.text-violet-400\/80{color:#a685ffcc}@supports (color:color-mix(in lab, red, red)){.text-violet-400\/80{color:color-mix(in oklab, var(--color-violet-400) 80%, transparent)}}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\/20{color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.text-white\/25{color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.text-white\/25{color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\/30{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.text-white\/35{color:#ffffff59}@supports (color:color-mix(in lab, red, red)){.text-white\/35{color:color-mix(in oklab, var(--color-white) 35%, transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\/40{color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\/50{color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.text-white\/55{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\/60{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.text-white\/65{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-300{color:var(--color-yellow-300)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/70{color:#fac800b3}@supports (color:color-mix(in lab, red, red)){.text-yellow-400\/70{color:color-mix(in oklab, var(--color-yellow-400) 70%, transparent)}}.text-yellow-400\/80{color:#fac800cc}@supports (color:color-mix(in lab, red, red)){.text-yellow-400\/80{color:color-mix(in oklab, var(--color-yellow-400) 80%, transparent)}}.text-yellow-500\/70{color:#edb200b3}@supports (color:color-mix(in lab, red, red)){.text-yellow-500\/70{color:color-mix(in oklab, var(--color-yellow-500) 70%, transparent)}}.text-yellow-500\/80{color:#edb200cc}@supports (color:color-mix(in lab, red, red)){.text-yellow-500\/80{color:color-mix(in oklab, var(--color-yellow-500) 80%, transparent)}}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-white\/30::placeholder{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.placeholder-white\/30::placeholder{color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(74\,222\,128\,0\.5\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,#4ade8080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(250\,204\,21\,0\.6\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,#facc1599);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(234\,179\,8\,0\.1\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#eab3081a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(168\,85\,247\,0\.25\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#a855f740);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-purple-500\/10{--tw-shadow-color:#ac4bff1a}@supports (color:color-mix(in lab, red, red)){.shadow-purple-500\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-purple-500) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:text-white\/70:is(:where(.group):hover *){color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.group-hover\:text-white\/70:is(:where(.group):hover *){color:color-mix(in oklab, var(--color-white) 70%, transparent)}}}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-\[\#58a6ff\]:hover{border-color:#58a6ff}.hover\:border-\[\#555\]:hover{border-color:#555}.hover\:border-purple-400\/50:hover{border-color:#c07eff80}@supports (color:color-mix(in lab, red, red)){.hover\:border-purple-400\/50:hover{border-color:color-mix(in oklab, var(--color-purple-400) 50%, transparent)}}.hover\:border-purple-500\/30:hover{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-purple-500\/30:hover{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.hover\:border-violet-500\/60:hover{border-color:#8d54ff99}@supports (color:color-mix(in lab, red, red)){.hover\:border-violet-500\/60:hover{border-color:color-mix(in oklab, var(--color-violet-500) 60%, transparent)}}.hover\:border-white\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/15:hover{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:border-white\/25:hover{border-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/25:hover{border-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.hover\:border-white\/30:hover{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/30:hover{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.hover\:bg-\[\#161b22\]:hover{background-color:#161b22}.hover\:bg-\[\#e0e0e0\]:hover{background-color:#e0e0e0}.hover\:text-purple-300:hover{color:var(--color-purple-300)}.hover\:text-purple-400:hover{color:var(--color-purple-400)}.hover\:text-violet-300:hover{color:var(--color-violet-300)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-white\/55:hover{color:#ffffff8c}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/55:hover{color:color-mix(in oklab, var(--color-white) 55%, transparent)}}.hover\:text-white\/60:hover{color:#fff9}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/60:hover{color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.hover\:text-white\/65:hover{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/65:hover{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.hover\:text-white\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/70:hover{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.hover\:text-white\/75:hover{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/75:hover{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.hover\:text-white\/80:hover{color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\:text-white\/80:hover{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-purple-500\/50:focus{border-color:#ac4bff80}@supports (color:color-mix(in lab, red, red)){.focus\:border-purple-500\/50:focus{border-color:color-mix(in oklab, var(--color-purple-500) 50%, transparent)}}.focus\:border-white\/30:focus{border-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.focus\:border-white\/30:focus{border-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--background:#0a0a0a;--foreground:#ededed}body{background:var(--background);color:var(--foreground);font-family:Inter,sans-serif}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-once{0%,to{opacity:1}50%{opacity:.6}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes border-glow{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 20px 2px #3b82f626}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes aurora{0%{opacity:.5;transform:scale(1)rotate(0)}50%{opacity:.8;transform:scale(1.1)rotate(180deg)}to{opacity:.5;transform:scale(1)rotate(360deg)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 30px #a855f733,0 0 60px #a855f71a}50%{box-shadow:0 0 50px #a855f759,0 0 90px #ec489926}}.animate-slide-in{animation:.25s ease-out forwards slide-in}.animate-pulse-once{animation:1.2s ease-in-out pulse-once}.animate-fade-up{animation:.5s ease-out forwards fade-up}.animate-shimmer{animation:3s linear infinite shimmer}.animate-border-glow{animation:3s ease-in-out infinite border-glow}.animate-float{animation:6s ease-in-out infinite float}.animate-aurora{animation:12s linear infinite aurora}.animate-glow-pulse{animation:3s ease-in-out infinite glow-pulse}.gradient-divider{background:linear-gradient(90deg,#0000 0%,#a855f740 30%,#ec489933 60%,#0000 100%);border:none;height:1px}.card-gradient-border{border-radius:1rem;position:relative}.card-gradient-border:before{content:"";z-index:0;background:linear-gradient(135deg,#a855f773,#ec489940,#f9731626);border-radius:calc(1rem + 1px);position:absolute;inset:-1px}.card-gradient-border>*{z-index:1;position:relative}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#333;border-radius:2px}:root{--bg-base:#08080c;--bg-card:#0e0e12;--bg-panel:#0c0c0f;--bg-subtle:#0e0e14;--bg-hover:#111116;--fg:255, 255, 255;--border:255, 255, 255}html.light{--bg-base:#f2f2f7;--bg-card:#fafafa;--bg-panel:#fff;--bg-subtle:#f5f5fa;--bg-hover:#f0f0f5;--fg:10, 10, 20;--border:0, 0, 0;color:#0a0a14;background:#f2f2f7}html.light nav{background-color:#f2f2f7eb!important;border-bottom-color:#00000014!important}html.light .text-white{color:#0a0a14!important}html.light .text-white\/90{color:#0a0a14e6!important}html.light .text-white\/80{color:#0a0a14cc!important}html.light .text-white\/75{color:#0a0a14bf!important}html.light .text-white\/70{color:#0a0a14b3!important}html.light .text-white\/65{color:#0a0a14a6!important}html.light .text-white\/60{color:#0a0a1499!important}html.light .text-white\/55{color:#0a0a148c!important}html.light .text-white\/50{color:#0a0a1480!important}html.light .text-white\/45{color:#0a0a1473!important}html.light .text-white\/40{color:#0a0a1466!important}html.light .text-white\/30{color:#0a0a144d!important}html.light .text-white\/25{color:#0a0a1440!important}html.light .border-white\/\[0\.06\]{border-color:#00000012!important}html.light .border-white\/5{border-color:#0000000d!important}html.light .border-white\/\[0\.05\],html.light .border-white\/\[0\.06\],html.light .border-white\/\[0\.07\]{border-color:#00000014!important}html.light .border-white\/\[0\.08\]{border-color:#00000017!important}html.light .border-white\/10{border-color:#0000001a!important}html.light .border-white\/15{border-color:#00000026!important}html.light .border-white\/20{border-color:#0003!important}html.light .hover\:border-white\/30:hover,html.light .focus\:border-white\/30:focus{border-color:#00000047!important}html.light .hover\:text-white:hover{color:#0a0a14!important}html.light .hover\:text-white\/80:hover{color:#0a0a14cc!important}html.light .bg-black\/40,html.light .bg-black\/30{background-color:#0000000a!important}html.light .bg-white\/\[0\.02\]{background-color:#00000005!important}html.light .bg-white\/\[0\.06\]{background-color:#0000000d!important}html.light .bg-white\/5{background-color:#00000008!important}.prose{color:rgba(var(--fg), .85)}.prose h1,.prose h2,.prose h3{color:rgb(var(--fg));font-weight:600}.prose code{background:rgba(var(--fg), .08);color:#7dd3fc;border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:.85em}.prose pre{background:rgba(var(--fg), .05);border:1px solid rgba(var(--fg), .08);border-radius:8px;padding:12px 16px;overflow-x:auto}.prose pre code{color:rgb(var(--fg));background:0 0;padding:0}.prose ul{padding-left:1.5rem;list-style:outside}.prose li{margin:4px 0}.prose strong{color:rgb(var(--fg))}.prose p{margin:8px 0;line-height:1.6}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}