{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sanning","colors":{"primary":"#16181D","light":"#F5F5F2","dark":"#16181D"},"logo":{"light":"https://mintcdn.com/sanning/zFUykZDtTtUJQa8i/logo/sanning-ink.svg?fit=max\u0026auto=format\u0026n=zFUykZDtTtUJQa8i\u0026q=85\u0026s=fefe89d18ab5b9676c8f07446c27a981","dark":"https://mintcdn.com/sanning/zFUykZDtTtUJQa8i/logo/sanning-paper.svg?fit=max\u0026auto=format\u0026n=zFUykZDtTtUJQa8i\u0026q=85\u0026s=c9e4f9d838be20b0115b0b61ec69d987"},"favicon":{"light":"https://mintcdn.com/sanning/zFUykZDtTtUJQa8i/favicon.svg?fit=max\u0026auto=format\u0026n=zFUykZDtTtUJQa8i\u0026q=85\u0026s=5b68a19a17b112b9613df463f5ab08fb","dark":"https://mintcdn.com/sanning/zFUykZDtTtUJQa8i/favicon-midnight.svg?fit=max\u0026auto=format\u0026n=zFUykZDtTtUJQa8i\u0026q=85\u0026s=fb77fbbca6aa2a820f547a415fa4e634"},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#0E1118"}},"navbar":{"primary":{"type":"button","label":"Book a call","href":"https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ18-Dhr-iEjRTlJFuFJNL9aTUjEu3pkzVx6VqyP3iRc_uZJd4hbdkog2KTmOml-hcmqhtGAqbfZ"}},"fonts":{"heading":{"family":"Geist","weight":600,"source":"fonts/Geist-Variable.woff2","format":"woff2"},"body":{"family":"Geist","weight":400,"source":"fonts/Geist-Variable.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":"system","latex":false},"integrations":{"telemetry":{"enabled":false}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor"],"display":"header"},"thumbnails":{"preset":"headline","appearance":"light","surface":"neutral","fonts":{"family":"Instrument Sans"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sanning","hasAudioNarration":false,"actualSubdomain":"sanning","customDomains":["docs.sanning.io"],"gitSource":{"type":"github","owner":"sanning-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aebf926c8c6c1ebc540795d","collectionId":"e6cf4853-20e8-4d8e-bc78-74d04cfc4ae0","liveDeploymentHistoryId":"6aebf926c8c6c1ebc540795d","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aebf926c8c6c1ebc540795d","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Record your agents","count":3},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Evidence","count":2},{"language":"default","tag":"Reference","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Geist Mono\";src:url(\"/fonts/GeistMono-Variable.woff2\") format(\"woff2\");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:\"Instrument Sans\";src:url(\"/fonts/instrument-sans-latin-ext-wght-normal.woff2\") format(\"woff2\");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:\"Instrument Sans\";src:url(\"/fonts/instrument-sans-latin-wght-normal.woff2\") format(\"woff2\");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}pre,code,kbd{font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, monospace!important}pre code{font-size:0.875rem;line-height:1.7}.code-block,.code-group{border-radius:0!important;border:1px solid #C9CDD2!important;background:#F5F5F2!important}.dark .code-block,.dark .code-group{border-color:#262B36!important;background:#151A24!important}.code-group{padding:0!important}.code-group,.code-group *{border-radius:0!important}.code-group .code-block{border:0!important;border-top:1px solid #C9CDD2!important}.dark .code-group .code-block{border-top-color:#262B36!important}.code-group [role=\"tablist\"]{border-bottom:1px solid #C9CDD2!important}.dark .code-group [role=\"tablist\"]{border-bottom-color:#262B36!important}html .code-block-background,html.dark .code-block-background,html pre.shiki,html.dark pre.shiki{background-color:transparent!important;border-radius:0!important}html [data-floating-buttons] button{background:transparent!important}.code-group [role=\"tab\"]{font-family:\"Geist Mono\", ui-monospace, monospace;font-size:0.6875rem;letter-spacing:0.08em;text-transform:uppercase}:not(pre)>code{display:inline-block;max-width:100%;vertical-align:baseline;word-break:normal;overflow-wrap:normal;padding:0.1em 0.3em!important;border-radius:4px;background:#F5F5F2!important}.dark :not(pre)>code{background:#151A24!important}@media (max-width: 640px){:not(pre)>code{overflow-wrap:anywhere}}#page-title{font-family:\"Instrument Sans\", system-ui, sans-serif;font-weight:600;line-height:1.1;letter-spacing:-0.03em;text-wrap:balance}.eyebrow{font-family:\"Geist Mono\", ui-monospace, monospace;font-size:0.6875rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:#5D636B!important}.dark .eyebrow{color:#8A9098!important}#content h2,#content h3{text-wrap:balance}#content{color:#16181D;line-height:1.6}.dark #content{color:#F5F5F2}#content>p,#content>ul,#content>ol,#content [data-as=\"p\"],#content-area #content>span[data-as=\"p\"]{margin-top:0;margin-bottom:1.6em}#content li{margin-top:0.4em;margin-bottom:0.4em}#content h2{margin-top:3rem;margin-bottom:1rem}#content h3{margin-top:2rem;margin-bottom:0.75rem}#content>p{text-wrap:pretty}#content table{font-variant-numeric:tabular-nums;border-collapse:collapse}#content table td{min-width:0!important;color:#16181D;border-bottom:1px solid #C9CDD2;vertical-align:top}#content table th{white-space:nowrap;font-size:0.875rem;font-weight:500;color:#5D636B;border-bottom:1px solid #C9CDD2}#content table tr:last-child td{border-bottom:0}.dark #content table th{color:#8A9098;border-bottom-color:#262B36}.dark #content table td{color:#F5F5F2;border-bottom-color:#262B36}.callout,.card{border-radius:6px!important}#topbar-cta-button a>span:first-child{border-radius:6px!important}#topbar-cta-button a>span:first-child{background-color:#2B3FD6!important}.dark #topbar-cta-button a>span:first-child{background-color:#7D8CFF!important}.dark #topbar-cta-button a>div>span,.dark #topbar-cta-button a svg{color:#0E1118!important}.callout{background:#F7F7F8!important;border:1px solid #C9CDD2!important}.callout [data-component-part=\"callout-content\"]{color:#16181D!important}.callout[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg,.callout[data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg{color:#5D636B!important;fill:#5D636B!important}.callout[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg{color:#8A6400!important;fill:#8A6400!important}.card{border:1px solid #C9CDD2!important}.card:hover{border-color:#16181D!important}.dark .callout{background:#151A24!important;border-color:#262B36!important}.dark .callout [data-component-part=\"callout-content\"]{color:#F5F5F2!important}.dark .callout[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg{color:#8A9098!important;fill:#8A9098!important}.dark .callout[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg{color:#E0A100!important;fill:#E0A100!important}.dark .card{border-color:#262B36!important}.dark .card:hover{border-color:#F5F5F2!important}"}],"page":{"pagePath":"adapters/build-your-own","slug":"/adapters/build-your-own","pageMetadata":{"title":"Build your own adapter","description":"Request an adapter for a framework that has none.","tag":"Soon","href":"/adapters/build-your-own"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Request an adapter for a framework that has none.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`To get an adapter for a framework that has none, `,_jsx(_components.a,{href:`https://calendar.app.google/Znof4jp6fordTjhW6`,children:`request one`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`For what an adapter does, see `,_jsx(_components.a,{href:`/adapters`,children:`Record your agent with an adapter`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Build your own adapter","description":"Request an adapter for a framework that has none.","tag":"Soon","href":"/adapters/build-your-own"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"sanning","siteName":"Sanning","title":"Build your own adapter - Sanning","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T03:34:04.647Z","originalFileLocation":"adapters/build-your-own.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Request an adapter for a framework that has none.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sanning\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Build your own adapter - Sanning\">\u003cmeta data-mint-head property=\"og:description\" content=\"Request an adapter for a framework that has none.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sanning\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sanning.io/adapters/build-your-own\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sanning.mintlify.site/_mintlify/api/og/v2?division=Record+your+agents\u0026amp;title=Build+your+own+adapter\u0026amp;description=Request+an+adapter+for+a+framework+that+has+none.\u0026amp;theme=82852c8edbac4c249b708f0c\u0026amp;signature=2a08bb67337d9a56000647f2c34efdeb8aab69f5bf70c87caa9436c654f11537\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Build your own adapter - Sanning\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Request an adapter for a framework that has none.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sanning.mintlify.site/_mintlify/api/og/v2?division=Record+your+agents\u0026amp;title=Build+your+own+adapter\u0026amp;description=Request+an+adapter+for+a+framework+that+has+none.\u0026amp;theme=82852c8edbac4c249b708f0c\u0026amp;signature=2a08bb67337d9a56000647f2c34efdeb8aab69f5bf70c87caa9436c654f11537\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sanning/kBQiGwlFI7lr0hZ3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sanning\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16181D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sanning.io/adapters/build-your-own\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/adapters/build-your-own.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sanning.io/#organization\",\"name\":\"Sanning\",\"url\":\"https://docs.sanning.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sanning/zFUykZDtTtUJQa8i/logo/sanning-ink.svg?fit=max\u0026auto=format\u0026n=zFUykZDtTtUJQa8i\u0026q=85\u0026s=fefe89d18ab5b9676c8f07446c27a981\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sanning.io#website\",\"name\":\"Sanning\",\"url\":\"https://docs.sanning.io\",\"publisher\":{\"@id\":\"https://docs.sanning.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sanning.io/adapters/build-your-own#webpage\",\"url\":\"https://docs.sanning.io/adapters/build-your-own\",\"name\":\"Build your own adapter\",\"description\":\"Request an adapter for a framework that has none.\",\"dateModified\":\"2026-11-05T03:34:04.647Z\",\"isPartOf\":{\"@id\":\"https://docs.sanning.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sanning.io/adapters/build-your-own#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sanning.io/adapters/build-your-own#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Record your agents\",\"item\":\"https://docs.sanning.io/adapters/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build your own adapter\",\"item\":\"https://docs.sanning.io/adapters/build-your-own\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sanning.io/adapters/build-your-own#article\",\"headline\":\"Build your own adapter\",\"name\":\"Build your own adapter\",\"description\":\"Request an adapter for a framework that has none.\",\"url\":\"https://docs.sanning.io/adapters/build-your-own\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sanning.io/adapters/build-your-own#webpage\"},\"dateModified\":\"2026-11-05T03:34:04.647Z\",\"publisher\":{\"@id\":\"https://docs.sanning.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sanning.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sanning\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sanning","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Prove what your AI agents did","sidebarTitle":"Introduction","href":"/index"},{"title":"Set up your agent to record evidence","sidebarTitle":"Quickstart","href":"/quickstart"},{"title":"Test in the Sandbox","href":"/sandbox"}]},{"group":"Record your agents","pages":[{"title":"Record your agent with an adapter","sidebarTitle":"Adapters","href":"/adapters/index"},{"title":"Record a LangChain or LangGraph agent","sidebarTitle":"LangChain and LangGraph","description":"Add the adapter as a callback, name your decisions and approvals, and close each run, in TypeScript or Python.","href":"/adapters/langchain"},{"title":"Build your own adapter","tag":"Soon","href":"/adapters/build-your-own"}]},{"group":"Evidence","pages":[{"title":"Build an evidence pack","description":"One command joins Sanning's records and your own content into a zip that a reviewer can verify without Sanning, an account or access to your systems.","href":"/evidence/build"},{"title":"Verify an evidence pack","href":"/evidence/verify"}]},{"group":"Reference","pages":[{"title":"Command line reference","sidebarTitle":"Command line","href":"/reference/cli"}]}]},"basePath":"","title":"Build your own adapter - Sanning","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}