[{"data":1,"prerenderedAt":1351},["ShallowReactive",2],{"navigation":3,"/reference/proxy-config":145,"/reference/proxy-config-surround":1346},[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":124,"body":147,"description":1340,"extension":1341,"links":1342,"meta":1343,"navigation":221,"path":125,"seo":1344,"stem":126,"__hash__":1345},"docs/5.reference/6.proxy-config.md",{"type":148,"value":149,"toc":1318},"minimark",[150,155,164,169,286,294,453,457,498,502,619,625,721,725,735,822,827,836,912,916,949,953,996,1000,1003,1193,1197,1267,1271,1314],[151,152,154],"h1",{"id":153},"proxy-configuration","Proxy Configuration",[156,157,158,159,163],"p",{},"The ",[160,161,162],"code",{},"@openape/proxy"," reads its configuration from a TOML file. Two formats are supported: single-agent and multi-agent.",[165,166,168],"h2",{"id":167},"single-agent-configuration","Single-Agent Configuration",[170,171,176],"pre",{"className":172,"code":173,"language":174,"meta":175,"style":175},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[proxy]\nlisten = \"127.0.0.1:9090\"\nidp_url = \"https://id.example.com\"\nagent_email = \"agent+bot@example.com\"\ndefault_action = \"block\"\naudit_log = \"/var/log/openape-proxy/audit.jsonl\"\n\n[[allow]]\ndomain = \"api.github.com\"\nmethods = [\"GET\"]\n\n[[deny]]\ndomain = \"*.internal.corp\"\n\n[[grant_required]]\ndomain = \"api.github.com\"\nmethods = [\"POST\", \"PUT\", \"DELETE\"]\ngrant_type = \"once\"\n","toml","",[160,177,178,186,192,198,204,210,216,223,229,235,241,246,252,258,263,269,274,280],{"__ignoreMap":175},[179,180,183],"span",{"class":181,"line":182},"line",1,[179,184,185],{},"[proxy]\n",[179,187,189],{"class":181,"line":188},2,[179,190,191],{},"listen = \"127.0.0.1:9090\"\n",[179,193,195],{"class":181,"line":194},3,[179,196,197],{},"idp_url = \"https://id.example.com\"\n",[179,199,201],{"class":181,"line":200},4,[179,202,203],{},"agent_email = \"agent+bot@example.com\"\n",[179,205,207],{"class":181,"line":206},5,[179,208,209],{},"default_action = \"block\"\n",[179,211,213],{"class":181,"line":212},6,[179,214,215],{},"audit_log = \"/var/log/openape-proxy/audit.jsonl\"\n",[179,217,219],{"class":181,"line":218},7,[179,220,222],{"emptyLinePlaceholder":221},true,"\n",[179,224,226],{"class":181,"line":225},8,[179,227,228],{},"[[allow]]\n",[179,230,232],{"class":181,"line":231},9,[179,233,234],{},"domain = \"api.github.com\"\n",[179,236,238],{"class":181,"line":237},10,[179,239,240],{},"methods = [\"GET\"]\n",[179,242,244],{"class":181,"line":243},11,[179,245,222],{"emptyLinePlaceholder":221},[179,247,249],{"class":181,"line":248},12,[179,250,251],{},"[[deny]]\n",[179,253,255],{"class":181,"line":254},13,[179,256,257],{},"domain = \"*.internal.corp\"\n",[179,259,261],{"class":181,"line":260},14,[179,262,222],{"emptyLinePlaceholder":221},[179,264,266],{"class":181,"line":265},15,[179,267,268],{},"[[grant_required]]\n",[179,270,272],{"class":181,"line":271},16,[179,273,234],{},[179,275,277],{"class":181,"line":276},17,[179,278,279],{},"methods = [\"POST\", \"PUT\", \"DELETE\"]\n",[179,281,283],{"class":181,"line":282},18,[179,284,285],{},"grant_type = \"once\"\n",[287,288,290,293],"h3",{"id":289},"proxy-section",[160,291,292],{},"[proxy]"," Section",[295,296,297,319],"table",{},[298,299,300],"thead",{},[301,302,303,307,310,313,316],"tr",{},[304,305,306],"th",{},"Field",[304,308,309],{},"Type",[304,311,312],{},"Required",[304,314,315],{},"Default",[304,317,318],{},"Description",[320,321,322,348,366,384,412,431],"tbody",{},[301,323,324,330,335,338,341],{},[325,326,327],"td",{},[160,328,329],{},"listen",[325,331,332],{},[160,333,334],{},"string",[325,336,337],{},"Yes",[325,339,340],{},"—",[325,342,343,344,347],{},"Bind address and port (e.g., ",[160,345,346],{},"\"127.0.0.1:9090\"",")",[301,349,350,355,359,361,363],{},[325,351,352],{},[160,353,354],{},"idp_url",[325,356,357],{},[160,358,334],{},[325,360,337],{},[325,362,340],{},[325,364,365],{},"IdP URL for grant requests",[301,367,368,373,377,379,381],{},[325,369,370],{},[160,371,372],{},"agent_email",[325,374,375],{},[160,376,334],{},[325,378,337],{},[325,380,340],{},[325,382,383],{},"Agent identity email",[301,385,386,391,395,397,399],{},[325,387,388],{},[160,389,390],{},"default_action",[325,392,393],{},[160,394,334],{},[325,396,337],{},[325,398,340],{},[325,400,401,402,405,406,405,409],{},"Action for unmatched requests: ",[160,403,404],{},"block",", ",[160,407,408],{},"request",[160,410,411],{},"request-async",[301,413,414,419,423,426,428],{},[325,415,416],{},[160,417,418],{},"audit_log",[325,420,421],{},[160,422,334],{},[325,424,425],{},"No",[325,427,340],{},[325,429,430],{},"Path for JSONL audit log",[301,432,433,438,443,445,450],{},[325,434,435],{},[160,436,437],{},"mandatory_auth",[325,439,440],{},[160,441,442],{},"boolean",[325,444,425],{},[325,446,447],{},[160,448,449],{},"false",[325,451,452],{},"Require all requests to carry agent auth",[287,454,456],{"id":455},"default-actions","Default Actions",[295,458,459,469],{},[298,460,461],{},[301,462,463,466],{},[304,464,465],{},"Action",[304,467,468],{},"Behavior",[320,470,471,480,489],{},[301,472,473,477],{},[325,474,475],{},[160,476,404],{},[325,478,479],{},"Reject unmatched requests with 403",[301,481,482,486],{},[325,483,484],{},[160,485,408],{},[325,487,488],{},"Auto-request a grant and block until approved",[301,490,491,495],{},[325,492,493],{},[160,494,411],{},[325,496,497],{},"Auto-request a grant, reject current request, retry on next attempt",[165,499,501],{"id":500},"multi-agent-configuration","Multi-Agent Configuration",[170,503,505],{"className":172,"code":504,"language":174,"meta":175,"style":175},"[proxy]\nlisten = \"127.0.0.1:9090\"\ndefault_action = \"block\"\naudit_log = \"/var/log/openape-proxy/audit.jsonl\"\n\n[[agents]]\nemail = \"agent+deploy@example.com\"\nidp_url = \"https://id.example.com\"\n\n  [[agents.allow]]\n  domain = \"api.github.com\"\n  methods = [\"GET\", \"POST\"]\n\n  [[agents.grant_required]]\n  domain = \"api.github.com\"\n  methods = [\"DELETE\"]\n  grant_type = \"once\"\n\n[[agents]]\nemail = \"agent+monitor@example.com\"\nidp_url = \"https://id.example.com\"\n\n  [[agents.allow]]\n  domain = \"api.datadog.com\"\n",[160,506,507,511,515,519,523,527,532,537,541,545,550,555,560,564,569,573,578,583,587,592,598,603,608,613],{"__ignoreMap":175},[179,508,509],{"class":181,"line":182},[179,510,185],{},[179,512,513],{"class":181,"line":188},[179,514,191],{},[179,516,517],{"class":181,"line":194},[179,518,209],{},[179,520,521],{"class":181,"line":200},[179,522,215],{},[179,524,525],{"class":181,"line":206},[179,526,222],{"emptyLinePlaceholder":221},[179,528,529],{"class":181,"line":212},[179,530,531],{},"[[agents]]\n",[179,533,534],{"class":181,"line":218},[179,535,536],{},"email = \"agent+deploy@example.com\"\n",[179,538,539],{"class":181,"line":225},[179,540,197],{},[179,542,543],{"class":181,"line":231},[179,544,222],{"emptyLinePlaceholder":221},[179,546,547],{"class":181,"line":237},[179,548,549],{},"  [[agents.allow]]\n",[179,551,552],{"class":181,"line":243},[179,553,554],{},"  domain = \"api.github.com\"\n",[179,556,557],{"class":181,"line":248},[179,558,559],{},"  methods = [\"GET\", \"POST\"]\n",[179,561,562],{"class":181,"line":254},[179,563,222],{"emptyLinePlaceholder":221},[179,565,566],{"class":181,"line":260},[179,567,568],{},"  [[agents.grant_required]]\n",[179,570,571],{"class":181,"line":265},[179,572,554],{},[179,574,575],{"class":181,"line":271},[179,576,577],{},"  methods = [\"DELETE\"]\n",[179,579,580],{"class":181,"line":276},[179,581,582],{},"  grant_type = \"once\"\n",[179,584,585],{"class":181,"line":282},[179,586,222],{"emptyLinePlaceholder":221},[179,588,590],{"class":181,"line":589},19,[179,591,531],{},[179,593,595],{"class":181,"line":594},20,[179,596,597],{},"email = \"agent+monitor@example.com\"\n",[179,599,601],{"class":181,"line":600},21,[179,602,197],{},[179,604,606],{"class":181,"line":605},22,[179,607,222],{"emptyLinePlaceholder":221},[179,609,611],{"class":181,"line":610},23,[179,612,549],{},[179,614,616],{"class":181,"line":615},24,[179,617,618],{},"  domain = \"api.datadog.com\"\n",[287,620,622,293],{"id":621},"agents-section",[160,623,624],{},"[[agents]]",[295,626,627,639],{},[298,628,629],{},[301,630,631,633,635,637],{},[304,632,306],{},[304,634,309],{},[304,636,312],{},[304,638,318],{},[320,640,641,656,671,688,704],{},[301,642,643,648,652,654],{},[325,644,645],{},[160,646,647],{},"email",[325,649,650],{},[160,651,334],{},[325,653,337],{},[325,655,383],{},[301,657,658,662,666,668],{},[325,659,660],{},[160,661,354],{},[325,663,664],{},[160,665,334],{},[325,667,337],{},[325,669,670],{},"IdP URL for this agent",[301,672,673,678,683,685],{},[325,674,675],{},[160,676,677],{},"allow",[325,679,680],{},[160,681,682],{},"RuleEntry[]",[325,684,425],{},[325,686,687],{},"Agent-specific allow rules",[301,689,690,695,699,701],{},[325,691,692],{},[160,693,694],{},"deny",[325,696,697],{},[160,698,682],{},[325,700,425],{},[325,702,703],{},"Agent-specific deny rules",[301,705,706,711,716,718],{},[325,707,708],{},[160,709,710],{},"grant_required",[325,712,713],{},[160,714,715],{},"GrantRuleEntry[]",[325,717,425],{},[325,719,720],{},"Agent-specific grant rules",[165,722,724],{"id":723},"rule-entries","Rule Entries",[287,726,728,731,732],{"id":727},"allow-and-deny",[160,729,730],{},"[[allow]]"," and ",[160,733,734],{},"[[deny]]",[295,736,737,749],{},[298,738,739],{},[301,740,741,743,745,747],{},[304,742,306],{},[304,744,309],{},[304,746,312],{},[304,748,318],{},[320,750,751,771,788,806],{},[301,752,753,758,762,764],{},[325,754,755],{},[160,756,757],{},"domain",[325,759,760],{},[160,761,334],{},[325,763,337],{},[325,765,766,767,770],{},"Target domain (supports ",[160,768,769],{},"*"," wildcard)",[301,772,773,778,783,785],{},[325,774,775],{},[160,776,777],{},"methods",[325,779,780],{},[160,781,782],{},"string[]",[325,784,425],{},[325,786,787],{},"HTTP methods (default: all)",[301,789,790,795,799,801],{},[325,791,792],{},[160,793,794],{},"path",[325,796,797],{},[160,798,334],{},[325,800,425],{},[325,802,803,804,770],{},"URL path pattern (supports ",[160,805,769],{},[301,807,808,813,817,819],{},[325,809,810],{},[160,811,812],{},"note",[325,814,815],{},[160,816,334],{},[325,818,425],{},[325,820,821],{},"Documentation note",[287,823,824],{"id":710},[160,825,826],{},"[[grant_required]]",[156,828,829,830,832,833,835],{},"All fields from ",[160,831,730],{}," / ",[160,834,734],{},", plus:",[295,837,838,850],{},[298,839,840],{},[301,841,842,844,846,848],{},[304,843,306],{},[304,845,309],{},[304,847,312],{},[304,849,318],{},[320,851,852,877,893],{},[301,853,854,859,863,865],{},[325,855,856],{},[160,857,858],{},"grant_type",[325,860,861],{},[160,862,334],{},[325,864,337],{},[325,866,867,405,870,873,874],{},[160,868,869],{},"once",[160,871,872],{},"timed",", or ",[160,875,876],{},"always",[301,878,879,884,888,890],{},[325,880,881],{},[160,882,883],{},"permissions",[325,885,886],{},[160,887,782],{},[325,889,425],{},[325,891,892],{},"Required permissions",[301,894,895,900,905,907],{},[325,896,897],{},[160,898,899],{},"duration",[325,901,902],{},[160,903,904],{},"number",[325,906,425],{},[325,908,909,910,347],{},"Grant duration in seconds (for ",[160,911,872],{},[165,913,915],{"id":914},"rule-evaluation-order","Rule Evaluation Order",[917,918,919,928,935,942],"ol",{},[920,921,922,927],"li",{},[923,924,925],"strong",{},[160,926,694],{}," rules are checked first — if matched, request is blocked",[920,929,930,934],{},[923,931,932],{},[160,933,677],{}," rules — if matched, request is forwarded",[920,936,937,941],{},[923,938,939],{},[160,940,710],{}," rules — if matched, a grant must be approved",[920,943,944,948],{},[923,945,946],{},[160,947,390],{}," — applied when no rule matches",[165,950,952],{"id":951},"domain-patterns","Domain Patterns",[295,954,955,965],{},[298,956,957],{},[301,958,959,962],{},[304,960,961],{},"Pattern",[304,963,964],{},"Matches",[320,966,967,977,987],{},[301,968,969,974],{},[325,970,971],{},[160,972,973],{},"api.github.com",[325,975,976],{},"Exact match",[301,978,979,984],{},[325,980,981],{},[160,982,983],{},"*.github.com",[325,985,986],{},"Any subdomain of github.com",[301,988,989,993],{},[325,990,991],{},[160,992,769],{},[325,994,995],{},"Any domain",[165,997,999],{"id":998},"audit-log-format","Audit Log Format",[156,1001,1002],{},"Each entry is a single JSON line:",[170,1004,1008],{"className":1005,"code":1006,"language":1007,"meta":175,"style":175},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"ts\": \"2025-01-15T10:30:00.123Z\",\n  \"agent\": \"agent+deploy@example.com\",\n  \"action\": \"allow\",\n  \"domain\": \"api.github.com\",\n  \"method\": \"GET\",\n  \"path\": \"/repos/org/repo\",\n  \"grant_id\": null,\n  \"rule\": \"allow[0]\",\n  \"waited_ms\": 0\n}\n","json",[160,1009,1010,1016,1043,1063,1082,1100,1120,1139,1153,1173,1188],{"__ignoreMap":175},[179,1011,1012],{"class":181,"line":182},[179,1013,1015],{"class":1014},"sMK4o","{\n",[179,1017,1018,1021,1025,1028,1031,1034,1038,1040],{"class":181,"line":188},[179,1019,1020],{"class":1014},"  \"",[179,1022,1024],{"class":1023},"spNyl","ts",[179,1026,1027],{"class":1014},"\"",[179,1029,1030],{"class":1014},":",[179,1032,1033],{"class":1014}," \"",[179,1035,1037],{"class":1036},"sfazB","2025-01-15T10:30:00.123Z",[179,1039,1027],{"class":1014},[179,1041,1042],{"class":1014},",\n",[179,1044,1045,1047,1050,1052,1054,1056,1059,1061],{"class":181,"line":194},[179,1046,1020],{"class":1014},[179,1048,1049],{"class":1023},"agent",[179,1051,1027],{"class":1014},[179,1053,1030],{"class":1014},[179,1055,1033],{"class":1014},[179,1057,1058],{"class":1036},"agent+deploy@example.com",[179,1060,1027],{"class":1014},[179,1062,1042],{"class":1014},[179,1064,1065,1067,1070,1072,1074,1076,1078,1080],{"class":181,"line":200},[179,1066,1020],{"class":1014},[179,1068,1069],{"class":1023},"action",[179,1071,1027],{"class":1014},[179,1073,1030],{"class":1014},[179,1075,1033],{"class":1014},[179,1077,677],{"class":1036},[179,1079,1027],{"class":1014},[179,1081,1042],{"class":1014},[179,1083,1084,1086,1088,1090,1092,1094,1096,1098],{"class":181,"line":206},[179,1085,1020],{"class":1014},[179,1087,757],{"class":1023},[179,1089,1027],{"class":1014},[179,1091,1030],{"class":1014},[179,1093,1033],{"class":1014},[179,1095,973],{"class":1036},[179,1097,1027],{"class":1014},[179,1099,1042],{"class":1014},[179,1101,1102,1104,1107,1109,1111,1113,1116,1118],{"class":181,"line":212},[179,1103,1020],{"class":1014},[179,1105,1106],{"class":1023},"method",[179,1108,1027],{"class":1014},[179,1110,1030],{"class":1014},[179,1112,1033],{"class":1014},[179,1114,1115],{"class":1036},"GET",[179,1117,1027],{"class":1014},[179,1119,1042],{"class":1014},[179,1121,1122,1124,1126,1128,1130,1132,1135,1137],{"class":181,"line":218},[179,1123,1020],{"class":1014},[179,1125,794],{"class":1023},[179,1127,1027],{"class":1014},[179,1129,1030],{"class":1014},[179,1131,1033],{"class":1014},[179,1133,1134],{"class":1036},"/repos/org/repo",[179,1136,1027],{"class":1014},[179,1138,1042],{"class":1014},[179,1140,1141,1143,1146,1148,1150],{"class":181,"line":225},[179,1142,1020],{"class":1014},[179,1144,1145],{"class":1023},"grant_id",[179,1147,1027],{"class":1014},[179,1149,1030],{"class":1014},[179,1151,1152],{"class":1014}," null,\n",[179,1154,1155,1157,1160,1162,1164,1166,1169,1171],{"class":181,"line":231},[179,1156,1020],{"class":1014},[179,1158,1159],{"class":1023},"rule",[179,1161,1027],{"class":1014},[179,1163,1030],{"class":1014},[179,1165,1033],{"class":1014},[179,1167,1168],{"class":1036},"allow[0]",[179,1170,1027],{"class":1014},[179,1172,1042],{"class":1014},[179,1174,1175,1177,1180,1182,1184],{"class":181,"line":237},[179,1176,1020],{"class":1014},[179,1178,1179],{"class":1023},"waited_ms",[179,1181,1027],{"class":1014},[179,1183,1030],{"class":1014},[179,1185,1187],{"class":1186},"sbssI"," 0\n",[179,1189,1190],{"class":181,"line":243},[179,1191,1192],{"class":1014},"}\n",[287,1194,1196],{"id":1195},"audit-actions","Audit Actions",[295,1198,1199,1207],{},[298,1200,1201],{},[301,1202,1203,1205],{},[304,1204,465],{},[304,1206,318],{},[320,1208,1209,1218,1227,1237,1247,1257],{},[301,1210,1211,1215],{},[325,1212,1213],{},[160,1214,677],{},[325,1216,1217],{},"Request was allowed by an allow rule",[301,1219,1220,1224],{},[325,1221,1222],{},[160,1223,694],{},[325,1225,1226],{},"Request was blocked by a deny rule or default action",[301,1228,1229,1234],{},[325,1230,1231],{},[160,1232,1233],{},"grant_approved",[325,1235,1236],{},"Grant was requested and approved",[301,1238,1239,1244],{},[325,1240,1241],{},[160,1242,1243],{},"grant_denied",[325,1245,1246],{},"Grant was requested but denied",[301,1248,1249,1254],{},[325,1250,1251],{},[160,1252,1253],{},"grant_timeout",[325,1255,1256],{},"Grant was requested but timed out",[301,1258,1259,1264],{},[325,1260,1261],{},[160,1262,1263],{},"error",[325,1265,1266],{},"An error occurred during rule evaluation",[165,1268,1270],{"id":1269},"cli-flags","CLI Flags",[295,1272,1273,1282],{},[298,1274,1275],{},[301,1276,1277,1280],{},[304,1278,1279],{},"Flag",[304,1281,318],{},[320,1283,1284,1294,1304],{},[301,1285,1286,1291],{},[325,1287,1288],{},[160,1289,1290],{},"--config \u003Cpath>",[325,1292,1293],{},"Path to TOML config file (required)",[301,1295,1296,1301],{},[325,1297,1298],{},[160,1299,1300],{},"--dry-run",[325,1302,1303],{},"Evaluate rules and log decisions, but forward all requests",[301,1305,1306,1311],{},[325,1307,1308],{},[160,1309,1310],{},"--mandatory-auth",[325,1312,1313],{},"Require agent authentication for all requests",[1315,1316,1317],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":175,"searchDepth":194,"depth":188,"links":1319},[1320,1325,1329,1334,1335,1336,1339],{"id":167,"depth":188,"text":168,"children":1321},[1322,1324],{"id":289,"depth":194,"text":1323},"[proxy] Section",{"id":455,"depth":194,"text":456},{"id":500,"depth":188,"text":501,"children":1326},[1327],{"id":621,"depth":194,"text":1328},"[[agents]] Section",{"id":723,"depth":188,"text":724,"children":1330},[1331,1333],{"id":727,"depth":194,"text":1332},"[[allow]] and [[deny]]",{"id":710,"depth":194,"text":826},{"id":914,"depth":188,"text":915},{"id":951,"depth":188,"text":952},{"id":998,"depth":188,"text":999,"children":1337},[1338],{"id":1195,"depth":194,"text":1196},{"id":1269,"depth":188,"text":1270},"TOML configuration reference for the OpenApe agent proxy.","md",null,{},{"title":124,"description":1340},"dxA3S1VrRsPZX3D9-Z5TNSlKWL7DvAn43TbbAr7fE5k",[1347,1349],{"title":120,"path":121,"stem":122,"description":1348,"children":-1},"Configuration reference for /etc/openape/config.toml.",{"title":128,"path":129,"stem":130,"description":1350,"children":-1},"Deployment, monitoring, and troubleshooting for production environments.",1774221117377]