1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,a(e));else t.set(r,a(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return g},ST:function(){return m},WEB_VITALS:function(){return o},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return x}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let g="u">typeof performance,m=g&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(o.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||a.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},18581,(e,t,r)=>{"use strict";
1Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(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 o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.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 y},useLinkStatus:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),a=e.r(43476),s=o._(e.r(71645)),l=e.r(95057),u=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(88540),h=e.r(91949),g=e.r(73668),m=e.r(9396);function y(t){var r,n;let i,o,y,[v,w]=(0,s.useOptimistic)(h.IDLE_LINK_STATUS),_=(0,s.useRef)(null),{href:x,as:j,children:S,prefetch:O=null,passHref:C,replace:E,shallow:P,scroll:$,onClick:L,onMouseEnter:k,onTouchStart:A,legacyBehavior:M=!1,onNavigate:T,transitionTypes:R,ref:N,unstable_dynamicOnHover:F,...U}=t;i=S,M&&("string"==typeof i||"number"==typeof i)&&(i=(0,a.jsx)("a",{children:i}));let B=s.default.useContext(u.AppRouterContext),I=!1!==O,D=!1!==O?null===(n=O)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,z="string"==typeof(r=j||x)?r:(0,l.formatUrl)(r);if(M){if(i?.$$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});o=s.default.Children.only(i)}let q=M?o&&"object"==typeof o&&o.ref:N,Q=s.default.useCallback(e=>(null!==B&&(_.current=(0,h.mountLinkInstance)(e,z,B,D,I,w)),()=>{_.current&&((0,h.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,h.unmountPrefetchableInstance)(e)}),[I,z,B,D,w]),W={ref:(0,c.useMergedRef)(Q,q),onClick(t){M||"function"!=typeof L||L(t),M&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!B||t.defaultPrevented||function(t,r,n,i,o,a,l){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,g.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);s.default.startTransition(()=>{d(r,i?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,l)})}}(t,z,_,E,$,T,R)},onMouseEnter(e){M||"function"!=typeof k||k(e),M&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),B&&I&&(0,h.onNavigationIntent)(e.currentTarget,!0===F)},onTouchStart:function(e){M||"function"!=typeof A||A(e),M&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),B&&I&&(0,h.onNavigationIntent)(e.currentTarget,!0===F)}};return(0,d.isAbsoluteUrl)(z)?W.href=z:M&&!C&&("a"!==o.type||"href"in o.props)||(W.href=(0,f.addBasePath)(z)),y=M?s.default.cloneElement(o,W):(0,a.jsx)("a",{...U,...W,children:i}),(0,a.jsx)(b.Provider,{value:v,children:y})}e.r(84508);let b=(0,s.createContext)(h.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},32711,e=>{"use strict";e.s(["DEFAULT_LOCALE",0,"en","LOCALES",0,["en","ro","es"],"LOCALE_FLAG",0,{en:"gb",ro:"ro",es:"es"},"LOCALE_LABELS",0,{en:"English",ro:"RomânÄ",es:"Español"},"pathFor",0,function(e,t){let r=t.startsWith("/")?t:`/${t}`;return"en"===e?"/"===r?"/":r:"/"===r?`/${e}`:`/${e}${r}`}])},21742,e=>{"use strict";e.s(["TOOL_NAMES",0,{searchSite:"search_qwertybit_site",listFreeTools:"list_qwertybit_free_tools",getServiceDetails:"get_qwertybit_service_details",getCaseStudy:"get_qwertybit_case_study",getCompanyInfo:"get_qwertybit_company_info",answerFaq:"answer_qwertybit_faq",navigateToPage:"navigate_qwertybit_page",switchLanguage:"switch_qwertybit_language",submitEnquiry:"submit_qwertybit_project_enquiry",buildUtmLink:"build_utm_link",checkColourContrast:"check_wcag_colour_contrast",checkApcaContrast:"check_apca_colour_contrast",generateColourPalette:"generate_colour_palette",generateColourTransparency:"generate_colour_transparency_values",recolourSvgLogo:"recolour_svg_logo",generateQrCode:"generate_qr_code",generateEmailSignature:"generate_email_signature",convertTimezone:"convert_between_timezones",calculatePercentage:"calculate_percentage",calculateTimesIncrease:"calculate_times_increase",calculateConversionRate:"calculate_conversion_rate",compareConversionRates:"compare_conversion_rates",calculateNps:"calculate_nps_score",testReadability:"test_text_readability",generateMetaDescriptions:"generate_meta_descriptions",generateAltText:"generate_image_alt_text",generateHeroCopy:"generate_website_hero_copy",describeCompressPdf:"describe_pdf_compressor",describePdfToPptx:"describe_pdf_to_pptx_converter",describePptxToPdf:"describe_pptx_to_pdf_converter"}])},25282,55754,34163,e=>{"use strict";var t=e.i(71645);e.s(["useModelContextTools",0,function(e,r=[]){let n=(0,t.useRef)(e);(0,t.useEffect)(()=>{n.current=e}),(0,t.useEffect)(()=>{var e=n.current.map(e=>({name:e.name,description:e.description,inputSchema:e.inputSchema,annotations:e.annotations,execute:(t,r)=>(n.current.find(t=>t.name===e.name)??e).execute(t,r)}));let t="u"<typeof document?null:document.modelContext??navigator.modelContext??null;if(!t||0===e.length)return()=>{};if("function"==typeof t.registerTool){let r=new AbortController;for(let n of e)try{t.registerTool(n,{signal:r.signal})}catch(e){console.warn(`[webmcp] failed to register "${n.name}"`,e)}return()=>r.abort()}if("function"==typeof t.provideContext){try{t.provideContext({tools:e})}catch(e){return console.warn("[webmcp] provideContext failed",e),()=>{}}return()=>{if("function"==typeof t.unregisterTool)for(let r of e)try{t.unregisterTool(r.name)}catch{}}}return()=>{}},r)}],25282),e.s(["defineTool",0,function(e){return e}],55754),e.s(["fail",0,function(e){return{content:[{type:"text",text:e}],isError:!0}},"ok",0,function(e){return{content:[{type:"text",text:e}]}}],34163)},64659,e=>{"use strict";let t=(0,e.i(75254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",0,t],64659)},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:o,objectFit:a}){let s=r?40*r:e,l=i?40*i:t,u=s&&l?`viewBox='0 0 ${s} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${u}%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='${u?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%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 o},imageConfigDefault:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["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,
1contentSecurityPolicy:"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 u}}),e.r(33525);let n=e.r(43369),i=e.r(88143),o=e.r(87690),a=["-moz-initial","fill","none","scale-down",void 0];function s(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 u({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:d=!1,loading:f,className:p,quality:h,width:g,height:m,fill:y=!1,style:b,overrideSrc:v,onLoad:w,onLoadingComplete:_,placeholder:x="empty",blurDataURL:j,fetchPriority:S,decoding:O="async",layout:C,objectFit:E,objectPosition:P,lazyBoundary:$,lazyRoot:L,...k},A){var M;let T,R,N,{imgConf:F,showAltText:U,blurComplete:B,defaultLoader:I}=A,D=F||o.imageConfigDefault;if("allSizes"in D)T=D;else{let e=[...D.deviceSizes,...D.imageSizes].sort((e,t)=>e-t),t=D.deviceSizes.sort((e,t)=>e-t),r=D.qualities?.sort((e,t)=>e-t);T={...D,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===I)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 z=k.loader||I;delete k.loader,delete k.srcSet;let q="__next_img_default"in z;if(q){if("custom"===T.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=z;z=t=>{let{config:r,...n}=t;return e(n)}}if(C){"fill"===C&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(b={...b,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let Q="",W=l(g),G=l(m);if((M=e)&&"object"==typeof M&&(s(M)||void 0!==M.src)){let t=s(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(R=t.blurWidth,N=t.blurHeight,j=j||t.blurDataURL,Q=t.src,!y)if(W||G){if(W&&!G){let e=W/t.width;G=Math.round(t.height*e)}else if(!W&&G){let e=G/t.height;W=Math.round(t.width*e)}}else W=t.width,G=t.height}let H=!c&&!d&&("lazy"===f||void 0===f);(!(e="string"==typeof e?e:Q)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),T.unoptimized&&(r=!0),q&&!T.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=l(h),X=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:E,objectPosition:P}:{},U?{}:{color:"transparent"},b),Y=B||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:W,heightInt:G,blurWidth:R,blurHeight:N,blurDataURL:j||"",objectFit:X.objectFit})}")`:`url("${x}")`,V=a.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,J=Y?{backgroundSize:V,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function({config:e,src:t,unoptimized:r,width:i,quality:o,sizes:a,loader:s}){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:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);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,i,a),c=l.length-1;return{sizes:a||"w"!==u?a:"100vw",srcSet:l.map((r,n)=>`${s({config:e,src:t,quality:o,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:s({config:e,src:t,quality:o,width:l[c]})}}({config:T,src:e,unoptimized:r,width:W,quality:K,sizes:t,loader:z}),ee=H?"lazy":f;return{props:{...k,loading:ee,fetchPriority:S,width:W,height:G,decoding:O,className:p,style:{...X,...J},sizes:Z.sizes,srcSet:Z.srcSet,src:v||Z.src},meta:{unoptimized:r,preload:d||c,placeholder:x,fill:y}}}},98879,(e,t,r)=>{"use strict";
2Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return s}});let n=e.r(71645),i="u"<typeof window,o=i?()=>{}:n.useLayoutEffect,a=i?()=>{}:n.useEffect;function s(e){let{headManager:t,reduceComponentsToState:r}=e;function s(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),s()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),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 g},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(55682),a=e.r(90809),s=e.r(43476),l=a._(e.r(71645)),u=o._(e.r(98879)),c=e.r(42732);function d(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(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 h(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!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)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!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)?o=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;
2("name"!==r||!a)&&n.has(t)?o=!1:(n.add(t),i[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return l.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,l.useContext)(c.HeadManagerContext);return(0,s.jsx)(u.default,{reduceComponentsToState:h,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 o}});let n=e.r(55682)._(e.r(71645)),i=e.r(87690),o=n.default.createContext(i.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),i=e.r(43369);function o({config:e,src:t,width:r,quality:a}){let s=(0,i.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){s=n,r.delete("dpl");let i=r.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}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. 3Read 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("/")&&s?`&dpl=${s}`:""}`}o.__next_img_default=!0;let a=o},85437,(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),i=e.r(90809),o=e.r(43476),a=i._(e.r(71645)),s=n._(e.r(74080)),l=n._(e.r(25633)),u=e.r(8927),c=e.r(87690),d=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),h=e.r(18581),g={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 m(e,t,r,n,i,o,a){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(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:i,decoding:s,className:l,style:u,fetchPriority:c,placeholder:d,loading:f,unoptimized:p,fill:g,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:w,setShowAltText:_,sizesInput:x,onLoad:j,onError:S,...O},C)=>{let E=(0,a.useCallback)(e=>{e&&(S&&(e.src=e.src),e.complete&&m(e,d,b,v,w,p,x))},[e,d,b,v,w,S,p,x]),P=(0,h.useMergedRef)(C,E);return(0,o.jsx)("img",{...O,...y(c),loading:f,width:i,height:n,decoding:s,"data-nimg":g?"fill":"1",className:l,style:u,sizes:r,srcSet:t,src:e,ref:P,onLoad:e=>{m(e.currentTarget,d,b,v,w,p,x)},onError:e=>{_(!0),"empty"!==d&&w(!0),S&&S(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,r),null):(0,o.jsx)(l.default,{children:(0,o.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)(f.RouterContext),n=(0,a.useContext)(d.ImageConfigContext),i=(0,a.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
3e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:s,onLoadingComplete:l}=e,h=(0,a.useRef)(s);(0,a.useEffect)(()=>{h.current=s},[s]);let m=(0,a.useRef)(l);(0,a.useEffect)(()=>{m.current=l},[l]);let[y,w]=(0,a.useState)(!1),[_,x]=(0,a.useState)(!1),{props:j,meta:S}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:_});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(b,{...j,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:h,onLoadingCompleteRef:m,setBlurComplete:w,setShowAltText:x,sizesInput:e.sizes,ref:t}),S.preload?(0,o.jsx)(v,{isAppRouter:!r,imgAttributes:j}):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 u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(55682),a=e.r(8927),s=e.r(85437),l=o._(e.r(1948));function u(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=s.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},49793,e=>{"use strict";var t=e.i(43476),r=e.i(45060);let n={gb:"United Kingdom",ro:"Romania",es:"Spain",us:"United States"},i={gb:(0,t.jsxs)("svg",{viewBox:"0 0 60 30",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("clipPath",{id:"gb-clip",children:(0,t.jsx)("rect",{width:"60",height:"30"})}),(0,t.jsxs)("g",{clipPath:"url(#gb-clip)",children:[(0,t.jsx)("rect",{width:"60",height:"30",fill:"#012169"}),(0,t.jsx)("path",{d:"M0,0 L60,30 M60,0 L0,30",stroke:"#fff",strokeWidth:"6"}),(0,t.jsx)("path",{d:"M0,0 L60,30 M60,0 L0,30",stroke:"#C8102E",strokeWidth:"4",clipPath:"url(#gb-clip)"}),(0,t.jsx)("path",{d:"M30,0 v30 M0,15 h60",stroke:"#fff",strokeWidth:"10"}),(0,t.jsx)("path",{d:"M30,0 v30 M0,15 h60",stroke:"#C8102E",strokeWidth:"6"})]})]}),ro:(0,t.jsxs)("svg",{viewBox:"0 0 60 40",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("rect",{x:"0",width:"20",height:"40",fill:"#002B7F"}),(0,t.jsx)("rect",{x:"20",width:"20",height:"40",fill:"#FCD116"}),(0,t.jsx)("rect",{x:"40",width:"20",height:"40",fill:"#CE1126"})]}),es:(0,t.jsxs)("svg",{viewBox:"0 0 60 40",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("rect",{width:"60",height:"40",fill:"#AA151B"}),(0,t.jsx)("rect",{y:"10",width:"60",height:"20",fill:"#F1BF00"})]}),us:(0,t.jsxs)("svg",{viewBox:"0 0 60 40",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("rect",{width:"60",height:"40",fill:"#b22234"}),[0,2,4,6,8,10,12].map(e=>(0,t.jsx)("rect",{y:40/13*(e+1),width:"60",height:40/13,fill:"#fff"},e)),(0,t.jsx)("rect",{width:"26",height:7/13*40,fill:"#3c3b6e"})]})};e.s(["Flag",0,function({code:e,className:o,title:a}){let s=i[e];return s?(0,t.jsx)("span",{role:a?"img":"presentation","aria-label":a??n[e],className:(0,r.cn)("inline-block overflow-hidden rounded-sm",o),children:s}):null}])},3265,e=>{"use strict";var t=e.i(43476),r=e.i(22016),n=e.i(71645),i=e.i(18566),o=e.i(57688),a=e.i(45060);function s({className:e,href:n="/",wordmark:i=!0,size:l="md"}){let u="sm"===l?28:34,c=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.default,{src:"/logo.png",alt:"QwertyBit",width:u,height:u,priority:!0,className:"shrink-0 rounded-[20%]"}),i&&(0,t.jsx)("span",{className:(0,a.cn)("font-display font-semibold tracking-tight text-white","sm"===l?"text-[17px]":"text-[19px]"),children:"QwertyBit"})]});return n?(0,t.jsx)(r.default,{href:n,"aria-label":"QwertyBit home",className:(0,a.cn)("inline-flex items-center gap-2.5",e),children:c}):(0,t.jsx)("div",{className:(0,a.cn)("inline-flex items-center gap-2.5",e),children:c})}var l=e.i(59544),u=e.i(75254);let c=(0,u.default)("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),d=(0,u.default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
3],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var f=e.i(5431),p=e.i(87613),h=e.i(32711),g=e.i(49793),m=e.i(64659);function y({current:e}){let o=function(e){for(let t of h.LOCALES){if(e===`/${t}`)return"/";if(e.startsWith(`/${t}/`))return e.slice(`/${t}`.length)}return e}((0,i.usePathname)()??"/"),[s,l]=(0,n.useState)(!1),u=(0,n.useRef)(null);return(0,n.useEffect)(()=>{function e(e){u.current&&(u.current.contains(e.target)||l(!1))}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,t.jsxs)("div",{ref:u,className:"relative",children:[(0,t.jsxs)("button",{type:"button","aria-haspopup":"listbox","aria-expanded":s,"aria-label":"Change language",onClick:()=>l(e=>!e),className:"inline-flex items-center gap-1.5 h-9 px-2.5 rounded-full border border-white/10 hover:border-white/25 transition-colors text-[var(--foreground-muted)] hover:text-white",children:[(0,t.jsx)(g.Flag,{code:h.LOCALE_FLAG[e],className:"h-4 w-6"}),(0,t.jsx)("span",{className:"hidden sm:inline text-xs font-medium uppercase tracking-wider",children:e}),(0,t.jsx)(m.ChevronDown,{size:13,className:(0,a.cn)("transition-transform",s&&"rotate-180")})]}),s&&(0,t.jsx)("ul",{role:"listbox",className:"absolute right-0 mt-2 w-40 rounded-xl glass-panel overflow-hidden z-50",children:h.LOCALES.map(n=>{let i,s=n===e;return(0,t.jsx)("li",{children:(0,t.jsxs)(r.default,{href:(i=""===o?"/":o,n===h.DEFAULT_LOCALE?i:"/"===i?`/${n}`:`/${n}${i}`),hrefLang:n,lang:n,role:"option","aria-selected":s,className:(0,a.cn)("flex items-center gap-3 px-3.5 py-2.5 text-sm transition-colors",s?"bg-white/5 text-white":"text-[var(--foreground-muted)] hover:text-white hover:bg-white/5"),onClick:()=>l(!1),children:[(0,t.jsx)(g.Flag,{code:h.LOCALE_FLAG[n],className:"h-4 w-6"}),(0,t.jsx)("span",{children:h.LOCALE_LABELS[n]})]})},n)})})]})}e.s(["Navbar",0,function({locale:e}
3){let[o,u]=(0,n.useState)(!1),[g,m]=(0,n.useState)(!1),b=(0,i.usePathname)(),{track:v}=(0,f.useAnalytics)(),w=(0,p.getDict)(e),_=[{href:(0,h.pathFor)(e,"/"),label:w.nav.home},{href:(0,h.pathFor)(e,"/services"),label:w.nav.services},{href:(0,h.pathFor)(e,"/approach"),label:w.nav.approach},{href:(0,h.pathFor)(e,"/case-studies"),label:w.nav.caseStudies},{href:(0,h.pathFor)(e,"/tech-stack"),label:w.nav.techStack},{href:(0,h.pathFor)(e,"/blog"),label:w.nav.blog},{href:(0,h.pathFor)(e,"/about"),label:w.nav.about}];return(0,n.useEffect)(()=>{let e=()=>u(window.scrollY>12);return e(),window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,n.useEffect)(()=>m(!1),[b]),(0,t.jsxs)("header",{className:(0,a.cn)("fixed top-0 inset-x-0 z-50 transition-all duration-300",o?"backdrop-blur-xl bg-[rgba(6,8,15,0.75)] border-b border-white/5":"bg-transparent"),children:[(0,t.jsxs)("div",{className:"container-x flex h-16 items-center justify-between",children:[(0,t.jsx)(s,{href:(0,h.pathFor)(e,"/")}),(0,t.jsx)("nav",{className:"hidden lg:flex items-center gap-1",children:_.map(n=>{let i=((0,h.pathFor)(e,"/")===n.href?n.href:null)===n.href?b===n.href:b?.startsWith(n.href);return(0,t.jsx)(r.default,{href:n.href,className:(0,a.cn)("px-3 py-2 rounded-full text-sm transition-colors",i?"text-white bg-white/5":"text-[var(--foreground-muted)] hover:text-white hover:bg-white/5"),children:n.label},n.href)})}),(0,t.jsxs)("div",{className:"hidden lg:flex items-center gap-2.5",children:[(0,t.jsx)(y,{current:e}),(0,t.jsx)(l.ButtonLink,{href:(0,h.pathFor)(e,"/contact"),size:"sm",variant:"primary",children:w.nav.bookCall})]}),(0,t.jsxs)("div",{className:"lg:hidden flex items-center gap-2",children:[(0,t.jsx)(y,{current:e}),(0,t.jsx)("button",{type:"button",className:"p-2 text-white","aria-label":g?w.nav.closeMenu:w.nav.openMenu,"aria-expanded":g,onClick:()=>{m(e=>{let t=!e;return v("Mobile Nav Toggled",{open:t}),t})},children:g?(0,t.jsx)(d,{size:22}):(0,t.jsx)(c,{size:22})})]})]}),g&&(0,t.jsx)("div",{className:"lg:hidden border-t border-white/5 bg-[rgba(6,8,15,0.95)] backdrop-blur-xl",children:(0,t.jsxs)("div",{className:"container-x py-6 flex flex-col gap-2",children:[_.map(e=>(0,t.jsx)(r.default,{href:e.href,className:"px-4 py-3 rounded-lg text-sm text-[var(--foreground-muted)] hover:text-white hover:bg-white/5",children:e.label},e.href)),(0,t.jsx)(l.ButtonLink,{href:(0,h.pathFor)(e,"/contact"),size:"md",className:"mt-2",children:w.nav.bookCall})]})})]})}],3265)},75505,e=>{"use strict";var t=e.i(18566),r=e.i(25282),n=e.i(21742),i=e.i(55754),o=e.i(34163),a=e.i(32711);e.s(["SiteTools",0,function({index:e}){let s=(0,t.useRouter)(),{locale:l}=e,u=t=>`${e.siteUrl}${"/"===t?"":t}`;return(0,r.useModelContextTools)([(0,i.defineTool)({name:n.TOOL_NAMES.searchSite,description:"Search everything published on the QwertyBit site â blog posts, service pages, case studies, tech-stack pages and free tools â and get back matching titles, one-line summaries and URLs. Use this first whenever the user asks what QwertyBit has written about, offers, or has built, before browsing or guessing at a URL.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{query:{type:"string",description:"Keywords to match against titles and summaries, e.g. 'vibecoding', 'KYC compliance', 'contrast'."},kind:{type:"string",description:"Optionally restrict results to one content type.",enum:["blog","service","tool","case-study","tech"]},limit:{type:"number",description:"Maximum results to return. Defaults to 10."}},required:["query"]},execute({query:t,kind:r,limit:n}){let i=t.toLowerCase().split(/\s+/).filter(Boolean);if(0===i.length)return(0,o.fail)("Provide at least one search term.");let a=e.entries.filter(e=>!r||e.kind===r).map(e=>{let t=`${e.title} ${e.description} ${e.slug}`.toLowerCase(),r=i.reduce((r,n)=>e.title.toLowerCase().includes(n)?r+3:t.includes(n)?r+1:r,0);return{entry:e,score:r}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).slice(0,Math.max(1,Math.min(n??10,25)));return 0===a.length?(0,o.ok)(`No pages matched "${t}". The site covers AI agent development, business automation, case studies, and ${e.tools.length} free browser tools â try a broader term.`):(0,o.ok)(a.map(({entry:e})=>`[${e.kind}] ${e.title} 4${e.description} 5${u(e.path)}`).join("\n\n"))}}),(0,i.defineTool)({name:n.TOOL_NAMES.listFreeTools,description:"List the free browser-based tools QwertyBit publishes â colour contrast checkers, calculators, generators and PDF converters â with their category and URL. Use when the user wants a utility for a task (checking accessibility contrast, building a UTM link, converting a PDF) so you can point them at, or navigate to, the right one.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{category:{type:"string",description:"Optionally filter to a single category.",enum:["Design","Content & Writing","Data Analysis","PDF & Documents","Utility"]}}},execute({category:t}){let r=t?e.tools.filter(e=>e.category===t):e.tools;return 0===r.length?(0,o.fail)(`No tools in the "${t}" category.`):(0,o.ok)(r.map(e=>`${e.name} (${e.category}) 6${e.description} 7${u(e.path)}`).join("\n\n"))}}),(0,i.defineTool)({name:n.TOOL_NAMES.getServiceDetails,description:"Get what a specific QwertyBit service covers, or list every service when called with no arguments. Use when the user asks what QwertyBit does, whether they build a particular kind of system, or what a named service includes.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{slug:{type:"string",description:"Service slug. Omit to list all services with their slugs."}}},execute({slug:t}){if(!t)return(0,o.ok)(e.services.map(e=>`${e.name} (slug: ${e.slug}) 8${e.summary} 9${u(e.path)}`).join("\n\n"));let r=e.services.find(e=>e.slug===t);return r?(0,o.ok)(`${r.name} 10${r.summary} 11${u(r.path)}`):(0,o.fail)(`No service with slug "${t}". Available: ${e.services.map(e=>e.slug).join(", ")}.`)}}),(0,i.defineTool)({name:n.TOOL_NAMES.getCaseStudy,description:"Get a QwertyBit c
11ase study â the client's sector, the problem, the agent that was built, and the measured outcomes â or list them all when called with no arguments. Use when the user asks for proof, examples, results, or whether QwertyBit has worked in a given industry.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{slug:{type:"string",description:"Case-study slug. Omit to list every case study with its slug and sector."}}},execute({slug:t}){if(!t)return(0,o.ok)(e.caseStudies.map(e=>`${e.title} (slug: ${e.slug}) 12Sector: ${e.sector} 13${u(e.path)}`).join("\n\n"));let r=e.caseStudies.find(e=>e.slug===t);return r?(0,o.ok)([r.title,`Sector: ${r.sector}`,`Client: ${r.client}`,`Problem: ${r.problem}`,`What was built: ${r.agent}`,`Outcomes: 14${r.outcomes.map(e=>`- ${e}`).join("\n")}`,u(r.path)].join("\n")):(0,o.fail)(`No case study with slug "${t}". Available: ${e.caseStudies.map(e=>e.slug).join(", ")}.`)}}),(0,i.defineTool)({name:n.TOOL_NAMES.getCompanyInfo,description:"Get the facts about QwertyBit as a company: what it does, when it was founded, who runs it, where it operates from, its headline services, and how to get in touch. Use when the user asks who QwertyBit are, where they are based, or how to contact them.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{}},execute(){let{company:t}=e;return(0,o.ok)([`${t.name} â ${t.tagline}`,t.description,`Founded: ${t.founded}`,`Offices: ${t.locations.join(" · ")}`,`Email: ${t.email}`,`Contact form: ${u(t.contactPath)}`,"","People:",...t.people.map(e=>`- ${e.name}, ${e.role} â ${e.oneLiner}`),"","Headline services:",...t.headlineServices.map(e=>`- ${e.title}: ${e.body}`)].join("\n"))}}),(0,i.defineTool)({name:n.TOOL_NAMES.answerFaq,description:"Answer a common question about working with QwertyBit â timelines, pricing, on-premises vs cloud, data handling, what happens after launch. Use when the user asks a practical engagement question before answering from your own assumptions, because these are QwertyBit's actual published answers.",annotations:{readOnlyHint:!0},inputSchema:{type:"object",properties:{question:{type:"string",description:"The user's question, in their own words. Omit-free text is fine â it is matched against the published FAQ."}},required:["question"]},execute({question:t}){let r=t.toLowerCase().split(/\s+/).filter(e=>e.length>3),n=e.faq.map(e=>({item:e,score:r.filter(t=>`${e.question} ${e.answer}`.toLowerCase().includes(t)).length})).sort((e,t)=>t.score-e.score);return 0===n.length||0===n[0].score?(0,o.ok)(`No published FAQ entry matches that. The questions QwertyBit answers are: 15${e.faq.map(e=>`- ${e.question}`).join("\n")}`):(0,o.ok)(n.filter(e=>e.score>0).slice(0,2).map(e=>`Q: ${e.item.question} 16A: ${e.item.answer}`).join("\n\n"))}}),(0,i.defineTool)({name:n.TOOL_NAMES.navigateToPage,description:"Navigate the browser to a page on the QwertyBit site. Only paths that exist on the site are accepted. Use after searching, when the user wants to actually read a post or use a tool rather than just hear about it.",inputSchema:{type:"object",properties:{path:{type:"string",description:"A site-relative path returned by another QwertyBit tool, e.g. '/tools/utm-builder' or '/blog/some-post'."}},required:["path"]},execute({path:t}){let r=t.startsWith("http")?new URL(t).pathname:t.startsWith("/")?t:`/${t}`,i=e.entries.some(e=>e.path===r),c=["/","/blog","/services","/tools","/case-studies","/about","/approach","/contact","/careers","/tech-stack"].map(e=>(0,a.pathFor)(l,e));return i||c.includes(r)?(s.push(r),(0,o.ok)(`Navigated to ${u(r)}.`)):(0,o.fail)(`"${r}" is not a page on this site. Use ${n.TOOL_NAMES.searchSite} to find a valid path first.`)}}),(0,i.defineTool)({name:n.TOOL_NAMES.switchLanguage,description:"Switch the QwertyBit site to another language. The site is published in English, Romanian and Spanish. Use when the user asks to read the site in a different language.",inputSchema:{type:"object",properties:{language:{type:"string",description:"Target language code.",enum:[...a.LOCALES]}},required:["language"]},execute({language:e}){if(!a.LOCALES.includes(e))return(0,o.fail)(`Unsupported language "${e}". Available: ${a.LOCALES.join(", ")}.`);
16if(e===l)return(0,o.ok)(`Already reading in ${a.LOCALE_LABELS[e]}.`);let t=window.location.pathname,r=a.LOCALES.reduce((e,t)=>e===`/${t}`||e.startsWith(`/${t}/`)?e.slice(t.length+1)||"/":e,t);return s.push((0,a.pathFor)(e,r)),(0,o.ok)(`Switched to ${a.LOCALE_LABELS[e]}.`)}})],[e,l,s]),null}])}]);
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.