[{"data":1,"prerenderedAt":1877},["ShallowReactive",2],{"navigation_docs":3,"-api-reference":66,"-api-reference-surround":1873},[4,22,54],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","\u002Fgetting-started","docs",[9,13,17],{"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},"Agent Skills","\u002Fgetting-started\u002Fagent-skills","docs\u002F1.getting-started\u002F3.agent-skills",false,{"title":23,"path":24,"stem":7,"children":25,"page":21},"Guide","\u002Fguide",[26,30,34,38,42,46,50],{"title":27,"path":28,"stem":29},"Quick Start","\u002Fguide\u002Fquick-start","docs\u002F2.guide\u002F1.quick-start",{"title":31,"path":32,"stem":33},"Scope with Presets","\u002Fguide\u002Fpresets","docs\u002F2.guide\u002F2.presets",{"title":35,"path":36,"stem":37},"Control Write Safety","\u002Fguide\u002Fapproval-control","docs\u002F2.guide\u002F3.approval-control",{"title":39,"path":40,"stem":41},"Commit Attribution","\u002Fguide\u002Fcommit-attribution","docs\u002F2.guide\u002F4.commit-attribution",{"title":43,"path":44,"stem":45},"Configure Token Scopes","\u002Fguide\u002Ftoken-permissions","docs\u002F2.guide\u002F5.token-and-permissions",{"title":47,"path":48,"stem":49},"Examples","\u002Fguide\u002Fexamples","docs\u002F2.guide\u002F6.examples",{"title":51,"path":52,"stem":53},"Durable workflows (Vercel Workflow)","\u002Fguide\u002Fdurable-workflows","docs\u002F2.guide\u002F7.durable-workflows",{"title":55,"path":56,"stem":7,"children":57,"page":21},"Api","\u002Fapi",[58,62],{"title":59,"path":60,"stem":61},"Tools Catalog","\u002Fapi\u002Ftools-catalog","docs\u002F3.api\u002F1.tools-catalog",{"title":63,"path":64,"stem":65},"API Reference","\u002Fapi\u002Freference","docs\u002F3.api\u002F2.reference",{"id":67,"title":63,"body":68,"description":1857,"extension":1858,"links":1859,"meta":1870,"navigation":264,"path":64,"seo":1871,"stem":65,"__hash__":1872},"docs\u002Fdocs\u002F3.api\u002F2.reference.md",{"type":69,"value":70,"toc":1846},"minimark",[71,79,95,382,388,440,443,526,538,543,559,664,691,694,847,861,865,884,994,1054,1062,1067,1073,1082,1194,1197,1218,1312,1318,1340,1366,1380,1415,1658,1663,1669,1680,1785,1789,1816,1820,1842],[72,73,75],"h2",{"id":74},"creategithubtoolsoptions",[76,77,78],"code",{},"createGithubTools(options?)",[80,81,82,83,86,87,90,91,94],"p",{},"Returns a record of AI SDK tools you can pass to ",[76,84,85],{},"generateText"," or ",[76,88,89],{},"streamText",". All options are optional — the SDK reads ",[76,92,93],{},"GITHUB_TOKEN"," from your environment by default:",[96,97,103],"pre",{"className":98,"code":99,"filename":100,"language":101,"meta":102,"style":102},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","type GithubToolsOptions = {\n  token?: string\n  requireApproval?: boolean | Partial\u003CRecord\u003CGithubWriteToolName, boolean>>\n  overrides?: Partial\u003CRecord\u003Cstring, ToolOverrides>>\n  preset?: GithubToolPreset | GithubToolPreset[]\n  author?: CommitIdentity\n  committer?: CommitIdentity\n  coAuthors?: CommitIdentity[]\n}\n\ntype CommitIdentity = {\n  name: string\n  email: string\n}\n\ntype GithubToolPreset =\n  | 'code-review'\n  | 'issue-triage'\n  | 'repo-explorer'\n  | 'ci-ops'\n  | 'maintainer'\n","types.ts","ts","",[76,104,105,125,138,174,200,219,230,240,253,259,266,277,288,298,303,308,318,334,346,358,370],{"__ignoreMap":102},[106,107,110,114,118,122],"span",{"class":108,"line":109},"line",1,[106,111,113],{"class":112},"spNyl","type",[106,115,117],{"class":116},"sBMFI"," GithubToolsOptions",[106,119,121],{"class":120},"sMK4o"," =",[106,123,124],{"class":120}," {\n",[106,126,128,132,135],{"class":108,"line":127},2,[106,129,131],{"class":130},"swJcz","  token",[106,133,134],{"class":120},"?:",[106,136,137],{"class":116}," string\n",[106,139,141,144,146,149,152,155,158,161,163,166,169,171],{"class":108,"line":140},3,[106,142,143],{"class":130},"  requireApproval",[106,145,134],{"class":120},[106,147,148],{"class":116}," boolean",[106,150,151],{"class":120}," |",[106,153,154],{"class":116}," Partial",[106,156,157],{"class":120},"\u003C",[106,159,160],{"class":116},"Record",[106,162,157],{"class":120},[106,164,165],{"class":116},"GithubWriteToolName",[106,167,168],{"class":120},",",[106,170,148],{"class":116},[106,172,173],{"class":120},">>\n",[106,175,177,180,182,184,186,188,190,193,195,198],{"class":108,"line":176},4,[106,178,179],{"class":130},"  overrides",[106,181,134],{"class":120},[106,183,154],{"class":116},[106,185,157],{"class":120},[106,187,160],{"class":116},[106,189,157],{"class":120},[106,191,192],{"class":116},"string",[106,194,168],{"class":120},[106,196,197],{"class":116}," ToolOverrides",[106,199,173],{"class":120},[106,201,203,206,208,211,213,215],{"class":108,"line":202},5,[106,204,205],{"class":130},"  preset",[106,207,134],{"class":120},[106,209,210],{"class":116}," GithubToolPreset",[106,212,151],{"class":120},[106,214,210],{"class":116},[106,216,218],{"class":217},"sTEyZ","[]\n",[106,220,222,225,227],{"class":108,"line":221},6,[106,223,224],{"class":130},"  author",[106,226,134],{"class":120},[106,228,229],{"class":116}," CommitIdentity\n",[106,231,233,236,238],{"class":108,"line":232},7,[106,234,235],{"class":130},"  committer",[106,237,134],{"class":120},[106,239,229],{"class":116},[106,241,243,246,248,251],{"class":108,"line":242},8,[106,244,245],{"class":130},"  coAuthors",[106,247,134],{"class":120},[106,249,250],{"class":116}," CommitIdentity",[106,252,218],{"class":217},[106,254,256],{"class":108,"line":255},9,[106,257,258],{"class":120},"}\n",[106,260,262],{"class":108,"line":261},10,[106,263,265],{"emptyLinePlaceholder":264},true,"\n",[106,267,269,271,273,275],{"class":108,"line":268},11,[106,270,113],{"class":112},[106,272,250],{"class":116},[106,274,121],{"class":120},[106,276,124],{"class":120},[106,278,280,283,286],{"class":108,"line":279},12,[106,281,282],{"class":130},"  name",[106,284,285],{"class":120},":",[106,287,137],{"class":116},[106,289,291,294,296],{"class":108,"line":290},13,[106,292,293],{"class":130},"  email",[106,295,285],{"class":120},[106,297,137],{"class":116},[106,299,301],{"class":108,"line":300},14,[106,302,258],{"class":120},[106,304,306],{"class":108,"line":305},15,[106,307,265],{"emptyLinePlaceholder":264},[106,309,311,313,315],{"class":108,"line":310},16,[106,312,113],{"class":112},[106,314,210],{"class":116},[106,316,317],{"class":120}," =\n",[106,319,321,324,327,331],{"class":108,"line":320},17,[106,322,323],{"class":120},"  |",[106,325,326],{"class":120}," '",[106,328,330],{"class":329},"sfazB","code-review",[106,332,333],{"class":120},"'\n",[106,335,337,339,341,344],{"class":108,"line":336},18,[106,338,323],{"class":120},[106,340,326],{"class":120},[106,342,343],{"class":329},"issue-triage",[106,345,333],{"class":120},[106,347,349,351,353,356],{"class":108,"line":348},19,[106,350,323],{"class":120},[106,352,326],{"class":120},[106,354,355],{"class":329},"repo-explorer",[106,357,333],{"class":120},[106,359,361,363,365,368],{"class":108,"line":360},20,[106,362,323],{"class":120},[106,364,326],{"class":120},[106,366,367],{"class":329},"ci-ops",[106,369,333],{"class":120},[106,371,373,375,377,380],{"class":108,"line":372},21,[106,374,323],{"class":120},[106,376,326],{"class":120},[106,378,379],{"class":329},"maintainer",[106,381,333],{"class":120},[80,383,384,385,387],{},"Minimal usage — reads ",[76,386,93],{}," automatically:",[96,389,392],{"className":98,"code":390,"filename":391,"language":101,"meta":102,"style":102},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools()\n","minimal.ts",[76,393,394,419,423],{"__ignoreMap":102},[106,395,396,400,403,406,409,412,414,417],{"class":108,"line":109},[106,397,399],{"class":398},"s7zQu","import",[106,401,402],{"class":120}," {",[106,404,405],{"class":217}," createGithubTools",[106,407,408],{"class":120}," }",[106,410,411],{"class":398}," from",[106,413,326],{"class":120},[106,415,416],{"class":329},"@github-tools\u002Fsdk",[106,418,333],{"class":120},[106,420,421],{"class":108,"line":127},[106,422,265],{"emptyLinePlaceholder":264},[106,424,425,428,431,434,437],{"class":108,"line":140},[106,426,427],{"class":112},"const",[106,429,430],{"class":217}," tools ",[106,432,433],{"class":120},"=",[106,435,405],{"class":436},"s2Zo4",[106,438,439],{"class":217},"()\n",[80,441,442],{},"With a preset and explicit token:",[96,444,447],{"className":98,"code":445,"filename":446,"language":101,"meta":102,"style":102},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  token: 'github_pat_xxxxxxxxxxxx',\n  preset: 'repo-explorer',\n})\n","with-options.ts",[76,448,449,467,471,487,504,518],{"__ignoreMap":102},[106,450,451,453,455,457,459,461,463,465],{"class":108,"line":109},[106,452,399],{"class":398},[106,454,402],{"class":120},[106,456,405],{"class":217},[106,458,408],{"class":120},[106,460,411],{"class":398},[106,462,326],{"class":120},[106,464,416],{"class":329},[106,466,333],{"class":120},[106,468,469],{"class":108,"line":127},[106,470,265],{"emptyLinePlaceholder":264},[106,472,473,475,477,479,481,484],{"class":108,"line":140},[106,474,427],{"class":112},[106,476,430],{"class":217},[106,478,433],{"class":120},[106,480,405],{"class":436},[106,482,483],{"class":217},"(",[106,485,486],{"class":120},"{\n",[106,488,489,491,493,495,498,501],{"class":108,"line":176},[106,490,131],{"class":130},[106,492,285],{"class":120},[106,494,326],{"class":120},[106,496,497],{"class":329},"github_pat_xxxxxxxxxxxx",[106,499,500],{"class":120},"'",[106,502,503],{"class":120},",\n",[106,505,506,508,510,512,514,516],{"class":108,"line":202},[106,507,205],{"class":130},[106,509,285],{"class":120},[106,511,326],{"class":120},[106,513,355],{"class":329},[106,515,500],{"class":120},[106,517,503],{"class":120},[106,519,520,523],{"class":108,"line":221},[106,521,522],{"class":120},"}",[106,524,525],{"class":217},")\n",[80,527,528,529,533,534,537],{},"See ",[530,531,532],"a",{"href":32},"Scope with presets"," for preset details and ",[530,535,536],{"href":36},"Control write safety"," for approval options.",[539,540,542],"h3",{"id":541},"tool-overrides","Tool overrides",[80,544,545,546,549,550,558],{},"The ",[76,547,548],{},"overrides"," option lets you customize any AI SDK ",[530,551,555],{"href":552,"rel":553},"https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Ftools-and-tool-calling",[554],"nofollow",[76,556,557],{},"tool()"," property on a per-tool basis, keyed by tool name:",[96,560,563],{"className":98,"code":561,"filename":562,"language":101,"meta":102,"style":102},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  overrides: {\n    deleteGist: { needsApproval: false },\n    listIssues: { description: 'List bugs for the current sprint' },\n  },\n})\n","overrides.ts",[76,564,565,583,587,601,609,630,653,658],{"__ignoreMap":102},[106,566,567,569,571,573,575,577,579,581],{"class":108,"line":109},[106,568,399],{"class":398},[106,570,402],{"class":120},[106,572,405],{"class":217},[106,574,408],{"class":120},[106,576,411],{"class":398},[106,578,326],{"class":120},[106,580,416],{"class":329},[106,582,333],{"class":120},[106,584,585],{"class":108,"line":127},[106,586,265],{"emptyLinePlaceholder":264},[106,588,589,591,593,595,597,599],{"class":108,"line":140},[106,590,427],{"class":112},[106,592,430],{"class":217},[106,594,433],{"class":120},[106,596,405],{"class":436},[106,598,483],{"class":217},[106,600,486],{"class":120},[106,602,603,605,607],{"class":108,"line":176},[106,604,179],{"class":130},[106,606,285],{"class":120},[106,608,124],{"class":120},[106,610,611,614,616,618,621,623,627],{"class":108,"line":202},[106,612,613],{"class":130},"    deleteGist",[106,615,285],{"class":120},[106,617,402],{"class":120},[106,619,620],{"class":130}," needsApproval",[106,622,285],{"class":120},[106,624,626],{"class":625},"sfNiH"," false",[106,628,629],{"class":120}," },\n",[106,631,632,635,637,639,642,644,646,649,651],{"class":108,"line":221},[106,633,634],{"class":130},"    listIssues",[106,636,285],{"class":120},[106,638,402],{"class":120},[106,640,641],{"class":130}," description",[106,643,285],{"class":120},[106,645,326],{"class":120},[106,647,648],{"class":329},"List bugs for the current sprint",[106,650,500],{"class":120},[106,652,629],{"class":120},[106,654,655],{"class":108,"line":232},[106,656,657],{"class":120},"  },\n",[106,659,660,662],{"class":108,"line":242},[106,661,522],{"class":120},[106,663,525],{"class":217},[96,665,668],{"className":98,"code":666,"filename":667,"language":101,"meta":102,"style":102},"import type { ToolOverrides } from '@github-tools\u002Fsdk'\n","type.ts",[76,669,670],{"__ignoreMap":102},[106,671,672,674,677,679,681,683,685,687,689],{"class":108,"line":109},[106,673,399],{"class":398},[106,675,676],{"class":398}," type",[106,678,402],{"class":120},[106,680,197],{"class":217},[106,682,408],{"class":120},[106,684,411],{"class":398},[106,686,326],{"class":120},[106,688,416],{"class":329},[106,690,333],{"class":120},[80,692,693],{},"Supported override properties:",[695,696,697,713],"table",{},[698,699,700],"thead",{},[701,702,703,707,710],"tr",{},[704,705,706],"th",{},"Property",[704,708,709],{},"Type",[704,711,712],{},"Description",[714,715,716,731,745,760,775,790,805,819,833],"tbody",{},[701,717,718,724,728],{},[719,720,721],"td",{},[76,722,723],{},"description",[719,725,726],{},[76,727,192],{},[719,729,730],{},"Custom tool description for the model",[701,732,733,738,742],{},[719,734,735],{},[76,736,737],{},"title",[719,739,740],{},[76,741,192],{},[719,743,744],{},"Human-readable title",[701,746,747,752,757],{},[719,748,749],{},[76,750,751],{},"strict",[719,753,754],{},[76,755,756],{},"boolean",[719,758,759],{},"Strict mode for input generation",[701,761,762,767,772],{},[719,763,764],{},[76,765,766],{},"needsApproval",[719,768,769],{},[76,770,771],{},"boolean | function",[719,773,774],{},"Gate execution behind approval",[701,776,777,782,787],{},[719,778,779],{},[76,780,781],{},"providerOptions",[719,783,784],{},[76,785,786],{},"ProviderOptions",[719,788,789],{},"Provider-specific metadata",[701,791,792,797,802],{},[719,793,794],{},[76,795,796],{},"onInputStart",[719,798,799],{},[76,800,801],{},"function",[719,803,804],{},"Callback when argument streaming starts",[701,806,807,812,816],{},[719,808,809],{},[76,810,811],{},"onInputDelta",[719,813,814],{},[76,815,801],{},[719,817,818],{},"Callback on each streaming delta",[701,820,821,826,830],{},[719,822,823],{},[76,824,825],{},"onInputAvailable",[719,827,828],{},[76,829,801],{},[719,831,832],{},"Callback when full input is available",[701,834,835,840,844],{},[719,836,837],{},[76,838,839],{},"toModelOutput",[719,841,842],{},[76,843,801],{},[719,845,846],{},"Custom mapping of tool result to model output",[80,848,849,850,853,854,853,857,860],{},"Core properties (",[76,851,852],{},"execute",", ",[76,855,856],{},"inputSchema",[76,858,859],{},"outputSchema",") cannot be overridden.",[539,862,864],{"id":863},"commit-attribution","Commit attribution",[80,866,545,867,853,870,873,874,877,878,86,881,285],{},[76,868,869],{},"author",[76,871,872],{},"committer",", and ",[76,875,876],{},"coAuthors"," options control how commits are attributed when using ",[76,879,880],{},"createOrUpdateFile",[76,882,883],{},"mergePullRequest",[96,885,888],{"className":98,"code":886,"filename":887,"language":101,"meta":102,"style":102},"import { createGithubTools } from '@github-tools\u002Fsdk'\n\nconst tools = createGithubTools({\n  token: 'github_pat_xxxxxxxxxxxx',\n  coAuthors: [\n    { name: 'my-bot[bot]', email: '12345+my-bot[bot]@users.noreply.github.com' }\n  ]\n})\n","attribution.ts",[76,889,890,908,912,926,940,949,983,988],{"__ignoreMap":102},[106,891,892,894,896,898,900,902,904,906],{"class":108,"line":109},[106,893,399],{"class":398},[106,895,402],{"class":120},[106,897,405],{"class":217},[106,899,408],{"class":120},[106,901,411],{"class":398},[106,903,326],{"class":120},[106,905,416],{"class":329},[106,907,333],{"class":120},[106,909,910],{"class":108,"line":127},[106,911,265],{"emptyLinePlaceholder":264},[106,913,914,916,918,920,922,924],{"class":108,"line":140},[106,915,427],{"class":112},[106,917,430],{"class":217},[106,919,433],{"class":120},[106,921,405],{"class":436},[106,923,483],{"class":217},[106,925,486],{"class":120},[106,927,928,930,932,934,936,938],{"class":108,"line":176},[106,929,131],{"class":130},[106,931,285],{"class":120},[106,933,326],{"class":120},[106,935,497],{"class":329},[106,937,500],{"class":120},[106,939,503],{"class":120},[106,941,942,944,946],{"class":108,"line":202},[106,943,245],{"class":130},[106,945,285],{"class":120},[106,947,948],{"class":217}," [\n",[106,950,951,954,957,959,961,964,966,968,971,973,975,978,980],{"class":108,"line":221},[106,952,953],{"class":120},"    {",[106,955,956],{"class":130}," name",[106,958,285],{"class":120},[106,960,326],{"class":120},[106,962,963],{"class":329},"my-bot[bot]",[106,965,500],{"class":120},[106,967,168],{"class":120},[106,969,970],{"class":130}," email",[106,972,285],{"class":120},[106,974,326],{"class":120},[106,976,977],{"class":329},"12345+my-bot[bot]@users.noreply.github.com",[106,979,500],{"class":120},[106,981,982],{"class":120}," }\n",[106,984,985],{"class":108,"line":232},[106,986,987],{"class":217},"  ]\n",[106,989,990,992],{"class":108,"line":242},[106,991,522],{"class":120},[106,993,525],{"class":217},[695,995,996,1007],{},[698,997,998],{},[701,999,1000,1003,1005],{},[704,1001,1002],{},"Option",[704,1004,709],{},[704,1006,712],{},[714,1008,1009,1023,1036],{},[701,1010,1011,1015,1020],{},[719,1012,1013],{},[76,1014,869],{},[719,1016,1017],{},[76,1018,1019],{},"CommitIdentity",[719,1021,1022],{},"The person who wrote the code. Falls back to the authenticated user.",[701,1024,1025,1029,1033],{},[719,1026,1027],{},[76,1028,872],{},[719,1030,1031],{},[76,1032,1019],{},[719,1034,1035],{},"The person who applied the commit. Falls back to the authenticated user.",[701,1037,1038,1042,1047],{},[719,1039,1040],{},[76,1041,876],{},[719,1043,1044],{},[76,1045,1046],{},"CommitIdentity[]",[719,1048,1049,1050,1053],{},"Additional contributors. Added as ",[76,1051,1052],{},"Co-authored-by"," trailers to commit messages.",[80,1055,1056,1057,1061],{},"Commits made via the GitHub API are ",[1058,1059,1060],"strong",{},"automatically signed"," by GitHub's web-flow key, passing branch protection rules that require signed commits.",[80,1063,528,1064,1066],{},[530,1065,864],{"href":40}," for detailed guidance.",[72,1068,1070],{"id":1069},"creategithubagentoptions",[76,1071,1072],{},"createGithubAgent(options)",[80,1074,1075,1076,1079,1080,285],{},"Returns a ",[76,1077,1078],{},"ToolLoopAgent"," with GitHub tools and system instructions pre-configured. The token is also auto-detected from ",[76,1081,93],{},[96,1083,1085],{"className":98,"code":1084,"filename":100,"language":101,"meta":102,"style":102},"type GithubAgentOptions = {\n  model: string\n  token?: string\n  preset?: GithubToolPreset | GithubToolPreset[]\n  requireApproval?: boolean | Partial\u003CRecord\u003CGithubWriteToolName, boolean>>\n  system?: string\n  author?: CommitIdentity\n  committer?: CommitIdentity\n  coAuthors?: CommitIdentity[]\n}\n",[76,1086,1087,1098,1107,1115,1129,1155,1164,1172,1180,1190],{"__ignoreMap":102},[106,1088,1089,1091,1094,1096],{"class":108,"line":109},[106,1090,113],{"class":112},[106,1092,1093],{"class":116}," GithubAgentOptions",[106,1095,121],{"class":120},[106,1097,124],{"class":120},[106,1099,1100,1103,1105],{"class":108,"line":127},[106,1101,1102],{"class":130},"  model",[106,1104,285],{"class":120},[106,1106,137],{"class":116},[106,1108,1109,1111,1113],{"class":108,"line":140},[106,1110,131],{"class":130},[106,1112,134],{"class":120},[106,1114,137],{"class":116},[106,1116,1117,1119,1121,1123,1125,1127],{"class":108,"line":176},[106,1118,205],{"class":130},[106,1120,134],{"class":120},[106,1122,210],{"class":116},[106,1124,151],{"class":120},[106,1126,210],{"class":116},[106,1128,218],{"class":217},[106,1130,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153],{"class":108,"line":202},[106,1132,143],{"class":130},[106,1134,134],{"class":120},[106,1136,148],{"class":116},[106,1138,151],{"class":120},[106,1140,154],{"class":116},[106,1142,157],{"class":120},[106,1144,160],{"class":116},[106,1146,157],{"class":120},[106,1148,165],{"class":116},[106,1150,168],{"class":120},[106,1152,148],{"class":116},[106,1154,173],{"class":120},[106,1156,1157,1160,1162],{"class":108,"line":221},[106,1158,1159],{"class":130},"  system",[106,1161,134],{"class":120},[106,1163,137],{"class":116},[106,1165,1166,1168,1170],{"class":108,"line":232},[106,1167,224],{"class":130},[106,1169,134],{"class":120},[106,1171,229],{"class":116},[106,1173,1174,1176,1178],{"class":108,"line":242},[106,1175,235],{"class":130},[106,1177,134],{"class":120},[106,1179,229],{"class":116},[106,1181,1182,1184,1186,1188],{"class":108,"line":255},[106,1183,245],{"class":130},[106,1185,134],{"class":120},[106,1187,250],{"class":116},[106,1189,218],{"class":217},[106,1191,1192],{"class":108,"line":261},[106,1193,258],{"class":120},[80,1195,1196],{},"Use this when you want:",[1198,1199,1200,1212,1215],"ul",{},[1201,1202,1203,1204,1207,1208,1211],"li",{},"reusable ",[76,1205,1206],{},".generate()"," \u002F ",[76,1209,1210],{},".stream()"," calls across multiple prompts",[1201,1213,1214],{},"preset-aware system instructions without manual wiring",[1201,1216,1217],{},"a centralized agent definition shared across your codebase",[96,1219,1222],{"className":98,"code":1220,"filename":1221,"language":101,"meta":102,"style":102},"import { createGithubAgent } from '@github-tools\u002Fsdk'\n\nconst agent = createGithubAgent({\n  model: 'anthropic\u002Fclaude-sonnet-4.6',\n  preset: 'code-review',\n  system: 'You review PRs for security issues. Cite file paths and line numbers.',\n})\n","agent.ts",[76,1223,1224,1243,1247,1262,1277,1291,1306],{"__ignoreMap":102},[106,1225,1226,1228,1230,1233,1235,1237,1239,1241],{"class":108,"line":109},[106,1227,399],{"class":398},[106,1229,402],{"class":120},[106,1231,1232],{"class":217}," createGithubAgent",[106,1234,408],{"class":120},[106,1236,411],{"class":398},[106,1238,326],{"class":120},[106,1240,416],{"class":329},[106,1242,333],{"class":120},[106,1244,1245],{"class":108,"line":127},[106,1246,265],{"emptyLinePlaceholder":264},[106,1248,1249,1251,1254,1256,1258,1260],{"class":108,"line":140},[106,1250,427],{"class":112},[106,1252,1253],{"class":217}," agent ",[106,1255,433],{"class":120},[106,1257,1232],{"class":436},[106,1259,483],{"class":217},[106,1261,486],{"class":120},[106,1263,1264,1266,1268,1270,1273,1275],{"class":108,"line":176},[106,1265,1102],{"class":130},[106,1267,285],{"class":120},[106,1269,326],{"class":120},[106,1271,1272],{"class":329},"anthropic\u002Fclaude-sonnet-4.6",[106,1274,500],{"class":120},[106,1276,503],{"class":120},[106,1278,1279,1281,1283,1285,1287,1289],{"class":108,"line":202},[106,1280,205],{"class":130},[106,1282,285],{"class":120},[106,1284,326],{"class":120},[106,1286,330],{"class":329},[106,1288,500],{"class":120},[106,1290,503],{"class":120},[106,1292,1293,1295,1297,1299,1302,1304],{"class":108,"line":221},[106,1294,1159],{"class":130},[106,1296,285],{"class":120},[106,1298,326],{"class":120},[106,1300,1301],{"class":329},"You review PRs for security issues. Cite file paths and line numbers.",[106,1303,500],{"class":120},[106,1305,503],{"class":120},[106,1307,1308,1310],{"class":108,"line":232},[106,1309,522],{"class":120},[106,1311,525],{"class":217},[72,1313,1315],{"id":1314},"createdurablegithubagentoptions",[76,1316,1317],{},"createDurableGithubAgent(options)",[80,1319,1075,1320,1327,1328,1331,1332,1335,1336,1339],{},[530,1321,1324],{"href":1322,"rel":1323},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@workflow\u002Fai",[554],[76,1325,1326],{},"DurableAgent"," for use ",[1058,1329,1330],{},"inside"," a Vercel Workflow function (",[76,1333,1334],{},"\"use workflow\"","). Each LLM step and each GitHub tool invocation runs as a ",[1058,1337,1338],{},"durable",", retryable workflow step. Import from the workflow subpath:",[96,1341,1344],{"className":98,"code":1342,"filename":1343,"language":101,"meta":102,"style":102},"import { createDurableGithubAgent } from '@github-tools\u002Fsdk\u002Fworkflow'\n","import.ts",[76,1345,1346],{"__ignoreMap":102},[106,1347,1348,1350,1352,1355,1357,1359,1361,1364],{"class":108,"line":109},[106,1349,399],{"class":398},[106,1351,402],{"class":120},[106,1353,1354],{"class":217}," createDurableGithubAgent",[106,1356,408],{"class":120},[106,1358,411],{"class":398},[106,1360,326],{"class":120},[106,1362,1363],{"class":329},"@github-tools\u002Fsdk\u002Fworkflow",[106,1365,333],{"class":120},[80,1367,1368,1369,1372,1373,1376,1377,1379],{},"Requires optional peer dependencies ",[76,1370,1371],{},"workflow"," and ",[76,1374,1375],{},"@workflow\u002Fai"," — see ",[530,1378,14],{"href":15},".",[80,1381,1382,1383,1386,1387,1390,1391,853,1394,1397,1398,1401,1402,1404,1405,1408,1409,1411,1412,1414],{},"Options align with ",[76,1384,1385],{},"createGithubAgent"," (model, token, preset, ",[76,1388,1389],{},"requireApproval",", instructions, ",[76,1392,1393],{},"additionalInstructions",[76,1395,1396],{},"maxSteps",", temperature, and other agent options passed through). ",[1058,1399,1400],{},"Important:"," ",[76,1403,1389],{}," is accepted for forward compatibility but is ",[1058,1406,1407],{},"currently ignored"," by ",[76,1410,1326],{},"; use ",[76,1413,1385],{}," when you need interactive approval on writes.",[96,1416,1419],{"className":98,"code":1417,"filename":1418,"language":101,"meta":102,"style":102},"import { createDurableGithubAgent } from '@github-tools\u002Fsdk\u002Fworkflow'\nimport { getWritable } from 'workflow'\nimport type { ModelMessage, UIMessageChunk } from 'ai'\n\nexport async function githubAssistant(messages: ModelMessage[], token: string) {\n  'use workflow'\n\n  const agent = createDurableGithubAgent({\n    model: 'anthropic\u002Fclaude-sonnet-4.6',\n    token,\n    preset: 'maintainer',\n  })\n  const writable = getWritable\u003CUIMessageChunk>()\n  await agent.stream({ messages, writable })\n}\n","durable-agent.ts",[76,1420,1421,1439,1458,1485,1489,1531,1541,1545,1561,1576,1583,1598,1605,1626,1654],{"__ignoreMap":102},[106,1422,1423,1425,1427,1429,1431,1433,1435,1437],{"class":108,"line":109},[106,1424,399],{"class":398},[106,1426,402],{"class":120},[106,1428,1354],{"class":217},[106,1430,408],{"class":120},[106,1432,411],{"class":398},[106,1434,326],{"class":120},[106,1436,1363],{"class":329},[106,1438,333],{"class":120},[106,1440,1441,1443,1445,1448,1450,1452,1454,1456],{"class":108,"line":127},[106,1442,399],{"class":398},[106,1444,402],{"class":120},[106,1446,1447],{"class":217}," getWritable",[106,1449,408],{"class":120},[106,1451,411],{"class":398},[106,1453,326],{"class":120},[106,1455,1371],{"class":329},[106,1457,333],{"class":120},[106,1459,1460,1462,1464,1466,1469,1471,1474,1476,1478,1480,1483],{"class":108,"line":140},[106,1461,399],{"class":398},[106,1463,676],{"class":398},[106,1465,402],{"class":120},[106,1467,1468],{"class":217}," ModelMessage",[106,1470,168],{"class":120},[106,1472,1473],{"class":217}," UIMessageChunk",[106,1475,408],{"class":120},[106,1477,411],{"class":398},[106,1479,326],{"class":120},[106,1481,1482],{"class":329},"ai",[106,1484,333],{"class":120},[106,1486,1487],{"class":108,"line":176},[106,1488,265],{"emptyLinePlaceholder":264},[106,1490,1491,1494,1497,1500,1503,1505,1509,1511,1513,1516,1518,1521,1523,1526,1529],{"class":108,"line":202},[106,1492,1493],{"class":398},"export",[106,1495,1496],{"class":112}," async",[106,1498,1499],{"class":112}," function",[106,1501,1502],{"class":436}," githubAssistant",[106,1504,483],{"class":120},[106,1506,1508],{"class":1507},"sHdIc","messages",[106,1510,285],{"class":120},[106,1512,1468],{"class":116},[106,1514,1515],{"class":217},"[]",[106,1517,168],{"class":120},[106,1519,1520],{"class":1507}," token",[106,1522,285],{"class":120},[106,1524,1525],{"class":116}," string",[106,1527,1528],{"class":120},")",[106,1530,124],{"class":120},[106,1532,1533,1536,1539],{"class":108,"line":221},[106,1534,1535],{"class":120},"  '",[106,1537,1538],{"class":329},"use workflow",[106,1540,333],{"class":120},[106,1542,1543],{"class":108,"line":232},[106,1544,265],{"emptyLinePlaceholder":264},[106,1546,1547,1550,1553,1555,1557,1559],{"class":108,"line":242},[106,1548,1549],{"class":112},"  const",[106,1551,1552],{"class":217}," agent",[106,1554,121],{"class":120},[106,1556,1354],{"class":436},[106,1558,483],{"class":130},[106,1560,486],{"class":120},[106,1562,1563,1566,1568,1570,1572,1574],{"class":108,"line":255},[106,1564,1565],{"class":130},"    model",[106,1567,285],{"class":120},[106,1569,326],{"class":120},[106,1571,1272],{"class":329},[106,1573,500],{"class":120},[106,1575,503],{"class":120},[106,1577,1578,1581],{"class":108,"line":261},[106,1579,1580],{"class":217},"    token",[106,1582,503],{"class":120},[106,1584,1585,1588,1590,1592,1594,1596],{"class":108,"line":268},[106,1586,1587],{"class":130},"    preset",[106,1589,285],{"class":120},[106,1591,326],{"class":120},[106,1593,379],{"class":329},[106,1595,500],{"class":120},[106,1597,503],{"class":120},[106,1599,1600,1603],{"class":108,"line":279},[106,1601,1602],{"class":120},"  }",[106,1604,525],{"class":130},[106,1606,1607,1609,1612,1614,1616,1618,1621,1624],{"class":108,"line":290},[106,1608,1549],{"class":112},[106,1610,1611],{"class":217}," writable",[106,1613,121],{"class":120},[106,1615,1447],{"class":436},[106,1617,157],{"class":120},[106,1619,1620],{"class":116},"UIMessageChunk",[106,1622,1623],{"class":120},">",[106,1625,439],{"class":130},[106,1627,1628,1631,1633,1635,1638,1640,1643,1646,1648,1650,1652],{"class":108,"line":300},[106,1629,1630],{"class":398},"  await",[106,1632,1552],{"class":217},[106,1634,1379],{"class":120},[106,1636,1637],{"class":436},"stream",[106,1639,483],{"class":130},[106,1641,1642],{"class":120},"{",[106,1644,1645],{"class":217}," messages",[106,1647,168],{"class":120},[106,1649,1611],{"class":217},[106,1651,408],{"class":120},[106,1653,525],{"class":130},[106,1655,1656],{"class":108,"line":305},[106,1657,258],{"class":120},[80,1659,1660,1661,1379],{},"Conceptual overview: ",[530,1662,51],{"href":52},[72,1664,1666],{"id":1665},"createoctokittoken",[76,1667,1668],{},"createOctokit(token?)",[80,1670,1671,1672,1679],{},"Returns a configured ",[530,1673,1676],{"href":1674,"rel":1675},"https:\u002F\u002Fgithub.com\u002Foctokit\u002Frest.js",[554],[76,1677,1678],{},"@octokit\u002Frest"," instance. Use this when you need lower-level GitHub API access or want to build custom tool factories:",[96,1681,1684],{"className":98,"code":1682,"filename":1683,"language":101,"meta":102,"style":102},"import { createOctokit } from '@github-tools\u002Fsdk'\n\nconst octokit = createOctokit()\nconst { data } = await octokit.repos.get({ owner: 'HugoRCD', repo: 'github-tools' })\n","custom-tool.ts",[76,1685,1686,1705,1709,1722],{"__ignoreMap":102},[106,1687,1688,1690,1692,1695,1697,1699,1701,1703],{"class":108,"line":109},[106,1689,399],{"class":398},[106,1691,402],{"class":120},[106,1693,1694],{"class":217}," createOctokit",[106,1696,408],{"class":120},[106,1698,411],{"class":398},[106,1700,326],{"class":120},[106,1702,416],{"class":329},[106,1704,333],{"class":120},[106,1706,1707],{"class":108,"line":127},[106,1708,265],{"emptyLinePlaceholder":264},[106,1710,1711,1713,1716,1718,1720],{"class":108,"line":140},[106,1712,427],{"class":112},[106,1714,1715],{"class":217}," octokit ",[106,1717,433],{"class":120},[106,1719,1694],{"class":436},[106,1721,439],{"class":217},[106,1723,1724,1726,1728,1731,1733,1735,1738,1741,1743,1746,1748,1751,1753,1755,1758,1760,1762,1765,1767,1769,1772,1774,1776,1779,1781,1783],{"class":108,"line":176},[106,1725,427],{"class":112},[106,1727,402],{"class":120},[106,1729,1730],{"class":217}," data ",[106,1732,522],{"class":120},[106,1734,121],{"class":120},[106,1736,1737],{"class":398}," await",[106,1739,1740],{"class":217}," octokit",[106,1742,1379],{"class":120},[106,1744,1745],{"class":217},"repos",[106,1747,1379],{"class":120},[106,1749,1750],{"class":436},"get",[106,1752,483],{"class":217},[106,1754,1642],{"class":120},[106,1756,1757],{"class":130}," owner",[106,1759,285],{"class":120},[106,1761,326],{"class":120},[106,1763,1764],{"class":329},"HugoRCD",[106,1766,500],{"class":120},[106,1768,168],{"class":120},[106,1770,1771],{"class":130}," repo",[106,1773,285],{"class":120},[106,1775,326],{"class":120},[106,1777,1778],{"class":329},"github-tools",[106,1780,500],{"class":120},[106,1782,408],{"class":120},[106,1784,525],{"class":217},[72,1786,1788],{"id":1787},"ai-assistant-prompt-octokit-ai-sdk-tools","AI assistant prompt (Octokit → AI SDK tools)",[96,1790,1795],{"className":1791,"code":1792,"filename":1793,"language":1794,"meta":102,"style":102},"language-txt shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","This file uses Octokit for calls that should be model-driven. Migrate the LLM-facing surface to @github-tools\u002Fsdk: createGithubTools or createGithubAgent with the right preset so the model uses typed AI SDK tools.\n\n- Preserve behavior; prefer presets from https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fpresets\n- Keep createOctokit from @github-tools\u002Fsdk only for non-LLM \u002F server-only code\n","Prompt","txt",[76,1796,1797,1802,1806,1811],{"__ignoreMap":102},[106,1798,1799],{"class":108,"line":109},[106,1800,1801],{},"This file uses Octokit for calls that should be model-driven. Migrate the LLM-facing surface to @github-tools\u002Fsdk: createGithubTools or createGithubAgent with the right preset so the model uses typed AI SDK tools.\n",[106,1803,1804],{"class":108,"line":127},[106,1805,265],{"emptyLinePlaceholder":264},[106,1807,1808],{"class":108,"line":140},[106,1809,1810],{},"- Preserve behavior; prefer presets from https:\u002F\u002Fgithub-tools.com\u002Fguide\u002Fpresets\n",[106,1812,1813],{"class":108,"line":176},[106,1814,1815],{},"- Keep createOctokit from @github-tools\u002Fsdk only for non-LLM \u002F server-only code\n",[72,1817,1819],{"id":1818},"external-references","External references",[1198,1821,1822,1828,1835],{},[1201,1823,1824],{},[530,1825,1827],{"href":552,"rel":1826},[554],"AI SDK tool definitions",[1201,1829,1830],{},[530,1831,1834],{"href":1832,"rel":1833},"https:\u002F\u002Fvercel.com\u002Fdocs\u002Fworkflow",[554],"Vercel Workflow",[1201,1836,1837],{},[530,1838,1841],{"href":1839,"rel":1840},"https:\u002F\u002Foctokit.github.io\u002Frest.js\u002F",[554],"Octokit REST.js API",[1843,1844,1845],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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}",{"title":102,"searchDepth":127,"depth":127,"links":1847},[1848,1852,1853,1854,1855,1856],{"id":74,"depth":127,"text":78,"children":1849},[1850,1851],{"id":541,"depth":140,"text":542},{"id":863,"depth":140,"text":864},{"id":1069,"depth":127,"text":1072},{"id":1314,"depth":127,"text":1317},{"id":1665,"depth":127,"text":1668},{"id":1787,"depth":127,"text":1788},{"id":1818,"depth":127,"text":1819},"Type signatures for createGithubTools, createGithubAgent, createDurableGithubAgent, and createOctokit.","md",[1860,1865,1867],{"label":1861,"icon":1862,"to":60,"color":1863,"variant":1864},"Browse all tools","i-lucide-list-tree","neutral","subtle",{"label":864,"icon":1866,"to":40,"color":1863,"variant":1864},"i-lucide-git-commit-horizontal",{"label":1868,"icon":1869,"to":52,"color":1863,"variant":1864},"Durable workflows","i-lucide-refresh-cw",{},{"title":63,"description":1857},"DSwQaFmvNaDbt8_V1HggUKDcVmy50bRHScZm5zSAqF8",[1874,1876],{"title":59,"path":60,"stem":61,"description":1875,"children":-1},"Every available tool, grouped by domain and write-safety status. Tools run as durable workflow steps when used with Vercel Workflow.",null,1779365451999]