[{"data":1,"prerenderedAt":1082},["ShallowReactive",2],{"navigation_docs":3,"-guide-vercel-connect":89,"-guide-vercel-connect-surround":1077},[4,26,49,77],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","docs",[9,13,17,21],{"title":10,"path":11,"stem":12},"Introduction","\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction",{"title":14,"path":15,"stem":16},"Installation","\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",{"title":18,"path":19,"stem":20},"Quick Start","\u002Fgetting-started\u002Fquick-start","docs\u002F1.getting-started\u002F3.quick-start",{"title":22,"path":23,"stem":24},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","docs\u002F1.getting-started\u002F4.agent-skills",false,{"title":27,"path":28,"stem":7,"children":29,"page":25},"Frameworks","\u002Fframeworks",[30,35,40,44],{"title":31,"path":32,"stem":33,"icon":34},"eve","\u002Fframeworks\u002Feve","docs\u002F2.frameworks\u002F1.eve","i-custom:eve",{"title":36,"path":37,"stem":38,"icon":39},"AI SDK","\u002Fframeworks\u002Fai-sdk","docs\u002F2.frameworks\u002F2.ai-sdk","i-simple-icons-vercel",{"title":41,"path":42,"stem":43,"icon":39},"Vercel Workflow","\u002Fframeworks\u002Fvercel-workflow","docs\u002F2.frameworks\u002F3.vercel-workflow",{"title":45,"path":46,"stem":47,"icon":48},"Chat SDK","\u002Fframeworks\u002Fchat-sdk","docs\u002F2.frameworks\u002F4.chat-sdk","i-lucide-message-square",{"title":50,"path":51,"stem":7,"children":52,"page":25},"Guide","\u002Fguide",[53,57,61,65,69,73],{"title":54,"path":55,"stem":56},"Scope with Presets","\u002Fguide\u002Fpresets","docs\u002F3.guide\u002F1.presets",{"title":58,"path":59,"stem":60},"Control Write Safety","\u002Fguide\u002Fapproval-control","docs\u002F3.guide\u002F2.approval-control",{"title":62,"path":63,"stem":64},"Commit Attribution","\u002Fguide\u002Fcommit-attribution","docs\u002F3.guide\u002F3.commit-attribution",{"title":66,"path":67,"stem":68},"Tokens & Auth","\u002Fguide\u002Ftokens-and-auth","docs\u002F3.guide\u002F4.tokens-and-auth",{"title":70,"path":71,"stem":72},"Examples","\u002Fguide\u002Fexamples","docs\u002F3.guide\u002F5.examples",{"title":74,"path":75,"stem":76},"Vercel Connect","\u002Fguide\u002Fvercel-connect","docs\u002F3.guide\u002F6.vercel-connect",{"title":78,"path":79,"stem":7,"children":80,"page":25},"Api","\u002Fapi",[81,85],{"title":82,"path":83,"stem":84},"Tools Catalog","\u002Fapi\u002Ftools-catalog","docs\u002F4.api\u002F1.tools-catalog",{"title":86,"path":87,"stem":88},"API Reference","\u002Fapi\u002Freference","docs\u002F4.api\u002F2.reference",{"id":90,"title":74,"body":91,"description":1063,"extension":1064,"links":1065,"meta":1073,"navigation":1074,"path":75,"seo":1075,"stem":76,"__hash__":1076},"docs\u002Fdocs\u002F3.guide\u002F6.vercel-connect.md",{"type":92,"value":93,"toc":1048},"minimark",[94,114,122,127,338,346,350,456,526,544,555,559,562,685,705,709,712,855,871,875,953,961,978,982,1025,1029,1044],[95,96,97,98,104,105,109,110,113],"p",{},"For agents deployed on Vercel, ",[99,100,74],"a",{"href":101,"rel":102},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fconnect",[103],"nofollow"," replaces long-lived PATs. Attach a ",[106,107,108],"strong",{},"GitHub connector"," to your project and mint ",[106,111,112],{},"short-lived, scoped tokens"," at runtime — no secret to store.",[95,115,116,117,121],{},"The ",[118,119,120],"code",{},"@github-tools\u002Fsdk\u002Fconnect"," subpath wraps Connect with preset-derived scopes so you only think about the connector and preset.",[123,124,126],"h2",{"id":125},"quick-start-ai-sdk","Quick start (AI SDK)",[128,129,135],"pre",{"className":130,"code":131,"filename":132,"language":133,"meta":134,"style":134},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { connectGithubTools } from '@github-tools\u002Fsdk\u002Fconnect'\nimport { generateText } from 'ai'\n\nconst tools = connectGithubTools('github\u002Fmy-connector', {\n  preset: 'code-review',\n})\n\nconst { text } = await generateText({\n  model: 'anthropic\u002Fclaude-sonnet-4.6',\n  tools,\n  prompt: 'Summarize open PRs on my-org\u002Fmy-repo.',\n})\n","connect-tools.ts","ts","",[118,136,137,169,190,197,230,250,259,264,289,306,314,331],{"__ignoreMap":134},[138,139,142,146,150,154,157,160,163,166],"span",{"class":140,"line":141},"line",1,[138,143,145],{"class":144},"s7zQu","import",[138,147,149],{"class":148},"sMK4o"," {",[138,151,153],{"class":152},"sTEyZ"," connectGithubTools",[138,155,156],{"class":148}," }",[138,158,159],{"class":144}," from",[138,161,162],{"class":148}," '",[138,164,120],{"class":165},"sfazB",[138,167,168],{"class":148},"'\n",[138,170,172,174,176,179,181,183,185,188],{"class":140,"line":171},2,[138,173,145],{"class":144},[138,175,149],{"class":148},[138,177,178],{"class":152}," generateText",[138,180,156],{"class":148},[138,182,159],{"class":144},[138,184,162],{"class":148},[138,186,187],{"class":165},"ai",[138,189,168],{"class":148},[138,191,193],{"class":140,"line":192},3,[138,194,196],{"emptyLinePlaceholder":195},true,"\n",[138,198,200,204,207,210,213,216,219,222,224,227],{"class":140,"line":199},4,[138,201,203],{"class":202},"spNyl","const",[138,205,206],{"class":152}," tools ",[138,208,209],{"class":148},"=",[138,211,153],{"class":212},"s2Zo4",[138,214,215],{"class":152},"(",[138,217,218],{"class":148},"'",[138,220,221],{"class":165},"github\u002Fmy-connector",[138,223,218],{"class":148},[138,225,226],{"class":148},",",[138,228,229],{"class":148}," {\n",[138,231,233,237,240,242,245,247],{"class":140,"line":232},5,[138,234,236],{"class":235},"swJcz","  preset",[138,238,239],{"class":148},":",[138,241,162],{"class":148},[138,243,244],{"class":165},"code-review",[138,246,218],{"class":148},[138,248,249],{"class":148},",\n",[138,251,253,256],{"class":140,"line":252},6,[138,254,255],{"class":148},"}",[138,257,258],{"class":152},")\n",[138,260,262],{"class":140,"line":261},7,[138,263,196],{"emptyLinePlaceholder":195},[138,265,267,269,271,274,276,279,282,284,286],{"class":140,"line":266},8,[138,268,203],{"class":202},[138,270,149],{"class":148},[138,272,273],{"class":152}," text ",[138,275,255],{"class":148},[138,277,278],{"class":148}," =",[138,280,281],{"class":144}," await",[138,283,178],{"class":212},[138,285,215],{"class":152},[138,287,288],{"class":148},"{\n",[138,290,292,295,297,299,302,304],{"class":140,"line":291},9,[138,293,294],{"class":235},"  model",[138,296,239],{"class":148},[138,298,162],{"class":148},[138,300,301],{"class":165},"anthropic\u002Fclaude-sonnet-4.6",[138,303,218],{"class":148},[138,305,249],{"class":148},[138,307,309,312],{"class":140,"line":308},10,[138,310,311],{"class":152},"  tools",[138,313,249],{"class":148},[138,315,317,320,322,324,327,329],{"class":140,"line":316},11,[138,318,319],{"class":235},"  prompt",[138,321,239],{"class":148},[138,323,162],{"class":148},[138,325,326],{"class":165},"Summarize open PRs on my-org\u002Fmy-repo.",[138,328,218],{"class":148},[138,330,249],{"class":148},[138,332,334,336],{"class":140,"line":333},12,[138,335,255],{"class":148},[138,337,258],{"class":152},[95,339,340,341,345],{},"Scopes are derived automatically from the preset — see the ",[99,342,344],{"href":343},"\u002Fguide\u002Ftokens-and-auth#map-permissions-to-presets","preset → Connect scope matrix",".",[123,347,349],{"id":348},"eve-agent","eve agent",[128,351,354],{"className":130,"code":352,"filename":353,"language":133,"meta":134,"style":134},"import { defineAgent } from 'eve'\n\nexport default defineAgent({\n  model: 'anthropic\u002Fclaude-sonnet-5',\n  \u002F\u002F TODO(eve-connect-bundle): remove when eve externalizes transitive @vercel\u002Fconnect\n  build: {\n    externalDependencies: ['@vercel\u002Fconnect'],\n  },\n})\n","agent\u002Fagent.ts",[118,355,356,375,379,393,408,414,423,445,450],{"__ignoreMap":134},[138,357,358,360,362,365,367,369,371,373],{"class":140,"line":141},[138,359,145],{"class":144},[138,361,149],{"class":148},[138,363,364],{"class":152}," defineAgent",[138,366,156],{"class":148},[138,368,159],{"class":144},[138,370,162],{"class":148},[138,372,31],{"class":165},[138,374,168],{"class":148},[138,376,377],{"class":140,"line":171},[138,378,196],{"emptyLinePlaceholder":195},[138,380,381,384,387,389,391],{"class":140,"line":192},[138,382,383],{"class":144},"export",[138,385,386],{"class":144}," default",[138,388,364],{"class":212},[138,390,215],{"class":152},[138,392,288],{"class":148},[138,394,395,397,399,401,404,406],{"class":140,"line":199},[138,396,294],{"class":235},[138,398,239],{"class":148},[138,400,162],{"class":148},[138,402,403],{"class":165},"anthropic\u002Fclaude-sonnet-5",[138,405,218],{"class":148},[138,407,249],{"class":148},[138,409,410],{"class":140,"line":232},[138,411,413],{"class":412},"sHwdD","  \u002F\u002F TODO(eve-connect-bundle): remove when eve externalizes transitive @vercel\u002Fconnect\n",[138,415,416,419,421],{"class":140,"line":252},[138,417,418],{"class":235},"  build",[138,420,239],{"class":148},[138,422,229],{"class":148},[138,424,425,428,430,433,435,438,440,443],{"class":140,"line":261},[138,426,427],{"class":235},"    externalDependencies",[138,429,239],{"class":148},[138,431,432],{"class":152}," [",[138,434,218],{"class":148},[138,436,437],{"class":165},"@vercel\u002Fconnect",[138,439,218],{"class":148},[138,441,442],{"class":152},"]",[138,444,249],{"class":148},[138,446,447],{"class":140,"line":266},[138,448,449],{"class":148},"  },\n",[138,451,452,454],{"class":140,"line":291},[138,453,255],{"class":148},[138,455,258],{"class":152},[128,457,460],{"className":130,"code":458,"filename":459,"language":133,"meta":134,"style":134},"import { connectGithubTools } from '@github-tools\u002Fsdk\u002Fconnect\u002Feve'\n\nexport default connectGithubTools('github\u002Fmy-connector', {\n  preset: 'maintainer',\n})\n","agent\u002Ftools\u002Fgithub.ts",[118,461,462,481,485,505,520],{"__ignoreMap":134},[138,463,464,466,468,470,472,474,476,479],{"class":140,"line":141},[138,465,145],{"class":144},[138,467,149],{"class":148},[138,469,153],{"class":152},[138,471,156],{"class":148},[138,473,159],{"class":144},[138,475,162],{"class":148},[138,477,478],{"class":165},"@github-tools\u002Fsdk\u002Fconnect\u002Feve",[138,480,168],{"class":148},[138,482,483],{"class":140,"line":171},[138,484,196],{"emptyLinePlaceholder":195},[138,486,487,489,491,493,495,497,499,501,503],{"class":140,"line":192},[138,488,383],{"class":144},[138,490,386],{"class":144},[138,492,153],{"class":212},[138,494,215],{"class":152},[138,496,218],{"class":148},[138,498,221],{"class":165},[138,500,218],{"class":148},[138,502,226],{"class":148},[138,504,229],{"class":148},[138,506,507,509,511,513,516,518],{"class":140,"line":199},[138,508,236],{"class":235},[138,510,239],{"class":148},[138,512,162],{"class":148},[138,514,515],{"class":165},"maintainer",[138,517,218],{"class":148},[138,519,249],{"class":148},[138,521,522,524],{"class":140,"line":232},[138,523,255],{"class":148},[138,525,258],{"class":152},[527,528,529,532,533,536,537,539,540,543],"note",{},[106,530,531],{},"eve bundling"," — ",[118,534,535],{},"build.externalDependencies"," keeps ",[118,538,437],{}," out of the authored-module bundle. Without it, ",[118,541,542],{},"eve dev"," fails when the SDK is workspace-linked. This is temporary until eve handles transitive Connect imports upstream.",[95,545,546,547,554],{},"See ",[99,548,551],{"href":549,"rel":550},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fgithub-tools\u002Ftree\u002Fmain\u002Fexamples\u002Feve-agent",[103],[118,552,553],{},"examples\u002Feve-agent"," for a runnable example.",[123,556,558],{"id":557},"token-provider-only","Token provider only",[95,560,561],{},"When you need a lazy token for custom tool factories:",[128,563,566],{"className":130,"code":564,"filename":565,"language":133,"meta":134,"style":134},"import { connectGithubToken } from '@github-tools\u002Fsdk\u002Fconnect'\nimport { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  preset: 'ci-ops',\n  token: connectGithubToken('github\u002Fmy-connector', { preset: 'ci-ops' }),\n})\n","connect-token.ts",[118,567,568,587,607,611,625,640,679],{"__ignoreMap":134},[138,569,570,572,574,577,579,581,583,585],{"class":140,"line":141},[138,571,145],{"class":144},[138,573,149],{"class":148},[138,575,576],{"class":152}," connectGithubToken",[138,578,156],{"class":148},[138,580,159],{"class":144},[138,582,162],{"class":148},[138,584,120],{"class":165},[138,586,168],{"class":148},[138,588,589,591,593,596,598,600,602,605],{"class":140,"line":171},[138,590,145],{"class":144},[138,592,149],{"class":148},[138,594,595],{"class":152}," createGithubTools",[138,597,156],{"class":148},[138,599,159],{"class":144},[138,601,162],{"class":148},[138,603,604],{"class":165},"@github-tools\u002Fsdk",[138,606,168],{"class":148},[138,608,609],{"class":140,"line":192},[138,610,196],{"emptyLinePlaceholder":195},[138,612,613,615,617,619,621,623],{"class":140,"line":199},[138,614,203],{"class":202},[138,616,206],{"class":152},[138,618,209],{"class":148},[138,620,595],{"class":212},[138,622,215],{"class":152},[138,624,288],{"class":148},[138,626,627,629,631,633,636,638],{"class":140,"line":232},[138,628,236],{"class":235},[138,630,239],{"class":148},[138,632,162],{"class":148},[138,634,635],{"class":165},"ci-ops",[138,637,218],{"class":148},[138,639,249],{"class":148},[138,641,642,645,647,649,651,653,655,657,659,661,664,666,668,670,672,674,677],{"class":140,"line":252},[138,643,644],{"class":235},"  token",[138,646,239],{"class":148},[138,648,576],{"class":212},[138,650,215],{"class":152},[138,652,218],{"class":148},[138,654,221],{"class":165},[138,656,218],{"class":148},[138,658,226],{"class":148},[138,660,149],{"class":148},[138,662,663],{"class":235}," preset",[138,665,239],{"class":148},[138,667,162],{"class":148},[138,669,635],{"class":165},[138,671,218],{"class":148},[138,673,156],{"class":148},[138,675,676],{"class":152},")",[138,678,249],{"class":148},[138,680,681,683],{"class":140,"line":261},[138,682,255],{"class":148},[138,684,258],{"class":152},[95,686,687,688,691,692,695,696,698,699,702,703,345],{},"Pass the same ",[118,689,690],{},"preset"," to both calls — ",[118,693,694],{},"connectGithubToken"," derives Connect scopes from its own ",[118,697,690],{}," option, independently of the one you give ",[118,700,701],{},"createGithubTools",". Omitting it mints a token scoped to the union of every preset instead of just ",[118,704,635],{},[123,706,708],{"id":707},"multi-tenant-and-repository-scoping","Multi-tenant and repository scoping",[95,710,711],{},"Override Connect parameters when you need installation targeting or narrower repository access:",[128,713,716],{"className":130,"code":714,"filename":715,"language":133,"meta":134,"style":134},"import { connectGithubTools } from '@github-tools\u002Fsdk\u002Fconnect'\n\nconst tools = connectGithubTools('github\u002Fmy-connector', {\n  preset: 'issue-triage',\n  connect: {\n    installationId: 'inst_abc',\n    repositories: ['vercel-labs\u002Fgithub-tools'],\n    scopes: ['issues:write'], \u002F\u002F replaces preset-derived scopes when provided\n  },\n})\n","connect-override.ts",[118,717,718,736,740,762,777,786,802,822,845,849],{"__ignoreMap":134},[138,719,720,722,724,726,728,730,732,734],{"class":140,"line":141},[138,721,145],{"class":144},[138,723,149],{"class":148},[138,725,153],{"class":152},[138,727,156],{"class":148},[138,729,159],{"class":144},[138,731,162],{"class":148},[138,733,120],{"class":165},[138,735,168],{"class":148},[138,737,738],{"class":140,"line":171},[138,739,196],{"emptyLinePlaceholder":195},[138,741,742,744,746,748,750,752,754,756,758,760],{"class":140,"line":192},[138,743,203],{"class":202},[138,745,206],{"class":152},[138,747,209],{"class":148},[138,749,153],{"class":212},[138,751,215],{"class":152},[138,753,218],{"class":148},[138,755,221],{"class":165},[138,757,218],{"class":148},[138,759,226],{"class":148},[138,761,229],{"class":148},[138,763,764,766,768,770,773,775],{"class":140,"line":199},[138,765,236],{"class":235},[138,767,239],{"class":148},[138,769,162],{"class":148},[138,771,772],{"class":165},"issue-triage",[138,774,218],{"class":148},[138,776,249],{"class":148},[138,778,779,782,784],{"class":140,"line":232},[138,780,781],{"class":235},"  connect",[138,783,239],{"class":148},[138,785,229],{"class":148},[138,787,788,791,793,795,798,800],{"class":140,"line":252},[138,789,790],{"class":235},"    installationId",[138,792,239],{"class":148},[138,794,162],{"class":148},[138,796,797],{"class":165},"inst_abc",[138,799,218],{"class":148},[138,801,249],{"class":148},[138,803,804,807,809,811,813,816,818,820],{"class":140,"line":261},[138,805,806],{"class":235},"    repositories",[138,808,239],{"class":148},[138,810,432],{"class":152},[138,812,218],{"class":148},[138,814,815],{"class":165},"vercel-labs\u002Fgithub-tools",[138,817,218],{"class":148},[138,819,442],{"class":152},[138,821,249],{"class":148},[138,823,824,827,829,831,833,836,838,840,842],{"class":140,"line":266},[138,825,826],{"class":235},"    scopes",[138,828,239],{"class":148},[138,830,432],{"class":152},[138,832,218],{"class":148},[138,834,835],{"class":165},"issues:write",[138,837,218],{"class":148},[138,839,442],{"class":152},[138,841,226],{"class":148},[138,843,844],{"class":412}," \u002F\u002F replaces preset-derived scopes when provided\n",[138,846,847],{"class":140,"line":291},[138,848,449],{"class":148},[138,850,851,853],{"class":140,"line":308},[138,852,255],{"class":148},[138,854,258],{"class":152},[95,856,857,860,861,864,865,868,869,345],{},[118,858,859],{},"subject"," is always ",[118,862,863],{},"{ type: 'app' }"," — same as ",[118,866,867],{},"connectGitHubAdapter"," from ",[118,870,437],{},[123,872,874],{"id":873},"setup-checklist","Setup checklist",[876,877,879,884,896,904,908,918,922,941],"steps",{"level":878},"3",[880,881,883],"h3",{"id":882},"create-a-github-connector","Create a GitHub connector",[95,885,886,887,891,892,895],{},"Create a connector from the ",[99,888,890],{"href":101,"rel":889},[103],"Vercel dashboard"," (or ",[118,893,894],{},"vercel connect"," in the CLI), then install it on the GitHub org or user account your agent needs.",[95,897,898,899,345],{},"Or jump straight to the GitHub connector creation form with this ",[99,900,903],{"href":901,"rel":902},"https:\u002F\u002Fvercel.com\u002Fd?to=%2F%5Bteam%5D%2F%7E%2Fconnect%2Fcreate%3Ftype%3Dgithub",[103],"deeplink",[880,905,907],{"id":906},"link-it-to-your-project","Link it to your project",[95,909,910,911,914,915,345],{},"Link the connector to the Vercel project that runs your agent. On Vercel, the SDK authenticates automatically with the deployment OIDC token. For local development, run ",[118,912,913],{},"vercel link"," then ",[118,916,917],{},"vercel env pull",[880,919,921],{"id":920},"install-the-peer-dependency","Install the peer dependency",[128,923,927],{"className":924,"code":925,"language":926,"meta":134,"style":134},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @vercel\u002Fconnect\n","sh",[118,928,929],{"__ignoreMap":134},[138,930,931,935,938],{"class":140,"line":141},[138,932,934],{"class":933},"sBMFI","pnpm",[138,936,937],{"class":165}," add",[138,939,940],{"class":165}," @vercel\u002Fconnect\n",[95,942,943,945,946,948,949,952],{},[118,944,437],{}," is an optional peer dependency of ",[118,947,604],{}," — install it only when using the ",[118,950,951],{},"\u002Fconnect"," subpath.",[123,954,956,957,960],{"id":955},"manual-gettoken-escape-hatch","Manual ",[118,958,959],{},"getToken"," (escape hatch)",[95,962,963,964,967,968,970,971,974,975,345],{},"If you need full control over every ",[118,965,966],{},"ConnectTokenParams"," field, call ",[118,969,959],{}," directly and pass the result as ",[118,972,973],{},"token",". See ",[99,976,66],{"href":977},"\u002Fguide\u002Ftokens-and-auth#mint-tokens-with-vercel-connect",[123,979,981],{"id":980},"api-reference","API reference",[983,984,985,995,1008,1016],"ul",{},[986,987,988,994],"li",{},[99,989,991],{"href":990},"\u002Fapi\u002Freference#connectgithubtools",[118,992,993],{},"connectGithubTools"," — AI SDK tool set",[986,996,997,1003,1004,1007],{},[99,998,1000,1002],{"href":999},"\u002Fapi\u002Freference#connectgithubtools--eve",[118,1001,993],{}," (eve)"," — eve ",[118,1005,1006],{},"defineDynamic"," sentinel",[986,1009,1010,1015],{},[99,1011,1013],{"href":1012},"\u002Fapi\u002Freference#connectgithubtoken",[118,1014,694],{}," — lazy token provider",[986,1017,1018,1024],{},[99,1019,1021],{"href":1020},"\u002Fapi\u002Freference#connectgithubscopesforpreset",[118,1022,1023],{},"connectGithubScopesForPreset"," — scope helper",[123,1026,1028],{"id":1027},"external-references","External references",[983,1030,1031,1037],{},[986,1032,1033],{},[99,1034,1036],{"href":101,"rel":1035},[103],"Vercel Connect documentation",[986,1038,1039],{},[99,1040,1043],{"href":1041,"rel":1042},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fconnect\u002Fts-sdk-reference",[103],"Vercel Connect SDK reference",[1045,1046,1047],"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 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}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":134,"searchDepth":171,"depth":171,"links":1049},[1050,1051,1052,1053,1054,1059,1061,1062],{"id":125,"depth":171,"text":126},{"id":348,"depth":171,"text":349},{"id":557,"depth":171,"text":558},{"id":707,"depth":171,"text":708},{"id":873,"depth":171,"text":874,"children":1055},[1056,1057,1058],{"id":882,"depth":192,"text":883},{"id":906,"depth":192,"text":907},{"id":920,"depth":192,"text":921},{"id":955,"depth":171,"text":1060},"Manual getToken (escape hatch)",{"id":980,"depth":171,"text":981},{"id":1027,"depth":171,"text":1028},"Use @github-tools\u002Fsdk\u002Fconnect to mint scoped GitHub tokens from a Vercel Connect connector — preset-derived scopes, zero boilerplate.","md",[1066,1070],{"label":66,"icon":1067,"to":67,"color":1068,"variant":1069},"i-lucide-key-round","neutral","subtle",{"label":1071,"icon":1072,"to":55,"color":1068,"variant":1069},"Scope with presets","i-lucide-layers",{},{"title":74},{"title":74,"description":1063},"c8Eh8MWWvNg_x1iZUidx1Ikx5WXlqIJXcgQAf1JaQQc",[1078,1080],{"title":70,"path":71,"stem":72,"description":1079,"children":-1},"Complete GitHub agent examples for every framework — AI SDK scripts, eve agents, durable Vercel Workflow routes, and Chat SDK bots you can copy and adapt.",{"title":82,"path":83,"stem":84,"description":1081,"children":-1},"Every available tool, grouped by domain and write-safety status. Tools run as durable workflow steps when used with Vercel Workflow.",1783958068274]