PageSourceSearch

https://testscout.dev/_next/static/chunks/app/page-ea2e4c230d75bfe0.js?dpl=dpl_BKRnaBmX6WVCZQ88BnHtmxmUWbd1

js testscout.dev collected 2026-10-02 01:52:44 UTC 63,646 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{747:(e,t,a)=>{Promise.resolve().then(a.bind(a,6507)),Promise.resolve().then(a.bind(a,1948)),Promise.resolve().then(a.bind(a,8455)),Promise.resolve().then(a.bind(a,7189)),Promise.resolve().then(a.bind(a,6492)),Promise.resolve().then(a.bind(a,2972)),Promise.resolve().then(a.bind(a,1369)),Promise.resolve().then(a.bind(a,4318)),Promise.resolve().then(a.bind(a,3969)),Promise.resolve().then(a.bind(a,8893)),Promise.resolve().then(a.bind(a,2634)),Promise.resolve().then(a.bind(a,9196)),Promise.resolve().then(a.bind(a,4301)),Promise.resolve().then(a.bind(a,9418))},1369:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(4874),l=a(9418);function n(){return(0,r.jsx)("section",{className:"relative overflow-hidden bg-gradient-to-br from-blue-50 to-indigo-100 dark:from-gray-900 dark:to-blue-900",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20",children:[(0,r.jsx)("div",{className:"text-center",children:(0,r.jsxs)(s.P.div,{initial:"initial",animate:"animate",variants:i.xs,children:[(0,r.jsxs)(s.P.div,{className:"inline-flex items-center bg-blue-100 dark:bg-blue-900/30 rounded-full px-4 py-2 mb-8",variants:i.tE,children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-blue-800 dark:text-blue-200 font-medium",children:"MCP Tools — Coming Soon"})]}),(0,r.jsxs)(s.P.h1,{className:"text-5xl lg:text-6xl font-bold text-gray-900 dark:text-white mb-6",variants:i.tE,children:["QA Intelligence",(0,r.jsx)("span",{className:"text-blue-600 dark:text-blue-400",children:" for AI Agents"})]}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 leading-relaxed max-w-3xl mx-auto",variants:i.tE,children:"MCP tools that give AI agents the power to diagnose browser errors, analyze performance, extract structured data, and generate test strategies — all via the Model Context Protocol."}),(0,r.jsxs)(s.P.div,{className:"mb-12 max-w-2xl mx-auto",variants:i.tE,children:[(0,r.jsx)("p",{className:"text-gray-900 dark:text-white font-semibold mb-2",children:"Get notified when the first TestScout MCP tools ship."}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-300",children:"Open source on GitHub. Free tier for local use. Paid tier for hosted execution."})]}),(0,r.jsx)(s.P.div,{className:"max-w-lg mx-auto mb-12",variants:i.tE,children:(0,r.jsx)(l.default,{})}),(0,r.jsxs)(s.P.div,{className:"flex flex-col sm:flex-row gap-8 justify-center items-center text-sm text-gray-500 dark:text-gray-400",variants:i.tE,children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2 text-green-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"})}),"Open source on GitHub"]}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2 text-green-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"})}),"Works with Claude, GPT, Gemini & more"]}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2 text-green-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"})}),"Complements Playwright MCP"]})]})]})}),(0,r.jsx)(s.P.div,{className:"mt-16 relative max-w-4xl mx-auto",initial:{opacity:0,y:50}
1,animate:{opacity:1,y:0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("div",{className:"bg-white dark:bg-gray-800 rounded-2xl shadow-2xl p-6 transform rotate-1",children:[(0,r.jsxs)("div",{className:"bg-gradient-to-r from-blue-600 to-indigo-600 text-white p-4 rounded-lg mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center mb-2",children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"font-semibold",children:"TestScout MCP Suite"})]}),(0,r.jsx)("p",{className:"text-sm opacity-90",children:"Playwright MCP = browser automation (hands). TestScout = QA intelligence (brain)."})]}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-blue-500 rounded-full mr-3"}),(0,r.jsx)("span",{className:"font-mono text-xs bg-gray-100 dark:bg-gray-700 px-2 py-0.5 rounded mr-2",children:"testscout-diagnose"}),"Error triage & capture"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-emerald-500 rounded-full mr-3 animate-pulse"}),(0,r.jsx)("a",{href:"https://www.npmjs.com/package/lightscout-mcp",target:"_blank",rel:"noopener noreferrer",className:"font-mono text-xs bg-emerald-100 dark:bg-emerald-900/30 text-emerald-800 dark:text-emerald-200 px-2 py-0.5 rounded mr-2 hover:bg-emerald-200 transition-colors",children:"lightscout-mcp"}),"CWV analysis",(0,r.jsx)("span",{className:"ml-2 text-xs text-emerald-600 dark:text-emerald-400 font-semibold",children:"Available"})]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-purple-500 rounded-full mr-3"}),(0,r.jsx)("span",{className:"font-mono text-xs bg-gray-100 dark:bg-gray-700 px-2 py-0.5 rounded mr-2",children:"testscout-scrape"}),"Structured extraction"]})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-orange-500 rounded-full mr-3"}),(0,r.jsx)("span",{className:"font-mono text-xs bg-gray-100 dark:bg-gray-700 px-2 py-0.5 rounded mr-2",children:"testscout-plan"}),"Test strategy & scaffolding"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-red-500 rounded-full mr-3"}),(0,r.jsx)("span",{className:"font-mono text-xs bg-gray-100 dark:bg-gray-700 px-2 py-0.5 rounded mr-2",children:"testscout-load"}),"Load test analysis"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-yellow-500 rounded-full mr-3"}),(0,r.jsx)("span",{className:"font-mono text-xs bg-gray-100 dark:bg-gray-700 px-2 py-0.5 rounded mr-2",children:"testscout-maintain"}),"Self-healing test suites"]})]})]}),(0,r.jsxs)("div",{className:"mt-6 p-3 bg-blue-50 dark:bg-blue-900/30 rounded-lg",children:[(0,r.jsxs)("p",{className:"text-sm text-blue-800 dark:text-blue-200 text-center",children:[(0,r.jsx)("strong",{children:"6 MCP tools shipping sequentially"})," — each encodes real QA expertise that AI agents can use directly."]}),(0,r.jsxs)("p",{className:"text-xs text-blue-700 dark:text-blue-300 text-center mt-2",children:[(0,r.jsx)("a",{href:"https://www.npmjs.com/package/lightscout-mcp",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-blue-900 dark:hover:text-blue-100",children:"lightscout-mcp"})," is available now on npm."]})]})]})})]})})}},1948:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(7733),i=a(4874);function l(){let e=[{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})}),title:"Error Diagnosis",description:"AI agents capture and triage browser errors, console messages, and network failures with full context — no manual debugging needed."},{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),title:"Performance Analysis",description:"Measure Core Web Vitals (LCP, FCP, TTFB, CLS, INP) and get actionable recommendations to improve page speed and user experience."},{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4"})}),title:"Structured Extraction",description:"Extract structured data from any web page using natural language instructions. AI agents get clean, typed data instead of raw HTML."},{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"})}),title:"Test Planning & Scaffolding",description:"Describe what you want to test in plain language. TestScout evaluates your app, produces a strategic test plan and a context config — then your AI agent writes the actual test code using any browser MCP."},{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"})}),title:"Load Test Analysis",description:"Generate load tests from plain language, execute them, and analyze results — all within the AI agent workflow via MCP."},{icon:(0,r.jsx)("svg",{className:"w-8 h-8",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}
1),title:"Self-Healing Test Suites",description:"Maintain existing test suites automatically. Parallel agents diagnose failures, heal selectors, adapt to changes, and commit fixes — grounded by a context config, not guesswork."}];return(0,r.jsx)("section",{className:"py-20 bg-gray-50 dark:bg-gray-800",id:"features",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-16",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.h2,{className:"text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:"QA Superpowers for AI Agents"}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",variants:i.tE,children:"Six MCP tools that encode real QA expertise — so your AI agents can diagnose, analyze, extract, test, and maintain like a senior QA engineer."})]}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:e.map((e,t)=>(0,r.jsxs)(s.P.div,{className:"bg-white dark:bg-gray-900 rounded-xl p-8 shadow-lg hover:shadow-xl transition-shadow duration-300",variants:i.tE,whileHover:{y:-5},children:[(0,r.jsx)("div",{className:"text-blue-600 dark:text-blue-400 mb-4",children:e.icon}),(0,r.jsx)("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white mb-3",children:e.title}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-300",children:e.description})]},t))}),(0,r.jsx)(s.P.div,{className:"mt-16 text-center",initial:{opacity:0}
1,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("div",{className:"bg-gradient-to-r from-blue-600 to-purple-600 rounded-2xl p-8 text-white",children:[(0,r.jsx)("h3",{className:"text-2xl font-bold mb-4",children:"Playwright MCP + TestScout = Complete QA"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 items-center",children:[(0,r.jsxs)("div",{className:"text-left",children:[(0,r.jsx)("h4",{className:"text-lg font-semibold mb-3 text-blue-200",children:"Playwright MCP (the hands)"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm opacity-90",children:[(0,r.jsx)("li",{children:"Navigate pages and click elements"}),(0,r.jsx)("li",{children:"Fill forms and interact with UI"}),(0,r.jsx)("li",{children:"Take screenshots and snapshots"}),(0,r.jsx)("li",{children:"Execute browser automation scripts"})]})]}),(0,r.jsxs)("div",{className:"text-left",children:[(0,r.jsx)("h4",{className:"text-lg font-semibold mb-3 text-green-200",children:"TestScout MCP (the brain)"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm opacity-90",children:[(0,r.jsx)("li",{children:"Diagnose errors and triage issues"}),(0,r.jsx)("li",{children:"Analyze performance and CWVs"}),(0,r.jsx)("li",{children:"Extract structured data intelligently"}),(0,r.jsx)("li",{children:"Generate test strategies and load tests"})]})]})]})]})})]})})}},2634:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(4874),l=a(6830);function n(){return(0,r.jsx)("section",{className:"py-16 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-800",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-12",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.p,{className:"text-gray-600 dark:text-gray-400 mb-8",variants:i.tE,children:"Trusted by developers at leading companies"}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-2 md:grid-cols-4 gap-8",variants:i.bK,children:[{number:"10K+",label:"Developers Trust TestScout"},{number:"50K+",label:"Bugs Captured Monthly"},{number:"4.8★",label:"Chrome Web Store Rating"},{number:"99%",label:"Context Capture Success Rate"}].map((e,t)=>(0,r.jsxs)(s.P.div,{className:"text-center",variants:i.tE,children:[(0,r.jsx)("div",{className:"text-3xl md:text-4xl font-bold text-blue-600 dark:text-blue-400 mb-2",children:e.number}),(0,r.jsx)("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:e.label})]},t))})]}),l.qT.reviews&&(0,r.jsxs)(s.P.div,{className:"flex justify-center items-center space-x-8 opacity-60",initial:{opacity:0}
1,whileInView:{opacity:.6},viewport:{once:!0},transition:{duration:.8},children:[(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)("svg",{className:"w-6 h-6",viewBox:"0 0 24 24",fill:"currentColor",children:(0,r.jsx)("path",{d:"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z"})}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-500 dark:text-gray-400",children:"Chrome Web Store"})]}),(0,r.jsx)("div",{className:"text-yellow-400 flex",children:[void 0,void 0,void 0,void 0,void 0].map((e,t)=>(0,r.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})},t))}),(0,r.jsx)("span",{className:"text-sm text-gray-500 dark:text-gray-400",children:"4.8/5 (2,847 reviews)"})]})]})})}},2972:(e,t,a)=>{"use strict";function r(){return null}a.d(t,{default:()=>r}),a(5155),a(7733),a(6830)},3969:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(7733),i=a(4874);function l(){let e=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?{border:"border-2 border-blue-500",bg:"bg-white dark:bg-gray-900",badge:"bg-blue-500 text-white",cta:"bg-blue-600 hover:bg-blue-700 text-white",price:"text-blue-600 dark:text-blue-400"}:({gray:{border:"border border-gray-200 dark:border-gray-700",bg:"bg-white dark:bg-gray-900",badge:"",cta:"bg-gray-600 hover:bg-gray-700 text-white",price:"text-gray-900 dark:text-white"},blue:{border:"border-2 border-blue-500",bg:"bg-white dark:bg-gray-900",badge:"bg-blue-500 text-white",cta:"bg-blue-600 hover:bg-blue-700 text-white",price:"text-blue-600 dark:text-blue-400"},purple:{border:"border border-purple-200 dark:border-purple-700",bg:"bg-white dark:bg-gray-900",badge:"",cta:"bg-purple-600 hover:bg-purple-700 text-white",price:"text-purple-600 dark:text-purple-400"}})[e]};return(0,r.jsx)("section",{className:"py-20 bg-gray-50 dark:bg-gray-800",id:"pricing",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-16",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.h2,{className:"text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:"Simple, Transparent Pricing"}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto mb-8",variants:i.tE,children:"Start free and scale as your debugging needs grow. All paid plans include a 30-day free trial."}),(0,r.jsxs)(s.P.div,{className:"inline-flex items-center bg-blue-100 dark:bg-blue-900/30 rounded-full px-4 py-2",variants:i.tE,children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-blue-800 dark:text-blue-200 font-medium",children:"30-day money-back guarantee on all paid plans"})]})]}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-1 lg:grid-cols-3 gap-8 lg:gap-6",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[{name:"Free",price:"$0",period:"forever",description:"Perfect for individual developers and small projects",features:["5 captures per day","3 domains monitoring","Basic error detection","Screenshot capture","Console logs (last 50)","Network requests (basic)","Local storage only","JSON export"],limitations:["Limited captures per day","Basic features only"],cta:"Get Started Free",popular:!1,color:"gray"},{name:"Pro",price:"$9.99",period:"per month",description:"For professional developers and small teams",features:["Unlimited captures","Unlimited domains","Advanced error detection","High-quality screenshots","Extended console logs (last 200)","Detailed network monitoring","Form data capture","User action timeline","Performance metrics","Custom export formats","Priority support","Advanced filtering"],limitations:[],cta:"Start Free Trial",popular:!0,color:"blue"},{name:"Enterprise",price:"$49",period:"per seat/month",description:"For large teams and organizations",features:["Everything in Pro","Team collaboration tools","Centralized dashboard","Admin controls","Custom integrations","SSO authentication","Advanced security","Bulk export tools","Custom retention policies","Dedicated support","SLA guarantees","On-premise deployment"],limitations:[],cta:"Contact Sales",popular:!1,color:"purple"}].map((t,a)=>{let l=e(t.color,t.popular);return(0,r.jsxs)(s.P.div,{className:"".concat(l.bg," ").concat(l.border," rounded-2xl p-8 relative ").concat(t.popular?"transform scale-105":""),variants:i.tE,whileHover:{y:-5},children:[t.popular&&(0,r.jsx)("div",{className:"absolute -top-4 left-1/2 transform -translate-x-1/2",children:(0,r.jsx)("span",{className:"".concat(l.badge," px-4 py-2 rounded-full text-sm font-semibold"),children:"Most Popular"})}),(0,r.jsxs)("div",{className:"text-center mb-8",children:[(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:t.name}),(0,r.jsxs)("div",{className:"mb-4",children:[(0,r.jsx)("span",{className:"text-5xl font-bold ".concat(l.price),children:t.price}),(0,r.jsxs)("span",{className:"text-gray-500 dark:text-gray-400 text-lg",children:["/",t.period]})]}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400",children:t.description})]}),(0,r.jsx)("div",{className:"mb-8",children:(0,r.jsxs)("ul",{className:"space-y-4",children:[t.features.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-green-500 mr-3 mt-0.5 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-gray-700 dark:text-gray-300",children:e})]},t)),t.limitations.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start",children:[(0,r.jsx)("svg",{className:"w-5 h-5 text-red-400 mr-3 mt-0.5 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-gray-500 dark:text-gray-400",children:e})]},t))]})}),(0,r.jsx)(s.P.button,{className:"w-full py-4 px-6 rounded-lg font-semibold transition-colors ".concat(l.cta),whileHover:{scale:1.02},whileTap:{scale:.98},children:t.cta}),"Pro"===t.name&&(0,r.jsx)("p",{className:"text-center text-sm text-gray-500 dark:text-gray-400 mt-3",children:"30-day free trial • No credit card required"})]},a)})}),(0,r.jsx)(s.P.div,{className:"mt-16 text-center",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("div",{className:"bg-white dark:bg-gray-900 rounded-2xl p-8 shadow-lg",children:[(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"Frequently Asked Questions"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 text-left",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-gray-900 dark:text-white mb-2",children:"How does the free plan work?"}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 text-sm",children:"The free plan gives you 5 captures per day across 3 domains. Perfect for trying TestScout or light usage."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-gray-900 dark:text-white mb-2",children:"Can I cancel anytime?"}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 text-sm",children:"Yes, you can cancel your subscription at any time. No long-term contracts or cancellation fees."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-gray-900 dark:text-white mb-2",children:"Is my data secure?"}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 text-sm",children:"All data stays local in your browser. We never collect, store, or transmit your debugging data."})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-semibold text-gray-900 dark:text-white mb-2",children:"What's included in Enterprise?"}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 text-sm",children:"Enterprise includes team management, SSO, custom integrations, and dedicated support with SLA."})]})]})]})})]})})}},4301:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(7733),i=a(4874);
1function l(){let e=[{title:"AI-Assisted Debugging",subtitle:"Let Agents Diagnose Production Errors",description:"Point your AI agent at a failing page. TestScout captures errors, network failures, and console output — the agent triages and suggests fixes.",benefits:["Automatic error capture with full stack traces","Network failure detection and diagnosis","AI-generated fix suggestions with context"],icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"})}),color:"blue"},{title:"Performance Optimization",subtitle:"Automated CWV Analysis and Recommendations",description:"AI agents measure Core Web Vitals, identify bottlenecks, and generate specific recommendations to improve scores.",benefits:["All 6 Core Web Vitals measured automatically","Actionable optimization recommendations","Track improvements across deploys"],icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),color:"green"},{title:"Intelligent Data Extraction",subtitle:"Natural Language Web Scraping",description:"Tell your agent what data you need in plain English. TestScout extracts structured, typed data from any page — no selectors required.",benefits:["Describe data needs in natural language","Get clean JSON output, not raw HTML","Works on any website without configuration"],icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4"})}),color:"purple"},{title:"AI-Driven Test Planning",subtitle:"From Plain Language to Full Test Suites",description:"Describe what to test in plain language. TestScout evaluates your app, produces a strategic test plan and context config, then your AI agent scaffolds the actual test code using any browser MCP.",benefits:["Evaluates your app and builds a strategic test plan","Generates testscout.config.yaml for ongoing maintenance","Works with Playwright, Vibium, or any browser MCP"],icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"})}),color:"orange"}];return(0,r.jsx)("section",{className:"py-20 bg-white dark:bg-gray-900",id:"use-cases",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-16",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.h2,{className:"text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:"What AI Agents Can Do with TestScout"}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",variants:i.tE,children:"Give your AI agents the QA expertise they need to debug, analyze, extract, and test — all via the Model Context Protocol."})]}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:e.map((e,t)=>{let a={blue:{bg:"bg-blue-50 dark:bg-blue-900/20",icon:"text-blue-600 dark:text-blue-400",border:"border-blue-200 dark:border-blue-700",title:"text-blue-900 dark:text-blue-100"},green:{bg:"bg-green-50 dark:bg-green-900/20",icon:"text-green-600 dark:text-green-400",border:"border-green-200 dark:border-green-700",title:"text-green-900 dark:text-green-100"},purple:{bg:"bg-purple-50 dark:bg-purple-900/20",icon:"text-purple-600 dar
1k:text-purple-400",border:"border-purple-200 dark:border-purple-700",title:"text-purple-900 dark:text-purple-100"},orange:{bg:"bg-orange-50 dark:bg-orange-900/20",icon:"text-orange-600 dark:text-orange-400",border:"border-orange-200 dark:border-orange-700",title:"text-orange-900 dark:text-orange-100"}}[e.color];return(0,r.jsxs)(s.P.div,{className:"".concat(a.bg," ").concat(a.border," border rounded-2xl p-8 hover:shadow-lg transition-shadow duration-300"),variants:i.tE,whileHover:{y:-3},children:[(0,r.jsx)("div",{className:"".concat(a.icon," mb-6"),children:e.icon}),(0,r.jsx)("h3",{className:"text-2xl font-bold ".concat(a.title," mb-2"),children:e.title}),(0,r.jsx)("h4",{className:"text-lg font-semibold text-gray-700 dark:text-gray-300 mb-4",children:e.subtitle}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 mb-6",children:e.description}),(0,r.jsx)("ul",{className:"space-y-3",children:e.benefits.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start",children:[(0,r.jsx)("svg",{className:"w-5 h-5 ".concat(a.icon," mr-3 mt-0.5 flex-shrink-0"),fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-gray-700 dark:text-gray-300",children:e})]},t))})]},t)})}),(0,r.jsx)(s.P.div,{className:"mt-16 text-center",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("div",{className:"bg-gray-100 dark:bg-gray-800 rounded-2xl p-8",children:[(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"Ready to Give Your AI Agents QA Superpowers?"}),(0,r.jsx)("p",{className:"text-lg text-gray-600 dark:text-gray-300 mb-6",children:"Join the waitlist to get notified when the first TestScout MCP tools ship."}),(0,r.jsxs)(s.P.a,{href:"#waitlist",className:"inline-flex items-center px-8 py-4 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors shadow-lg",whileHover:{scale:1.05},whileTap:{scale:.95},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),"Join the Waitlist"]})]})})]})})}},4318:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(7733),i=a(4874);function l(){return(0,r.jsx)("section",{className:"py-16 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-800",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-12",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.p,{className:"text-gray-600 dark:text-gray-400 mb-8",variants:i.tE,children:"Built by QA engineers, for AI agents"}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-2 md:grid-cols-4 gap-8",variants:i.bK,children:[{number:"6",label:"MCP Tools in the Suite"},{number:"100%",label:"Open Source on GitHub"},{number:"3+",label:"AI Platforms Supported"},{number:"0",label:"Cost for Local Use"}].map((e,t)=>(0,r.jsxs)(s.P.div,{className:"text-center",variants:i.tE,children:[(0,r.jsx)("div",{className:"text-3xl md:text-4xl font-bold text-blue-600 dark:text-blue-400 mb-2",children:e.number}),(0,r.jsx)("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:e.label})]},t))})]}),(0,r.jsx)(s.P.div,{className:"text-center",initial:{opacity:0}
1,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.8},children:(0,r.jsx)("div",{className:"inline-flex items-center bg-gradient-to-r from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20 rounded-2xl px-8 py-4",children:(0,r.jsxs)("div",{className:"flex items-center space-x-6",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-6 h-6 text-blue-600 dark:text-blue-400 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L3.414 10l2.293 2.293a1 1 0 11-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 11-1.414-1.414L16.586 10l-2.293-2.293a1 1 0 010-1.414z"})}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Model Context Protocol"})]}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-6 h-6 text-green-600 dark:text-green-400 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"})}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Works with Any MCP Client"})]}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-6 h-6 text-purple-600 dark:text-purple-400 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z",clipRule:"evenodd"})}),(0,r.jsx)("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:"Real QA Expertise Encoded"})]})]})})})]})})}},4874:(e,t,a)=>{"use strict";a.d(t,{bK:()=>i,tE:()=>r,xs:()=>s});let r={initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6}},s={initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.6}},i={animate:{transition:{staggerChildren:.1}}}},6492:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(7733),i=a(4874);function l(){return(0,r.jsx)("section",{className:"py-20 bg-gradient-to-br from-emerald-50 to-teal-50 dark:from-emerald-900/20 dark:to-teal-900/20",children:(0,r.jsx)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,r.jsxs)(s.P.div,{className:"bg-white dark:bg-gray-800 rounded-2xl shadow-xl p-8 md:p-12 text-center",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.tE,children:[(0,r.jsxs)(s.P.div,{className:"inline-flex items-center bg-emerald-100 dark:bg-emerald-900/30 rounded-full px-4 py-2 mb-6",variants:i.tE,children:[(0,r.jsx)("span",{className:"w-2 h-2 bg-emerald-500 rounded-full mr-2 animate-pulse"}),(0,r.jsx)("span",{className:"text-emerald-800 dark:text-emerald-200 font-medium text-sm",children:"From the TestScout Team"})]}),(0,r.jsxs)(s.P.h2,{className:"text-3xl md:text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:["Also check out"," ",(0,r.jsx)("span",{className:"text-emerald-600 dark:text-emerald-400",children:"LightScout"})]}),(0,r.jsx)(s.P.p,{className:"text-lg text-gray-600 dark:text-gray-300 mb-8 max-w-2xl mx-auto",variants:i.tE,children:"Core Web Vitals analysis, two ways: a Chrome extension for real-time browsing metrics, and an MCP server for AI-powered performance audits via Lighthouse. Both free and open source."}),(0,r.jsxs)(s.P.div,{className:"grid grid-cols-1 sm:grid-cols-3 gap-4 mb-8 max-w-xl mx-auto",variants:i.tE,children:[(0,r.jsxs)("div",{className:"flex items-center justify-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("svg",{className:"w-4 h-4 mr-2 text-emerald-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),"All 6 CWV Metrics"]}),(0,r.jsxs)("div",{className:"flex items-center justify-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("svg",{className:"w-4 h-4 mr-2 text-emerald-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),"JSON & CSV Export"]}),(0,r.jsxs)("div",{className:"flex items-center justify-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("svg",{className:"w-4 h-4 mr-2 text-emerald-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),"100% Free"]})]}),(0,r.jsxs)(s.P.div,{className:"flex flex-col sm:flex-row gap-4 justify-center",variants:i.tE,children:[(0,r.jsxs)(s.P.a,{href:"/lightscout",className:"inline-flex items-center px-8 py-4 bg-emerald-600 text-white font-semibold rounded-lg hover:bg-emerald-700 transition-colors shadow-lg",whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>{"gtag"in window&&window.gtag("event","lightscout_cta_click",{location:"promo_section"})},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})}),"Chrome Extension"]}),(0,r.jsxs)(s.P.a,{href:"https://www.npmjs.com/package/lightscout-mcp",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center px-8 py-4 bg-white dark:bg-gray-700 text-gray-900 dark:text-white font-semibold rounded-lg border-2 border-emerald-200 dark:border-emerald-700 hover:border-emerald-400 dark:hover:border-emerald-500 transition-colors shadow-lg",whileHover:{scale:1.05},whileTap:{scale:.95},onClick:()=>{"gtag"in window&&window.gtag("event","lightscout_mcp_click",{location:"promo_section"})},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}),"MCP Server on npm"]})]})]})})})}},6507:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(4874),l=a(2115);function n(){let[e,t]=(0,l.useState)([]);return(0,r.jsx)("section",{className:"py-20 bg-white dark:bg-gray-900",id:"faq",children:(0,r.jsxs)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-16",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.h2,{className:"text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:"Frequently Asked Questions"}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300",variants:i.tE,children:"Everything you need to know about TestScout MCP tools"})]}),(0,r.jsx)(s.P.div,{className:"space-y-4",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[{question:"What is the Model Context Protocol (MCP)?",answer:"MCP is an open protocol that lets AI agents connect to external tools and data sources. TestScout MCP tools give AI agents QA capabilities — error diagnosis, performance analysis, data extraction, and test generation — that they can invoke directly during conversations or autonomous workflows."},{question:"How does TestScout relate to Playwright MCP?",answer:"They're complementary. Playwright MCP handles browser automation — navigating pages, clicking elements, filling forms. TestScout MCP adds the QA intelligence layer — diagnosing errors, analyzing performance, extracting structured data, and generating test strategies. Think of Playwright as the hands and TestScout as the brain."},{question:"Which AI platforms does TestScout work with?",answer:"TestScout works with any MCP-compatible AI client. This includes Claude (via Claude Code and the Claude desktop app), ChatGPT (with MCP support), Gemini, Cline, Cursor, Windsurf, and any other tool that speaks the Model Context Protocol."},{question:"Is TestScout open source?",answer:"Yes, TestScout MCP tools are open source on GitHub. You can use them locally for free. We'll also offer a paid hosted tier for advanced analysis, execution history, and cloud-based execution — but the core tools are and will remain open source."}
1,{question:"What are the 6 MCP tools in the suite?",answer:"The suite includes: testscout-diagnose (error triage and capture), testscout-perf (Core Web Vitals analysis), testscout-scrape (structured data extraction), testscout-plan (test strategy and config generation), testscout-load (load test analysis), and testscout-maintain (self-healing test suite orchestration). They're shipping sequentially, starting with testscout-diagnose."},{question:"How is this different from just asking an AI to help debug?",answer:"Without TestScout, AI agents can only reason about errors you paste into them. With TestScout MCP tools, agents can actively capture browser context, measure performance metrics, extract page data, and generate test plans — all programmatically. It's the difference between reading about a bug and investigating it directly."},{question:"What does the free tier include?",answer:"The free tier includes all core MCP tool functionality running locally on your machine. You get full error diagnosis, performance analysis, data extraction, and test strategy generation. The paid tier adds hosted execution, advanced analysis, trending/history, and team features."},{question:"When will the first tools be available?",answer:"testscout-diagnose is shipping first in 2026, followed by testscout-perf, testscout-scrape, testscout-plan, testscout-load, and testscout-maintain in sequence. Join the waitlist to get notified as each tool launches."},{question:"Can I contribute to TestScout?",answer:"Absolutely. TestScout is open source and we welcome contributions. Once the GitHub repository is live, you can submit issues, feature requests, and pull requests. Join the waitlist to be notified when the repo goes public."},{question:"How do I get support?",answer:"Free users get community support through GitHub issues and discussions. We also provide comprehensive documentation for each MCP tool. For questions or partnerships, reach out at [email protected]."}].map((a,l)=>(0,r.jsxs)(s.P.div,{className:"bg-gray-50 dark:bg-gray-800 rounded-lg overflow-hidden",variants:i.tE,children:[(0,r.jsxs)(s.P.button,{className:"w-full px-6 py-5 text-left flex justify-between items-center hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",onClick:()=>{t(e=>e.includes(l)?e.filter(e=>e!==l):[...e,l])},whileHover:{backgroundColor:"rgba(0,0,0,0.02)"},children:[(0,r.jsx)("span",{className:"text-lg font-semibold text-gray-900 dark:text-white pr-4",children:a.question}),(0,r.jsx)(s.P.svg,{className:"w-5 h-5 text-gray-500 dark:text-gray-400 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",animate:{rotate:180*!!e.includes(l)},transition:{duration:.2},children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),(0,r.jsx)(s.P.div,{initial:{height:0,opacity:0},animate:{height:e.includes(l)?"auto":0,opacity:+!!e.includes(l)},transition:{duration:.3},className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-6 pb-5",children:(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-300 leading-relaxed",children:a.answer})})})]},l))}),(0,r.jsx)(s.P.div,{className:"mt-16 text-center",initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("div",{className:"bg-blue-50 dark:bg-blue-900/20 rounded-2xl p-8",children:[(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"Still Have Questions?"}),(0,r.jsx)("p",{className:"text-lg text-gray-600 dark:text-gray-300 mb-6",children:"Can't find the answer you're looking for? Reach out and we'll help."}),(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,r.jsxs)(s.P.a,{href:"mailto:[email protected]",className:"inline-flex items-center px-6 py-3 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors",whileHover:{scale:1.02},whileTap:{scale:.98},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),"Contact Us"]}),(0,r.jsxs)(s.P.a,{href:"#waitlist",className:"inline-flex items-center px-6 py-3 bg-white dark:bg-gray-800 text-gray-900 dark:text-white font-semibold rounded-lg border border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500 transition-colors",whileHover:{scale:1.02},whileTap:{scale:.98},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),"Join the Waitlist"]})]})]})})]})})}},6830:(e,t,a)=>{"use strict";a.d(t,{CQ:()=>r,ZE:()=>i,qT:()=>s});let r={mode:"pre-launch",isPreLaunch:()=>"pre-launch"===r.mode,isFull:()=>"full"===r.mode}
1,s={pricing:r.isFull(),reviews:r.isFull(),waitlist:r.isPreLaunch(),chromeStoreLinks:r.isFull()},i={testscout:{name:"TestScout",tagline:"QA Intelligence for AI Agents",description:"MCP tools that give AI agents the ability to diagnose errors, analyze performance, extract data, and generate test strategies.",href:"/",color:"blue",icon:"brain"},lightscout:{name:"LightScout",tagline:"Core Web Vitals Monitor",description:"Track LCP, FCP, TTFB, CLS, INP, and FID in real-time. Export metrics to JSON or CSV for analysis.",href:"/lightscout",color:"emerald",icon:"chart"}}},7189:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(4874),l=a(6830);function n(){return(0,r.jsx)("section",{className:"relative overflow-hidden bg-gradient-to-br from-blue-50 to-indigo-100 dark:from-gray-900 dark:to-blue-900",children:(0,r.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center",children:[(0,r.jsxs)(s.P.div,{className:"text-left",initial:"initial",animate:"animate",variants:i.xs,children:[(0,r.jsxs)(s.P.h1,{className:"text-5xl lg:text-6xl font-bold text-gray-900 dark:text-white mb-6",variants:i.tE,children:["Capture Every Bug",(0,r.jsx)("span",{className:"text-blue-600 dark:text-blue-400",children:" Context Automatically"})]}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 mb-8 leading-relaxed",variants:i.tE,children:"The smart browser extension that captures screenshots, console logs, network requests, and user actions when errors occur - no setup required."}),(0,r.jsxs)(s.P.div,{className:"flex flex-col sm:flex-row gap-4",variants:i.tE,children:[l.qT.chromeStoreLinks?(0,r.jsxs)(s.P.a,{href:"#",className:"inline-flex items-center justify-center px-8 py-4 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors shadow-lg",whileHover:{scale:1.05},whileTap:{scale:.95},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",viewBox:"0 0 24 24",fill:"currentColor",children:(0,r.jsx)("path",{d:"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M12,10.5L16,14.5L14.5,16L10.5,12L14.5,8L16,9.5L12,10.5Z"})}),"Add to Chrome - Free"]}):(0,r.jsxs)(s.P.a,{href:"#waitlist",className:"inline-flex items-center justify-center px-8 py-4 bg-blue-600 text-white font-semibold rounded-lg hover:bg-blue-700 transition-colors shadow-lg",whileHover:{scale:1.05},whileTap:{scale:.95},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})}),"Join Waitlist"]}),(0,r.jsxs)(s.P.button,{className:"inline-flex items-center justify-center px-8 py-4 bg-white dark:bg-gray-800 text-gray-900 dark:text-white font-semibold rounded-lg border-2 border-gray-200 dark:border-gray-600 hover:border-gray-300 dark:hover:border-gray-500 transition-colors",whileHover:{scale:1.02},whileTap:{scale:.98},children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{d:"M10 12l-4-4 1.41-1.41L10 9.17l2.59-2.58L14 8l-4 4z"})}),"Watch 60s Demo"]})]}),(0,r.jsxs)(s.P.div,{className:"mt-8 flex items-center text-sm text-gray-500 dark:text-gray-400",variants:i.tE,children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2 text-green-500",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"})}),"Free forever • No account required • Privacy-first"]})]}),(0,r.jsx)(s.P.div,{className:"relative",initial:{opacity:0,x:50},animate:{opacity:1,x:0},transition:{duration:.8,delay:.2},children:(0,r.jsxs)("div",{className:"bg-white dark:bg-gray-800 rounded-2xl shadow-2xl p-6 transform rotate-1",children:[(0,r.jsxs)("div",{className:"bg-gradient-to-r from-red-500 to-red-600 text-white p-4 rounded-lg mb-4",children:[(0,r.jsxs)("div",{className:"flex items-center mb-2",children:[(0,r.jsx)("svg",{className:"w-5 h-5 mr-2",fill:"
1currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z"})}),(0,r.jsx)("span",{className:"font-semibold",children:"JavaScript Error Detected"})]}),(0,r.jsx)("p",{className:"text-sm",children:"TypeError: Cannot read property 'value' of null"})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full mr-3"}),"Screenshot captured automatically"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full mr-3"}),"Console logs collected (last 50)"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full mr-3"}),"Network requests logged"]}),(0,r.jsxs)("div",{className:"flex items-center text-sm text-gray-600 dark:text-gray-400",children:[(0,r.jsx)("div",{className:"w-2 h-2 bg-green-500 rounded-full mr-3"}),"User actions tracked"]})]})]})})]})})})}},8455:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(4874),l=a(6830);function n(){let e=new Date().getFullYear();return(0,r.jsx)("footer",{className:"bg-gray-900 text-white py-16",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"grid grid-cols-1 md:grid-cols-4 gap-8",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:{animate:{transition:{staggerChildren:.1}}},children:[(0,r.jsxs)(s.P.div,{variants:i.tE,children:[(0,r.jsxs)("div",{className:"flex items-center mb-4",children:[(0,r.jsx)("svg",{className:"w-8 h-8 text-blue-400 mr-2",viewBox:"0 0 24 24",fill:"currentColor",children:(0,r.jsx)("path",{d:"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M12,10.5L16,14.5L14.5,16L10.5,12L14.5,8L16,9.5L12,10.5Z"})}),(0,r.jsx)("span",{className:"text-2xl font-bold",children:"TestScout"})]}),(0,r.jsx)("p",{className:"text-gray-400 mb-4",children:"MCP tools that give AI agents QA superpowers — error diagnosis, performance analysis, data extraction, test planning, and self-healing test maintenance."})]}),(0,r.jsxs)(s.P.div,{variants:i.tE,children:[(0,r.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Product"}),(0,r.jsxs)("ul",{className:"space-y-2",children:[(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"#features",className:"text-gray-400 hover:text-white transition-colors",children:"Features"})}),(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"#use-cases",className:"text-gray-400 hover:text-white transition-colors",children:"Use Cases"})}),l.qT.pricing&&(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"#pricing",className:"text-gray-400 hover:text-white transition-colors",children:"Pricing"})}),(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"#faq",className:"text-gray-400 hover:text-white transition-colors",children:"FAQ"})}),(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"mailto:[email protected]",className:"text-gray-400 hover:text-white transition-colors",children:"Contact"})})]})]}),(0,r.jsxs)(s.P.div,{variants:i.tE,children:[(0,r.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Products"}),(0,r.jsxs)("ul",{className:"space-y-2",children:[(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"/",className:"text-blue-400 hover:text-blue-300 transition-colors",children:"TestScout MCP Suite"})}),(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"/lightscout",className:"text-emerald-400 hover:text-emerald-300 transition-colors",children:"LightScout"})})]})]}),(0,r.jsxs)(s.P.div,{variants:i.tE,children:[(0,r.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Legal"}),(0,r.jsx)("ul",{className:"space-y-2",children:(0,r.jsx)("li",{children:(0,r.jsx)("a",{href:"/privacy",className:"text-gray-400 hover:text-white transition-colors",children:"Privacy Policy"})})})]})]}),(0,r.jsx)(s.P.div,{className:"border-t border-gray-800 mt-12 pt-8 text-center",initial:{opacity:0}
1,whileInView:{opacity:1},viewport:{once:!0},transition:{duration:.8,delay:.3},children:(0,r.jsxs)("p",{className:"text-gray-400",children:["\xa9 ",e," TestScout. All rights reserved."]})})]})})}},8893:(e,t,a)=>{"use strict";a.d(t,{default:()=>d});var r=a(5155),s=a(7733),i=a(4874),l=a(6830),n=a(2619),o=a.n(n);function d(){let e=[{...l.ZE.testscout,icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),bgGradient:"from-blue-50 to-indigo-50 dark:from-blue-900/20 dark:to-indigo-900/20",borderColor:"border-blue-200 dark:border-blue-700",iconColor:"text-blue-600 dark:text-blue-400",buttonColor:"bg-blue-600 hover:bg-blue-700"},{...l.ZE.lightscout,icon:(0,r.jsx)("svg",{className:"w-12 h-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),bgGradient:"from-emerald-50 to-teal-50 dark:from-emerald-900/20 dark:to-teal-900/20",borderColor:"border-emerald-200 dark:border-emerald-700",iconColor:"text-emerald-600 dark:text-emerald-400",buttonColor:"bg-emerald-600 hover:bg-emerald-700"}];return(0,r.jsx)("section",{className:"py-20 bg-white dark:bg-gray-900",id:"products",children:(0,r.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)(s.P.div,{className:"text-center mb-16",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:[(0,r.jsx)(s.P.h2,{className:"text-4xl font-bold text-gray-900 dark:text-white mb-4",variants:i.tE,children:"Our Products"}),(0,r.jsx)(s.P.p,{className:"text-xl text-gray-600 dark:text-gray-300 max-w-3xl mx-auto",variants:i.tE,children:"Developer tools designed to help you build better, faster web experiences"})]}),(0,r.jsx)(s.P.div,{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",initial:"initial",whileInView:"animate",viewport:{once:!0},variants:i.bK,children:e.map((e,t)=>(0,r.jsxs)(s.P.div,{className:"bg-gradient-to-br ".concat(e.bgGradient," ").concat(e.borderColor," border rounded-2xl p-8 hover:shadow-xl transition-shadow duration-300"),variants:i.tE,whileHover:{y:-5},children:[(0,r.jsx)("div",{className:"".concat(e.iconColor," mb-6"),children:e.icon}),(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-2",children:e.name}),(0,r.jsx)("p",{className:"text-lg font-medium ".concat(e.iconColor," mb-4"),children:e.tagline}),(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-300 mb-6",children:e.description}),(0,r.jsx)(o(),{href:e.href,children:(0,r.jsxs)(s.P.span,{className:"inline-flex items-center px-6 py-3 ".concat(e.buttonColor," text-white font-semibold rounded-lg transition-colors"),whileHover:{scale:1.02},whileTap:{scale:.98},children:["Learn More",(0,r.jsx)("svg",{className:"w-5 h-5 ml-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14 5l7 7m0 0l-7 7m7-7H3"})})]})})]},t))})]})})}},9196:(e,t,a)=>{"use strict";a.d(t,{default:()=>l});var r=a(5155),s=a(2115),i=a(7733);function l(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let e="true"===localStorage.getItem("darkMode")||!localStorage.getItem("darkMode")&&window.matchMedia("(prefers-color-scheme: dark)").matches;t(e),e&&document.documentElement.classList.add("dark")},[]),(0,r.jsx)(i.P.button,{onClick:()=>{let a=!e;t(a),localStorage.setItem("darkMode",a.toString()),a?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},className:"fixed top-6 right-6 z-50 p-3 bg-white dark:bg-gray-800 rounded-full shadow-lg border border-gray-200 dark:border-gray-600 hover:shadow-xl transition-shadow",whileHover:{scale:1.05},whileTap:{scale:.95},"aria-label":"Toggle dark mode",children:(0,r.jsx)(i.P.div,{initial:!1,animate:{rotate:180*!!e},transition:{duration:.3},children:e?(0,r.jsx)("svg",{className:"w-6 h-6 text-yellow-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})}):(0,r.jsx)("svg",{className:"w-6 h-6 text-indigo-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})})})}},9418:(e,t,a)=>{"use strict";a.d(t,{default:()=>n});var r=a(5155),s=a(7733),i=a(2115),l=a(4874);function n(e){let{source:t="testscout"}=e,[a,n]=(0,i.useState)(""),[o,d]=(0,i.useState)("idle"),[c,x]=(0,i.useState)(""),m=async e=>{e.preventDefault(),d("loading");try{let e=await fetch("/api/waitlist",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:a,source:t})}
1),r=await e.json();e.ok?(d("success"),x(r.message),n(""),"gtag"in window&&window.gtag("event","waitlist_signup",{source:t})):(d("error"),x(r.error||"Something went wrong. Please try again."))}catch(e){d("error"),x("Something went wrong. Please try again.")}setTimeout(()=>{d("idle"),x("")},5e3)};return(0,r.jsxs)(s.P.div,{className:"bg-gradient-to-br from-blue-50 to-indigo-100 dark:from-gray-900 dark:to-blue-900 rounded-2xl p-8 text-center",initial:"initial",animate:"animate",variants:l.tE,children:[(0,r.jsxs)(s.P.div,{variants:l.tE,children:[(0,r.jsx)("h3",{className:"text-2xl font-bold text-gray-900 dark:text-white mb-4",children:"Join the Waitlist"}),(0,r.jsx)("p",{className:"text-lg text-gray-600 dark:text-gray-300 mb-6",children:"Be the first to know when TestScout launches. Get early access and exclusive updates."})]}),(0,r.jsx)(s.P.form,{onSubmit:m,className:"max-w-md mx-auto",variants:l.tE,children:(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row gap-3",children:[(0,r.jsx)("input",{type:"email",value:a,onChange:e=>n(e.target.value),placeholder:"Enter your email address",className:"flex-1 px-4 py-3 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-transparent",required:!0,disabled:"loading"===o}),(0,r.jsx)(s.P.button,{type:"submit",className:"px-6 py-3 rounded-lg font-semibold transition-colors ".concat("loading"===o?"bg-gray-400 cursor-not-allowed":"bg-blue-600 hover:bg-blue-700"," text-white"),disabled:"loading"===o,whileHover:"loading"!==o?{scale:1.02}:{},whileTap:"loading"!==o?{scale:.98}:{},children:"loading"===o?(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsxs)("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Joining..."]}):"Join Waitlist"})]})}),c&&(0,r.jsx)(s.P.div,{className:"mt-4 p-3 rounded-lg ".concat("success"===o?"bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-200"),initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.3},children:c}),(0,r.jsx)(s.P.div,{className:"mt-6 text-sm text-gray-500 dark:text-gray-400",variants:l.tE,children:(0,r.jsxs)("div",{className:"flex items-center justify-center space-x-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-4 h-4 mr-1",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),"No spam, ever"]}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("svg",{className:"w-4 h-4 mr-1",fill:"currentColor",viewBox:"0 0 20 20",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),"Unsubscribe anytime"]})]})})]})}}},e=>{e.O(0,[733,619,441,255,358],()=>e(e.s=747)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.