Files

29 lines
25 KiB
HTML

<!doctype html>
<html lang="en">
<head><meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>agent-device</title>
<script>{;const saved = localStorage.getItem('rspress-theme-appearance');const preferDark = window.matchMedia('(prefers-color-scheme: dark)').matches;const isDark = !saved || saved === 'auto' ? preferDark : saved === 'dark';document.documentElement.classList.toggle('dark', isDark);document.documentElement.classList.toggle('rp-dark', isDark);document.documentElement.style.colorScheme = isDark ? 'dark' : 'light';}</script>
<link href="/agent-device/static/css/styles.cf5e9ab9a4.css" rel="stylesheet">
<script defer src="/agent-device/static/js/styles.308ea4bafe.js"></script>
<script defer src="/agent-device/static/js/lib-react.e84adf13b9.js"></script>
<script defer src="/agent-device/static/js/lib-router.270f17bfa6.js"></script>
<script defer src="/agent-device/static/js/476.52ed165336.js"></script>
<script defer src="/agent-device/static/js/index.8722046b0d.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Rspress v2.0.12">
<meta property="og:url" content="https://oss.callstack.com/agent-device">
<meta property="og:type" content="website">
<meta property="og:title" content="agent-device">
<meta property="og:image" content="https://oss.callstack.com/agent-device/og-image.jpg">
<meta property="og:description" content="Mobile app automation and verification for AI coding agents through a CLI, MCP server, and typed Node.js API.">
<link rel="icon" href="/agent-device/logo.svg" type="image/svg+xml">
<meta name="description" content="Mobile app automation and verification for AI coding agents through a CLI, MCP server, and typed Node.js API."></head>
<body>
<div id="__rspress_root"><link rel="preload" as="image" href="/agent-device/logo-light.svg"/><link rel="preload" as="image" href="/agent-device/logo-dark.svg"/><link rel="preload" as="image" href="/agent-device/static/image/abstract-atom.4eca0300ff.avif"/><header class="rp-nav"><div class="rp-nav__left"><div class="rp-nav__title"><a href="/agent-device/" class="rp-nav__title__link rp-link"><div class="rp-nav__title__logo"><img src="/agent-device/logo-light.svg" alt="logo" id="logo" class="rspress-logo rp-nav__title__logo-image rp-nav__title__logo-image--light"/><img src="/agent-device/logo-dark.svg" alt="logo" id="logo" class="rspress-logo rp-nav__title__logo-image rp-nav__title__logo-image--dark"/></div></a></div></div><div class="rp-nav__right"><button class="rp-search-button"><div class="rp-search-button__content"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="rp-search-button__icon"><path fill="#838289" d="M14.667 14.666h-1.333v-1.333h1.332zm-1.333-1.333H12V12h1.333zm-4-1.333H4v-1.334h5.334zM12 12h-1.335v-1.334h1.335zm-8-1.334H2.665V9.333H4zm6.665 0H9.334V9.333h1.332zm-8-1.333H1.335V4h1.333zm9.335 0h-1.335V4h1.335zM4 4H2.665V2.666H4zm6.665 0H9.334V2.666h1.332zM9.334 2.666H4V1.333h5.334z"></path></svg><span class="rp-search-button__word">Search</span></div><div class="rp-search-button__hotkey" style="opacity:0"><span></span><span>K</span></div></button><div class="rp-search-button--mobile"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="#838289" d="M14.667 14.666h-1.333v-1.333h1.332zm-1.333-1.333H12V12h1.333zm-4-1.333H4v-1.334h5.334zM12 12h-1.335v-1.334h1.335zm-8-1.334H2.665V9.333H4zm6.665 0H9.334V9.333h1.332zm-8-1.333H1.335V4h1.333zm9.335 0h-1.335V4h1.335zM4 4H2.665V2.666H4zm6.665 0H9.334V2.666h1.332zM9.334 2.666H4V1.333h5.334z"></path></svg></div><ul class="rp-nav-menu rp-nav-menu--right"><li class="rp-nav-menu__item"><a href="/agent-device/docs/introduction" class="rp-nav-menu__item__container rp-link">Docs</a></li></ul><div class="rp-nav__others"><div class="rp-nav-menu__divider"></div><div role="button" tabindex="0" class="rspress-nav-appearance"><div class="rp-p-1 rp-border rp-border-solid rp-border-gray-300 rp-text-gray-400 rp-cursor-pointer rp-rounded-md rp-transition-all rp-duration-300 rp-w-7 rp-h-7"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 24 24"><path fill="currentColor" d="M18 22H8v-2h10zM8 20H6v-2h2zm12 0h-2v-2h2zM6 18H4v-2h2zm16 0h-2v-4h-2v-2h2v-2h2zM4 16H2V6h2zm14 0h-6v-2h6zm-6-2h-2v-2h2zm-2-2H8V6h2zM6 6H4V4h2zm8-2h-2v2h-2V4H6V2h8z"></path></svg></div></div><div class="rp-social-links"><a href="https://github.com/callstack/agent-device" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></div></div></a><a href="https://discord.gg/eYapw6F3" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418"/></svg></div></div></a><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"></ul></div></div><button aria-label="mobile hamburger" class="rp-nav-hamburger rp-nav-hamburger__sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="#838289" fill-rule="evenodd" d="M1 9h6v6H1zm2 2v2h2v-2zm6-2h6v6H9zm2 2v2h2v-2zm6-2h6v6h-6zm2 2v2h2v-2z" clip-rule="evenodd"></path></svg></button><button aria-label="mobile hamburger" class="rp-nav-hamburger rp-nav-hamburger__md"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="#838289" fill-rule="evenodd" d="M1 9h6v6H1zm2 2v2h2v-2zm6-2h6v6H9zm2 2v2h2v-2zm6-2h6v6h-6zm2 2v2h2v-2z" clip-rule="evenodd"></path></svg><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"><div class="rp-nav-menu__others-mobile__container"><div class="rp-nav-hamburger__md__hover-group"><div class="rp-nav-screen-appearance"><div class="rp-nav-screen-appearance__left">Theme</div><div class="rp-nav-screen-appearance__right"></div></div><div class="rp-nav-screen-divider"></div><div class="rp-social-links"><a href="https://github.com/callstack/agent-device" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></div></div></a><a href="https://discord.gg/eYapw6F3" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418"/></svg></div></div></a><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"></ul></div></div></div></ul></button></div></header><style>body:not(.notTopArrived) .rp-nav {background: transparent !important; border-bottom: 1px solid transparent !important;}.rp-nav {background: color-mix(in srgb,var(--rp-c-bg) 60%,transparent);backdrop-filter: blur(25px);}</style><div class="rp-home-background"></div><div class="container-Ey5SDc"><div class="heroMain-aBhXSi"><h1 class="heroName-_0lw9K">Agent-native app automation for mobile, TV, and desktop.</h1></div><div class="heroTaglineActions-jKkfzE"><div class="heroTagline-HUMGEx">agent-device gives coding agents structured UI access, deterministic interactions, and app-level evidence across mobile, TV, and desktop targets. Use it to verify generated code, debug broken flows, profile runtime behavior, and turn exploratory QA into replayable checks.</div><div class="heroActions-x2L3Tk"><a href="/agent-device/docs/agent-setup" class="button-DogSnd brand-rT2ahT ">Get Started<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="button-icon-Okk0hT" aria-hidden="true" focusable="false"><path fill="currentColor" d="M9.333 13.333h1.334V12H9.333zm-6.666-2.666h8V12H12v-1.333h1.333V9.333H12V8h-1.333v1.333H4V2.667H2.667zM9.333 8h1.334V6.667H9.333z"></path></svg></a><a href="/agent-device/docs/commands" class="button-DogSnd alt-XB5jdj ">Commands<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24" class="button-icon-Okk0hT" aria-hidden="true" focusable="false"><path d="M20 20h-2V4h2zm-8-5v2h-2v-2zm2-4h2v2h-2v2h-2v-2H4v-2h8V9h2zm-2-2h-2V7h2z"></path></svg></a></div></div></div><div class="container-Pu3RMt"><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">One CLI, many app surfaces</h2><p class="featureDetail-QDEU9M">Control iOS, Android, tvOS, Android TV, Amazon Vega OS TV apps in the Vega Virtual Device, macOS, and Linux desktop targets through one CLI.</p></article></div></div><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">Accessibility-first snapshots</h2><p class="featureDetail-QDEU9M">On supported targets, accessibility trees give agents structured UI context without forcing screenshot-only reasoning.</p></article></div></div><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">Agent-native interactions</h2><p class="featureDetail-QDEU9M">Tap, pan, fling, pinch, rotate, scroll, focus, type, assert, and find visible UI through refs, selectors, and semantic finders.</p></article></div></div><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">Built-in debugging and profiling</h2><p class="featureDetail-QDEU9M">Use each target&#x27;s supported backends to collect logs, inspect traffic, capture screens and recordings, and sample performance.</p></article></div></div><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">Session and replay</h2><p class="featureDetail-QDEU9M">Open apps, keep stateful context, and replay recorded `.ad` actions to reproduce flows without AI at runtime.</p></article></div></div><div class="grid-4-JvWJqM rp-rounded"><div class="featureCardContainer-NOFPt7"><article class="featureCard-XfKTmz" style="cursor:auto"><h2 class="featureTitle-cyqmgX">React Native internals</h2><p class="featureDetail-QDEU9M">Use agent-device react-devtools for component trees and render profiles, and agent-device cdp for React Native JS heap snapshots, diffs, and leak retainers.</p></article></div></div></div><div class="wrapper-mI4CtC"><div class="container-JklxSY"><div><div></div><div></div></div><img class="logo-wGu6zG" src="/agent-device/static/image/abstract-atom.4eca0300ff.avif" alt="Abstract Logo" aria-hidden="true"/><div class="content-qrbCuM"><h1 class="headline-urbBtl">Need React or React Native
expertise you can count on?</h1><div class="description-a82hKX"><p class="descriptionText-UMW_4H">We&#x27;ve spent years building full-stack, cross-platform apps and solving tough technical challenges.</p><div><div class="dark"><a href="https://www.callstack.com/contact?utm_campaign=open_source&amp;utm_source=agent-device&amp;utm_medium=referral&amp;utm_content=HOME_BANNER" class="button-DogSnd brand-rT2ahT ">Let&#x27;s talk<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" class="button-icon-Okk0hT" aria-hidden="true" focusable="false"><path fill="currentColor" d="M9.333 13.333h1.334V12H9.333zm-6.666-2.666h8V12H12v-1.333h1.333V9.333H12V8h-1.333v1.333H4V2.667H2.667zM9.333 8h1.334V6.667H9.333z"></path></svg></a></div></div></div></div></div></div><footer class="container-IBgsxu"><div class="row-VpRJwk"><a href="https://www.callstack.com" target="_blank" rel="noopener noreferrer" class="rp-link"><div class="logo-eionWK"><svg xmlns="http://www.w3.org/2000/svg" width="101" height="20" fill="none" viewBox="0 0 101 20" class="logoDark-o8oBUU"><g clip-path="url(#ck-logo-dark_svg__a)"><path fill="#fff" d="M41.283 12.442a8.7 8.7 0 0 0 3.996 1.161c.856 0 1.377-.23 1.377-.779 0-.779-1.133-.702-2.661-1.084-1.913-.473-3.046-1.27-3.046-2.916 0-2.122 1.913-3.328 4.424-3.328a9.4 9.4 0 0 1 3.873.794v2.626a8.6 8.6 0 0 0-3.784-1.068c-.826 0-1.316.243-1.316.701 0 .703 1.087.703 2.587 1.039 1.929.473 3.108 1.206 3.108 2.946 0 2.193-1.96 3.405-4.547 3.405a9.7 9.7 0 0 1-3.99-.84l-.015-2.655zm17.139 2.977c-.702.371-1.487.56-2.281.55a3.53 3.53 0 0 1-2.633-1.008c-.536-.564-.887-1.404-.887-3.007V8.26h-1.64V5.694h1.64V1.787h3.124v3.907h2.68v2.58h-2.682v3.374c0 .978.231 1.71 1.179 1.71a3.65 3.65 0 0 0 1.504-.412v2.473zM81.874 1.787H85v8.152h.046l3.537-4.27h3.535l-3.872 4.5 4.166 5.559h-3.693l-3.69-5.132h-.045v5.113h-3.125zm14.067 10.9c0-1.512.347-2.321 1.423-2.672v-.046c-1.072-.346-1.424-1.154-1.424-2.672V3.693c0-1.084-.383-1.466-1.3-1.466a4.5 4.5 0 0 0-.781.078V.122Q94.565.004 95.282 0c2.435 0 3.537 1.375 3.537 3.328V7.42c0 1.038.29 1.45 1.362 1.45h.597v2.244h-.597c-1.072 0-1.362.413-1.362 1.45v4.108c0 1.953-1.133 3.328-3.537 3.328a9 9 0 0 1-1.423-.122v-2.184q.386.09.78.091c.903 0 1.302-.38 1.302-1.465zm-26.294.718c-.428 0-.612-.321-.612-.794V9.206a3.3 3.3 0 0 0-1.133-2.779 5.4 5.4 0 0 0-3.368-.961 8.1 8.1 0 0 0-3.536.779v2.671a6.3 6.3 0 0 1 2.954-.794 2.38 2.38 0 0 1 1.561.427 1.45 1.45 0 0 1 .383 1.069v.397a8.4 8.4 0 0 0-1.745-.183c-.99-.045-1.973.2-2.827.702a2.82 2.82 0 0 0-1.24 2.424 2.76 2.76 0 0 0 1.194 2.35 4.2 4.2 0 0 0 2.342.657 4.93 4.93 0 0 0 2.832-.839l.031-.016a2.96 2.96 0 0 0 2.188.794 3.4 3.4 0 0 0 1.505-.304v-2.318c-.165.08-.346.121-.529.123m-3.736-.123a2.9 2.9 0 0 1-1.423.412c-.735 0-1.302-.346-1.302-1.007 0-.78.81-1.023 1.607-1.023.377 0 .753.045 1.118.138zm13.991 1.909a6.96 6.96 0 0 1-3.322.778c-3.246 0-5.67-2.214-5.67-5.236 0-3.161 2.633-5.267 5.802-5.267a6.8 6.8 0 0 1 3.012.701v2.886a5.4 5.4 0 0 0-2.832-.932 2.63 2.63 0 0 0-2.388 1.297 2.616 2.616 0 0 0 1.05 3.666c.425.22.903.32 1.38.288a5.1 5.1 0 0 0 2.97-1.007v2.825zM35.85 1.954h3.124V15.74H35.85zM17.217 15.19a7.1 7.1 0 0 1-3.306.778c-3.24 0-5.665-2.214-5.665-5.236 0-3.161 2.634-5.267 5.803-5.267a6.8 6.8 0 0 1 3 .701v2.886a5.4 5.4 0 0 0-2.832-.932 2.65 2.65 0 0 0-2.386 1.29 2.63 2.63 0 0 0 .009 2.707 2.65 2.65 0 0 0 2.418 1.25 5.03 5.03 0 0 0 2.955-1.007v2.825zm11.11-1.787c-.428 0-.612-.32-.612-.793V9.206a3.3 3.3 0 0 0-1.133-2.779 5.4 5.4 0 0 0-3.368-.961 8.1 8.1 0 0 0-3.536.779v2.671a6.3 6.3 0 0 1 2.954-.794 2.38 2.38 0 0 1 1.561.427 1.44 1.44 0 0 1 .383 1.069v.397a8.3 8.3 0 0 0-1.745-.183 5 5 0 0 0-2.832.702 2.83 2.83 0 0 0-1.24 2.424 2.77 2.77 0 0 0 1.194 2.35 4.2 4.2 0 0 0 2.342.657 4.93 4.93 0 0 0 2.832-.839l.031-.016a2.97 2.97 0 0 0 2.19.794 3.4 3.4 0 0 0 1.504-.304v-2.318c-.164.079-.343.12-.525.123m-3.75-.122a2.9 2.9 0 0 1-1.424.412c-.735 0-1.301-.346-1.301-1.007 0-.78.81-1.023 1.607-1.023.377 0 .752.046 1.117.138zM30.47 1.954h3.124V15.74H30.47zM2.181 12.564c0-1.038-.29-1.45-1.362-1.45H.222V8.87H.82c1.072 0 1.362-.412 1.362-1.45V3.328C2.181 1.358 3.314 0 5.718 0q.717.005 1.423.122v2.186a3.4 3.4 0 0 0-.78-.092c-.904 0-1.302.382-1.302 1.465v3.601c0 1.512-.347 2.321-1.423 2.672V10c1.072.346 1.423 1.154 1.423 2.672v3.6c0 1.084.398 1.466 1.302 1.466q.396-.001.78-.092v2.183a9 9 0 0 1-1.423.122c-2.43 0-3.537-1.374-3.537-3.328z"></path></g><defs><clipPath id="ck-logo-dark_svg__a"><path fill="#fff" d="M0 0h101v20H0z"></path></clipPath></defs></svg><svg xmlns="http://www.w3.org/2000/svg" width="101" height="20" fill="none" viewBox="0 0 101 20" class="logoLight-uCgBdi"><g clip-path="url(#ck-logo-light_svg__a)"><path fill="#201F24" d="M41.283 12.442a8.7 8.7 0 0 0 3.996 1.161c.856 0 1.377-.23 1.377-.779 0-.779-1.133-.702-2.661-1.084-1.913-.473-3.046-1.27-3.046-2.916 0-2.122 1.913-3.328 4.424-3.328a9.4 9.4 0 0 1 3.873.794v2.626a8.6 8.6 0 0 0-3.784-1.068c-.826 0-1.316.243-1.316.701 0 .703 1.087.703 2.587 1.039 1.929.473 3.108 1.206 3.108 2.946 0 2.193-1.96 3.405-4.547 3.405a9.7 9.7 0 0 1-3.99-.84l-.015-2.655zm17.139 2.977c-.702.371-1.487.56-2.281.55a3.53 3.53 0 0 1-2.633-1.008c-.536-.564-.887-1.404-.887-3.007V8.26h-1.639V5.694h1.639V1.787h3.124v3.907h2.68v2.58h-2.682v3.374c0 .978.231 1.71 1.18 1.71a3.65 3.65 0 0 0 1.503-.412v2.473zM81.874 1.787H85v8.152h.046l3.537-4.27h3.535l-3.872 4.5 4.166 5.559h-3.693l-3.689-5.132h-.046v5.113h-3.125zm14.067 10.9c0-1.512.347-2.321 1.423-2.672v-.046c-1.072-.346-1.423-1.154-1.423-2.672V3.693c0-1.084-.383-1.466-1.301-1.466a4.5 4.5 0 0 0-.781.078V.122Q94.565.004 95.282 0c2.435 0 3.537 1.375 3.537 3.328V7.42c0 1.038.29 1.45 1.362 1.45h.597v2.244h-.597c-1.072 0-1.362.413-1.362 1.45v4.108c0 1.953-1.133 3.328-3.537 3.328a9 9 0 0 1-1.423-.122v-2.184q.386.09.78.091c.904 0 1.302-.38 1.302-1.465zm-26.294.718c-.428 0-.612-.321-.612-.794V9.206a3.3 3.3 0 0 0-1.133-2.779 5.4 5.4 0 0 0-3.368-.961 8.1 8.1 0 0 0-3.536.779v2.671a6.3 6.3 0 0 1 2.954-.794 2.38 2.38 0 0 1 1.561.427 1.45 1.45 0 0 1 .383 1.069v.397a8.4 8.4 0 0 0-1.745-.183c-.99-.045-1.973.2-2.827.702a2.82 2.82 0 0 0-1.24 2.424 2.77 2.77 0 0 0 1.194 2.35 4.2 4.2 0 0 0 2.342.657 4.93 4.93 0 0 0 2.832-.839l.031-.016a2.96 2.96 0 0 0 2.188.794 3.4 3.4 0 0 0 1.505-.304v-2.318c-.165.08-.346.121-.529.123m-3.736-.123a2.9 2.9 0 0 1-1.423.412c-.735 0-1.302-.346-1.302-1.007 0-.78.81-1.023 1.608-1.023q.567 0 1.118.138zm13.991 1.909a6.96 6.96 0 0 1-3.322.778c-3.246 0-5.67-2.214-5.67-5.236 0-3.161 2.633-5.267 5.802-5.267a6.8 6.8 0 0 1 3.012.701v2.886a5.4 5.4 0 0 0-2.832-.932 2.63 2.63 0 0 0-2.388 1.297 2.616 2.616 0 0 0 1.05 3.666c.426.22.903.32 1.38.288a5.1 5.1 0 0 0 2.97-1.007v2.825zM35.85 1.954h3.124V15.74H35.85zM17.217 15.19a7.1 7.1 0 0 1-3.306.778c-3.24 0-5.665-2.214-5.665-5.236 0-3.161 2.634-5.267 5.803-5.267a6.8 6.8 0 0 1 3 .701v2.886a5.4 5.4 0 0 0-2.832-.932 2.65 2.65 0 0 0-2.386 1.29 2.63 2.63 0 0 0 .009 2.707 2.65 2.65 0 0 0 2.418 1.25 5.03 5.03 0 0 0 2.955-1.007v2.825zm11.11-1.787c-.428 0-.612-.32-.612-.793V9.206a3.3 3.3 0 0 0-1.133-2.779 5.4 5.4 0 0 0-3.368-.961 8.1 8.1 0 0 0-3.536.779v2.671a6.3 6.3 0 0 1 2.954-.794 2.38 2.38 0 0 1 1.561.427 1.44 1.44 0 0 1 .383 1.069v.397a8.3 8.3 0 0 0-1.745-.183 5 5 0 0 0-2.832.702 2.83 2.83 0 0 0-1.24 2.424 2.77 2.77 0 0 0 1.194 2.35 4.2 4.2 0 0 0 2.342.657 4.93 4.93 0 0 0 2.832-.839l.031-.016a2.97 2.97 0 0 0 2.19.794 3.4 3.4 0 0 0 1.504-.304v-2.318c-.164.079-.343.12-.525.123m-3.75-.122a2.9 2.9 0 0 1-1.424.412c-.735 0-1.3-.346-1.3-1.007 0-.78.81-1.023 1.606-1.023.377 0 .752.046 1.117.138zM30.47 1.954h3.125V15.74H30.47zM2.181 12.564c0-1.038-.29-1.45-1.362-1.45H.222V8.87H.82c1.072 0 1.362-.412 1.362-1.45V3.328C2.181 1.358 3.314 0 5.718 0q.717.005 1.423.122v2.186a3.4 3.4 0 0 0-.78-.092c-.903 0-1.302.382-1.302 1.465v3.601c0 1.512-.347 2.321-1.423 2.672V10c1.072.346 1.423 1.154 1.423 2.672v3.6c0 1.084.399 1.466 1.302 1.466q.396-.001.78-.092v2.183a9 9 0 0 1-1.423.122c-2.43 0-3.537-1.374-3.537-3.328z"></path></g><defs><clipPath id="ck-logo-light_svg__a"><path fill="#fff" d="M0 0h101v20H0z"></path></clipPath></defs></svg></div></a><span class="message-flKFGZ">Copyright © 2026 Callstack</span><div class="rp-social-links"><a href="https://github.com/callstack/agent-device" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></div></div></a><a href="https://discord.gg/eYapw6F3" target="_blank" rel="noopener noreferrer" class="rp-social-links__item"><div class="rp-social-links__icon"><div class="rp-social-links__icon"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 24 24"><path fill="currentColor" d="M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0a13 13 0 0 0-.617-1.25a.08.08 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.1.1 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.08.08 0 0 0 .084-.028a14 14 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13 13 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10 10 0 0 0 .372-.292a.07.07 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.07.07 0 0 1 .078.01q.181.149.373.292a.077.077 0 0 1-.006.127a12.3 12.3 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.08.08 0 0 0 .084.028a19.8 19.8 0 0 0 6.002-3.03a.08.08 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03M8.02 15.33c-1.182 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418m7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418"/></svg></div></div></a><ul class="rp-hover-group rp-hover-group--hidden rp-hover-group--right"></ul></div></div></footer></div>
<div id="__rspress_modal_container"></div>
</body>
</html>