[{"data":1,"prerenderedAt":540},["ShallowReactive",2],{"navigation_docs":3,"-docs-assets-integration-nextjs":214,"-docs-assets-integration-nextjs-surround":535},[4,74,96,130],{"title":5,"path":6,"stem":7,"children":8},"Assets API","\u002Fdocs\u002Fassets","docs\u002Fassets\u002Findex",[9,10,32,57],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"page":31},"Getting Started","\u002Fdocs\u002Fassets\u002Fgetting-started","docs\u002Fassets\u002F1.getting-started",[15,19,23,27],{"title":16,"path":17,"stem":18},"Base URL","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fbase-url","docs\u002Fassets\u002F1.getting-started\u002F1.base-url",{"title":20,"path":21,"stem":22},"Important Notes","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fimportant-notes","docs\u002Fassets\u002F1.getting-started\u002F2.important-notes",{"title":24,"path":25,"stem":26},"URL Format","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Furl-format","docs\u002Fassets\u002F1.getting-started\u002F3.url-format",{"title":28,"path":29,"stem":30},"Custom Domains","\u002Fdocs\u002Fassets\u002Fgetting-started\u002Fcustom-domains","docs\u002Fassets\u002F1.getting-started\u002F4.custom-domains",false,{"title":33,"path":34,"stem":35,"children":36,"page":31},"Usage","\u002Fdocs\u002Fassets\u002Fusage","docs\u002Fassets\u002F2.usage",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Transforms","\u002Fdocs\u002Fassets\u002Fusage\u002Ftransforms","docs\u002Fassets\u002F2.usage\u002F1.transforms",{"title":42,"path":43,"stem":44},"Caching","\u002Fdocs\u002Fassets\u002Fusage\u002Fcaching","docs\u002Fassets\u002F2.usage\u002F2.caching",{"title":46,"path":47,"stem":48},"Recipes","\u002Fdocs\u002Fassets\u002Fusage\u002Frecipes","docs\u002Fassets\u002F2.usage\u002F3.recipes",{"title":50,"path":51,"stem":52},"Best Practices","\u002Fdocs\u002Fassets\u002Fusage\u002Fbest-practices","docs\u002Fassets\u002F2.usage\u002F4.best-practices",{"title":54,"path":55,"stem":56},"Reference","\u002Fdocs\u002Fassets\u002Fusage\u002Freference","docs\u002Fassets\u002F2.usage\u002F5.reference",{"title":58,"path":59,"stem":60,"children":61,"page":31},"Integration","\u002Fdocs\u002Fassets\u002Fintegration","docs\u002Fassets\u002F3.integration",[62,66,70],{"title":63,"path":64,"stem":65},"Nuxt","\u002Fdocs\u002Fassets\u002Fintegration\u002Fnuxt","docs\u002Fassets\u002F3.integration\u002F1.nuxt",{"title":67,"path":68,"stem":69},"Next.js","\u002Fdocs\u002Fassets\u002Fintegration\u002Fnextjs","docs\u002Fassets\u002F3.integration\u002F2.nextjs",{"title":71,"path":72,"stem":73},"Plain HTML","\u002Fdocs\u002Fassets\u002Fintegration\u002Fhtml","docs\u002Fassets\u002F3.integration\u002F3.html",{"title":75,"path":76,"stem":77,"children":78},"Events API","\u002Fdocs\u002Fevents","docs\u002Fevents\u002Findex",[79,80],{"title":75,"path":76,"stem":77},{"title":11,"path":81,"stem":82,"children":83,"page":31},"\u002Fdocs\u002Fevents\u002Fgetting-started","docs\u002Fevents\u002F1.getting-started",[84,88,92],{"title":85,"path":86,"stem":87},"Subscribing","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fsubscribing","docs\u002Fevents\u002F1.getting-started\u002F1.subscribing",{"title":89,"path":90,"stem":91},"Event Delivery","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-delivery","docs\u002Fevents\u002F1.getting-started\u002F2.event-delivery",{"title":93,"path":94,"stem":95},"Event Reference","\u002Fdocs\u002Fevents\u002Fgetting-started\u002Fevent-reference","docs\u002Fevents\u002F1.getting-started\u002F3.event-reference",{"title":97,"path":98,"stem":99,"children":100},"Integrations API","\u002Fdocs\u002Fintegrations","docs\u002Fintegrations\u002Findex",[101,102],{"title":97,"path":98,"stem":99},{"title":11,"path":103,"stem":104,"children":105,"page":31},"\u002Fdocs\u002Fintegrations\u002Fgetting-started","docs\u002Fintegrations\u002F1.getting-started",[106,110,114,118,122,126],{"title":107,"path":108,"stem":109},"Why Use It?","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwhy-integrations-api","docs\u002Fintegrations\u002F1.getting-started\u002F1.why-integrations-api",{"title":111,"path":112,"stem":113},"Use Cases","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fwho-is-it-for","docs\u002Fintegrations\u002F1.getting-started\u002F2.who-is-it-for",{"title":115,"path":116,"stem":117},"Pre-built Connectors","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fpre-built-integrations","docs\u002Fintegrations\u002F1.getting-started\u002F3.pre-built-integrations",{"title":119,"path":120,"stem":121},"Custom Inbound","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fcustom-inbound-api","docs\u002Fintegrations\u002F1.getting-started\u002F4.custom-inbound-api",{"title":123,"path":124,"stem":125},"Event Lifecycle","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fevent-lifecycle","docs\u002Fintegrations\u002F1.getting-started\u002F5.event-lifecycle",{"title":127,"path":128,"stem":129},"API Endpoints","\u002Fdocs\u002Fintegrations\u002Fgetting-started\u002Fmanagement-api-endpoints","docs\u002Fintegrations\u002F1.getting-started\u002F6.management-api-endpoints",{"title":131,"path":132,"stem":133,"children":134,"redirect":136},"MCP Server","\u002Fdocs\u002Fmcp","docs\u002Fmcp\u002Findex",[135,137,156,189],{"title":131,"path":132,"stem":133,"redirect":136},"\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fvscode",{"title":11,"path":138,"stem":139,"children":140,"page":31},"\u002Fdocs\u002Fmcp\u002Fgetting-started","docs\u002Fmcp\u002F1.getting-started",[141,144,148,152],{"title":142,"path":136,"stem":143},"VS Code","docs\u002Fmcp\u002F1.getting-started\u002F1.vscode",{"title":145,"path":146,"stem":147},"Claude Desktop","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fclaude-desktop","docs\u002Fmcp\u002F1.getting-started\u002F2.claude-desktop",{"title":149,"path":150,"stem":151},"Cursor","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fcursor","docs\u002Fmcp\u002F1.getting-started\u002F3.cursor",{"title":153,"path":154,"stem":155},"Verify Connection","\u002Fdocs\u002Fmcp\u002Fgetting-started\u002Fverify","docs\u002Fmcp\u002F1.getting-started\u002F4.verify",{"title":157,"path":158,"stem":159,"children":160,"page":31},"Tools","\u002Fdocs\u002Fmcp\u002Ftools","docs\u002Fmcp\u002F2.tools",[161,165,169,173,177,181,185],{"title":162,"path":163,"stem":164},"list_endpoints","\u002Fdocs\u002Fmcp\u002Ftools\u002Flist-endpoints","docs\u002Fmcp\u002F2.tools\u002F1.list-endpoints",{"title":166,"path":167,"stem":168},"get_endpoint","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-endpoint","docs\u002Fmcp\u002F2.tools\u002F2.get-endpoint",{"title":170,"path":171,"stem":172},"get_schema","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-schema","docs\u002Fmcp\u002F2.tools\u002F3.get-schema",{"title":174,"path":175,"stem":176},"list_schemas","\u002Fdocs\u002Fmcp\u002Ftools\u002Flist-schemas","docs\u002Fmcp\u002F2.tools\u002F4.list-schemas",{"title":178,"path":179,"stem":180},"search_docs","\u002Fdocs\u002Fmcp\u002Ftools\u002Fsearch-docs","docs\u002Fmcp\u002F2.tools\u002F5.search-docs",{"title":182,"path":183,"stem":184},"get_api_overview","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-api-overview","docs\u002Fmcp\u002F2.tools\u002F6.get-api-overview",{"title":186,"path":187,"stem":188},"get_description","\u002Fdocs\u002Fmcp\u002Ftools\u002Fget-description","docs\u002Fmcp\u002F2.tools\u002F7.get-description",{"title":190,"path":191,"stem":192,"children":193,"page":31},"Examples","\u002Fdocs\u002Fmcp\u002Fexamples","docs\u002Fmcp\u002F3.examples",[194,198,202,206,210],{"title":195,"path":196,"stem":197},"Exploring an API","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fexploring-an-api","docs\u002Fmcp\u002F3.examples\u002F1.exploring-an-api",{"title":199,"path":200,"stem":201},"Building a Feature","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fbuilding-a-feature","docs\u002Fmcp\u002F3.examples\u002F2.building-a-feature",{"title":203,"path":204,"stem":205},"Understanding Models","\u002Fdocs\u002Fmcp\u002Fexamples\u002Funderstanding-models","docs\u002Fmcp\u002F3.examples\u002F3.understanding-models",{"title":207,"path":208,"stem":209},"Code Review","\u002Fdocs\u002Fmcp\u002Fexamples\u002Fcode-review","docs\u002Fmcp\u002F3.examples\u002F4.code-review",{"title":211,"path":212,"stem":213},"Tips","\u002Fdocs\u002Fmcp\u002Fexamples\u002Ftips","docs\u002Fmcp\u002F3.examples\u002F5.tips",{"id":215,"title":67,"body":216,"description":529,"extension":530,"links":531,"meta":532,"navigation":507,"path":68,"seo":533,"stem":69,"__hash__":534},"docs\u002Fdocs\u002Fassets\u002F3.integration\u002F2.nextjs.md",{"type":217,"value":218,"toc":527},"minimark",[219,228,486,523],[220,221,222,223,227],"p",{},"Next.js ",[224,225,226],"code",{},"\u003CImage>"," requires a custom loader. Define one that maps to the Assets API:",[229,230,235],"pre",{"className":231,"code":232,"language":233,"meta":234,"style":234},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F lib\u002Favvyr-loader.ts\nexport default function avvyrLoader({ src, width, quality }: { src: string; width: number; quality?: number }) {\n  const params = new URLSearchParams({\n    width: String(width),\n    height: String(width),\n    fm: \"webp\",\n    q: String(quality || 80),\n  });\n  return `https:\u002F\u002Fassets.avvyr.com${src}?${params}`;\n}\n","ts","",[224,236,237,246,324,349,371,389,409,435,446,480],{"__ignoreMap":234},[238,239,242],"span",{"class":240,"line":241},"line",1,[238,243,245],{"class":244},"sHwdD","\u002F\u002F lib\u002Favvyr-loader.ts\n",[238,247,249,253,256,260,264,268,272,275,278,280,283,286,289,292,295,299,302,304,306,309,311,313,316,318,321],{"class":240,"line":248},2,[238,250,252],{"class":251},"s7zQu","export",[238,254,255],{"class":251}," default",[238,257,259],{"class":258},"spNyl"," function",[238,261,263],{"class":262},"s2Zo4"," avvyrLoader",[238,265,267],{"class":266},"sMK4o","({",[238,269,271],{"class":270},"sHdIc"," src",[238,273,274],{"class":266},",",[238,276,277],{"class":270}," width",[238,279,274],{"class":266},[238,281,282],{"class":270}," quality",[238,284,285],{"class":266}," }:",[238,287,288],{"class":266}," {",[238,290,271],{"class":291},"swJcz",[238,293,294],{"class":266},":",[238,296,298],{"class":297},"sBMFI"," string",[238,300,301],{"class":266},";",[238,303,277],{"class":291},[238,305,294],{"class":266},[238,307,308],{"class":297}," number",[238,310,301],{"class":266},[238,312,282],{"class":291},[238,314,315],{"class":266},"?:",[238,317,308],{"class":297},[238,319,320],{"class":266}," })",[238,322,323],{"class":266}," {\n",[238,325,327,330,334,337,340,343,346],{"class":240,"line":326},3,[238,328,329],{"class":258},"  const",[238,331,333],{"class":332},"sTEyZ"," params",[238,335,336],{"class":266}," =",[238,338,339],{"class":266}," new",[238,341,342],{"class":262}," URLSearchParams",[238,344,345],{"class":291},"(",[238,347,348],{"class":266},"{\n",[238,350,352,355,357,360,362,365,368],{"class":240,"line":351},4,[238,353,354],{"class":291},"    width",[238,356,294],{"class":266},[238,358,359],{"class":262}," String",[238,361,345],{"class":291},[238,363,364],{"class":332},"width",[238,366,367],{"class":291},")",[238,369,370],{"class":266},",\n",[238,372,374,377,379,381,383,385,387],{"class":240,"line":373},5,[238,375,376],{"class":291},"    height",[238,378,294],{"class":266},[238,380,359],{"class":262},[238,382,345],{"class":291},[238,384,364],{"class":332},[238,386,367],{"class":291},[238,388,370],{"class":266},[238,390,392,395,397,400,404,407],{"class":240,"line":391},6,[238,393,394],{"class":291},"    fm",[238,396,294],{"class":266},[238,398,399],{"class":266}," \"",[238,401,403],{"class":402},"sfazB","webp",[238,405,406],{"class":266},"\"",[238,408,370],{"class":266},[238,410,412,415,417,419,421,424,427,431,433],{"class":240,"line":411},7,[238,413,414],{"class":291},"    q",[238,416,294],{"class":266},[238,418,359],{"class":262},[238,420,345],{"class":291},[238,422,423],{"class":332},"quality",[238,425,426],{"class":266}," ||",[238,428,430],{"class":429},"sbssI"," 80",[238,432,367],{"class":291},[238,434,370],{"class":266},[238,436,438,441,443],{"class":240,"line":437},8,[238,439,440],{"class":266},"  }",[238,442,367],{"class":291},[238,444,445],{"class":266},";\n",[238,447,449,452,455,458,461,464,467,470,472,475,478],{"class":240,"line":448},9,[238,450,451],{"class":251},"  return",[238,453,454],{"class":266}," `",[238,456,457],{"class":402},"https:\u002F\u002Fassets.avvyr.com",[238,459,460],{"class":266},"${",[238,462,463],{"class":332},"src",[238,465,466],{"class":266},"}",[238,468,469],{"class":402},"?",[238,471,460],{"class":266},[238,473,474],{"class":332},"params",[238,476,477],{"class":266},"}`",[238,479,445],{"class":266},[238,481,483],{"class":240,"line":482},10,[238,484,485],{"class":266},"}\n",[229,487,491],{"className":488,"code":489,"language":490,"meta":234,"style":234},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import Image from \"next\u002Fimage\";\nimport avvyrLoader from \"@\u002Flib\u002Favvyr-loader\";\n\nexport default function ProductImage() {\n  return \u003CImage loader={avvyrLoader} src=\"\u002Fassets\u002Fproducts\u002Fsofa.jpg\" width={600} height={600} quality={80} alt=\"Blue sofa\" \u002F>;\n}\n","tsx",[224,492,493,498,503,509,514,519],{"__ignoreMap":234},[238,494,495],{"class":240,"line":241},[238,496,497],{},"import Image from \"next\u002Fimage\";\n",[238,499,500],{"class":240,"line":248},[238,501,502],{},"import avvyrLoader from \"@\u002Flib\u002Favvyr-loader\";\n",[238,504,505],{"class":240,"line":326},[238,506,508],{"emptyLinePlaceholder":507},true,"\n",[238,510,511],{"class":240,"line":351},[238,512,513],{},"export default function ProductImage() {\n",[238,515,516],{"class":240,"line":373},[238,517,518],{},"  return \u003CImage loader={avvyrLoader} src=\"\u002Fassets\u002Fproducts\u002Fsofa.jpg\" width={600} height={600} quality={80} alt=\"Blue sofa\" \u002F>;\n",[238,520,521],{"class":240,"line":391},[238,522,485],{},[524,525,526],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":234,"searchDepth":248,"depth":248,"links":528},[],"Custom image loader for next\u002Fimage","md",null,{},{"title":67,"description":529},"vid3c7rXGrWcg_zorTXDRNxppMz0-lEROnMiP_SN0kA",[536,538],{"title":63,"path":64,"stem":65,"description":537,"children":-1},"NuxtImg provider setup and component usage",{"title":71,"path":72,"stem":73,"description":539,"children":-1},"Responsive srcset and direct URL construction",1775725943929]