[{"data":1,"prerenderedAt":1119},["ShallowReactive",2],{"navigation":3,"/guides/delegation-guide":145,"/guides/delegation-guide-surround":1114},[4,28,49,88,101,127],{"title":5,"path":6,"stem":7,"children":8,"icon":27},"Getting Started","/getting-started","1.getting-started/1.index",[9,11,15,19,23],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Working with Agents","/getting-started/working-with-agents","1.getting-started/2.working-with-agents",{"title":16,"path":17,"stem":18},"Setup a Service Provider","/getting-started/setup-service-provider","1.getting-started/3.setup-service-provider",{"title":20,"path":21,"stem":22},"Setup an Identity Provider","/getting-started/setup-identity-provider","1.getting-started/4.setup-identity-provider",{"title":24,"path":25,"stem":26},"Developers","/getting-started/developers","1.getting-started/5.developers",false,{"title":29,"icon":27,"path":30,"stem":31,"children":32,"page":27},"Guides","/guides","2.guides",[33,37,41,45],{"title":34,"path":35,"stem":36},"How It Works","/guides/how-it-works","2.guides/1.how-it-works",{"title":38,"path":39,"stem":40},"Capabilities Guide","/guides/capabilities-guide","2.guides/2.capabilities-guide",{"title":42,"path":43,"stem":44},"End-to-End Tutorial","/guides/end-to-end-tutorial","2.guides/3.end-to-end-tutorial",{"title":46,"path":47,"stem":48},"Delegation Guide","/guides/delegation-guide","2.guides/4.delegation-guide",{"title":50,"path":51,"stem":52,"children":53,"icon":27},"Ecosystem","/ecosystem","3.ecosystem/1.index",[54,56,60,64,68,72,76,80,84],{"title":55,"path":51,"stem":52},"Overview",{"title":57,"path":58,"stem":59},"grapes CLI","/ecosystem/grapes","3.ecosystem/2.grapes",{"title":61,"path":62,"stem":63},"shapes CLI","/ecosystem/shapes","3.ecosystem/3.shapes",{"title":65,"path":66,"stem":67},"escapes","/ecosystem/escapes","3.ecosystem/4.escapes",{"title":69,"path":70,"stem":71},"OpenApe Proxy","/ecosystem/proxy","3.ecosystem/5.proxy",{"title":73,"path":74,"stem":75},"OpenApe Browser","/ecosystem/browser","3.ecosystem/6.browser",{"title":77,"path":78,"stem":79},"OpenApe Auth","/ecosystem/auth","3.ecosystem/7.auth",{"title":81,"path":82,"stem":83},"OpenApe Grants","/ecosystem/grants","3.ecosystem/8.grants",{"title":85,"path":86,"stem":87},"nuxt-auth-sp","/ecosystem/nuxt-auth-sp","3.ecosystem/9.nuxt-auth-sp",{"title":89,"icon":27,"path":90,"stem":91,"children":92,"page":27},"Security","/security","4.security",[93,97],{"title":94,"path":95,"stem":96},"Compliance","/security/compliance","4.security/1.compliance",{"title":98,"path":99,"stem":100},"Threat Model","/security/threat-model","4.security/2.threat-model",{"title":102,"path":103,"stem":104,"children":105,"icon":27},"Reference","/reference","5.reference/1.index",[106,107,111,115,119,123],{"title":102,"path":103,"stem":104},{"title":108,"path":109,"stem":110},"IdP Configuration","/reference/idp-configuration","5.reference/2.idp-configuration",{"title":112,"path":113,"stem":114},"SP Configuration","/reference/sp-configuration","5.reference/3.sp-configuration",{"title":116,"path":117,"stem":118},"API Endpoints","/reference/api-endpoints","5.reference/4.api-endpoints",{"title":120,"path":121,"stem":122},"escapes Config","/reference/escapes-config","5.reference/5.escapes-config",{"title":124,"path":125,"stem":126},"Proxy Config","/reference/proxy-config","5.reference/6.proxy-config",{"title":128,"path":129,"stem":130,"children":131,"icon":27},"Operations","/operations","6.operations/1.index",[132,133,137,141],{"title":128,"path":129,"stem":130},{"title":134,"path":135,"stem":136},"Deployment","/operations/deployment","6.operations/2.deployment",{"title":138,"path":139,"stem":140},"Troubleshooting","/operations/troubleshooting","6.operations/3.troubleshooting",{"title":142,"path":143,"stem":144},"Monitoring","/operations/monitoring","6.operations/4.monitoring",{"id":146,"title":46,"body":147,"description":1108,"extension":1109,"links":1110,"meta":1111,"navigation":280,"path":47,"seo":1112,"stem":48,"__hash__":1113},"docs/2.guides/4.delegation-guide.md",{"type":148,"value":149,"toc":1095},"minimark",[150,154,163,168,210,215,236,240,349,354,452,456,459,531,535,602,606,682,686,689,937,940,948,952,1051,1055,1091],[151,152,46],"h1",{"id":153},"delegation-guide",[155,156,157,158,162],"p",{},"Delegations allow a human to grant an agent the right to act ",[159,160,161],"strong",{},"on their behalf"," at a specific service. Unlike regular grants (where the agent acts as itself), a delegated agent carries the human's identity — but only within the boundaries the human defined.",[164,165,167],"h2",{"id":166},"when-to-use-delegations","When to Use Delegations",[169,170,171,184],"table",{},[172,173,174],"thead",{},[175,176,177,181],"tr",{},[178,179,180],"th",{},"Scenario",[178,182,183],{},"Use",[185,186,187,200],"tbody",{},[175,188,189,193],{},[190,191,192],"td",{},"Agent runs a command as itself",[190,194,195,196],{},"Regular ",[197,198,199],"a",{"href":82},"grant",[175,201,202,205],{},[190,203,204],{},"Agent acts as a specific human",[190,206,207],{},[159,208,209],{},"Delegation",[155,211,212],{},[159,213,214],{},"Examples:",[216,217,218,230,233],"ul",{},[219,220,221,222,226,227],"li",{},"A bot that files GitHub issues as ",[223,224,225],"code",{},"alice@example.com"," instead of ",[223,228,229],{},"agent+bot@example.com",[219,231,232],{},"An agent that sends emails from a human's mailbox",[219,234,235],{},"A browser automation that logs into a web app as a specific user",[164,237,239],{"id":238},"create-a-delegation","Create a Delegation",[241,242,247],"pre",{"className":243,"code":244,"language":245,"meta":246,"style":246},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Login as the human who wants to delegate\ngrapes login --idp https://id.example.com\n\n# Delegate to the agent\ngrapes delegate \\\n  --to agent+bot@example.com \\\n  --at escapes \\\n  --approval always \\\n  --reason \"Allow bot to act on my behalf for deployments\"\n","bash","",[223,248,249,258,275,282,288,300,311,322,333],{"__ignoreMap":246},[250,251,254],"span",{"class":252,"line":253},"line",1,[250,255,257],{"class":256},"sHwdD","# Login as the human who wants to delegate\n",[250,259,261,265,269,272],{"class":252,"line":260},2,[250,262,264],{"class":263},"sBMFI","grapes",[250,266,268],{"class":267},"sfazB"," login",[250,270,271],{"class":267}," --idp",[250,273,274],{"class":267}," https://id.example.com\n",[250,276,278],{"class":252,"line":277},3,[250,279,281],{"emptyLinePlaceholder":280},true,"\n",[250,283,285],{"class":252,"line":284},4,[250,286,287],{"class":256},"# Delegate to the agent\n",[250,289,291,293,296],{"class":252,"line":290},5,[250,292,264],{"class":263},[250,294,295],{"class":267}," delegate",[250,297,299],{"class":298},"sTEyZ"," \\\n",[250,301,303,306,309],{"class":252,"line":302},6,[250,304,305],{"class":267},"  --to",[250,307,308],{"class":267}," agent+bot@example.com",[250,310,299],{"class":298},[250,312,314,317,320],{"class":252,"line":313},7,[250,315,316],{"class":267},"  --at",[250,318,319],{"class":267}," escapes",[250,321,299],{"class":298},[250,323,325,328,331],{"class":252,"line":324},8,[250,326,327],{"class":267},"  --approval",[250,329,330],{"class":267}," always",[250,332,299],{"class":298},[250,334,336,339,343,346],{"class":252,"line":335},9,[250,337,338],{"class":267},"  --reason",[250,340,342],{"class":341},"sMK4o"," \"",[250,344,345],{"class":267},"Allow bot to act on my behalf for deployments",[250,347,348],{"class":341},"\"\n",[350,351,353],"h3",{"id":352},"options","Options",[169,355,356,369],{},[172,357,358],{},[175,359,360,363,366],{},[178,361,362],{},"Flag",[178,364,365],{},"Required",[178,367,368],{},"Description",[185,370,371,384,396,413,437],{},[175,372,373,378,381],{},[190,374,375],{},[223,376,377],{},"--to",[190,379,380],{},"Yes",[190,382,383],{},"Agent email that receives the delegation",[175,385,386,391,393],{},[190,387,388],{},[223,389,390],{},"--at",[190,392,380],{},[190,394,395],{},"Service/audience where the delegation applies",[175,397,398,403,406],{},[190,399,400],{},[223,401,402],{},"--scopes",[190,404,405],{},"No",[190,407,408,409,412],{},"Comma-separated scopes (e.g., ",[223,410,411],{},"read,write",")",[175,414,415,420,422],{},[190,416,417],{},[223,418,419],{},"--approval",[190,421,405],{},[190,423,424,427,428,427,431,434,435,412],{},[223,425,426],{},"once",", ",[223,429,430],{},"timed",[223,432,433],{},"always"," (default: ",[223,436,426],{},[175,438,439,444,446],{},[190,440,441],{},[223,442,443],{},"--expires",[190,445,405],{},[190,447,448,449,412],{},"ISO 8601 expiration (e.g., ",[223,450,451],{},"2026-12-31T23:59:59Z",[350,453,455],{"id":454},"with-scopes","With Scopes",[155,457,458],{},"Scopes limit what the agent can do within the delegation:",[241,460,462],{"className":243,"code":461,"language":245,"meta":246,"style":246},"# Only allow reading and commenting, not writing or deleting\ngrapes delegate \\\n  --to agent+reviewer@example.com \\\n  --at shapes \\\n  --scopes \"read,comment\" \\\n  --approval timed \\\n  --expires \"2026-04-01T00:00:00Z\"\n",[223,463,464,469,477,486,495,510,519],{"__ignoreMap":246},[250,465,466],{"class":252,"line":253},[250,467,468],{"class":256},"# Only allow reading and commenting, not writing or deleting\n",[250,470,471,473,475],{"class":252,"line":260},[250,472,264],{"class":263},[250,474,295],{"class":267},[250,476,299],{"class":298},[250,478,479,481,484],{"class":252,"line":277},[250,480,305],{"class":267},[250,482,483],{"class":267}," agent+reviewer@example.com",[250,485,299],{"class":298},[250,487,488,490,493],{"class":252,"line":284},[250,489,316],{"class":267},[250,491,492],{"class":267}," shapes",[250,494,299],{"class":298},[250,496,497,500,502,505,508],{"class":252,"line":290},[250,498,499],{"class":267},"  --scopes",[250,501,342],{"class":341},[250,503,504],{"class":267},"read,comment",[250,506,507],{"class":341},"\"",[250,509,299],{"class":298},[250,511,512,514,517],{"class":252,"line":302},[250,513,327],{"class":267},[250,515,516],{"class":267}," timed",[250,518,299],{"class":298},[250,520,521,524,526,529],{"class":252,"line":313},[250,522,523],{"class":267},"  --expires",[250,525,342],{"class":341},[250,527,528],{"class":267},"2026-04-01T00:00:00Z",[250,530,348],{"class":341},[350,532,534],{"id":533},"with-expiry","With Expiry",[241,536,538],{"className":243,"code":537,"language":245,"meta":246,"style":246},"# Delegate for one week\ngrapes delegate \\\n  --to agent+ops@example.com \\\n  --at escapes \\\n  --approval timed \\\n  --expires \"2026-03-29T23:59:59Z\" \\\n  --reason \"On-call coverage while I'm on vacation\"\n",[223,539,540,545,553,562,570,578,591],{"__ignoreMap":246},[250,541,542],{"class":252,"line":253},[250,543,544],{"class":256},"# Delegate for one week\n",[250,546,547,549,551],{"class":252,"line":260},[250,548,264],{"class":263},[250,550,295],{"class":267},[250,552,299],{"class":298},[250,554,555,557,560],{"class":252,"line":277},[250,556,305],{"class":267},[250,558,559],{"class":267}," agent+ops@example.com",[250,561,299],{"class":298},[250,563,564,566,568],{"class":252,"line":284},[250,565,316],{"class":267},[250,567,319],{"class":267},[250,569,299],{"class":298},[250,571,572,574,576],{"class":252,"line":290},[250,573,327],{"class":267},[250,575,516],{"class":267},[250,577,299],{"class":298},[250,579,580,582,584,587,589],{"class":252,"line":302},[250,581,523],{"class":267},[250,583,342],{"class":341},[250,585,586],{"class":267},"2026-03-29T23:59:59Z",[250,588,507],{"class":341},[250,590,299],{"class":298},[250,592,593,595,597,600],{"class":252,"line":313},[250,594,338],{"class":267},[250,596,342],{"class":341},[250,598,599],{"class":267},"On-call coverage while I'm on vacation",[250,601,348],{"class":341},[164,603,605],{"id":604},"list-and-manage-delegations","List and Manage Delegations",[241,607,609],{"className":243,"code":608,"language":245,"meta":246,"style":246},"# List active delegations\ngrapes delegations\ngrapes delegations --json\n\n# Revoke a delegation (via API)\ncurl -X DELETE https://id.example.com/api/delegations/\u003Cid> \\\n  -H \"Authorization: Bearer \u003Ctoken>\"\n",[223,610,611,616,623,633,637,642,670],{"__ignoreMap":246},[250,612,613],{"class":252,"line":253},[250,614,615],{"class":256},"# List active delegations\n",[250,617,618,620],{"class":252,"line":260},[250,619,264],{"class":263},[250,621,622],{"class":267}," delegations\n",[250,624,625,627,630],{"class":252,"line":277},[250,626,264],{"class":263},[250,628,629],{"class":267}," delegations",[250,631,632],{"class":267}," --json\n",[250,634,635],{"class":252,"line":284},[250,636,281],{"emptyLinePlaceholder":280},[250,638,639],{"class":252,"line":290},[250,640,641],{"class":256},"# Revoke a delegation (via API)\n",[250,643,644,647,650,653,656,659,662,665,668],{"class":252,"line":302},[250,645,646],{"class":263},"curl",[250,648,649],{"class":267}," -X",[250,651,652],{"class":267}," DELETE",[250,654,655],{"class":267}," https://id.example.com/api/delegations/",[250,657,658],{"class":341},"\u003C",[250,660,661],{"class":267},"i",[250,663,664],{"class":298},"d",[250,666,667],{"class":341},">",[250,669,299],{"class":298},[250,671,672,675,677,680],{"class":252,"line":313},[250,673,674],{"class":267},"  -H",[250,676,342],{"class":341},[250,678,679],{"class":267},"Authorization: Bearer \u003Ctoken>",[250,681,348],{"class":341},[164,683,685],{"id":684},"using-delegations-in-openapebrowser","Using Delegations in @openape/browser",[155,687,688],{},"The browser package supports delegation login — the agent can log into web applications as the delegated user:",[241,690,694],{"className":691,"code":692,"language":693,"meta":246,"style":246},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createGrantedBrowser } from '@openape/browser'\n\nconst browser = await createGrantedBrowser({\n  rulesFile: './rules.toml',\n  idpUrl: 'https://id.example.com',\n  agentEmail: 'agent+bot@example.com'\n})\n\n// Login as alice via delegation\nawait browser.loginAs({\n  email: 'alice@example.com',\n  delegationToken: '\u003Cdelegation-jwt>'\n})\n\n// Browser now has alice's session\nconst page = await browser.newPage()\nawait page.goto('https://app.example.com/dashboard')\n// → App sees alice@example.com, not agent+bot\n","typescript",[223,695,696,723,727,751,771,787,800,808,812,817,836,852,867,874,879,885,907,931],{"__ignoreMap":246},[250,697,698,702,705,708,711,714,717,720],{"class":252,"line":253},[250,699,701],{"class":700},"s7zQu","import",[250,703,704],{"class":341}," {",[250,706,707],{"class":298}," createGrantedBrowser",[250,709,710],{"class":341}," }",[250,712,713],{"class":700}," from",[250,715,716],{"class":341}," '",[250,718,719],{"class":267},"@openape/browser",[250,721,722],{"class":341},"'\n",[250,724,725],{"class":252,"line":260},[250,726,281],{"emptyLinePlaceholder":280},[250,728,729,733,736,739,742,745,748],{"class":252,"line":277},[250,730,732],{"class":731},"spNyl","const",[250,734,735],{"class":298}," browser ",[250,737,738],{"class":341},"=",[250,740,741],{"class":700}," await",[250,743,707],{"class":744},"s2Zo4",[250,746,747],{"class":298},"(",[250,749,750],{"class":341},"{\n",[250,752,753,757,760,762,765,768],{"class":252,"line":284},[250,754,756],{"class":755},"swJcz","  rulesFile",[250,758,759],{"class":341},":",[250,761,716],{"class":341},[250,763,764],{"class":267},"./rules.toml",[250,766,767],{"class":341},"'",[250,769,770],{"class":341},",\n",[250,772,773,776,778,780,783,785],{"class":252,"line":290},[250,774,775],{"class":755},"  idpUrl",[250,777,759],{"class":341},[250,779,716],{"class":341},[250,781,782],{"class":267},"https://id.example.com",[250,784,767],{"class":341},[250,786,770],{"class":341},[250,788,789,792,794,796,798],{"class":252,"line":302},[250,790,791],{"class":755},"  agentEmail",[250,793,759],{"class":341},[250,795,716],{"class":341},[250,797,229],{"class":267},[250,799,722],{"class":341},[250,801,802,805],{"class":252,"line":313},[250,803,804],{"class":341},"}",[250,806,807],{"class":298},")\n",[250,809,810],{"class":252,"line":324},[250,811,281],{"emptyLinePlaceholder":280},[250,813,814],{"class":252,"line":335},[250,815,816],{"class":256},"// Login as alice via delegation\n",[250,818,820,823,826,829,832,834],{"class":252,"line":819},10,[250,821,822],{"class":700},"await",[250,824,825],{"class":298}," browser",[250,827,828],{"class":341},".",[250,830,831],{"class":744},"loginAs",[250,833,747],{"class":298},[250,835,750],{"class":341},[250,837,839,842,844,846,848,850],{"class":252,"line":838},11,[250,840,841],{"class":755},"  email",[250,843,759],{"class":341},[250,845,716],{"class":341},[250,847,225],{"class":267},[250,849,767],{"class":341},[250,851,770],{"class":341},[250,853,855,858,860,862,865],{"class":252,"line":854},12,[250,856,857],{"class":755},"  delegationToken",[250,859,759],{"class":341},[250,861,716],{"class":341},[250,863,864],{"class":267},"\u003Cdelegation-jwt>",[250,866,722],{"class":341},[250,868,870,872],{"class":252,"line":869},13,[250,871,804],{"class":341},[250,873,807],{"class":298},[250,875,877],{"class":252,"line":876},14,[250,878,281],{"emptyLinePlaceholder":280},[250,880,882],{"class":252,"line":881},15,[250,883,884],{"class":256},"// Browser now has alice's session\n",[250,886,888,890,893,895,897,899,901,904],{"class":252,"line":887},16,[250,889,732],{"class":731},[250,891,892],{"class":298}," page ",[250,894,738],{"class":341},[250,896,741],{"class":700},[250,898,825],{"class":298},[250,900,828],{"class":341},[250,902,903],{"class":744},"newPage",[250,905,906],{"class":298},"()\n",[250,908,910,912,915,917,920,922,924,927,929],{"class":252,"line":909},17,[250,911,822],{"class":700},[250,913,914],{"class":298}," page",[250,916,828],{"class":341},[250,918,919],{"class":744},"goto",[250,921,747],{"class":298},[250,923,767],{"class":341},[250,925,926],{"class":267},"https://app.example.com/dashboard",[250,928,767],{"class":341},[250,930,807],{"class":298},[250,932,934],{"class":252,"line":933},18,[250,935,936],{"class":256},"// → App sees alice@example.com, not agent+bot\n",[164,938,34],{"id":939},"how-it-works",[241,941,946],{"className":942,"code":944,"language":945},[943],"language-text","1. Alice delegates to agent+bot:\n   grapes delegate --to agent+bot@example.com --at shapes\n\n2. Agent requests a grant, including delegator:\n   POST /api/grants { delegator: \"alice@example.com\", ... }\n\n3. IdP checks:\n   - Does alice have an active delegation to this agent?\n   - Does the delegation cover this service/audience?\n   - Are the scopes sufficient?\n\n4. If valid, the AuthZ-JWT includes:\n   { sub: \"agent+bot@example.com\", delegator: \"alice@example.com\", ... }\n\n5. Target system sees both identities:\n   - WHO is acting: agent+bot\n   - ON BEHALF OF: alice\n   - WHO approved: the approver\n","text",[223,947,944],{"__ignoreMap":246},[164,949,951],{"id":950},"delegation-vs-regular-grants","Delegation vs. Regular Grants",[169,953,954,965],{},[172,955,956],{},[175,957,958,960,963],{},[178,959],{},[178,961,962],{},"Regular Grant",[178,964,209],{},[185,966,967,982,995,1010,1025,1038],{},[175,968,969,974,978],{},[190,970,971],{},[159,972,973],{},"Agent identity",[190,975,976],{},[223,977,229],{},[190,979,980],{},[223,981,229],{},[175,983,984,989,992],{},[190,985,986],{},[159,987,988],{},"Acting as",[190,990,991],{},"Itself",[190,993,994],{},"The delegating human",[175,996,997,1005,1008],{},[190,998,999],{},[159,1000,1001,1002],{},"AuthZ-JWT ",[223,1003,1004],{},"sub",[190,1006,1007],{},"Agent email",[190,1009,1007],{},[175,1011,1012,1019,1022],{},[190,1013,1014],{},[159,1015,1001,1016],{},[223,1017,1018],{},"delegator",[190,1020,1021],{},"—",[190,1023,1024],{},"Human email",[175,1026,1027,1032,1035],{},[190,1028,1029],{},[159,1030,1031],{},"Use case",[190,1033,1034],{},"Agent's own actions",[190,1036,1037],{},"Acting on behalf of a user",[175,1039,1040,1045,1048],{},[190,1041,1042],{},[159,1043,1044],{},"Approval",[190,1046,1047],{},"Agent's approver",[190,1049,1050],{},"Delegating human + approver",[164,1052,1054],{"id":1053},"security-considerations","Security Considerations",[216,1056,1057,1064,1071,1078,1084],{},[219,1058,1059,1060,1063],{},"Delegations are ",[159,1061,1062],{},"traceable"," — the AuthZ-JWT always carries both the agent and the delegator identity",[219,1065,1066,1067,1070],{},"Delegations can be ",[159,1068,1069],{},"scoped"," — limit to specific actions/services",[219,1072,1073,1074,1077],{},"Delegations can ",[159,1075,1076],{},"expire"," — set an explicit end date",[219,1079,1059,1080,1083],{},[159,1081,1082],{},"revocable"," — the human can revoke at any time",[219,1085,1086,1087,1090],{},"The agent ",[159,1088,1089],{},"cannot create delegations for itself"," — only humans can delegate",[1092,1093,1094],"style",{},"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}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .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":246,"searchDepth":277,"depth":260,"links":1096},[1097,1098,1103,1104,1105,1106,1107],{"id":166,"depth":260,"text":167},{"id":238,"depth":260,"text":239,"children":1099},[1100,1101,1102],{"id":352,"depth":277,"text":353},{"id":454,"depth":277,"text":455},{"id":533,"depth":277,"text":534},{"id":604,"depth":260,"text":605},{"id":684,"depth":260,"text":685},{"id":939,"depth":260,"text":34},{"id":950,"depth":260,"text":951},{"id":1053,"depth":260,"text":1054},"Let agents act on behalf of users with controlled, auditable delegations.","md",null,{},{"title":46,"description":1108},"cci1yB5HeTf-CkJO8NG1BBN8cmBClFFBcsvGFtbjfVA",[1115,1117],{"title":42,"path":43,"stem":44,"description":1116,"children":-1},"Set up a complete OpenApe environment with IdP, Service Provider, and Agent from scratch.",{"title":55,"path":51,"stem":52,"description":1118,"children":-1},"The OpenApe package ecosystem.",1774221117377]