PageSourceSearch

https://upstash.com/_next/static/chunks/37jw15iwpvgb3.js?dpl=dpl_9SKyzJrSDLt5YNDY4JY8BY98fgnZ

js upstash.com collected 2026-10-02 02:24:50 UTC 74,791 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20854,(e,t,n)=>{t.exports=e.r(12480)},86402,e=>{"use strict";var t=e.i(82624),n=e.i(65834),r=e.i(75679),o=e.i(34338),i=e.i(83006),a=e.i(20854);function s(){return"u">typeof window}function l(){return"production"}function d(){return"development"===((s()?window.vam:l())||"production")}function c(e){return RegExp(`/${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?=[/?#]|$)`)}function u(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/")?e:`/${e}`}function f(e){return(0,i.useEffect)(()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))},[e.beforeSend]),(0,i.useEffect)(()=>{!function(e={debug:!0},t){var n;if(!s())return;let{beforeSend:r,src:o,dataset:i}=function(e,t){var n,r;let o=e;if(t)try{o={...null==(n=JSON.parse(t))?void 0:n.analytics,...e}}catch{}!function(e="auto"){if("auto"===e){window.vam=l();return}window.vam=e}(o.mode);let i={sdkn:"@vercel/analytics"+(o.framework?`/${o.framework}`:""),sdkv:"2.0.1"};return o.disableAutoTrack&&(i.disableAutoTrack="1"),o.viewEndpoint&&(i.viewEndpoint=u(o.viewEndpoint)),o.eventEndpoint&&(i.eventEndpoint=u(o.eventEndpoint)),o.sessionEndpoint&&(i.sessionEndpoint=u(o.sessionEndpoint)),d()&&!1===o.debug&&(i.debug="false"),o.dsn&&(i.dsn=o.dsn),o.endpoint?i.endpoint=o.endpoint:o.basePath&&(i.endpoint=u(`${o.basePath}/insights`)),{beforeSend:o.beforeSend,src:(r=o).scriptSrc?u(r.scriptSrc):d()?"https://va.vercel-scripts.com/v1/script.debug.js":r.basePath?u(`${r.basePath}/insights/script.js`):"/_vercel/insights/script.js",dataset:i}}(e,t);if(window.va||(window.va=function(...e){window.vaq||(window.vaq=[]),window.vaq.push(e)}),r&&(null==(n=window.va)||n.call(window,"beforeSend",r)),document.head.querySelector(`script[src*="${o}"]`))return;let a=document.createElement("script");for(let[e,t]of(a.src=o,Object.entries(i)))a.dataset[e]=t;a.defer=!0,a.onerror=()=>{let e=d()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${o}. ${e}`)},document.head.appendChild(a)}({framework:e.framework||"react",basePath:e.basePath??function(){if(void 0!==o.default&&void 0!==o.default.env)return o.default.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}(),...void 0!==e.route&&{disableAutoTrack:!0},...e},e.configString??function(){if(void 0!==o.default&&void 0!==o.default.env)return o.default.env.REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG}())},[]),(0,i.useEffect)(()=>{e.route&&e.path&&function({route:e,path:t}){var n;null==(n=window.va)||n.call(window,"pageview",{route:e,path:t})}({route:e.route,path:e.path})},[e.route,e.path]),null}function p(e){let t,n,r,{route:s,path:l}=(t=(0,a.useParams)(),n=(0,a.useSearchParams)(),r=(0,a.usePathname)(),t?{route:function(e,t){if(!e||!t)return e;let n=e;try{let e=Object.entries(t);for(let[t,r]of e)if(!Array.isArray(r)){let e=c(r);e.test(n)&&(n=n.replace(e,`/[${t}]`))}for(let[t,r]of e)if(Array.isArray(r)){let e=c(r.join("/"));e.test(n)&&(n=n.replace(e,`/[...${t}]`))}return n}catch{return e}}(r,Object.keys(t).length?t:Object.fromEntries(n.entries())),path:r}:{route:null,path:r});return i.default.createElement(f,{path:l,route:s,...e,basePath:function(){if(void 0!==o.default&&void 0!==o.default.env)return o.default.env.NEXT_PUBLIC_VERCEL_OBSERVABILITY_BASEPATH}
1(),configString:function(){if(void 0!==o.default&&void 0!==o.default.env)return'{"analytics":{"scriptSrc":"d0ecc29c80557e3d/script.js","viewEndpoint":"d0ecc29c80557e3d/view","eventEndpoint":"d0ecc29c80557e3d/event","sessionEndpoint":"d0ecc29c80557e3d/session"},"speedInsights":{"scriptSrc":"c2bdaa3f6bf83283/script.js","endpoint":"c2bdaa3f6bf83283/vitals"}}'}(),framework:"next"})}function h(e){return i.default.createElement(i.Suspense,{fallback:null},i.default.createElement(p,{...e}))}function m(e){let t=e.target;return t instanceof Element?t.closest("a[href]"):null}function g(e){let t,n=e.getAttribute("href")??"",o=e.closest("[data-product]")?.getAttribute("data-product"),i=e.closest("[data-plan]")?.getAttribute("data-plan");(0,r.trackEvent)("link_click",{link_url:n,link_text:(e.textContent??"").trim().slice(0,100),link_area:(t=e.closest("[data-area]"))?t.getAttribute("data-area"):e.closest("header")?"header":e.closest("footer")?"footer":window.location.pathname,...o?{product:o}:{},...i?{plan:i}:{}})}function v(e){if(e.href.includes("console.upstash.com"))try{let t=sessionStorage.getItem(n.AFFILIATE_CODE);if(t){let r=new URL(e.href);r.searchParams.has(n.AFFILIATE_CODE)||(r.searchParams.set(n.AFFILIATE_CODE,t),e.href=r.toString())}}catch{}}function x(e){let t=m(e);t&&(g(t),v(t))}function y(e){if(1!==e.button)return;let t=m(e);t&&g(t)}function w(e){let t=m(e);t&&v(t)}e.s(["default",0,function(){return(0,i.useEffect)(()=>(document.addEventListener("click",x,!0),document.addEventListener("auxclick",y,!0),document.addEventListener("pointerdown",w,!0),()=>{document.removeEventListener("click",x,!0),document.removeEventListener("auxclick",y,!0),document.removeEventListener("pointerdown",w,!0)}),[]),(0,t.jsx)(h,{})}],86402)},29773,e=>{"use strict";var t=e.i(83006);function n(e){try{return new URL(e).origin}catch{return e}}let r=/^https:\/\/www\.google\.(?:com?\.)?[a-z]{2}$/;e.s(["CspViolationReporter",0,function(){return(0,t.useEffect)(()=>{let e=new Set,t=t=>{if(/^(?:chrome|moz|safari)-extension/.test(t.blockedURI))return;let o=n(t.blockedURI);if(r.test(o))return;let i=`${t.effectiveDirective}:${o}`;e.has(i)||e.size>=30||(e.add(i),window.gtag?.("event","csp_violation",{directive:t.effectiveDirective,blocked_origin:o,source_origin:t.sourceFile?n(t.sourceFile):void 0}))};return document.addEventListener("securitypolicyviolation",t),()=>{document.removeEventListener("securitypolicyviolation",t)}},[]),null}])},25662,e=>{"use strict";var t=e.i(82624),n=e.i(47494);e.s(["IntercomWrapper",0,({children:e})=>(0,t.jsx)(n.IntercomProvider,{appId:"rtjkeau6",autoBoot:!0,children:e})])},70484,97578,10471,91893,37109,e=>{"use strict";let t,n;var r=e.i(82624),o=e.i(409);e.s(["AnnouncementBanner",0,()=>(0,r.jsxs)("a",{href:"/blog/upstash-has-a-remote-mcp-server-now",className:"group flex h-9 w-full items-center justify-center gap-1.5 border-b border-emerald-500/20 bg-emerald-50 px-4 text-[13px] leading-none text-emerald-950 transition-colors hover:bg-emerald-100 md:text-sm dark:bg-[#01110d] dark:text-emerald-100 dark:hover:bg-emerald-950",children:[(0,r.jsx)("span",{className:"shrink-0 font-medium",children:"New:"}),(0,r.jsxs)("span",{className:"truncate underline decoration-emerald-600/40 underline-offset-4 transition-colors group-hover:decoration-emerald-600 dark:decoration-emerald-400/40 dark:group-hover:decoration-emerald-400",children:["Upstash has a remote MCP server",(0,r.jsxs)("span",{className:"hidden sm:inline",children:[" ","— connect your coding agent to your account"]})]}),(0,r.jsx)(o.IconArrowRight,{size:16,strokeWidth:1.8,className:"shrink-0 transition-transform group-hover:translate-x-0.5"})]})],70484);var i=e.i(83006);e.s(["useMotionValueEvent",0,function(e,t,n){(0,i.useInsertionEffect)(()=>e.on(t,n),[e,t,n])}],97578);var a=e.i(55401),s=e.i(46434);e.i(70557);var l=e.i(70742);e.i(53216);var d=e.i(91775),c=e.i(15289),u=e.i(96396);function f(e,t){let n,r=()=>{let{currentTime:r}=t,o=(null===r?0:r.value)/100;n!==o&&e(o),n=o};return u.frame.update(r,!0),()=>(0,u.cancelFrame)(r)}var p=e.i(60448);let h=new WeakMap;function m({target:e,contentRect:t,borderBoxSize:n}){var r;null==(r=h.get(e))||r.forEach(r=>{r({target:e,contentSize:t,get size(){return function(e,t){if(t){let{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&"getBBox"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}(e,n)}})})}function g(e){e.forEach(m)}let v=new Set;var x=e.i(74757),y=e.i(26679);let w=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),b={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function j(e,t,n,r){let o=n[t],{length:i,position:a}=b[t],s=o.current,l=n.time;o.current=e[`scroll${a}`],o.scrollLength=e[`scroll${i}`]-e[`client${i}`],o.offset.length=0,o.offset[0]=0,o.offset[1]=o.scrollLength,o.progress=(0,x.progress)(0,o.scrollLength,o.current);let d=r-l;o.velocity=d>50?0:(0,y.velocityPerSecond)(o.current-s,d)}e.i(34338);var E=e.i(87818),k=e.i(90337),C=e.i(95122);let S={start:0,center:.5,end:1};function P(e,t,n=0){let r=0;if(e in S&&(e=S[e]),"string"==typeof e){let t=parseFloat(e);e.endsWith("px")?r=t:e.endsWith("%")?e=t/100:e.endsWith("vw")?r=t/100*document.documentElement.clientWidth:e.endsWith("vh")?r=t/100*document.documentElement.clientHeight:e=t}return"number"==typeof e&&(r=t*e),n+r}let R=[0,0],N=[[0,0],[1,1]],O={x:0,y:0},I=new WeakMap,A=new WeakMap,_=new WeakMap,T=e=>e===document.documentElement?window:e;
1function L(e,{container:r=document.documentElement,...o}={}){let i=_.get(r);i||(i=new Set,_.set(r,i));let a=function(e,t,n,r={}){return{measure:()=>(function(e,t=e,n){if(n.x.targetOffset=0,n.y.targetOffset=0,t!==e){let r=t;for(;r&&r!==e;)n.x.targetOffset+=r.offsetLeft,n.y.targetOffset+=r.offsetTop,r=r.offsetParent}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth,n.y.targetLength=t===e?t.scrollHeight:t.clientHeight,n.x.containerLength=e.clientWidth,n.y.containerLength=e.clientHeight})(e,r.target,n),update:t=>{j(e,"x",n,t),j(e,"y",n,t),n.time=t,(r.offset||r.target)&&function(e,t,n){let{offset:r=N}=n,{target:o=e,axis:i="y"}=n,a="y"===i?"height":"width",s=o!==e?function(e,t){let n={x:0,y:0},r=e;for(;r&&r!==t;)if(r instanceof HTMLElement)n.x+=r.offsetLeft,n.y+=r.offsetTop,r=r.offsetParent;else if("svg"===r.tagName){let e=r.getBoundingClientRect(),t=(r=r.parentElement).getBoundingClientRect();n.x+=e.left-t.left,n.y+=e.top-t.top}else if(r instanceof SVGGraphicsElement){let{x:e,y:t}=r.getBBox();n.x+=e,n.y+=t;let o=null,i=r.parentNode;for(;!o;)"svg"===i.tagName&&(o=i),i=r.parentNode;r=o}else break;return n}(o,e):O,l=o===e?{width:e.scrollWidth,height:e.scrollHeight}:"getBBox"in o&&"svg"!==o.tagName?o.getBBox():{width:o.clientWidth,height:o.clientHeight},d={width:e.clientWidth,height:e.clientHeight};t[i].offset.length=0;let c=!t[i].interpolate,u=r.length;for(let e=0;e<u;e++){let n=function(e,t,n,r){let o=Array.isArray(e)?e:R,i=0;return"number"==typeof e?o=[e,e]:"string"==typeof e&&(o=(e=e.trim()).includes(" ")?e.split(" "):[e,S[e]?e:"0"]),(i=P(o[0],n,r))-P(o[1],t)}(r[e],d[a],l[a],s[i]);c||n===t[i].interpolatorOffsets[e]||(c=!0),t[i].offset[e]=n}c&&(t[i].interpolate=(0,k.interpolate)(t[i].offset,(0,C.defaultOffset)(r),{clamp:!1}),t[i].interpolatorOffsets=[...t[i].offset]),t[i].progress=(0,E.clamp)(0,1,t[i].interpolate(t[i].current))}(e,n,r)},notify:()=>t(n)}}(r,e,{time:0,x:w(),y:w()},o);if(i.add(a),!I.has(r)){let e,o=()=>{for(let e of i)e.measure()},a=()=>{for(let e of i)e.update(u.frameData.timestamp)},s=()=>{for(let e of i)e.notify()},l=()=>{u.frame.read(o,!1,!0),u.frame.read(a,!1,!0),u.frame.update(s,!1,!0)};I.set(r,l);let d=T(r);window.addEventListener("resize",l,{passive:!0}),r!==document.documentElement&&A.set(r,"function"==typeof r?(v.add(r),n||(n=()=>{let e={width:window.innerWidth,height:window.innerHeight},t={target:window,size:e,contentSize:e};v.forEach(e=>e(t))},window.addEventListener("resize",n)),()=>{v.delete(r),!v.size&&n&&(n=void 0)}):(!t&&"u">typeof ResizeObserver&&(t=new ResizeObserver(g)),(e=(0,p.resolveElements)(r)).forEach(e=>{let n=h.get(e);n||(n=new Set,h.set(e,n)),n.add(l),null==t||t.observe(e)}),()=>{e.forEach(e=>{let n=h.get(e);null==n||n.delete(l),(null==n?void 0:n.size)||null==t||t.unobserve(e)})})),d.addEventListener("scroll",l,{passive:!0})}let s=I.get(r);return u.frame.read(s,!1,!0),()=>{var e;(0,u.cancelFrame)(s);let t=_.get(r);if(!t||(t.delete(a),t.size))return;let n=I.get(r);I.delete(r),n&&(T(r).removeEventListener("scroll",n),null==(e=A.get(r))||e(),window.removeEventListener("resize",n))}}let M=new Map;function W({source:e,container:t=document.documentElement,axis:n="y"}={}){e&&(t=e),M.has(t)||M.set(t,{});let r=M.get(t);return r[n]||(r[n]=(0,d.supportsScrollTimeline)()?new ScrollTimeline({source:t,axis:n}):function({source:e,container:t,axis:n="y"}){e&&(t=e);let r={value:0},o=L(e=>{r.value=100*e[n].progress},{container:t,axis:n});return{currentTime:r,cancel:o}}({source:t,axis:n})),r[n]}function D(e){return e&&(e.target||e.offset)}var F=e.i(41317);function H(e,t){(0,l.warning)(!!(!t||t.current),`You have defined a ${e} options but the provided ref is not yet hydrated, probably because it's defined higher up the tree. Try calling useScroll() in the same component as the ref, or setting its \`layoutEffect: false\` option.`)}let U=()=>({scrollX:(0,a.motionValue)(0),scrollY:(0,a.motionValue)(0),scrollXProgress:(0,a.motionValue)(0),scrollYProgress:(0,a.motionValue)(0)});e.s(["useScroll",0,function({container:e,target:t,layoutEffect:n=!0,...r}={}){let o=(0,s.useConstant)(U);return(n?F.useIsomorphicLayoutEffect:i.useEffect)(()=>(H("target",t),H("container",e),function(e,{axis:t="y",...n}={}){var r,o;let i={axis:t,...n};return"function"==typeof e?(r=e,o=i,2===r.length||D(o)?L(e=>{r(e[o.axis].progress,e)},o):f(r,W(o))):function(e,t){if(e.flatten(),D(t))return e.pause(),L(n=>{e.time=e.duration*n[t.axis].progress},t);{let n=W(t);return e.attachTimeline?e.attachTimeline(n,e=>(e.pause(),f(t=>{e.time=e.duration*t},n))):c.noop}}(e,i)}((e,{x:t,y:n})=>{o.scrollX.set(t.current),o.scrollXProgress.set(t.progress),o.scrollY.set(n.current),o.scrollYProgress.set(n.progress)},{...r,container:(null==e?void 0:e.current)||void 0,target:(null==t?void 0:t.current)||void 0})),[e,t,JSON.stringify(r.offset)]),o}
1],10471),e.s(["useGetAffiliateCodeFromApi",0,()=>{let[e,t]=(0,i.useState)();return(0,i.useEffect)(()=>{fetch("/api/get-affiliate-code").then(e=>e.json()).then(e=>{t(e.affiliateCode)})},[]),{affiliateCode:e}}],91893),e.s(["allJobs",0,[{title:"Mid/Senior Software Engineer - Cloud/SRE",summary:"Build the Upstash cloud infrastructure.",experience:"3+ years",how:"Full time",location:"Work from anywhere",skills:["kubernetes","docker","linux","aws"],frozen:!1,draft:!1,content:"At Upstash, we are building the next generation data platform for the serverless\nand edge era.\nOur cloud platform lets users deploy data services in seconds and immediately\nstart using them.\nAt the infrastructure level, we are using the latest technologies like\nKubernetes, Golang, Terraform and popular cloud providers (AWS,GCE).\nWe are looking for new team members to explore and develop the next generation\ndatabase together with us.\n\n## What you'll do at Upstash:\n\n- Help us to run the production environment in Kubernetes.\n- Improve deployment lifecycle of the databases and services.\n- Implement automation/deployment scripts as everything as code.\n- Improve our monitoring systems to detect problems earlier than our users.\n- Incident management by being on-call which is rotated among team members.\n\n## We'd love to hear from you if you have:\n\n- Passion to learn and try new things.\n- Deep care about the quality of the software you build.\n- Strong interest in distributed systems.\n- Experience with Docker and/or Kubernetes in production systems.\n- Experience with one of the well-known automation tools. (e.g. Terraform,\n  Ansible)\n- Cloud platform/services experience, especially AWS or GCP.\n- Intermediate level Golang and/or Python experience.\n- Familiarity with Linux and its network layer components.\n\n## Nice to have\n\n- Contributions to open source projects\n- AWS/Kubernetes certificates\n- Experience with monitoring/logging solutions in Kubernetes\n- Deep level understanding of Linux\n\n## What we offer\n\n- Competitive salary\n- Stock options\n- Work from anywhere in the world\n- Budget for events and tech talks\n\n## How to apply\n\nEmail us at [[email protected]](mailto:[email protected]) and tell us why you're\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you’ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.",_meta:{filePath:"software-engineer-cloud.mdx",fileName:"software-engineer-cloud.mdx",directory:".",extension:"mdx",path:"software-engineer-cloud"},mdx:'var Component=(()=>{var u=Object.create;var o=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var f=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),w=(t,e)=>{for(var i in e)o(t,i,{get:e[i],enumerable:!0})},a=(t,e,i,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!g.call(t,r)&&r!==i&&o(t,r,{get:()=>e[r],enumerable:!(l=m(e,r))||l.enumerable});return t};var b=(t,e,i)=>(i=t!=null?u(y(t)):{},a(e||!t||!t.__esModule?o(i,"default",{value:t,enumerable:!0}):i,t)),v=t=>a(o({},"__esModule",{value:!0}),t);var h=f((j,s)=>{s.exports=_jsx_runtime});var x={};w(x,{default:()=>c});var n=b(h());function d(t){let e={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:`At Upstash, we are building the next generation data platform for the serverless\nand edge era.\nOur cloud platform lets users deploy data services in seconds and immediately\nstart using them.\nAt the infrastructure level, we are using the latest technologies like\nKubernetes, Golang, Terraform and popular cloud providers (AWS,GCE).\nWe are looking for new team members to explore and develop the next generation\ndatabase together with us.`}),`\n`,(0,n.jsx)(e.h2,{children:"What you\'ll do at Upstash:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Help us to run the production environment in Kubernetes."}),`\n`,(0,n.jsx)(e.li,{children:"Improve deployment lifecycle of the databases and services."}),`\n`,(0,n.jsx)(e.li,{children:"Implement automation/deployment scripts as everything as code."}),`\n`,(0,n.jsx)(e.li,{children:"Improve our monitoring systems to detect problems earlier than our users."}),`\n`,(0,n.jsx)(e.li,{children:"Incident management by being on-call which is rotated among team members."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"We\'d love to hear from you if you have:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Passion to learn and try new things."}),`\n`,(0,n.jsx)(e.li,{children:"Deep care about the quality of the softw
1are you build."}),`\n`,(0,n.jsx)(e.li,{children:"Strong interest in distributed systems."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with Docker and/or Kubernetes in production systems."}),`\n`,(0,n.jsx)(e.li,{children:`Experience with one of the well-known automation tools. (e.g. Terraform,\nAnsible)`}),`\n`,(0,n.jsx)(e.li,{children:"Cloud platform/services experience, especially AWS or GCP."}),`\n`,(0,n.jsx)(e.li,{children:"Intermediate level Golang and/or Python experience."}),`\n`,(0,n.jsx)(e.li,{children:"Familiarity with Linux and its network layer components."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"Nice to have"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Contributions to open source projects"}),`\n`,(0,n.jsx)(e.li,{children:"AWS/Kubernetes certificates"}),`\n`,(0,n.jsx)(e.li,{children:"Experience with monitoring/logging solutions in Kubernetes"}),`\n`,(0,n.jsx)(e.li,{children:"Deep level understanding of Linux"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"What we offer"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Competitive salary"}),`\n`,(0,n.jsx)(e.li,{children:"Stock options"}),`\n`,(0,n.jsx)(e.li,{children:"Work from anywhere in the world"}),`\n`,(0,n.jsx)(e.li,{children:"Budget for events and tech talks"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"How to apply"}),`\n`,(0,n.jsxs)(e.p,{children:["Email us at ",(0,n.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),` and tell us why you\'re\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you\\u2019ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.`]})]})}function c(t={}){let{wrapper:e}=t.components||{};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}return v(x);})();\n;return Component;',slug:"software-engineer-cloud"},{title:"Software Engineer - Core",summary:"Build the Upstash core data platform.",experience:"4+ years",how:"Full time",location:"Work from anywhere",skills:["golang","java","concurrency","databases","distributed-systems"],frozen:!0,draft:!1,content:"At Upstash, we are building the next generation data platform for the serverless\nand edge era.\nOur cloud platform lets users deploy data services in seconds and immediately\nstart using them.\nFor the best quality and flexibility we design and build our data platform\nourselves.\nWe are looking for new team members to explore and develop the next generation\ndatabase together with us.\n\n## What you'll do at Upstash:\n\n- Design, develop and maintain the data platform components (Redis, Kafka,\n  Mongo) for Upstash.\n- Work with the SRE team on deployment of the data services.\n- Ensure the quality and performance of the software you build by writing tests.\n- Give technical support when required.\n\n## We'd love to hear from you if you have:\n\n- Passion to learn and try new things.\n- Deep care about the quality of the software you build.\n- Good Golang and/or Java knowledge.\n- Experience with multi thread programming.\n- Experience with network programming.\n- Experience with designing and building distributed systems.\n- Experience with designing databases.\n\n## Nice to have\n\n- Contributions to open source projects.\n- AWS/Kubernetes experience.\n- Experience with Network programming.\n- Experience with Kafka, Redis, Mongo and ElasticSearch.\n\n## What we offer\n\n- Competitive salary\n- Stock options\n- Work from anywhere in the world\n- Budget for events and tech talks\n\n## How to apply\n\nEmail us at [[email protected]](mailto:[email protected]) and tell us why you're\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you’ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.",_meta:{filePath:"software-engineer-core.mdx",fileName:"software-engineer-core.mdx",directory:".",extension:"mdx",path:"software-engineer-core"},mdx:'var Component=(()=>{var u=Object.create;var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var w=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),y=(i,e)=>{for(var t in e)o(i,t,{get:e[t],enumerable:!0})},l=(i,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of m(e))!f.call(i,r)&&r!==t&&o(i,r,{get:()=>e[r],enumerable:!(a=p(e,r))||a.enumerable});return i};var x=(i,e,t)=>(t=i!=null?u(g(i)):{},l(e||!i||!i.__esModule?o(t,"default",{value:i,enumerable:!0}):t,i)),b=i=>l(o({},"__esModule",{value:!0}),i);var h=w((j,d)=>{d.exports=_jsx_runtime});var v={};y(v,{default:()=>c});var n=x(h());function s(i){let e={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:`At Upstash, we are building the next generation data platform for the serverless\nand edge era.\nOur cloud platform lets users deploy data services in seconds and immediately\nstart using them.\nFor the best quality and flexibility we design and build our data platform\nourselves.\nWe are looking for new team members to explore and develop the next generation\ndatabase together with us.`}),`\n`,(0,n.jsx)(e.h2,{children:"What you\'ll do at Upstash:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:`Design, develop and maintain the data platform components (Redis, Kafka,\nMongo) for Upstash.`}),`\n`,(0,n.jsx)(e.li,{children:"Work with the SRE team on deployment of the data services."}),`\n`,(0,n.jsx)(e.li,{children:"Ensure the quality and performance of the softw
1are you build by writing tests."}),`\n`,(0,n.jsx)(e.li,{children:"Give technical support when required."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"We\'d love to hear from you if you have:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Passion to learn and try new things."}),`\n`,(0,n.jsx)(e.li,{children:"Deep care about the quality of the software you build."}),`\n`,(0,n.jsx)(e.li,{children:"Good Golang and/or Java knowledge."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with multi thread programming."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with network programming."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with designing and building distributed systems."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with designing databases."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"Nice to have"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Contributions to open source projects."}),`\n`,(0,n.jsx)(e.li,{children:"AWS/Kubernetes experience."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with Network programming."}),`\n`,(0,n.jsx)(e.li,{children:"Experience with Kafka, Redis, Mongo and ElasticSearch."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"What we offer"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Competitive salary"}),`\n`,(0,n.jsx)(e.li,{children:"Stock options"}),`\n`,(0,n.jsx)(e.li,{children:"Work from anywhere in the world"}),`\n`,(0,n.jsx)(e.li,{children:"Budget for events and tech talks"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"How to apply"}),`\n`,(0,n.jsxs)(e.p,{children:["Email us at ",(0,n.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),` and tell us why you\'re\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you\\u2019ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.`]})]})}function c(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(s,{...i})}):s(i)}return b(v);})();\n;return Component;',slug:"software-engineer-core"},{title:"Software Engineer - Frontend",summary:"Build our open-source projects and talk to people",experience:"2+ years",how:"Full time",location:"Work from anywhere",skills:["typescript","nextjs","redis","react","vue","svelte"],frozen:!0,draft:!1,content:"At Upstash, we are building the next generation data platform for the serverless\nand edge era. Our cloud platform lets users deploy data services in seconds and immediately\nstart using them.\n\n## About the Role\n\nWe're looking for an Frontend Engineer. Your responsibilities will revolve around the care and progression of tools and projects which helps developers to use Upstash. These include Upstash console, documentation site, web site and SDKs.\n\n## Your Day-to-Day:\n\n- Maintain Upstash console which includes implementing new features, resolving issues, and improving the overall quality of the codebase.\n- Maintain our web and documentation sites, which includes resolving issues, implementing new features, and improving the overall quality of the codebase.\n- Come up with new ideas for open-source projects that will help developers build better applications and implement them.\n- Build new examples and demos to showcase the capabilities of Upstash together with other technologies.\n- Collaborate with our internal product and engineering teams, relaying feedback and insights gathered from the developer community.\n\n## We'd love to hear from you if you have:\n\n- Experience with technologies, like Next.js, typescript, and tailwindcss.\n- Deep care about the quality of the software you build.\n- Cloud platform/services experience, especially Vercel, AWS, Cloudflare and Netlify\n\n## Nice to have\n\n- Experienced painpoints in serverless applications and have ideas to improve it\n- Contributions to other open source projects\n- Vue.js, Nuxt, Svelte or Remix experience\n- An eye for design and UX\n- Python or Rust experience\n\n## What we offer\n\n- Competitive salary\n- Stock options\n- Work from anywhere in the world\n- Budget for events and tech talks\n\n## How to apply\n\nEmail us at [[email protected]](mailto:[email protected]) and tell us why you're\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you’ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.",_meta:{filePath:"software-engineer-frontend.mdx",fileName:"software-engineer-frontend.mdx",directory:".",extension:"mdx",path:"software-engineer-frontend"},mdx:'var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var y=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),g=(i,e)=>{for(var t in e)r(i,t,{get:e[t],enumerable:!0})},a=(i,e,t,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of m(e))!w.call(i,o)&&o!==t&&r(i,o,{get:()=>e[o],enumerable:!(l=p(e,o))||l.enumerable});return i};var v=(i,e,t)=>(t=i!=null?u(f(i)):{},a(e||!i||!i.__esModule?r(t,"default",{value:i,enumerable:!0}):t,i)),b=i=>a(r({},"__esModule",{value:!0}),i);var h=y((k,s)=>{s.exports=_jsx_runtime});var x={};g(x,{default:()=>c});var n=v(h());function d(i){let e={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:`At Upstash, we are building the next generation data platform for the serverless\nand edge era. Our cloud platform lets users deploy data services in seconds and immediately\nstart using them.`}),`\n`,(0,n.jsx)(e.h2,{children:"About the Role"}),`\n`,(0,n.jsx)(e.p,{children:"We\'re looking for an Frontend Engineer. Your responsibilities will revolve around the care and progression of tools and projects which helps developers to use Upstash. These include Upstash console, documentation site, web site and SDKs."}),`\n`,(0,n.jsx)(e.h2,{children:"Your Day-to-Day:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Maintain Upstash console which includes implementing new features, resolving issues, and improving the overall quality of the codebase."}),`\n`,(0,n.jsx)(e.li,{children:"Maintain our web and documentation sites, which includes resolving issues, implementing new features, and improving the overall quality of the codebase."}
1),`\n`,(0,n.jsx)(e.li,{children:"Come up with new ideas for open-source projects that will help developers build better applications and implement them."}),`\n`,(0,n.jsx)(e.li,{children:"Build new examples and demos to showcase the capabilities of Upstash together with other technologies."}),`\n`,(0,n.jsx)(e.li,{children:"Collaborate with our internal product and engineering teams, relaying feedback and insights gathered from the developer community."}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"We\'d love to hear from you if you have:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Experience with technologies, like Next.js, typescript, and tailwindcss."}),`\n`,(0,n.jsx)(e.li,{children:"Deep care about the quality of the software you build."}),`\n`,(0,n.jsx)(e.li,{children:"Cloud platform/services experience, especially Vercel, AWS, Cloudflare and Netlify"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"Nice to have"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Experienced painpoints in serverless applications and have ideas to improve it"}),`\n`,(0,n.jsx)(e.li,{children:"Contributions to other open source projects"}),`\n`,(0,n.jsx)(e.li,{children:"Vue.js, Nuxt, Svelte or Remix experience"}),`\n`,(0,n.jsx)(e.li,{children:"An eye for design and UX"}),`\n`,(0,n.jsx)(e.li,{children:"Python or Rust experience"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"What we offer"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Competitive salary"}),`\n`,(0,n.jsx)(e.li,{children:"Stock options"}),`\n`,(0,n.jsx)(e.li,{children:"Work from anywhere in the world"}),`\n`,(0,n.jsx)(e.li,{children:"Budget for events and tech talks"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"How to apply"}),`\n`,(0,n.jsxs)(e.p,{children:["Email us at ",(0,n.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),` and tell us why you\'re\nexcited to join Upstash! To give the team a better understanding of who you are\nas a whole person, let us know what you are passionate about, and share an\nexample of a project, job, or skill that you\\u2019ve picked up on your own. You can\nattach your resume or give a link to your Linkedin profile.`]})]})}function c(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(d,{...i})}):d(i)}return b(x);})();\n;return Component;',slug:"software-engineer-frontend"},{title:"Software Engineer - TypeScript",summary:"Build our TypeScript SDKs and developer tools",experience:"2+ years",how:"Full time",location:"Work from anywhere",skills:["typescript","nodejs","redis","npm","openapi"],frozen:!0,draft:!1,content:"At Upstash, we are building the next-generation serverless data platform. Our cloud platform lets users deploy data services in seconds and immediately use them.\n\n## About the Role\n\nWe're looking for a TypeScript Engineer. Your responsibilities will revolve around building and maintaining our TypeScript SDKs and developer tools. You'll work on creating exceptional DX (developer experience) through well-designed APIs and documentation.\n\n## Your Day-to-Day:\n\n- Design and implement TypeScript SDKs for Upstash services\n- Maintain and improve our existing TypeScript packages\n- Write developer-friendly documentation and examples\n- Talk to our internal product and engineering teams to understand user needs\n- Ensure type-safety and best practices across our TypeScript codebase\n\n## We'd love to hear from you if you have:\n\n- Strong TypeScript experience and deep understanding of its type system\n- Experience with Node.js and npm package development\n- Deep care about the quality of the software you build\n- Experience with API design and documentation\n- Familiarity with OpenAPI/Swagger specifications\n\n## Nice to have\n\n- Experience with Redis or other databases\n- Contributions to open-source projects\n- Experience with testing frameworks (Jest, Vitest)\n- Experience with CI/CD pipelines\n- Knowledge of other programming languages (Python, Go)\n\n## What we offer\n\n- Competitive salary\n- Stock options\n- Work from anywhere in the world\n- Budget for events and tech talks\n\n## How to apply\n\nEmail us at [[email protected]](mailto:[email protected]) and tell us why you're\nexcited to join Upstash! To give the team a better understanding of who you are, let us know what you are passionate about, and share an example of a project, job, or skill that you've picked up on your own. You can attach your resume or give a link to your Linkedin profile.",_meta:{filePath:"software-engineer-typescript.mdx",fileName:"software-engineer-typescript.mdx",directory:".",extension:"mdx",path:"software-engineer-typescript"},mdx:'var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var f=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),w=(i,e)=>{for(var r in e)o(i,r,{get:e[r],enumerable:!0})},a=(i,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of m(e))!g.call(i,t)&&t!==r&&o(i,t,{get:()=>e[t],enumerable:!(l=u(e,t))||l.enumerable});return i};var x=(i,e,r)=>(r=i!=null?p(y(i)):{},a(e||!i||!i.__esModule?o(r,"default",{value:i,enumerable:!0}):r,i)),v=i=>a(o({},"__esModule",{value:!0}),i);var d=f((j,s)=>{s.exports=_jsx_runtime});var b={};w(b,{default:()=>h});var n=x(d());function c(i){let e={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"At Upstash, we are building the next-generation serverless data platform. Our cloud platform lets users deploy data services in seconds and immediately use them."}),`\n`,(0,n.jsx)(e.h2,{children:"About the Role"}),`\n`,(0,n.jsx)(e.p,{children:"We\'re looking for a TypeScript Engineer. Your responsibilities will revolve around building and maintaining our TypeScript SDKs and developer tools. You\'ll work on creating exceptional DX (developer experience) through well-designed APIs and documentation."}),`\n`,(0,n.jsx)(e.h2,{children:"Your Day-to-Day:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Design and implement Type
1Script SDKs for Upstash services"}),`\n`,(0,n.jsx)(e.li,{children:"Maintain and improve our existing TypeScript packages"}),`\n`,(0,n.jsx)(e.li,{children:"Write developer-friendly documentation and examples"}),`\n`,(0,n.jsx)(e.li,{children:"Talk to our internal product and engineering teams to understand user needs"}),`\n`,(0,n.jsx)(e.li,{children:"Ensure type-safety and best practices across our TypeScript codebase"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"We\'d love to hear from you if you have:"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Strong TypeScript experience and deep understanding of its type system"}),`\n`,(0,n.jsx)(e.li,{children:"Experience with Node.js and npm package development"}),`\n`,(0,n.jsx)(e.li,{children:"Deep care about the quality of the software you build"}),`\n`,(0,n.jsx)(e.li,{children:"Experience with API design and documentation"}),`\n`,(0,n.jsx)(e.li,{children:"Familiarity with OpenAPI/Swagger specifications"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"Nice to have"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Experience with Redis or other databases"}),`\n`,(0,n.jsx)(e.li,{children:"Contributions to open-source projects"}),`\n`,(0,n.jsx)(e.li,{children:"Experience with testing frameworks (Jest, Vitest)"}),`\n`,(0,n.jsx)(e.li,{children:"Experience with CI/CD pipelines"}),`\n`,(0,n.jsx)(e.li,{children:"Knowledge of other programming languages (Python, Go)"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"What we offer"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:"Competitive salary"}),`\n`,(0,n.jsx)(e.li,{children:"Stock options"}),`\n`,(0,n.jsx)(e.li,{children:"Work from anywhere in the world"}),`\n`,(0,n.jsx)(e.li,{children:"Budget for events and tech talks"}),`\n`]}),`\n`,(0,n.jsx)(e.h2,{children:"How to apply"}),`\n`,(0,n.jsxs)(e.p,{children:["Email us at ",(0,n.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),` and tell us why you\'re\nexcited to join Upstash! To give the team a better understanding of who you are, let us know what you are passionate about, and share an example of a project, job, or skill that you\'ve picked up on your own. You can attach your resume or give a link to your Linkedin profile.`]})]})}function h(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}return v(b);})();\n;return Component;',slug:"software-engineer-typescript"}]],37109)},55316,e=>{"use strict";var t=e.i(82624),n=e.i(93435),r=e.i(29158),o=e.i(88760),i=e.i(91893),a=e.i(72395),s=e.i(97578),l=e.i(10471),d=e.i(47475),c=e.i(20854),u=e.i(83006),f=e.i(70484),p=e.i(65278),h=e.i(57724),m=e.i(78896),g=e.i(94419),v=e.i(69368),x=e.i(69156),y=e.i(90601),w=e.i(87477),b=e.i(96889),j=e.i(42816);function E(e){let n=e+"CollectionProvider",[r,o]=(0,h.createContextScope)(n),[i,a]=r(n,{collectionRef:{current:null},itemMap:new Map}),s=e=>{let{scope:n,children:r}=e,o=u.default.useRef(null),a=u.default.useRef(new Map).current;return(0,t.jsx)(i,{scope:n,itemMap:a,collectionRef:o,children:r})};s.displayName=n;let l=e+"CollectionSlot",d=u.default.forwardRef((e,n)=>{let{scope:r,children:o}=e,i=a(l,r),s=(0,x.useComposedRefs)(n,i.collectionRef);return(0,t.jsx)(j.Slot,{ref:s,children:o})});d.displayName=l;let c=e+"CollectionItemSlot",f="data-radix-collection-item",p=u.default.forwardRef((e,n)=>{let{scope:r,children:o,...i}=e,s=u.default.useRef(null),l=(0,x.useComposedRefs)(n,s),d=a(c,r);return u.default.useEffect(()=>(d.itemMap.set(s,{ref:s,...i}),()=>void d.itemMap.delete(s))),(0,t.jsx)(j.Slot,{...{[f]:""},ref:l,children:o})});return p.displayName=c,[{Provider:s,Slot:d,ItemSlot:p},function(t){let n=a(e+"CollectionConsumer",t);return u.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])},o]}var k=e.i(50717),C=e.i(10468),S=e.i(54647),P=e.i(74422),R="NavigationMenu",[N,O,I]=E(R),[A,_,T]=E(R),[L,M]=(0,h.createContextScope)(R,[I,T]),[W,D]=L(R),[F,H]=L(R),U=u.forwardRef((e,n
1)=>{let{__scopeNavigationMenu:r,value:o,onValueChange:i,defaultValue:a,delayDuration:s=200,skipDelayDuration:l=300,orientation:d="horizontal",dir:c,...f}=e,[p,h]=u.useState(null),m=(0,x.useComposedRefs)(n,e=>h(e)),w=(0,y.useDirection)(c),b=u.useRef(0),j=u.useRef(0),E=u.useRef(0),[k,C]=u.useState(!0),[S="",P]=(0,v.useControllableState)({prop:o,onChange:e=>{let t=l>0;""!==e?(window.clearTimeout(E.current),t&&C(!1)):(window.clearTimeout(E.current),E.current=window.setTimeout(()=>C(!0),l)),i?.(e)},defaultProp:a}),R=u.useCallback(()=>{window.clearTimeout(j.current),j.current=window.setTimeout(()=>P(""),150)},[P]),N=u.useCallback(e=>{window.clearTimeout(j.current),P(e)},[P]),O=u.useCallback(e=>{S===e?window.clearTimeout(j.current):b.current=window.setTimeout(()=>{window.clearTimeout(j.current),P(e)},s)},[S,P,s]);return u.useEffect(()=>()=>{window.clearTimeout(b.current),window.clearTimeout(j.current),window.clearTimeout(E.current)},[]),(0,t.jsx)(z,{scope:r,isRootMenu:!0,value:S,dir:w,orientation:d,rootNavigationMenu:p,onTriggerEnter:e=>{window.clearTimeout(b.current),k?O(e):N(e)},onTriggerLeave:()=>{window.clearTimeout(b.current),R()},onContentEnter:()=>window.clearTimeout(j.current),onContentLeave:R,onItemSelect:e=>{P(t=>t===e?"":e)},onItemDismiss:()=>P(""),children:(0,t.jsx)(g.Primitive.nav,{"aria-label":"Main","data-orientation":d,dir:w,...f,ref:m})})});U.displayName=R;var B="NavigationMenuSub";u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,value:o,onValueChange:i,defaultValue:a,orientation:s="horizontal",...l}=e,d=D(B,r),[c="",u]=(0,v.useControllableState)({prop:o,onChange:i,defaultProp:a});return(0,t.jsx)(z,{scope:r,isRootMenu:!1,value:c,dir:d.dir,orientation:s,rootNavigationMenu:d.rootNavigationMenu,onTriggerEnter:e=>u(e),onItemSelect:e=>u(e),onItemDismiss:()=>u(""),children:(0,t.jsx)(g.Primitive.div,{"data-orientation":s,...l,ref:n})})}).displayName=B;var z=e=>{let n,{scope:r,isRootMenu:o,rootNavigationMenu:i,dir:a,orientation:s,children:l,value:d,onItemSelect:c,onItemDismiss:f,onTriggerEnter:p,onTriggerLeave:h,onContentEnter:m,onContentLeave:g}=e,[v,x]=u.useState(null),[y,w]=u.useState(new Map),[j,E]=u.useState(null);return(0,t.jsx)(W,{scope:r,isRootMenu:o,rootNavigationMenu:i,value:d,previousValue:(n=u.useRef({value:d,previous:d}),u.useMemo(()=>(n.current.value!==d&&(n.current.previous=n.current.value,n.current.value=d),n.current.previous),[d])),baseId:(0,b.useId)(),dir:a,orientation:s,viewport:v,onViewportChange:x,indicatorTrack:j,onIndicatorTrackChange:E,onTriggerEnter:(0,S.useCallbackRef)(p),onTriggerLeave:(0,S.useCallbackRef)(h),onContentEnter:(0,S.useCallbackRef)(m),onContentLeave:(0,S.useCallbackRef)(g),onItemSelect:(0,S.useCallbackRef)(c),onItemDismiss:(0,S.useCallbackRef)(f),onViewportContentChange:u.useCallback((e,t)=>{w(n=>(n.set(e,t),new Map(n)))},[]),onViewportContentRemove:u.useCallback(e=>{w(t=>t.has(e)?(t.delete(e),new Map(t)):t)},[]),children:(0,t.jsx)(N.Provider,{scope:r,children:(0,t.jsx)(F,{scope:r,items:y,children:l})})})},K="NavigationMenuList",q=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,...o}=e,i=D(K,r),a=(0,t.jsx)(g.Primitive.ul,{"data-orientation":i.orientation,...o,ref:n});return(0,t.jsx)(g.Primitive.div,{style:{position:"relative"},ref:i.onIndicatorTrackChange,children:(0,t.jsx)(N.Slot,{scope:r,children:i.isRootMenu?(0,t.jsx)(eu,{asChild:!0,children:a}):a})})});q.displayName=K;var V="NavigationMenuItem",[$,G]=L(V),Y=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,value:o,...i}=e,a=(0,b.useId)(),s=u.useRef(null),l=u.useRef(null),d=u.useRef(null),c=u.useRef(()=>{}),f=u.useRef(!1),p=u.useCallback((e="start")=>{if(s.current){c.current();let t=eh(s.current);t.length&&em("start"===e?t:t.reverse())}},[]),h=u.useCallback(()=>{if(s.current){var e;let t=eh(s.current);t.length&&((e=t).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")}),c.current=()=>{e.forEach(e=>{let t=e.dataset.tabindex;e.setAttribute("tabindex",t)})})}},[]);return(0,t.jsx)($,{scope:r,value:o||a||"LEGACY_REACT_AUTO_VALUE",triggerRef:l,contentRef:s,focusProxyRef:d,wasEscapeCloseRef:f,onEntryKeyDown:p,onFocusProxyEnter:p,onRootContentClose:h,onContentFocusOutside:h,children:(0,t.jsx)(g.Primitive.li,{...i,ref:n})})});Y.displayName=V;
1var J="NavigationMenuTrigger",X=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,disabled:o,...i}=e,a=D(J,e.__scopeNavigationMenu),s=G(J,e.__scopeNavigationMenu),l=u.useRef(null),d=(0,x.useComposedRefs)(l,s.triggerRef,n),c=ex(a.baseId,s.value),f=ey(a.baseId,s.value),p=u.useRef(!1),h=u.useRef(!1),v=s.value===a.value;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.ItemSlot,{scope:r,value:s.value,children:(0,t.jsx)(ep,{asChild:!0,children:(0,t.jsx)(g.Primitive.button,{id:c,disabled:o,"data-disabled":o?"":void 0,"data-state":ev(v),"aria-expanded":v,"aria-controls":f,...i,ref:d,onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,()=>{h.current=!1,s.wasEscapeCloseRef.current=!1}),onPointerMove:(0,m.composeEventHandlers)(e.onPointerMove,ew(()=>{o||h.current||s.wasEscapeCloseRef.current||p.current||(a.onTriggerEnter(s.value),p.current=!0)})),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,ew(()=>{o||(a.onTriggerLeave(),p.current=!1)})),onClick:(0,m.composeEventHandlers)(e.onClick,()=>{a.onItemSelect(s.value),h.current=v}),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{let t={horizontal:"ArrowDown",vertical:"rtl"===a.dir?"ArrowLeft":"ArrowRight"}[a.orientation];v&&e.key===t&&(s.onEntryKeyDown(),e.preventDefault())})})})}),v&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P.Root,{"aria-hidden":!0,tabIndex:0,ref:s.focusProxyRef,onFocus:e=>{let t=s.contentRef.current,n=e.relatedTarget,r=n===l.current,o=t?.contains(n);(r||!o)&&s.onFocusProxyEnter(r?"start":"end")}}),a.viewport&&(0,t.jsx)("span",{"aria-owns":f})]})]})});X.displayName=J;var Z="navigationMenu.linkSelect",Q=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,active:o,onSelect:i,...a}=e;return(0,t.jsx)(ep,{asChild:!0,children:(0,t.jsx)(g.Primitive.a,{"data-active":o?"":void 0,"aria-current":o?"page":void 0,...a,ref:n,onClick:(0,m.composeEventHandlers)(e.onClick,e=>{let t=e.target,n=new CustomEvent(Z,{bubbles:!0,cancelable:!0});if(t.addEventListener(Z,e=>i?.(e),{once:!0}),(0,g.dispatchDiscreteCustomEvent)(t,n),!n.defaultPrevented&&!e.metaKey){let e=new CustomEvent(ea,{bubbles:!0,cancelable:!0});(0,g.dispatchDiscreteCustomEvent)(t,e)}},{checkForDefaultPrevented:!1})})})});Q.displayName="NavigationMenuLink";var ee="NavigationMenuIndicator",et=u.forwardRef((e,n)=>{let{forceMount:r,...o}=e,i=D(ee,e.__scopeNavigationMenu),a=!!i.value;return i.indicatorTrack?p.default.createPortal((0,t.jsx)(w.Presence,{present:r||a,children:(0,t.jsx)(en,{...o,ref:n})}),i.indicatorTrack):null});et.displayName=ee;var en=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,...o}=e,i=D(ee,r),a=O(r),[s,l]=u.useState(null),[d,c]=u.useState(null),f="horizontal"===i.orientation,p=!!i.value;u.useEffect(()=>{let e=a(),t=e.find(e=>e.value===i.value)?.ref.current;t&&l(t)},[a,i.value]);let h=()=>{s&&c({size:f?s.offsetWidth:s.offsetHeight,offset:f?s.offsetLeft:s.offsetTop})};return eg(s,h),eg(i.indicatorTrack,h),d?(0,t.jsx)(g.Primitive.div,{"aria-hidden":!0,"data-state":p?"visible":"hidden","data-orientation":i.orientation,...o,ref:n,style:{position:"absolute",...f?{left:0,width:d.size+"px",transform:`translateX(${d.offset}px)`}:{top:0,height:d.size+"px",transform:`translateY(${d.offset}px)`},...o.style}}):null}),er="NavigationMenuContent",eo=u.forwardRef((e,n)=>{let{forceMount:r,...o}=e,i=D(er,e.__scopeNavigationMenu),a=G(er,e.__scopeNavigationMenu),s=(0,x.useComposedRefs)(a.contentRef,n),l=a.value===i.value,d={value:a.value,triggerRef:a.triggerRef,focusProxyRef:a.focusProxyRef,wasEscapeCloseRef:a.wasEscapeCloseRef,onContentFocusOutside:a.onContentFocusOutside,onRootContentClose:a.onRootContentClose,...o};return i.viewport?(0,t.jsx)(ei,{forceMount:r,...d,ref:s}):(0,t.jsx)(w.Presence,{present:r||l,children:(0,t.jsx)(es,{"data-state":ev(l),...d,ref:s,onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,i.onContentEnter),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,ew(i.onContentLeave)),style:{pointerEvents:!l&&i.isRootMenu?"none":void 0,...d.style}})})});eo.displayName=er;var ei=u.forwardRef((e,t)=>{let{onViewportContentChange:n,onViewportContentRemove:r}=D(er,e.__scopeNavigationMenu);return(0,C.useLayoutEffect)(()=>{n(e.value,{ref:t,...e})},[e,t,n]),(0,C.useLayoutEffect)(()=>()=>r(e.value),[e.value,r]),null}
1),ea="navigationMenu.rootContentDismiss",es=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,value:o,triggerRef:i,focusProxyRef:a,wasEscapeCloseRef:s,onRootContentClose:l,onContentFocusOutside:d,...c}=e,f=D(er,r),p=u.useRef(null),h=(0,x.useComposedRefs)(p,n),g=ex(f.baseId,o),v=ey(f.baseId,o),y=O(r),w=u.useRef(null),{onItemDismiss:b}=f;u.useEffect(()=>{let e=p.current;if(f.isRootMenu&&e){let t=()=>{b(),l(),e.contains(document.activeElement)&&i.current?.focus()};return e.addEventListener(ea,t),()=>e.removeEventListener(ea,t)}},[f.isRootMenu,e.value,i,b,l]);let j=u.useMemo(()=>{let e=y().map(e=>e.value);"rtl"===f.dir&&e.reverse();let t=e.indexOf(f.value),n=e.indexOf(f.previousValue),r=o===f.value,i=n===e.indexOf(o);if(!r&&!i)return w.current;let a=(()=>{if(t!==n){if(r&&-1!==n)return t>n?"from-end":"from-start";if(i&&-1!==t)return t>n?"to-start":"to-end"}return null})();return w.current=a,a},[f.previousValue,f.value,f.dir,y,o]);return(0,t.jsx)(eu,{asChild:!0,children:(0,t.jsx)(k.DismissableLayer,{id:v,"aria-labelledby":g,"data-motion":j,"data-orientation":f.orientation,...c,ref:h,disableOutsidePointerEvents:!1,onDismiss:()=>{let e=new Event(ea,{bubbles:!0,cancelable:!0});p.current?.dispatchEvent(e)},onFocusOutside:(0,m.composeEventHandlers)(e.onFocusOutside,e=>{d();let t=e.target;f.rootNavigationMenu?.contains(t)&&e.preventDefault()}),onPointerDownOutside:(0,m.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.target,n=y().some(e=>e.ref.current?.contains(t)),r=f.isRootMenu&&f.viewport?.contains(t);(n||r||!f.isRootMenu)&&e.preventDefault()}),onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{let t=e.altKey||e.ctrlKey||e.metaKey;if("Tab"===e.key&&!t){let t=eh(e.currentTarget),n=document.activeElement,r=t.findIndex(e=>e===n);em(e.shiftKey?t.slice(0,r).reverse():t.slice(r+1,t.length))?e.preventDefault():a.current?.focus()}}),onEscapeKeyDown:(0,m.composeEventHandlers)(e.onEscapeKeyDown,e=>{s.current=!0})})})}),el="NavigationMenuViewport",ed=u.forwardRef((e,n)=>{let{forceMount:r,...o}=e,i=!!D(el,e.__scopeNavigationMenu).value;return(0,t.jsx)(w.Presence,{present:r||i,children:(0,t.jsx)(ec,{...o,ref:n})})});ed.displayName=el;var ec=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,children:o,...i}=e,a=D(el,r),s=(0,x.useComposedRefs)(n,a.onViewportChange),l=H(er,e.__scopeNavigationMenu),[d,c]=u.useState(null),[f,p]=u.useState(null),h=d?d?.width+"px":void 0,v=d?d?.height+"px":void 0,y=!!a.value,b=y?a.value:a.previousValue;return eg(f,()=>{f&&c({width:f.offsetWidth,height:f.offsetHeight})}),(0,t.jsx)(g.Primitive.div,{"data-state":ev(y),"data-orientation":a.orientation,...i,ref:s,style:{pointerEvents:!y&&a.isRootMenu?"none":void 0,"--radix-navigation-menu-viewport-width":h,"--radix-navigation-menu-viewport-height":v,...i.style},onPointerEnter:(0,m.composeEventHandlers)(e.onPointerEnter,a.onContentEnter),onPointerLeave:(0,m.composeEventHandlers)(e.onPointerLeave,ew(a.onContentLeave)),children:Array.from(l.items).map(([e,{ref:n,forceMount:r,...o}])=>{let i=b===e;return(0,t.jsx)(w.Presence,{present:r||i,children:(0,t.jsx)(es,{...o,ref:(0,x.composeRefs)(n,e=>{i&&e&&p(e)})})},e)})})}),eu=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,...o}=e,i=D("FocusGroup",r);return(0,t.jsx)(A.Provider,{scope:r,children:(0,t.jsx)(A.Slot,{scope:r,children:(0,t.jsx)(g.Primitive.div,{dir:i.dir,...o,ref:n})})})}),ef=["ArrowRight","ArrowLeft","ArrowUp","ArrowDown"],ep=u.forwardRef((e,n)=>{let{__scopeNavigationMenu:r,...o}=e,i=_(r),a=D("FocusGroupItem",r);return(0,t.jsx)(A.ItemSlot,{scope:r,children:(0,t.jsx)(g.Primitive.button,{...o,ref:n,onKeyDown:(0,m.composeEventHandlers)(e.onKeyDown,e=>{if(["Home","End",...ef].includes(e.key)){let t=i().map(e=>e.ref.current);if(["rtl"===a.dir?"ArrowRight":"ArrowLeft","ArrowUp","End"].includes(e.key)&&t.reverse(),ef.includes(e.key)){let n=t.indexOf(e.currentTarget);t=t.slice(n+1)}setTimeout(()=>em(t)),e.preventDefault()}})})})});function eh(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function em(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}function eg(e,t){let n=(0,S.useCallbackRef)(t);(0,C.useLayoutEffect)(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}function ev(e){return e?"open":"closed"}function ex(e,t){return`${e}-trigger-${t}`}function ey(e,t){return`${e}-content-${t}`}function ew(e){return t=>
1"mouse"===t.pointerType?e(t):void 0}var eb=e.i(37109),ej=e.i(97750),eE=(0,ej.default)("outline","brand-open-source","IconBrandOpenSource",[["path",{d:"M12 3a9 9 0 0 1 3.618 17.243l-2.193 -5.602a3 3 0 1 0 -2.849 0l-2.193 5.603a9 9 0 0 1 3.617 -17.244z",key:"svg-0"}]]),ek=e.i(59137),eC=(0,ej.default)("outline","user-plus","IconUserPlus",[["path",{d:"M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0",key:"svg-0"}],["path",{d:"M16 19h6",key:"svg-1"}],["path",{d:"M19 16v6",key:"svg-2"}],["path",{d:"M6 21v-2a4 4 0 0 1 4 -4h4",key:"svg-3"}]]),eS=(0,ej.default)("outline","users","IconUsers",[["path",{d:"M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0",key:"svg-0"}],["path",{d:"M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2",key:"svg-1"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"svg-2"}],["path",{d:"M21 21v-2a4 4 0 0 0 -3 -3.85",key:"svg-3"}]]),eP=e.i(54485);function eR({children:e}){return(0,t.jsxs)(U,{className:"relative z-50 flex w-full items-center justify-center",children:[(0,t.jsxs)(q,{className:"flex items-center gap-1",children:[e,(0,t.jsx)(et,{className:(0,a.default)("z-[1] flex h-[10px] items-end justify-center overflow-hidden","data-[state=visible]:animate-fadeIn","data-[state=visible]:animate-fadeIn","data-[state=hidden]:animate-fadeOut","transition-[width,transform_250ms_ease]"),children:(0,t.jsx)("svg",{className:"text-white",width:"20",height:"10",viewBox:"0 0 20 10",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M20.0001 10L11.4143 1.4142C10.6332 0.633156 9.36691 0.633157 8.58586 1.4142L0 10H20.0001Z",fill:"currentColor"})})})]}),(0,t.jsx)("div",{className:"perspective-[2000px] absolute left-20 right-0 top-full flex w-full justify-center",children:(0,t.jsx)(ed,{className:(0,a.default)("relative mt-[7px] bg-white text-zinc-900","origin-[top_center] overflow-hidden rounded-xl shadow-2xl","transition-[width,_height] duration-300","data-[state=open]:animate-scaleIn","data-[state=open]:animate-scaleIn","data-[state=closed]:animate-scaleOut","w-[var(--radix-navigation-menu-viewport-width)]","h-[var(--radix-navigation-menu-viewport-height)]")})})]})}function eN({children:e}){return(0,t.jsxs)(X,{className:(0,a.default)("group flex select-none items-center gap-0.5","rounded-full px-3 py-2 text-text-mute","hover:bg-white/5 hover:text-primary-text","data-[state=open]:bg-white/5","data-[state=open]:text-primary-text"),children:[e,(0,t.jsx)(eP.IconChevronDown,{width:15,height:15,className:(0,a.default)("duration opacity-60 transition-transform ease-in","group-data-[state=open]:-rotate-180"),strokeWidth:1.5})]})}function eO({children:e,...n}){return(0,t.jsx)(eo,{className:(0,a.default)("data-[motion=from-start]:animate-enterFromLeft","data-[motion=from-end]:animate-enterFromRight","data-[motion=to-start]:animate-exitToLeft","data-[motion=to-end]:animate-exitToRight","absolute left-0 top-0 w-auto"),...n,children:e})}let eI=u.default.forwardRef((e,n)=>{let{children:r,href:o,className:i,title1:s,icon:l,...c}=e;return(0,t.jsx)(Q,{asChild:!0,...c,children:(0,t.jsxs)(d.default,{ref:n,href:o,className:(0,a.default)("flex select-none items-center gap-5 rounded-xl p-5","bg-black/5","hover:bg-black/10","hover:bg-emerald-50 hover:text-emerald-900",i),children:[(0,t.jsx)("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-full bg-black/5",children:l}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"inline-flex items-center font-semibold",children:s}),(0,t.jsx)("p",{className:"opacity-80",children:r})]})]})})}),eA=eb.allJobs.filter(e=>!e.draft).length;function e_(){return(0,t.jsxs)(Y,{children:[(0,t.jsxs)(eN,{children:["Company"," ",(0,t.jsx)("span",{className:"ml-1 flex items-center rounded-full bg-emerald-400/20 px-1.5 py-1 font-mono text-sm leading-none text-emerald-700 dark:text-primary",children:eA})]}),(0,t.jsx)(eO,{children:(0,t.jsxs)("div",{className:"grid w-[440px] gap-2 p-4",children:[(0,t.jsx)(eI,{href:"/about",title1:"About",icon:(0,t.jsx)(eS,{strokeWidth:1.5}),children:"Data Platform for Developers"}),(0,t.jsx)(eI,{href:"/careers",title1:(0,t.jsxs)(t.Fragment,{children:["Careers",(0,t.jsx)("span",{className:"ml-1 inline-flex items-center rounded-full bg-emerald-400/20 px-1.5 py-1 font-mono text-sm leading-none text-emerald-700 dark:text-primary",children:eA})]}),icon:(0,t.jsx)(eC,{strokeWidth:1.5}),children:"Help us build the cutting edge data platform"}),(0,t.jsx)(eI,{href:"/open-source",title1:"Open-Source Program",icon:(0,t.jsx)(eE,{strokeWidth:1.5}),children:"We sponsor open-source projects"}),(0,t.jsx)(eI,{href:"/contact",title1:"Contact Us",icon:(0,t.jsx)(ek.IconMail,{strokeWidth:1.5}),children:"Get in touch with our team"})]})})]})}function eT(){let e=(0,c.useSelectedLayoutSegment)();return(0,t.jsxs)(eR,{children:[(0,t.jsx)(Y,{children:(0,t.jsx)(Q,{asChild:!0,className:(0,a.default)("flex select-none items-center gap-0.5 rounded-full px-3 py-2","text-text-mute hover:bg-white/5 hover:text-primary-text"),children:(0,t.jsx)(d.default,{prefetch:!1,href:"/docs",children:"Docs"})})}),(0,t.jsx)(Y,{children:(0,t.jsx)(Q,{asChild:!0,className:(0,a.default)("flex select-none items-center gap-0.5 rounded-full px-4 py-2","text-text-mute hover:bg-white/5 hover:text-primary-text","pricing"===e?"bg-bg-mute text-primary-text":""),children:(0,t.jsx)(d.default,{href:"/pricing/redis",children:"Pricing"})})}),(0,t.jsx)(Y,{children:(0,t.jsx)(Q,{asChild:!0,className:(0,a.default)("flex select-none items-center gap-0.5 rounded-full px-4 py-2","text-text-mute hover:bg-white/5 hover:text-primary-text","customers"===e?"bg-bg-mute text-primary-text":""),children:(0,t.jsx)(d.default,{href:"/customers",children:"Customers"})})}),(0,t.jsx)(Y,{children:(0,t.jsx)(Q,{asChild:!0,className:(0,a.default)("flex select-none items-center gap-0.5 rounded-full px-4 py-2","text-text-mute hover:bg-white/5 hover:text-primary-text","enterprise"===e?"bg-bg-mute text-primary-text":""),children:(0,t.jsx)(d.default,{href:"/enterprise",children:"Enterprise"})})}),(0,t.jsx)(Y,{children:(0,t.jsx)(Q,{asChild:!0,className:(0,a.default)("flex select-none items-center gap-0.5 rounded-full px-3 py-2","text-text-mute hover:bg-white/5 hover:text-primary-text","blog"===e?"bg-bg-mute text-primary-text":""),children:(0,t.jsx)(d.default,{href:"/blog",children:"Blog"})})}),(0,t.jsx)(e_,{})]})}e.s(["default",0,function({className:e,...p}){let h=(0,c.useSelectedLayoutSegment)(),{affiliateCode:m}
1=(0,i.useGetAffiliateCodeFromApi)(),[g,v]=(0,u.useState)(!1),{scrollY:x}=(0,l.useScroll)();return(0,s.useMotionValueEvent)(x,"change",e=>{v(e>10)}),(0,t.jsxs)("header",{className:(0,a.default)("fixed inset-x-0 top-0 z-50 hidden bg-transparent md:block","pricing"===h&&"absolute",g&&"bg-bg shadow",e),...p,children:[(0,t.jsx)(f.AnnouncementBanner,{}),(0,t.jsx)(r.default,{children:(0,t.jsxs)("div",{className:(0,a.default)("flex items-center py-5 md:grid md:grid-cols-6","border-b border-b-white/5"),children:[(0,t.jsx)("div",{className:"flex",children:(0,t.jsx)(d.default,{href:"/",children:(0,t.jsx)(o.Logo,{})})}),(0,t.jsx)("div",{className:"col-span-4",children:(0,t.jsx)(eT,{})}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.default,{asChild:!0,variant:g?"primary":"default",children:(0,t.jsx)("a",{target:"_self",href:m?`https://console.upstash.com/?code=${m}`:"https://console.upstash.com",children:"Login"})})})]})})]})}],55316)},71355,e=>{"use strict";var t=e.i(82624),n=e.i(29158),r=e.i(88915),o=e.i(88760),i=e.i(70484),a=e.i(72395),s=e.i(97578),l=e.i(10471),d=e.i(47475),c=e.i(20854),u=e.i(83006),f=e.i(93435),p=e.i(91893);let h=e.i(37109).allJobs.filter(e=>!e.draft).length;function m({hidden:e}){let{affiliateCode:n}=(0,p.useGetAffiliateCodeFromApi)();return(0,t.jsxs)("nav",{className:(0,a.default)("absolute inset-x-0 top-full z-10 mt-px flex-col p-6","bg-bg shadow-2xl",e?"flex":"hidden"),children:[(0,t.jsx)("div",{className:"flex flex-col divide-y divide-black/5 dark:divide-white/5",children:v.map(e=>(0,t.jsxs)(g,{href:e.href,prefetch:e.prefetch,children:[e.name,e.children]},e.href))}),(0,t.jsx)(f.default,{asChild:!0,variant:"primary",className:"my-6",children:(0,t.jsx)("a",{href:n?`https://console.upstash.com/?code=${n}`:"https://console.upstash.com",children:"Login"})})]})}function g({href:e,className:n,children:r,...o}){return(0,t.jsxs)(d.default,{href:e,className:(0,a.default)("flex items-center gap-2 py-4 font-display text-lg font-medium",n),...o,children:[r,"/careers"===e&&(0,t.jsx)("span",{className:"flex items-center rounded-full bg-emerald-300/20 px-1.5 py-1 font-mono text-sm leading-none text-primary",children:h})]})}let v=[{name:"Docs",href:"/docs",prefetch:!1},{name:"Pricing",href:"/pricing/redis"},{name:"Customers",href:"/customers"},{name:"Enterprise",href:"/enterprise"},{name:"Blog",href:"/blog"},{name:"About",href:"/about"},{name:"Careers",href:"/careers"},{name:"Open-Source Program",href:"/open-source"},{name:"Contact Us",href:"/contact"}];e.s(["default",0,function({className:e,...f}){let[p,h]=(0,u.useState)(!1),{scrollY:g}=(0,l.useScroll)(),[v,x]=(0,u.useState)(!1),y=(0,c.usePathname)();return(0,u.useEffect)(()=>{x(!1)},[y]),(0,s.useMotionValueEvent)(g,"change",e=>{h(e>10)}),(0,t.jsxs)("header",{className:(0,a.default)("fixed inset-x-0 top-0 z-50 md:hidden","border-b border-b-white/5",p&&"bg-bg shadow",e),...f,children:[(0,t.jsx)(i.AnnouncementBanner,{}),(0,t.jsx)(n.default,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between py-4",children:[(0,t.jsx)("div",{className:"flex",children:(0,t.jsx)(d.default,{href:"/",children:(0,t.jsx)(o.Logo,{height:30})})}),(0,t.jsx)("button",{type:"button",className:"flex items-center justify-center p-2 opacity-70",onClick:()=>x(e=>!e),children:v?(0,t.jsx)(r.default,{title:"Collapse menu",icon:r.ICON_NAMES.Cancel,className:"text-3xl"}):(0,t.jsx)(r.default,{title:"Expand menu",icon:r.ICON_NAMES.Menu,className:"text-3xl"})}),(0,t.jsx)(m,{hidden:v})]})})]})}],71355)},377,e=>{"use strict";let t,n,r;var o=e.i(82624),i=e.i(75679),a=e.i(83006);let s=e=>{let t,n=new Set,r=(e,r)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=r?r:"object"!=typeof o||null===o)?o:Object.assign({}
1,t,o),n.forEach(n=>n(t,e))}},o=()=>t,i={setState:r,getState:o,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,o,i);return i},l=e=>{let t=e?s(e):s,n=e=>(function(e,t=e=>e){let n=a.default.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getInitialState()));return a.default.useDebugValue(n),n})(t,e);return Object.assign(n,t),n},d=e=>t=>{try{let n=e(t);if(n instanceof Promise)return n;return{then:e=>d(e)(n),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>d(t)(e)}}},c=(t=e=>({cookieConsent:"pending",setCookieConsent:t=>e({cookieConsent:t}),isHydrated:!1,setIsHydrated:t=>e({isHydrated:t}),isTermsUpdateAcknowledged:!1,setIsTermsUpdateAcknowledged:t=>e({isTermsUpdateAcknowledged:t})}),n={name:"global-store",version:2,migrate:(e,t)=>1===t?{...e,cookieConsent:!0===e.cookieConsent?"granted":"pending"}:e,onRehydrateStorage:e=>()=>e.setIsHydrated(!0)},(r=(e,r,o)=>{let i,a={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var n;let r=e=>null===e?null:JSON.parse(e,void 0),o=null!=(n=t.getItem(e))?n:null;return o instanceof Promise?o.then(r):r(o)},setItem:(e,n)=>t.setItem(e,JSON.stringify(n,void 0)),removeItem:e=>t.removeItem(e)}}(()=>localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...n},s=!1,l=new Set,c=new Set,u=a.storage;if(!u)return t((...t)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),e(...t)},r,o);let f=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},p=o.setState;o.setState=(e,t)=>{p(e,t),f()};let h=t((...t)=>{e(...t),f()},r,o);o.getInitialState=()=>h;let m=()=>{var t,n;if(!u)return;s=!1,l.forEach(e=>{var t;return e(null!=(t=r())?t:h)});let o=(null==(n=a.onRehydrateStorage)?void 0:n.call(a,null!=(t=r())?t:h))||void 0;return d(u.getItem.bind(u))(a.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===a.version)return[!1,e.state];else{if(a.migrate)return[!0,a.migrate(e.state,e.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(t=>{var n;let[o,s]=t;if(e(i=a.merge(s,null!=(n=r())?n:h),!0),o)return f()}).then(()=>{null==o||o(i,void 0),i=r(),s=!0,c.forEach(e=>e(i))}).catch(e=>{null==o||o(void 0,e)})};return o.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{null==u||u.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>m(),hasHydrated:()=>s,onHydrate:e=>(l.add(e),()=>{l.delete(e)}),onFinishHydration:e=>(c.add(e),()=>{c.delete(e)})},a.skipHydration||m(),i||h})?l(r):l);var u=e.i(72395),f=e.i(42464);let p=({href:e,children:t})=>(0,o.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:no-underline",children:t});e.s(["NoticeBanner",0,()=>{let{cookieConsent:e,setCookieConsent:t,isTermsUpdateAcknowledged:n,setIsTermsUpdateAcknowledged:r,isHydrated:s}=c(),[l,d]=(0,a.useState)(!1);(0,a.useEffect)(()=>{s&&"pending"===e&&n();async function n(){let e=await fetch("/api/geolocation");(await e.json()).isEuropean?t("pending-eu"):t("granted")}},[s,e,t]);let h=s&&"pending-eu"===e,m=s&&!n;if(l||!h&&!m)return;let g=()=>{m&&r(!0)};return(0,o.jsxs)("div",{className:(0,u.default)("fixed inset-x-0 bottom-0 z-50 flex w-full items-center justify-between gap-2","bg-emerald-400 py-2.5 pl-4 text-[13px] text-zinc-950 shadow-lg","pr-20","md:bottom-4 md:mx-auto md:w-fit md:max-w-[min(94vw,880px)]","md:rounded-3xl md:py-1.5 md:pr-1.5"),children:[(0,o.jsx)("p",{className:"leading-snug",children:h&&m?(0,o.jsxs)(o.Fragment,{children:["We use cookies to improve your experience. Read our updated"," ",(0,o.jsx)(p,{href:"/trust/terms.pdf",children:"Terms"}),","," ",(0,o.jsx)(p,{href:"/trust/privacy.pdf",children:"Privacy Policy"})," ","and"," ",(0,o.jsx)(p,{href:"/trust/dpa.pdf",children:"Data Protection Agreement"}),"."]}):m?(0,o.jsxs)(o.Fragment,{children:["Our ",(0,o.jsx)(p,{href:"/trust/terms.pdf",children:"Terms"}),","," ",(0,o.jsx)(p,{href:"/trust/privacy.pdf",children:"Privacy Policy"})," ","and"," ",(0,o.jsx)(p,{href:"/trust/dpa.pdf",children:"Data Protection Agreement"})," ","have been updated"]}):(0,o.jsxs)(o.Fragment,{children:["We use cookies to improve your experience. Read our"," ",(0,o.jsx)(p,{href:"/trust/privacy.pdf",children:"privacy policy."})]})}),(0,o.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[h&&(0,o.jsx)("button",{onClick:()=>{t("granted"),(0,i.grantAnalyticsConsent)(),g()},className:"rounded-full bg-white px-3 py-1 text-xs font-medium leading-5 transition-colors hover:bg-zinc-100",children:"Accept"}),(0,o.jsx)("button",{onClick:()=>{g(),d(!0)},"aria-label":"Dismiss",className:"flex size-7 shrink-0 items-center justify-center rounded-full transition-colors hover:bg-emerald-500",children:(0,o.jsx)(f.IconX,{size:15,strokeWidth:2})})]})]})}],377)},96325,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={cancelIdleCallback:function(){return a},requestIdleCallback:function(){return i}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},a="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
1dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},40098,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={ESCAPE_REGEX:function(){return a},htmlEscapeAttributeString:function(){return c},htmlEscapeJsonString:function(){return d}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},a=/[&><\u2028\u2029]/g,s={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},l=/[&"'<>]/g;function d(e){return e.replace(a,e=>i[e])}function c(e){return e.replace(l,e=>s[e])}},9034,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return w},handleClientScriptLoad:function(){return v},initScriptLoader:function(){return x}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(81258),a=e.r(44066),s=e.r(82624),l=i._(e.r(65278)),d=a._(e.r(83006)),c=e.r(91493),u=e.r(21279),f=e.r(96325),p=e.r(40098),h=new Map,m=new Set,g=e=>{let{src:t,id:n,onLoad:r=()=>{},onReady:o=null,dangerouslySetInnerHTML:i,children:a="",strategy:s="afterInteractive",onError:d,stylesheets:c}=e,f=n||t;if(f&&m.has(f))return;if(h.has(t)){m.add(f),h.get(t).then(r,d);return}let p=()=>{o&&o(),m.add(f)},g=document.createElement("script"),v=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),r&&r.call(this,t),p()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){d&&d(e)});i?(g.innerHTML=i.__html||"",p()):a?(g.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",p()):t&&(g.src=t,h.set(t,v)),(0,u.setAttributesFromProps)(g,e),"worker"===s&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",s),c&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});if("u">typeof window){let t=document.head;e.forEach(e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)})}})(c),document.body.appendChild(g)};function v(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>g(e))}):g(e)}function x(e){e.forEach(v),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");m.add(t)})}function y(e){let{id:t,src:n="",onLoad:r=()=>{},onReady:o=null,strategy:i="afterInteractive",onError:a,stylesheets:u,...h}=e,{updateScripts:v,scripts:x,getIsSsr:y,appDir:w,nonce:b}=(0,d.useContext)(c.HeadManagerContext);b=h.nonce||b;let j=(0,d.useRef)(!1);(0,d.useEffect)(()=>{let e=t||n;j.current||(o&&e&&m.has(e)&&o(),j.current=!0)},[o,t,n]);let E=(0,d.useRef)(!1);if((0,d.useEffect)(()=>{if(!E.current){if("afterInteractive"===i)g(e);else"lazyOnload"===i&&("complete"===document.readyState?(0,f.requestIdleCallback)(()=>g(e)):window.addEventListener("load",()=>{(0,f.requestIdleCallback)(()=>g(e))}));E.current=!0}},[e,i]),("beforeInteractive"===i||"worker"===i)&&(v?(x[i]=(x[i]||[]).concat([{id:t,src:n,onLoad:r,onReady:o,onError:a,...h,nonce:b}]),v(x)):y&&y()?m.add(t||n):y&&!y()&&g({...e,nonce:b})),w){if(u&&u.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===i)if(!n)return h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),(0,s.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([0,{...h,id:t}]))})`}});else return l.default.preload(n,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin}),(0,s.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,p.htmlEscapeJsonString)(JSON.stringify([n,{...h,id:t}]))})`}});"afterInteractive"===i&&n&&l.default.preload(n,h.integrity?{as:"script",integrity:h.integrity,nonce:b,crossOrigin:h.crossOrigin}:{as:"script",nonce:b,crossOrigin:h.crossOrigin})}return null}Object.defineProperty(y,"__nextScript",{value:!0});let w=y;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esMo
1dule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)}]);

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.