[{"data":1,"prerenderedAt":1019},["ShallowReactive",2],{"navigation_docs":3,"-api-server-utilities":396,"-api-server-utilities-surround":1014},[4,35,61,83],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":34},"Getting Started","lucide:rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22,26,30],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation",{"title":19,"path":20,"stem":21},"Project Structure","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure",{"title":23,"path":24,"stem":25},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F5.configuration",{"title":27,"path":28,"stem":29},"Requirements","\u002Fgetting-started\u002Frequirements","1.getting-started\u002F6.requirements",{"title":31,"path":32,"stem":33},"Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting","1.getting-started\u002F7.troubleshooting",false,{"title":36,"icon":37,"path":38,"stem":39,"children":40,"page":34},"Guides","lucide:book-search","\u002Fguides","2.guides",[41,45,49,53,57],{"title":42,"path":43,"stem":44},"Authentication","\u002Fguides\u002Fauthentication","2.guides\u002F1.authentication",{"title":46,"path":47,"stem":48},"Webhooks","\u002Fguides\u002Fwebhooks","2.guides\u002F2.webhooks",{"title":50,"path":51,"stem":52},"App Bridge","\u002Fguides\u002Fapp-bridge","2.guides\u002F3.app-bridge",{"title":54,"path":55,"stem":56},"Polaris Components","\u002Fguides\u002Fpolaris-components","2.guides\u002F4.polaris-components",{"title":58,"path":59,"stem":60},"GraphQL Codegen","\u002Fguides\u002Fgraphql-codegen","2.guides\u002F5.graphql-codegen",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":34},"API Reference","lucide:square-dashed-bottom-code","\u002Fapi","3.api",[67,71,75,79],{"title":68,"path":69,"stem":70},"Server Utilities","\u002Fapi\u002Fserver-utilities","3.api\u002F1.server-utilities",{"title":72,"path":73,"stem":74},"Composables","\u002Fapi\u002Fcomposables","3.api\u002F2.composables",{"title":76,"path":77,"stem":78},"Middleware","\u002Fapi\u002Fmiddleware","3.api\u002F4.middleware",{"title":80,"path":81,"stem":82},"Types","\u002Fapi\u002Ftypes","3.api\u002F5.types",{"title":84,"icon":85,"path":86,"stem":87,"children":88},"Polaris Web Components","ic:baseline-shopify","\u002Fpolaris-wc","4.polaris-wc",[89,91,124,145,166,243,264,289,318,371,384],{"title":84,"path":86,"stem":90},"4.polaris-wc\u002Findex",{"title":92,"path":93,"stem":94,"children":95,"page":34},"Layout","\u002Fpolaris-wc\u002Flayout","4.polaris-wc\u002F1.layout",[96,100,104,108,112,116,120],{"title":97,"path":98,"stem":99},"Page","\u002Fpolaris-wc\u002Flayout\u002Fpage","4.polaris-wc\u002F1.layout\u002F1.page",{"title":101,"path":102,"stem":103},"Box","\u002Fpolaris-wc\u002Flayout\u002Fbox","4.polaris-wc\u002F1.layout\u002F2.box",{"title":105,"path":106,"stem":107},"Stack","\u002Fpolaris-wc\u002Flayout\u002Fstack","4.polaris-wc\u002F1.layout\u002F3.stack",{"title":109,"path":110,"stem":111},"Grid","\u002Fpolaris-wc\u002Flayout\u002Fgrid","4.polaris-wc\u002F1.layout\u002F4.grid",{"title":113,"path":114,"stem":115},"GridItem","\u002Fpolaris-wc\u002Flayout\u002Fgrid-item","4.polaris-wc\u002F1.layout\u002F5.grid-item",{"title":117,"path":118,"stem":119},"Section","\u002Fpolaris-wc\u002Flayout\u002Fsection","4.polaris-wc\u002F1.layout\u002F6.section",{"title":121,"path":122,"stem":123},"Divider","\u002Fpolaris-wc\u002Flayout\u002Fdivider","4.polaris-wc\u002F1.layout\u002F7.divider",{"title":125,"path":126,"stem":127,"children":128,"page":34},"App Bridge Ui","\u002Fpolaris-wc\u002Fapp-bridge-ui","4.polaris-wc\u002F10.app-bridge-ui",[129,133,137,141],{"title":130,"path":131,"stem":132},"UiModal","\u002Fpolaris-wc\u002Fapp-bridge-ui\u002Fui-modal","4.polaris-wc\u002F10.app-bridge-ui\u002F1.ui-modal",{"title":134,"path":135,"stem":136},"UiTitleBar","\u002Fpolaris-wc\u002Fapp-bridge-ui\u002Fui-title-bar","4.polaris-wc\u002F10.app-bridge-ui\u002F2.ui-title-bar",{"title":138,"path":139,"stem":140},"UiSaveBar","\u002Fpolaris-wc\u002Fapp-bridge-ui\u002Fui-save-bar","4.polaris-wc\u002F10.app-bridge-ui\u002F3.ui-save-bar",{"title":142,"path":143,"stem":144},"UiNavMenu","\u002Fpolaris-wc\u002Fapp-bridge-ui\u002Fui-nav-menu","4.polaris-wc\u002F10.app-bridge-ui\u002F4.ui-nav-menu",{"title":146,"path":147,"stem":148,"children":149,"page":34},"Actions","\u002Fpolaris-wc\u002Factions","4.polaris-wc\u002F2.actions",[150,154,158,162],{"title":151,"path":152,"stem":153},"Button","\u002Fpolaris-wc\u002Factions\u002Fbutton","4.polaris-wc\u002F2.actions\u002F1.button",{"title":155,"path":156,"stem":157},"ButtonGroup","\u002Fpolaris-wc\u002Factions\u002Fbutton-group","4.polaris-wc\u002F2.actions\u002F2.button-group",{"title":159,"path":160,"stem":161},"Clickable","\u002Fpolaris-wc\u002Factions\u002Fclickable","4.polaris-wc\u002F2.actions\u002F3.clickable",{"title":163,"path":164,"stem":165},"Link","\u002Fpolaris-wc\u002Factions\u002Flink","4.polaris-wc\u002F2.actions\u002F4.link",{"title":167,"path":168,"stem":169,"children":170,"page":34},"Forms","\u002Fpolaris-wc\u002Fforms","4.polaris-wc\u002F3.forms",[171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239],{"title":172,"path":173,"stem":174},"TextField","\u002Fpolaris-wc\u002Fforms\u002Ftext-field","4.polaris-wc\u002F3.forms\u002F01.text-field",{"title":176,"path":177,"stem":178},"NumberField","\u002Fpolaris-wc\u002Fforms\u002Fnumber-field","4.polaris-wc\u002F3.forms\u002F02.number-field",{"title":180,"path":181,"stem":182},"EmailField","\u002Fpolaris-wc\u002Fforms\u002Femail-field","4.polaris-wc\u002F3.forms\u002F03.email-field",{"title":184,"path":185,"stem":186},"PasswordField","\u002Fpolaris-wc\u002Fforms\u002Fpassword-field","4.polaris-wc\u002F3.forms\u002F04.password-field",{"title":188,"path":189,"stem":190},"UrlField","\u002Fpolaris-wc\u002Fforms\u002Furl-field","4.polaris-wc\u002F3.forms\u002F05.url-field",{"title":192,"path":193,"stem":194},"MoneyField","\u002Fpolaris-wc\u002Fforms\u002Fmoney-field","4.polaris-wc\u002F3.forms\u002F06.money-field",{"title":196,"path":197,"stem":198},"ColorField","\u002Fpolaris-wc\u002Fforms\u002Fcolor-field","4.polaris-wc\u002F3.forms\u002F07.color-field",{"title":200,"path":201,"stem":202},"DateField","\u002Fpolaris-wc\u002Fforms\u002Fdate-field","4.polaris-wc\u002F3.forms\u002F08.date-field",{"title":204,"path":205,"stem":206},"TextArea","\u002Fpolaris-wc\u002Fforms\u002Ftext-area","4.polaris-wc\u002F3.forms\u002F09.text-area",{"title":208,"path":209,"stem":210},"Select","\u002Fpolaris-wc\u002Fforms\u002Fselect","4.polaris-wc\u002F3.forms\u002F10.select",{"title":212,"path":213,"stem":214},"Checkbox","\u002Fpolaris-wc\u002Fforms\u002Fcheckbox","4.polaris-wc\u002F3.forms\u002F11.checkbox",{"title":216,"path":217,"stem":218},"Switch","\u002Fpolaris-wc\u002Fforms\u002Fswitch","4.polaris-wc\u002F3.forms\u002F12.switch",{"title":220,"path":221,"stem":222},"ChoiceList","\u002Fpolaris-wc\u002Fforms\u002Fchoice-list","4.polaris-wc\u002F3.forms\u002F13.choice-list",{"title":224,"path":225,"stem":226},"Choice","\u002Fpolaris-wc\u002Fforms\u002Fchoice","4.polaris-wc\u002F3.forms\u002F14.choice",{"title":228,"path":229,"stem":230},"SearchField","\u002Fpolaris-wc\u002Fforms\u002Fsearch-field","4.polaris-wc\u002F3.forms\u002F15.search-field",{"title":232,"path":233,"stem":234},"DropZone","\u002Fpolaris-wc\u002Fforms\u002Fdrop-zone","4.polaris-wc\u002F3.forms\u002F16.drop-zone",{"title":236,"path":237,"stem":238},"ColorPicker","\u002Fpolaris-wc\u002Fforms\u002Fcolor-picker","4.polaris-wc\u002F3.forms\u002F17.color-picker",{"title":240,"path":241,"stem":242},"DatePicker","\u002Fpolaris-wc\u002Fforms\u002Fdate-picker","4.polaris-wc\u002F3.forms\u002F18.date-picker",{"title":244,"path":245,"stem":246,"children":247,"page":34},"Feedback","\u002Fpolaris-wc\u002Ffeedback","4.polaris-wc\u002F4.feedback",[248,252,256,260],{"title":249,"path":250,"stem":251},"Banner","\u002Fpolaris-wc\u002Ffeedback\u002Fbanner","4.polaris-wc\u002F4.feedback\u002F1.banner",{"title":253,"path":254,"stem":255},"Badge","\u002Fpolaris-wc\u002Ffeedback\u002Fbadge","4.polaris-wc\u002F4.feedback\u002F2.badge",{"title":257,"path":258,"stem":259},"Spinner","\u002Fpolaris-wc\u002Ffeedback\u002Fspinner","4.polaris-wc\u002F4.feedback\u002F3.spinner",{"title":261,"path":262,"stem":263},"Tooltip","\u002Fpolaris-wc\u002Ffeedback\u002Ftooltip","4.polaris-wc\u002F4.feedback\u002F4.tooltip",{"title":265,"path":266,"stem":267,"children":268,"page":34},"Navigation","\u002Fpolaris-wc\u002Fnavigation","4.polaris-wc\u002F5.navigation",[269,273,277,281,285],{"title":270,"path":271,"stem":272},"AppNav","\u002Fpolaris-wc\u002Fnavigation\u002Fapp-nav","4.polaris-wc\u002F5.navigation\u002F1.app-nav",{"title":274,"path":275,"stem":276},"Menu","\u002Fpolaris-wc\u002Fnavigation\u002Fmenu","4.polaris-wc\u002F5.navigation\u002F2.menu",{"title":278,"path":279,"stem":280},"Option","\u002Fpolaris-wc\u002Fnavigation\u002Foption","4.polaris-wc\u002F5.navigation\u002F3.option",{"title":282,"path":283,"stem":284},"OptionGroup","\u002Fpolaris-wc\u002Fnavigation\u002Foption-group","4.polaris-wc\u002F5.navigation\u002F4.option-group",{"title":286,"path":287,"stem":288},"Popover","\u002Fpolaris-wc\u002Fnavigation\u002Fpopover","4.polaris-wc\u002F5.navigation\u002F5.popover",{"title":290,"path":291,"stem":292,"children":293,"page":34},"Data","\u002Fpolaris-wc\u002Fdata","4.polaris-wc\u002F6.data",[294,298,302,306,310,314],{"title":295,"path":296,"stem":297},"Table","\u002Fpolaris-wc\u002Fdata\u002Ftable","4.polaris-wc\u002F6.data\u002F1.table",{"title":299,"path":300,"stem":301},"TableHeader","\u002Fpolaris-wc\u002Fdata\u002Ftable-header","4.polaris-wc\u002F6.data\u002F2.table-header",{"title":303,"path":304,"stem":305},"TableHeaderRow","\u002Fpolaris-wc\u002Fdata\u002Ftable-header-row","4.polaris-wc\u002F6.data\u002F3.table-header-row",{"title":307,"path":308,"stem":309},"TableBody","\u002Fpolaris-wc\u002Fdata\u002Ftable-body","4.polaris-wc\u002F6.data\u002F4.table-body",{"title":311,"path":312,"stem":313},"TableRow","\u002Fpolaris-wc\u002Fdata\u002Ftable-row","4.polaris-wc\u002F6.data\u002F5.table-row",{"title":315,"path":316,"stem":317},"TableCell","\u002Fpolaris-wc\u002Fdata\u002Ftable-cell","4.polaris-wc\u002F6.data\u002F6.table-cell",{"title":319,"path":320,"stem":321,"children":322,"page":34},"Content","\u002Fpolaris-wc\u002Fcontent","4.polaris-wc\u002F7.content",[323,327,331,335,339,343,347,351,355,359,363,367],{"title":324,"path":325,"stem":326},"Text","\u002Fpolaris-wc\u002Fcontent\u002Ftext","4.polaris-wc\u002F7.content\u002F01.text",{"title":328,"path":329,"stem":330},"Heading","\u002Fpolaris-wc\u002Fcontent\u002Fheading","4.polaris-wc\u002F7.content\u002F02.heading",{"title":332,"path":333,"stem":334},"Paragraph","\u002Fpolaris-wc\u002Fcontent\u002Fparagraph","4.polaris-wc\u002F7.content\u002F03.paragraph",{"title":336,"path":337,"stem":338},"Icon","\u002Fpolaris-wc\u002Fcontent\u002Ficon","4.polaris-wc\u002F7.content\u002F04.icon",{"title":340,"path":341,"stem":342},"Image","\u002Fpolaris-wc\u002Fcontent\u002Fimage","4.polaris-wc\u002F7.content\u002F05.image",{"title":344,"path":345,"stem":346},"Thumbnail","\u002Fpolaris-wc\u002Fcontent\u002Fthumbnail","4.polaris-wc\u002F7.content\u002F06.thumbnail",{"title":348,"path":349,"stem":350},"Avatar","\u002Fpolaris-wc\u002Fcontent\u002Favatar","4.polaris-wc\u002F7.content\u002F07.avatar",{"title":352,"path":353,"stem":354},"Chip","\u002Fpolaris-wc\u002Fcontent\u002Fchip","4.polaris-wc\u002F7.content\u002F08.chip",{"title":356,"path":357,"stem":358},"ClickableChip","\u002Fpolaris-wc\u002Fcontent\u002Fclickable-chip","4.polaris-wc\u002F7.content\u002F09.clickable-chip",{"title":360,"path":361,"stem":362},"ListItem","\u002Fpolaris-wc\u002Fcontent\u002Flist-item","4.polaris-wc\u002F7.content\u002F10.list-item",{"title":364,"path":365,"stem":366},"OrderedList","\u002Fpolaris-wc\u002Fcontent\u002Fordered-list","4.polaris-wc\u002F7.content\u002F11.ordered-list",{"title":368,"path":369,"stem":370},"UnorderedList","\u002Fpolaris-wc\u002Fcontent\u002Funordered-list","4.polaris-wc\u002F7.content\u002F12.unordered-list",{"title":372,"path":373,"stem":374,"children":375,"page":34},"Overlays","\u002Fpolaris-wc\u002Foverlays","4.polaris-wc\u002F8.overlays",[376,380],{"title":377,"path":378,"stem":379},"Modal","\u002Fpolaris-wc\u002Foverlays\u002Fmodal","4.polaris-wc\u002F8.overlays\u002F1.modal",{"title":381,"path":382,"stem":383},"QueryContainer","\u002Fpolaris-wc\u002Foverlays\u002Fquery-container","4.polaris-wc\u002F8.overlays\u002F2.query-container",{"title":385,"path":386,"stem":387,"children":388,"page":34},"App","\u002Fpolaris-wc\u002Fapp","4.polaris-wc\u002F9.app",[389,392],{"title":385,"path":390,"stem":391},"\u002Fpolaris-wc\u002Fapp\u002Fapp","4.polaris-wc\u002F9.app\u002F1.app",{"title":393,"path":394,"stem":395},"LoadingIndicator","\u002Fpolaris-wc\u002Fapp\u002Floading-indicator","4.polaris-wc\u002F9.app\u002F2.loading-indicator",{"id":397,"title":68,"body":398,"description":1006,"extension":1007,"links":1008,"meta":1009,"navigation":866,"path":69,"seo":1010,"stem":70,"__hash__":1013},"docs\u002F3.api\u002F1.server-utilities.md",{"type":399,"value":400,"toc":997},"minimark",[401,406,415,525,532,538,626,631,708,711,763,820,824,830,993],[402,403,405],"h2",{"id":404},"auto-imported-utilities","Auto-Imported Utilities",[407,408,409,410,414],"p",{},"These utilities are auto-imported in your ",[411,412,413],"code",{},"server\u002F"," directory — no imports needed:",[416,417,418,431],"table",{},[419,420,421],"thead",{},[422,423,424,428],"tr",{},[425,426,427],"th",{},"Utility",[425,429,430],{},"Purpose",[432,433,434,445,455,465,475,485,495,505,515],"tbody",{},[422,435,436,442],{},[437,438,439],"td",{},[411,440,441],{},"useShopifyAdmin(event)",[437,443,444],{},"Authenticate admin requests (token exchange, session)",[422,446,447,452],{},[437,448,449],{},[411,450,451],{},"useShopifyWebhook(event)",[437,453,454],{},"Validate webhook HMAC + parse payload",[422,456,457,462],{},[437,458,459],{},[411,460,461],{},"useShopifyFlow(event)",[437,463,464],{},"Authenticate Shopify Flow extension requests",[422,466,467,472],{},[437,468,469],{},[411,470,471],{},"useShopifyPublic(event)",[437,473,474],{},"Authenticate public\u002Fcheckout extension requests",[422,476,477,482],{},[437,478,479],{},[411,480,481],{},"useShopifyPos(event)",[437,483,484],{},"Authenticate POS extension requests",[422,486,487,492],{},[437,488,489],{},[411,490,491],{},"useShopifyFulfillmentService(event)",[437,493,494],{},"Authenticate fulfillment service callbacks",[422,496,497,502],{},[437,498,499],{},[411,500,501],{},"useShopifyLogin(event)",[437,503,504],{},"Handle merchant login (non-embedded apps)",[422,506,507,512],{},[437,508,509],{},[411,510,511],{},"useShopifyUnauthenticatedAdmin(shop)",[437,513,514],{},"Offline session admin API access",[422,516,517,522],{},[437,518,519],{},[411,520,521],{},"registerShopifyWebhooks(session)",[437,523,524],{},"Register webhooks for a shop",[402,526,528,531],{"id":527},"shopifyserver-exports",[411,529,530],{},"#shopify\u002Fserver"," Exports",[407,533,534,535,537],{},"For use in Nitro plugins and advanced server-side configuration, import from ",[411,536,530],{},":",[539,540,545],"pre",{"className":541,"code":542,"language":543,"meta":544,"style":544},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  configureShopify,\n  getShopifyApi,\n  getResolvedConfig,\n  getSessionStorage,\n  registerShopifyWebhooks,\n  createAdminApiContext\n} from '#shopify\u002Fserver'\n","ts","",[411,546,547,560,570,578,586,594,602,608],{"__ignoreMap":544},[548,549,552,556],"span",{"class":550,"line":551},"line",1,[548,553,555],{"class":554},"s7zQu","import",[548,557,559],{"class":558},"sMK4o"," {\n",[548,561,563,567],{"class":550,"line":562},2,[548,564,566],{"class":565},"sTEyZ","  configureShopify",[548,568,569],{"class":558},",\n",[548,571,573,576],{"class":550,"line":572},3,[548,574,575],{"class":565},"  getShopifyApi",[548,577,569],{"class":558},[548,579,581,584],{"class":550,"line":580},4,[548,582,583],{"class":565},"  getResolvedConfig",[548,585,569],{"class":558},[548,587,589,592],{"class":550,"line":588},5,[548,590,591],{"class":565},"  getSessionStorage",[548,593,569],{"class":558},[548,595,597,600],{"class":550,"line":596},6,[548,598,599],{"class":565},"  registerShopifyWebhooks",[548,601,569],{"class":558},[548,603,605],{"class":550,"line":604},7,[548,606,607],{"class":565},"  createAdminApiContext\n",[548,609,611,614,617,620,623],{"class":550,"line":610},8,[548,612,613],{"class":558},"}",[548,615,616],{"class":554}," from",[548,618,619],{"class":558}," '",[548,621,530],{"class":622},"sfazB",[548,624,625],{"class":558},"'\n",[627,628,630],"h3",{"id":629},"functions","Functions",[416,632,633,643],{},[419,634,635],{},[422,636,637,640],{},[425,638,639],{},"Export",[425,641,642],{},"Description",[432,644,645,655,669,679,689,698],{},[422,646,647,652],{},[437,648,649],{},[411,650,651],{},"configureShopify(config)",[437,653,654],{},"Configure session storage, hooks, webhooks, and billing",[422,656,657,662],{},[437,658,659],{},[411,660,661],{},"getShopifyApi()",[437,663,664,665,668],{},"Get the initialized ",[411,666,667],{},"@shopify\u002Fshopify-api"," instance",[422,670,671,676],{},[437,672,673],{},[411,674,675],{},"getResolvedConfig()",[437,677,678],{},"Get the fully resolved module configuration",[422,680,681,686],{},[437,682,683],{},[411,684,685],{},"getSessionStorage()",[437,687,688],{},"Get the configured session storage adapter",[422,690,691,695],{},[437,692,693],{},[411,694,521],{},[437,696,697],{},"Register webhooks for a specific shop session",[422,699,700,705],{},[437,701,702],{},[411,703,704],{},"createAdminApiContext(session)",[437,706,707],{},"Create an Admin API context (GraphQL) for a session",[627,709,80],{"id":710},"types",[539,712,714],{"className":541,"code":713,"language":543,"meta":544,"style":544},"import type {\n  AdminApiContext,\n  GraphQLClient,\n  GraphQLQueryOptions,\n  GraphQLResponse\n} from '#shopify\u002Fserver'\n",[411,715,716,725,732,739,746,751],{"__ignoreMap":544},[548,717,718,720,723],{"class":550,"line":551},[548,719,555],{"class":554},[548,721,722],{"class":554}," type",[548,724,559],{"class":558},[548,726,727,730],{"class":550,"line":562},[548,728,729],{"class":565},"  AdminApiContext",[548,731,569],{"class":558},[548,733,734,737],{"class":550,"line":572},[548,735,736],{"class":565},"  GraphQLClient",[548,738,569],{"class":558},[548,740,741,744],{"class":550,"line":580},[548,742,743],{"class":565},"  GraphQLQueryOptions",[548,745,569],{"class":558},[548,747,748],{"class":550,"line":588},[548,749,750],{"class":565},"  GraphQLResponse\n",[548,752,753,755,757,759,761],{"class":550,"line":596},[548,754,613],{"class":558},[548,756,616],{"class":554},[548,758,619],{"class":558},[548,760,530],{"class":622},[548,762,625],{"class":558},[416,764,765,774],{},[419,766,767],{},[422,768,769,772],{},[425,770,771],{},"Type",[425,773,642],{},[432,775,776,790,800,810],{},[422,777,778,783],{},[437,779,780],{},[411,781,782],{},"AdminApiContext",[437,784,785,786,789],{},"Object with ",[411,787,788],{},"graphql()"," client method",[422,791,792,797],{},[437,793,794],{},[411,795,796],{},"GraphQLClient",[437,798,799],{},"Typed GraphQL client function",[422,801,802,807],{},[437,803,804],{},[411,805,806],{},"GraphQLQueryOptions",[437,808,809],{},"Options for GraphQL queries (variables, etc.)",[422,811,812,817],{},[437,813,814],{},[411,815,816],{},"GraphQLResponse",[437,818,819],{},"Response type from GraphQL operations",[402,821,823],{"id":822},"test-helpers","Test Helpers",[407,825,826,827,537],{},"The module exports test helpers through ",[411,828,829],{},"shopify-app-nuxt\u002Ftest-helpers",[539,831,833],{"className":541,"code":832,"language":543,"meta":544,"style":544},"import { testConfig, testSession } from 'shopify-app-nuxt\u002Ftest-helpers'\n\n\u002F\u002F Returns a dummy configuration for testing\nconst config = testConfig()\n\n\u002F\u002F Returns a mock Shopify session\nconst session = testSession()\n\n\u002F\u002F Both accept overrides\nconst customConfig = testConfig({ apiKey: 'custom-key' })\nconst customSession = testSession({ shop: 'custom-shop.myshopify.com' })\n",[411,834,835,862,868,874,892,896,901,914,918,924,961],{"__ignoreMap":544},[548,836,837,839,842,845,848,851,854,856,858,860],{"class":550,"line":551},[548,838,555],{"class":554},[548,840,841],{"class":558}," {",[548,843,844],{"class":565}," testConfig",[548,846,847],{"class":558},",",[548,849,850],{"class":565}," testSession",[548,852,853],{"class":558}," }",[548,855,616],{"class":554},[548,857,619],{"class":558},[548,859,829],{"class":622},[548,861,625],{"class":558},[548,863,864],{"class":550,"line":562},[548,865,867],{"emptyLinePlaceholder":866},true,"\n",[548,869,870],{"class":550,"line":572},[548,871,873],{"class":872},"sHwdD","\u002F\u002F Returns a dummy configuration for testing\n",[548,875,876,880,883,886,889],{"class":550,"line":580},[548,877,879],{"class":878},"spNyl","const",[548,881,882],{"class":565}," config ",[548,884,885],{"class":558},"=",[548,887,844],{"class":888},"s2Zo4",[548,890,891],{"class":565},"()\n",[548,893,894],{"class":550,"line":588},[548,895,867],{"emptyLinePlaceholder":866},[548,897,898],{"class":550,"line":596},[548,899,900],{"class":872},"\u002F\u002F Returns a mock Shopify session\n",[548,902,903,905,908,910,912],{"class":550,"line":604},[548,904,879],{"class":878},[548,906,907],{"class":565}," session ",[548,909,885],{"class":558},[548,911,850],{"class":888},[548,913,891],{"class":565},[548,915,916],{"class":550,"line":610},[548,917,867],{"emptyLinePlaceholder":866},[548,919,921],{"class":550,"line":920},9,[548,922,923],{"class":872},"\u002F\u002F Both accept overrides\n",[548,925,927,929,932,934,936,939,942,946,948,950,953,956,958],{"class":550,"line":926},10,[548,928,879],{"class":878},[548,930,931],{"class":565}," customConfig ",[548,933,885],{"class":558},[548,935,844],{"class":888},[548,937,938],{"class":565},"(",[548,940,941],{"class":558},"{",[548,943,945],{"class":944},"swJcz"," apiKey",[548,947,537],{"class":558},[548,949,619],{"class":558},[548,951,952],{"class":622},"custom-key",[548,954,955],{"class":558},"'",[548,957,853],{"class":558},[548,959,960],{"class":565},")\n",[548,962,964,966,969,971,973,975,977,980,982,984,987,989,991],{"class":550,"line":963},11,[548,965,879],{"class":878},[548,967,968],{"class":565}," customSession ",[548,970,885],{"class":558},[548,972,850],{"class":888},[548,974,938],{"class":565},[548,976,941],{"class":558},[548,978,979],{"class":944}," shop",[548,981,537],{"class":558},[548,983,619],{"class":558},[548,985,986],{"class":622},"custom-shop.myshopify.com",[548,988,955],{"class":558},[548,990,853],{"class":558},[548,992,960],{"class":565},[994,995,996],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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 .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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":544,"searchDepth":562,"depth":562,"links":998},[999,1000,1005],{"id":404,"depth":562,"text":405},{"id":527,"depth":562,"text":1001,"children":1002},"#shopify\u002Fserver Exports",[1003,1004],{"id":629,"depth":572,"text":630},{"id":710,"depth":572,"text":80},{"id":822,"depth":562,"text":823},"All auto-imported server utilities and","md",null,{},{"title":1011,"description":1012},"Server Utilities — shopify-app-nuxt API Reference","Complete reference for all shopify-app-nuxt server utilities — auto-imported functions and","Cu__f-phclMCox5rvEt58jsXKqlXZhMKX96AE5QS57U",[1015,1017],{"title":58,"path":59,"stem":60,"description":1016,"children":-1},"Auto-generate typed Admin API queries with the codegen module option.",{"title":72,"path":73,"stem":74,"description":1018,"children":-1},"Client-side composables for App Bridge and authenticated fetch.",1776217202080]