@reddb-io/red-skills 3.12.0 → 3.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,9 +35,9 @@ var NR=Object.create;var Oa=Object.defineProperty;var FR=Object.getOwnPropertyDe
35
35
  `}function tc(e,t){return t.map(ie).join(e)}function yS(e){if(!Array.isArray(e)||e.length===0)throw B(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=Ve(String(t),0)}catch(n){throw qr(n)}if(r==="")throw B(0,"TOONL header requires fields");return r})}function im(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function am(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw B(0,"TOONL continuation cadence must be positive")}function bS(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function cm(e){if(e===null||typeof e!="object"||Array.isArray(e))throw B(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw B(0,"TOONL output requires object rows");if(t.some(r=>!it(e[r])))throw B(0,"TOONL rows must be flat objects");return t}function wS(e){return JSON.stringify([...e].sort())}function um(e,t){let r=wS(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function vt({delimiter:e=Q,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){hS(e),am(r),am(n);let s=null,o="",i=new Map,a=0,c=0,u=0,l=new Map,d=!1,p={continuationEveryRows:r,continuationEveryBytes:n},g=()=>s===null||!t?"":`[=${a}]
36
36
  `,f=()=>bS(p,c,u)?(c=0,u=0,sm(e,o,!0)):"",R=b=>{mm(b,0);let h=l.get(b);if(h===void 0){if(l.size>=dm)throw B(0,"too many tagged lanes");h={fields:null,fieldsByShape:new Map},l.set(b,h)}return h};return{push(b){if(d)throw B(0,"TOONL encoder is closed");let h=um(cm(b),i),E="";(s===null||s.length!==h.length||s.some((G,F)=>G!==h[F]))&&(E+=g(),s=h,o=tc(e,s),a=0,c=0,u=0,E+=sm(e,o));let T=s.map(G=>Ee(b[G],e));E+=f();let C=`${T.join(e)}
37
37
  `;return E+=C,a+=1,c+=1,u+=C.length,E},declareLane(b,h){if(d)throw B(0,"TOONL encoder is closed");let E=yS(h),T=tc(Q,E),C=R(b);return im(C.fields,E)?"":(C.fields=E,om(b,T))},pushTagged(b,h){if(d)throw B(0,"TOONL encoder is closed");let E=R(b),T=um(cm(h),E.fieldsByShape),C=tc(Q,T),G=T.map(q=>Ee(h[q],Q)),F="";return im(E.fields,T)||(E.fields=T,F+=om(b,C)),`${F}${b}:${G.join(Q)}
38
- `},end(){return d?"":(d=!0,g())}}}var lm,dm,pm,PF,IF,fm=y(()=>{St();Jn();yr();lm=[Q,"|"," "],dm=8,pm=/^[A-Za-z0-9_-]+$/,PF=new TextEncoder,IF=new TextDecoder});var J=y(()=>{vp();St();Jn();Jn();rm();fm()});function ES(e){return e==="no-op"?0:e==="usage"?2:1}function V(e){return Buffer.from(`${$(rc(e))}
38
+ `},end(){return d?"":(d=!0,g())}}}var lm,dm,pm,DF,$F,fm=y(()=>{St();Jn();yr();lm=[Q,"|"," "],dm=8,pm=/^[A-Za-z0-9_-]+$/,DF=new TextEncoder,$F=new TextDecoder});var J=y(()=>{vp();St();Jn();Jn();rm();fm()});function ES(e){return e==="no-op"?0:e==="usage"?2:1}function V(e){return Buffer.from(`${$(rc(e))}
39
39
  `)}function rc(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??ES(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=RS(e.diagnostics,3)),t}function Ye(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Sp(s)?{command:e,category:"transient",error:Vn(s)||"GitHub API rate limit exceeded",help:kp,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:Vn(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:Vn(s)||"not a git repository",help:"git status",diagnostics:s}:o.includes("repository not found")||o.includes("could not resolve host")?{command:e,category:"real-error",error:Vn(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:Vn(s)||"command failed",help:`${e} --help`,diagnostics:s}}function gm(e,t,r,n){return V({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function Vn(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function RS(e,t){return e.split(/\r?\n/).slice(0,t).join(`
40
- `).trim()}var ct=y(()=>{"use strict";Tp();J()});function yo(e){let t={app:e,version:GS(Qr("__RED_BUILD_VERSION__",()=>"3.12.0")??"0.0.0-dev"),gitSha:Qr("__RED_BUILD_GIT_SHA__",()=>"b6a5b25eaec8a3121b0886329408c5a48e032c2e")??"unknown",buildTime:Qr("__RED_BUILD_TIME__",()=>"2026-08-07T19:18:58Z")??"unknown",bundleAsset:Qr("__RED_BUNDLE_ASSET__",()=>"rsp.bundle.min.mjs")??"unknown"},r=Qr("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Qr("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function GS(e){return e.startsWith("v")?e.slice(1):e}function Sm(e){return`${e.app} ${e.version} ${e.gitSha}`}function Qr(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var sc=y(()=>{});import{isAbsolute as LS,join as xt,resolve as oc}from"node:path";function NS(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function vm(e){return xt(NS(e),Tm)}function xm(e){return xt(vm(e),"state")}function Cm(e){return xt(vm(e),"tmp")}function X(e){return xt(xm(e),"rsp")}function FS(e){return xt(xm(e),"red-skills.rdb")}function MS(e){return xt(Cm(e),"red-skills.rdb")}function Pm(e,t){let r=FS(e);if(t(r))return r;let n=MS(e);if(t(n))throw jS();return r}function jS(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}function Im(e){return xt(Cm(e),"waits")}function Gm(e){let t=e.overrideEnvVars??ic;for(let n of t){let s=e.env[n];if(s)return LS(s)?s:oc(e.startDir,s)}let r=oc(e.startDir);for(;;){if(e.exists(xt(r,Tm)))return r;let n=xt(r,".."),s=oc(n);if(s===r)break;r=s}return e.startDir}var Tm,DS,$S,ic,Om,Am,Ge=y(()=>{Tm=".red",DS="MEMORY_ROOT",$S="RED_BRAIN_ROOT",ic=[DS,$S];Om=".red/state/red-skills.rdb";Am=".red/tmp/red-skills.rdb"});function ne(e){return $(e,{keyedMapCollapse:!0})}var BS,US,fM,Ct=y(()=>{J();Ge();BS=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],US=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.json",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.json",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.json",kind:"toon"}],fM=[...BS,...US]});function Kn(e){let{values:t,rest:r}=fr(e,{query:Lm.query},Dm);return{argv:r,query:t.query?.trim()||void 0}}function $m(e){let{values:t,rest:r}=fr(e,Lm,Dm);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function HS(e,t){if(!t)return!0;let r=ac(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Re(e,t){return t?e.filter(r=>HS(r,t)):[...e]}function Ot(e,t){return cc(e,t,{includeLegacyHelp:!0})}function cc(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function ac(e){return Array.isArray(e)?e.map(ac).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(ac).join(" "):String(e??"")}var Lm,Dm,zn=y(()=>{"use strict";La();Lm={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Dm={stopAtSeparator:!1}});var To={};K(To,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>bo,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>wo,DEFAULT_RSP_OVERHEAD_CEILING:()=>At,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>Eo,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ro,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>_o,RSP_OVERHEAD_FAMILIES:()=>YS,RSP_OVERHEAD_LEDGER_FILE:()=>Mm,RSP_OVERHEAD_SCHEMA_VERSION:()=>jm,classifyOverheadSample:()=>dc,noteChildProcessMs:()=>Um,noteSelfStateBytesRead:()=>Qn,overheadCounters:()=>hc,overheadFamilyDisabled:()=>QS,overheadHealth:()=>Jt,overheadLedgerPath:()=>pc,overheadMsOf:()=>Bm,overheadTelemetryFields:()=>ko,readOverheadLedger:()=>Yn,readSelfStateFile:()=>So,readSelfStateFileSync:()=>eT,recordOverheadSample:()=>mc,resetOverheadCounters:()=>ZS,resetOverheadLedger:()=>XS,startChildProcessTimer:()=>Le});import{existsSync as qS,mkdirSync as WS,readFileSync as Nm,renameSync as JS,writeFileSync as VS}from"node:fs";import{readFile as KS}from"node:fs/promises";import{dirname as zS,join as Fm}from"node:path";function Bm(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,lc(t)):0}function dc(e,t=At){let r=Bm(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function ko(e,t=At){let r=dc(e,t);return{wrapper_ms:lc(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:lc(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function pc(e){return Fm(X(e),Mm)}function Yn(e){try{let t=Nm(pc(e),"utf8"),r=sT(t);if(oT(r))return r}catch{}return{version:1,families:{}}}function mc(e,t,r=At,n=Date.now()){let s=Yn(e),o=dc(t,r),i=s.families[t.family]??nT(t.family,n),a=yc(i,n)?Hm(i):i,c=o.breached?a.consecutive_breaches+1:0,u={...a,family:t.family,invocations:a.invocations+1,breaches:a.breaches+(o.breached?1:0),consecutive_breaches:c,breached:o.breached,reasons:o.reasons,last_overhead_ms:o.overhead_ms,last_self_state_bytes_read:Math.max(0,Math.trunc(t.selfStateBytesRead)),last_bytes_saved:Math.max(0,Math.trunc(t.bytesSaved)),updated_at:new Date(n).toISOString()};return o.breached?c>=r.consecutiveBreaches&&(u.disabled=!0,u.disabled_at=new Date(n).toISOString(),u.disabled_until=new Date(n+r.cooldownMs).toISOString(),u.disabled_reason=tT(t.family,c,o,r)):(u.disabled=!1,u.disabled_at=null,u.disabled_until=null,u.disabled_reason=null),s.families[t.family]=u,qm(e,s),u}function QS(e,t,r=Date.now()){let n=Yn(e).families[t];return!n?.disabled||yc(n,r)?null:n}function XS(e,t){let r=Yn(e);return t?delete r.families[t]:r.families={},qm(e,r),r}function Jt(e,t=At,r=Date.now()){let n=Object.values(Yn(e).families).map(a=>yc(a,r)?Hm(a):a).sort((a,c)=>a.family.localeCompare(c.family)),s=n.filter(a=>a.disabled),o=n.filter(a=>a.consecutive_breaches>0),i=s.length>0||o.length>0?"red":"green";return{schema_version:jm,verdict:i,summary:rT(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function Qn(e){Number.isFinite(e)&&e>0&&(fc+=e)}function Um(e){Number.isFinite(e)&&e>0&&(gc+=e)}function hc(){return{selfStateBytesRead:fc,childMs:gc}}function ZS(){fc=0,gc=0}function Le(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Um(Number(process.hrtime.bigint()-e)/1e6))}}async function So(e){let t=await KS(e,"utf8");return Qn(Buffer.byteLength(t)),t}function eT(e){let t=Nm(e,"utf8");return Qn(Buffer.byteLength(t)),t}function tT(e,t,r,n){let s=r.reasons.map(o=>o==="wall-clock-ceiling"?`added ${r.overhead_ms}ms > ${n.maxOverheadMs}ms`:o==="self-state-byte-ceiling"?`self-state read > ${n.maxSelfStateBytes}B`:"self-state read exceeded bytes saved").join("; ");return`rsp ${e} exceeded its overhead ceiling on ${t} consecutive invocations (${s}); wrapper self-disabled, commands pass through raw`}function rT(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function yc(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Hm(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function nT(e,t){return{family:e,invocations:0,breaches:0,consecutive_breaches:0,breached:!1,reasons:[],disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,last_overhead_ms:0,last_self_state_bytes_read:0,last_bytes_saved:0,updated_at:new Date(t).toISOString()}}function qm(e,t){try{let r=pc(e);if(!qS(Fm(e,".red")))return;WS(zS(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;VS(n,`${$(t)}
40
+ `).trim()}var ct=y(()=>{"use strict";Tp();J()});function yo(e){let t={app:e,version:GS(Qr("__RED_BUILD_VERSION__",()=>"3.12.2")??"0.0.0-dev"),gitSha:Qr("__RED_BUILD_GIT_SHA__",()=>"e9ba0f2ed98a2d2c3dab05332c91a44e8d61e90b")??"unknown",buildTime:Qr("__RED_BUILD_TIME__",()=>"2026-08-07T16:50:58-03:00")??"unknown",bundleAsset:Qr("__RED_BUNDLE_ASSET__",()=>"rsp.bundle.min.mjs")??"unknown"},r=Qr("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Qr("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function GS(e){return e.startsWith("v")?e.slice(1):e}function Sm(e){return`${e.app} ${e.version} ${e.gitSha}`}function Qr(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var sc=y(()=>{});import{isAbsolute as LS,join as xt,resolve as oc}from"node:path";function NS(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function vm(e){return xt(NS(e),Tm)}function xm(e){return xt(vm(e),"state")}function Cm(e){return xt(vm(e),"tmp")}function X(e){return xt(xm(e),"rsp")}function FS(e){return xt(xm(e),"red-skills.rdb")}function MS(e){return xt(Cm(e),"red-skills.rdb")}function Pm(e,t){let r=FS(e);if(t(r))return r;let n=MS(e);if(t(n))throw jS();return r}function jS(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}function Im(e){return xt(Cm(e),"waits")}function Gm(e){let t=e.overrideEnvVars??ic;for(let n of t){let s=e.env[n];if(s)return LS(s)?s:oc(e.startDir,s)}let r=oc(e.startDir);for(;;){if(e.exists(xt(r,Tm)))return r;let n=xt(r,".."),s=oc(n);if(s===r)break;r=s}return e.startDir}var Tm,DS,$S,ic,Om,Am,Ge=y(()=>{Tm=".red",DS="MEMORY_ROOT",$S="RED_BRAIN_ROOT",ic=[DS,$S];Om=".red/state/red-skills.rdb";Am=".red/tmp/red-skills.rdb"});function ne(e){return $(e,{keyedMapCollapse:!0})}var BS,US,bM,Ct=y(()=>{J();Ge();BS=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],US=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.json",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.json",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.json",kind:"toon"}],bM=[...BS,...US]});function Kn(e){let{values:t,rest:r}=fr(e,{query:Lm.query},Dm);return{argv:r,query:t.query?.trim()||void 0}}function $m(e){let{values:t,rest:r}=fr(e,Lm,Dm);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function HS(e,t){if(!t)return!0;let r=ac(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Re(e,t){return t?e.filter(r=>HS(r,t)):[...e]}function Ot(e,t){return cc(e,t,{includeLegacyHelp:!0})}function cc(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function ac(e){return Array.isArray(e)?e.map(ac).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(ac).join(" "):String(e??"")}var Lm,Dm,zn=y(()=>{"use strict";La();Lm={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Dm={stopAtSeparator:!1}});var To={};K(To,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>bo,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>wo,DEFAULT_RSP_OVERHEAD_CEILING:()=>At,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>Eo,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ro,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>_o,RSP_OVERHEAD_FAMILIES:()=>YS,RSP_OVERHEAD_LEDGER_FILE:()=>Mm,RSP_OVERHEAD_SCHEMA_VERSION:()=>jm,classifyOverheadSample:()=>dc,noteChildProcessMs:()=>Um,noteSelfStateBytesRead:()=>Qn,overheadCounters:()=>hc,overheadFamilyDisabled:()=>QS,overheadHealth:()=>Jt,overheadLedgerPath:()=>pc,overheadMsOf:()=>Bm,overheadTelemetryFields:()=>ko,readOverheadLedger:()=>Yn,readSelfStateFile:()=>So,readSelfStateFileSync:()=>eT,recordOverheadSample:()=>mc,resetOverheadCounters:()=>ZS,resetOverheadLedger:()=>XS,startChildProcessTimer:()=>Le});import{existsSync as qS,mkdirSync as WS,readFileSync as Nm,renameSync as JS,writeFileSync as VS}from"node:fs";import{readFile as KS}from"node:fs/promises";import{dirname as zS,join as Fm}from"node:path";function Bm(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,lc(t)):0}function dc(e,t=At){let r=Bm(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function ko(e,t=At){let r=dc(e,t);return{wrapper_ms:lc(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:lc(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function pc(e){return Fm(X(e),Mm)}function Yn(e){try{let t=Nm(pc(e),"utf8"),r=sT(t);if(oT(r))return r}catch{}return{version:1,families:{}}}function mc(e,t,r=At,n=Date.now()){let s=Yn(e),o=dc(t,r),i=s.families[t.family]??nT(t.family,n),a=yc(i,n)?Hm(i):i,c=o.breached?a.consecutive_breaches+1:0,u={...a,family:t.family,invocations:a.invocations+1,breaches:a.breaches+(o.breached?1:0),consecutive_breaches:c,breached:o.breached,reasons:o.reasons,last_overhead_ms:o.overhead_ms,last_self_state_bytes_read:Math.max(0,Math.trunc(t.selfStateBytesRead)),last_bytes_saved:Math.max(0,Math.trunc(t.bytesSaved)),updated_at:new Date(n).toISOString()};return o.breached?c>=r.consecutiveBreaches&&(u.disabled=!0,u.disabled_at=new Date(n).toISOString(),u.disabled_until=new Date(n+r.cooldownMs).toISOString(),u.disabled_reason=tT(t.family,c,o,r)):(u.disabled=!1,u.disabled_at=null,u.disabled_until=null,u.disabled_reason=null),s.families[t.family]=u,qm(e,s),u}function QS(e,t,r=Date.now()){let n=Yn(e).families[t];return!n?.disabled||yc(n,r)?null:n}function XS(e,t){let r=Yn(e);return t?delete r.families[t]:r.families={},qm(e,r),r}function Jt(e,t=At,r=Date.now()){let n=Object.values(Yn(e).families).map(a=>yc(a,r)?Hm(a):a).sort((a,c)=>a.family.localeCompare(c.family)),s=n.filter(a=>a.disabled),o=n.filter(a=>a.consecutive_breaches>0),i=s.length>0||o.length>0?"red":"green";return{schema_version:jm,verdict:i,summary:rT(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function Qn(e){Number.isFinite(e)&&e>0&&(fc+=e)}function Um(e){Number.isFinite(e)&&e>0&&(gc+=e)}function hc(){return{selfStateBytesRead:fc,childMs:gc}}function ZS(){fc=0,gc=0}function Le(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Um(Number(process.hrtime.bigint()-e)/1e6))}}async function So(e){let t=await KS(e,"utf8");return Qn(Buffer.byteLength(t)),t}function eT(e){let t=Nm(e,"utf8");return Qn(Buffer.byteLength(t)),t}function tT(e,t,r,n){let s=r.reasons.map(o=>o==="wall-clock-ceiling"?`added ${r.overhead_ms}ms > ${n.maxOverheadMs}ms`:o==="self-state-byte-ceiling"?`self-state read > ${n.maxSelfStateBytes}B`:"self-state read exceeded bytes saved").join("; ");return`rsp ${e} exceeded its overhead ceiling on ${t} consecutive invocations (${s}); wrapper self-disabled, commands pass through raw`}function rT(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function yc(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Hm(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function nT(e,t){return{family:e,invocations:0,breaches:0,consecutive_breaches:0,breached:!1,reasons:[],disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,last_overhead_ms:0,last_self_state_bytes_read:0,last_bytes_saved:0,updated_at:new Date(t).toISOString()}}function qm(e,t){try{let r=pc(e);if(!qS(Fm(e,".red")))return;WS(zS(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;VS(n,`${$(t)}
41
41
  `,{encoding:"utf8",mode:384}),JS(n,r)}catch{}}function sT(e){try{return JSON.parse(e)}catch{return H(e)}}function oT(e){return!uc(e)||e.version!==1||!uc(e.families)?!1:Object.values(e.families).every(iT)}function iT(e){return uc(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function uc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function lc(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Mm,jm,bo,wo,_o,Eo,Ro,YS,At,fc,gc,ae=y(()=>{"use strict";Ge();J();Mm="overhead-budget.toon",jm="red.rsp.overhead.v1",bo=250,wo=1024*1024,_o=64*1024,Eo=3,Ro=6*60*60*1e3,YS=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],At={maxOverheadMs:bo,maxSelfStateBytes:wo,netLossFloorBytes:_o,consecutiveBreaches:Eo,cooldownMs:Ro};fc=0,gc=0});function Vm(e){return e.trimStart().startsWith("{")?"json":"toon"}function wc(e){let t=0;for(;e[t]===`
42
42
  `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Vm(r);if(n==="json"){let o=r.indexOf(`
43
43
  `);return o<0?null:{frame:r.slice(0,o),dialect:n,rest:r.slice(o+1)}}let s=r.indexOf(`
@@ -61,11 +61,11 @@ ${s}`),n.join(`
61
61
  `)),!0):!1}function Gf(e){return typeof e=="object"&&e!==null&&e.code===Pt}var Pf,Kt=y(()=>{"use strict";sc();lt();Pf=!1});function Jc(e){return e==="success"?0:e==="failure"?1:2}function Vc(e){return e==="cmd"||e==="pr"||e==="run"||e==="release"}function Lt(e,t,r){return{status:e,exitCode:Jc(e),summary:t,...r?{details:r}:{}}}function ge(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function tn(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var Ff,Mf,jf,qc,Bf,Uf,Hf,qf,Wc,Rr=y(()=>{"use strict";Ff="rsp.wait.result",Mf="rsp.wait.registry",jf="rsp.wait.list",qc={cmd:18e5,pr:27e5,run:27e5,release:72e5},Bf=16*1024,Uf=1e4,Hf=2e3,qf=6e4,Wc={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as mv,readFile as fv}from"node:fs/promises";async function rn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await $o(r),s=[r,...n];if(s.every(c=>!kr(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(Wf(e,"SIGTERM"),Do(n,"SIGTERM"),await Jf(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await $o(r)])];Wf(e,"SIGKILL"),Do(o,"SIGKILL");let i=Math.max(1e3,t);await gv(e,i);let a=await Jf(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(kr)}}function Wf(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function Do(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function gv(e,t){return e.exitCode!==null||e.signalCode!==null?!0:await new Promise(r=>{let n=setTimeout(()=>r(!1),t);e.once("close",()=>{clearTimeout(n),r(!0)})})}async function Jf(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!kr(n)))return!0;await hv(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!kr(n))}async function $o(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await mv("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await Vf(o);if(!i)continue;let a=Number(i[1]);if(!Number.isSafeInteger(a))continue;let c=t.get(a)??[];c.push(o),t.set(a,c)}let r=[],n=[...t.get(e)??[]];for(;n.length>0;){let s=n.shift();r.push(s),n.push(...t.get(s)??[])}return r.reverse()}async function os(e){return(await Vf(e))?.[19]}async function nn(e,t){if(!kr(e))return!1;if(!t)return!0;let r=await os(e);return r===void 0?process.platform!=="linux":r===t}function kr(e){try{return process.kill(e,0),!0}catch{return!1}}async function Vf(e){if(process.platform!=="linux")return null;try{let t=await fv(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function hv(e){await new Promise(t=>setTimeout(t,e))}var Dt=y(()=>{"use strict"});import{constants as yv}from"node:os";async function Kf(e){let t=e[1],r={timeoutMs:qc.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:Uf,terminateGraceMs:Hf,probeTimeoutMs:qf,format:"toon",captureBytes:Bf},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=qc[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=is(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=_v(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=is(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=is(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=is(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=wv(e[++i]??"","capture bytes"):t==="run"&&a==="--branch"?n.branch=e[++i]??"":t==="run"&&a==="--latest"?n.latest=!0:t==="release"&&a==="--tag"?n.tagGlob=e[++i]??"":!a.startsWith("--")&&!n.target&&(n.target=a)}return await bv(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function bv(e){if(!(e.signal in yv.signals))throw new Error(`invalid signal: ${e.signal}`);if(e.signalPid!==void 0){if(!Number.isSafeInteger(e.signalPid)||e.signalPid<=0)throw new Error(`invalid signal pid: ${e.signalPid}`);if(!kr(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await os(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function is(e){let t=/^([1-9][0-9]*)(ms|s|m|h)?$/.exec(e);if(!t)throw new Error(`invalid timeout: ${e}`);let r=Number(t[1]),n=t[2]??"ms";return n==="ms"?r:n==="s"?r*1e3:n==="m"?r*6e4:r*60*6e4}function as(e,t,r=process.env){let n=r[e];if(!n)return t;try{return is(n)}catch{return t}}function wv(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function _v(e){return e.startsWith("SIG")?e:`SIG${e}`}var zf=y(()=>{"use strict";Rr();Dt()});import{existsSync as Kc,readFileSync as Ev,statSync as Rv}from"node:fs";import{basename as Yf,dirname as No,isAbsolute as kv,join as Qf,resolve as cs}from"node:path";function Fo(e,t=process.env){let r=cs(e);if(ic.map(i=>t[i]).find(Boolean))return Gm({startDir:r,env:t,exists:Kc});let s=Tv(r),o=Sv(r,s);return o||(s??r)}function Sv(e,t){let r=e;for(;;){if(Kc(Qf(r,".red")))return r;if(t&&r===t)return null;let n=cs(r,"..");if(n===r)return null;r=n}}function Tv(e){let t=e;for(;;){let r=Qf(t,".git");if(Kc(r))return Cv(r)?t:vv(r)??t;let n=cs(t,"..");if(n===t)return null;t=n}}function vv(e){let t=xv(e);if(!t)return null;let r=No(t),n=No(r);return Yf(r)!=="worktrees"||Yf(n)!==".git"?null:No(n)}function xv(e){let t;try{t=Ev(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return kv(n)?cs(n):cs(No(e),n)}function Cv(e){try{return Rv(e).isDirectory()}catch{return!1}}var zc=y(()=>{Ge()});import{join as Ov}from"node:path";function Pv(e,t=process.env){return Fo(e,t)}function sn(e,t=process.env){return Im(Pv(e,t))}function Xf(e,t=process.env){return Ov(sn(e,t),Av)}var Av,Yc=y(()=>{"use strict";Ge();zc();Av="spool"});import{randomUUID as Iv}from"node:crypto";import{existsSync as Gv}from"node:fs";import{mkdir as Lv,readdir as Dv,readFile as $v,rename as Nv,rm as Qc,writeFile as Fv}from"node:fs/promises";import{dirname as Mv,join as eg}from"node:path";function tg(e,t,r=process.env){return eg(sn(e,r),`${t}${jv}`)}async function on(e,t){await Xc(e,`${ne(t)}
62
62
  `)}async function Mo(e,t,r){t.status=r,await on(e,t)}async function jo(e,t=process.env){let r=sn(e,t);if(!Gv(r))return[];let n=await Dv(r).catch(()=>[]),s=[];for(let o of n.filter(i=>Bv.some(a=>i.endsWith(a)))){let i=eg(r,o),a=await Uv(i);if(!a){await Qc(i,{force:!0});continue}if(!await Hv(a)){await Qc(i,{force:!0});continue}s.push(a)}return s}async function Uv(e){let t;try{t=await $v(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=qv(r);return n&&Object.keys(n).length>0?n:null}async function Hv(e){let t=typeof e.pid=="number"?e.pid:0;if(!t||!Number.isSafeInteger(t)||t<=0)return!1;let r=typeof e.pid_start_time=="string"?e.pid_start_time:void 0;return await nn(t,r)}function qv(e){try{let t=H(e);if(Zf(t))return t}catch{}try{let t=JSON.parse(e);if(Zf(t))return t}catch{}return null}async function Xc(e,t){await Lv(Mv(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${Iv()}`;try{await Fv(r,t,"utf8"),await Nv(r,e)}finally{await Qc(r,{force:!0})}}function Zc(e){return{schema:Mf,version:1,...e}}function Zf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var jv,Bv,ls=y(()=>{"use strict";J();Ct();Rr();Yc();Dt();jv=".toon",Bv=[".toon",".json"]});function an(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dt(e){return an(e)?e:{}}function Sr(e){return Array.isArray(e)?e.filter(an):[]}function he(e,t){let r=e[t];return typeof r=="string"?r:""}function cn(e,t){let r=e[t];return typeof r=="number"?r:0}function eu(e){let t=JSON.parse(e);if(!an(t))throw new Error("expected JSON object");return t}function Bo(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Uo=y(()=>{"use strict"});import{spawn as Wv}from"node:child_process";import{resolve as Jv}from"node:path";async function rg(e,t,r){let n=[];if(e.signalPid){let s=await Vv(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await Kv(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function Vv(e){let t=e.signalPid;if(!await nn(t,e.signalPidStartTime))return{hook:"signal-pid",error:"target process is no longer the process the wait was asked to signal",pid:t,signal:e.signal};try{return process.kill(t,e.signal),null}catch(r){return{hook:"signal-pid",error:ng(r),pid:t,signal:e.signal}}}async function Kv(e,t,r){let n=dt(t.wait),s=dt(t.verdict);return await zv(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?Jv(r,e.resultFile):"",RSP_WAIT_STATUS:String(n.status??"indeterminate"),RSP_WAIT_EXIT_CODE:String(s.target_exit_code??2),RSP_WAIT_TARGET:String(n.target??""),RSP_WAIT_RESULT_SCHEMA:"rsp.wait.result@1"})}async function zv(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},u=Wv(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),l=setTimeout(()=>{a=!0,rn(u,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);u.once("error",d=>{clearTimeout(l),c({error:ng(d)})}),u.once("close",(d,p)=>{clearTimeout(l),!a&&c(d===0?null:{error:`exited with ${p??d??"unknown"}`,status:d??null,signal:p??null})})})}function ng(e){return e instanceof Error?e.message:String(e)}var sg=y(()=>{"use strict";Uo();Dt()});import{resolve as Yv}from"node:path";async function og(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=Qv(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=ds(t,r,o,{status:"pending"},i);await ps(n.resultFile,a,n.format);let c=await rg(n,a,s),u=ds(t,r,o,c,i);return await ps(n.resultFile,u,n.format),{result:u,exitCode:ig(o,c)}}function ig(e,t){return t.status!=="success"||e.status==="running"?2:Jc(e.status)}function Qv(e,t,r=[]){return t!==!1?e:{status:"indeterminate",exitCode:2,summary:`${e.summary}; could not verify process cleanup`,details:{...e.details??{},cleanup:{verified:!1,survivors:r}}}}function ds(e,t,r,n,s){return{schema:Ff,version:1,wait:{id:t.id,target:t.target,kind:e,status:r.status,reason:t.reason,started_at:t.started_at,completed_at:s,poll_tier:t.poll_tier},verdict:{exit_code:ig(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function ps(e,t,r){e&&await Xc(Yv(e),un(t,r))}function un(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
63
63
  `:`${ne(e)}
64
- `}var ag=y(()=>{"use strict";Ct();Rr();ls();sg()});import{createWriteStream as Xv,mkdirSync as Zv}from"node:fs";import{readFile as ex,rm as tx}from"node:fs/promises";import{dirname as rx}from"node:path";import{join as cg}from"node:path";function ug(e,t,r){return{stdout:new Ho(r,cg(e,`${t}.stdout.bin`)),stderr:new Ho(r,cg(e,`${t}.stderr.bin`))}}function nx(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!sx(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function sx(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ho,lg=y(()=>{"use strict";Ho=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...nx(n),truncated:s};if(!s)return await this.discardSpool(),o;if(await this.closeSpool(),this.spoolError)return o.recovery_error=this.spoolError,o;try{let i=await ex(this.spoolPath);o.handle=await t.mint(Buffer.concat([n,i]),{command:r,loss:{level:"terse",bytes_elided:this.total-this.headBytes}}),await this.discardSpool()}catch(i){o.recovery_error=i instanceof Error?i.message:String(i),o.spool_path=this.spoolPath}return o}async discard(){this.closed=!0,await this.closeSpool(),await this.discardSpool()}openSpool(){if(this.spool||this.spoolError)return;let t;try{Zv(rx(this.spoolPath),{recursive:!0}),t=Xv(this.spoolPath,{flags:"w"})}catch(r){this.spoolError=r instanceof Error?r.message:String(r);return}t.on("error",r=>{this.spoolError=r instanceof Error?r.message:String(r)}),this.spool=t}appendSpool(t){let r=this.spool;r&&(this.spoolReady=this.spoolReady.then(()=>new Promise(n=>{r.write(t)?n():r.once("drain",()=>n())})))}async closeSpool(){let t=this.spool;t&&(this.spool=null,await this.spoolReady.catch(()=>{}),await new Promise(r=>t.end(()=>r())))}async discardSpool(){await tx(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as ox,readFileSync as tB}from"node:fs";import{dirname as ix,join as ax}from"node:path";function dg(e,t){let r=e;for(let n=0;n<16;n++){let s=ax(r,t);if(ox(s))return s;let o=ix(r);if(o===r)break;r=o}return null}function cx(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function qo(e,t){let r=[];for(let n of e.split(`
64
+ `}var ag=y(()=>{"use strict";Ct();Rr();ls();sg()});import{createWriteStream as Xv,mkdirSync as Zv}from"node:fs";import{readFile as ex,rm as tx}from"node:fs/promises";import{dirname as rx}from"node:path";import{join as cg}from"node:path";function ug(e,t,r){return{stdout:new Ho(r,cg(e,`${t}.stdout.bin`)),stderr:new Ho(r,cg(e,`${t}.stderr.bin`))}}function nx(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!sx(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function sx(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ho,lg=y(()=>{"use strict";Ho=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...nx(n),truncated:s};if(!s)return await this.discardSpool(),o;if(await this.closeSpool(),this.spoolError)return o.recovery_error=this.spoolError,o;try{let i=await ex(this.spoolPath);o.handle=await t.mint(Buffer.concat([n,i]),{command:r,loss:{level:"terse",bytes_elided:this.total-this.headBytes}}),await this.discardSpool()}catch(i){o.recovery_error=i instanceof Error?i.message:String(i),o.spool_path=this.spoolPath}return o}async discard(){this.closed=!0,await this.closeSpool(),await this.discardSpool()}openSpool(){if(this.spool||this.spoolError)return;let t;try{Zv(rx(this.spoolPath),{recursive:!0}),t=Xv(this.spoolPath,{flags:"w"})}catch(r){this.spoolError=r instanceof Error?r.message:String(r);return}t.on("error",r=>{this.spoolError=r instanceof Error?r.message:String(r)}),this.spool=t}appendSpool(t){let r=this.spool;r&&(this.spoolReady=this.spoolReady.then(()=>new Promise(n=>{r.write(t)?n():r.once("drain",()=>n())})))}async closeSpool(){let t=this.spool;t&&(this.spool=null,await this.spoolReady.catch(()=>{}),await new Promise(r=>t.end(()=>r())))}async discardSpool(){await tx(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as ox,readFileSync as oB}from"node:fs";import{dirname as ix,join as ax}from"node:path";function dg(e,t){let r=e;for(let n=0;n<16;n++){let s=ax(r,t);if(ox(s))return s;let o=ix(r);if(o===r)break;r=o}return null}function cx(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function qo(e,t){let r=[];for(let n of e.split(`
65
65
  `)){let s=n.replace(/\r$/,""),o=s.trim();if(!o||o.startsWith("#"))continue;let i=s.indexOf(":");if(i<0)continue;let a=s.length-s.trimStart().length,c=s.slice(0,i).trim();if(!c)continue;let u=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),u&&r.map(d=>d.key).join(".")===t)return cx(u)}}var pg=y(()=>{});var Rg={};K(Rg,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>dn,GH_ETAG_CACHE_DIR_NAME:()=>hg,LEGACY_GH_ETAG_CACHE_FILE:()=>yg,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>bg,enforceGhEtagCacheCeiling:()=>su,ghEtagCacheDir:()=>Wo,ghEtagEntryPath:()=>Jo,isCacheEntry:()=>Ko,legacyGhEtagCachePaths:()=>nu,migrateLegacyGhEtagCache:()=>iu,readGhEtagCache:()=>Vo,readGhEtagEntry:()=>gx,resetGhEtagCacheMigrationMemo:()=>yx,sweepGhEtagCache:()=>ou,writeGhEtagEntry:()=>hx});import{existsSync as ux}from"node:fs";import{mkdir as lx,readdir as dx,rename as px,rm as mg,stat as fg,unlink as gg,writeFile as mx}from"node:fs/promises";import{dirname as fx,join as ln}from"node:path";function Wo(e){return ln(X(e),hg)}function Jo(e,t){return ln(Wo(e),`${Ex(t)}.toon`)}function nu(e){let t=X(e);return[ln(t,yg),ln(t,bg)]}async function gx(e,t){await iu(e);try{let r=Eg(await So(Jo(e,t)));return Ko(r)?r:void 0}catch{return}}async function hx(e,t,r={}){return await _g(Jo(e,t.key),t),await su(e,r.maxBytes??dn)}async function su(e,t=dn){let r=await wx(e),n=r.reduce((o,i)=>o+i.bytes,0);if(n<=t)return{evictedEntries:0,bytes:n};r.sort((o,i)=>o.mtimeMs-i.mtimeMs||o.path.localeCompare(i.path));let s=0;for(let o of r){if(n<=t)break;try{await gg(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function ou(e,t={}){let r=await iu(e,{force:!0}),n=await bx(e);return{...await su(e,t.maxBytes??dn),reclaimedTmp:n,migratedEntries:r}}async function Vo(e){for(let t of nu(e))try{let r=Eg(await So(t));if(Rx(r))return r}catch{}return{version:1,entries:{}}}async function iu(e,t={}){if(!t.force&&tu.has(e))return 0;tu.add(e);let r=nu(e).filter(o=>ux(o));if(r.length===0)return 0;let n=await Vo(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ko(i))continue;let a=Jo(e,o);await _x(a)||(await _g(a,{...i,key:o}),s+=1)}for(let o of r)await mg(o,{force:!0});return s}function yx(){tu.clear()}async function bx(e){let t=0;for(let r of[X(e),Wo(e)])for(let n of await wg(r))if(n.endsWith(".tmp"))try{await gg(ln(r,n)),t+=1}catch{}return t}async function wx(e){let t=Wo(e),r=[];for(let n of await wg(t)){if(!n.endsWith(".toon"))continue;let s=ln(t,n);try{let o=await fg(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function wg(e){try{return await dx(e)}catch{return[]}}async function _x(e){try{return await fg(e),!0}catch{return!1}}async function _g(e,t){await lx(fx(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await mx(r,`${$(t)}
66
66
  `,{encoding:"utf8",mode:384}),await px(r,e)}catch(n){throw await mg(r,{force:!0}),n}}function Ex(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function Eg(e){try{return JSON.parse(e)}catch{return H(e)}}function Rx(e){return ru(e)&&e.version===1&&ru(e.entries)&&Object.values(e.entries).every(Ko)}function Ko(e){return ru(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function ru(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var hg,yg,bg,dn,tu,zo=y(()=>{"use strict";Ge();J();ae();hg="gh-etag",yg="gh-etag-cache.toon",bg="gh-etag-cache.json",dn=4*1024*1024;tu=new Set});var Cg={};K(Cg,{DEFAULT_RSP_BYTE_BUDGET:()=>Ze,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Xe,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>$t,DEFAULT_RSP_IDLE_MS:()=>Xo,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>xg,DEFAULT_RSP_STORE_PATH:()=>au,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Qo,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>Sg,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>Tg,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Yo,DEFAULT_RSP_TTL_DAYS:()=>Qe,MIN_RSP_IDLE_MS:()=>vg,resolveRspConfig:()=>De});import{existsSync as kx,readFileSync as Sx}from"node:fs";import{join as Tx,resolve as kg}from"node:path";function De(e,t,r){let n=dg(kg(e),Tx(".red","config.yaml")),s=n?Sx(n,"utf8"):"",o=qo(s,"rsp.enabled")==="true",i=qo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=ke(ce(s,"rsp.ttlDays"),Qe),u=ke(pt(t.RSP_EPHEMERAL_TTL_HOURS)??ce(s,"rsp.ephemeralTtlHours"),Xe),l=ke(ce(s,"rsp.byteBudget"),Ze),d=ke(ce(s,"rsp.telemetryTtlDays"),Yo),p=ke(ce(s,"rsp.telemetryByteBudget")??ce(s,"rsp.byteBudget"),Qo),g=ke(pt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??ce(s,"rsp.telemetryDrainIntervalMs"),Sg),f=ke(pt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??ce(s,"rsp.telemetryDrainTimeoutMs"),Tg),R=vx(pt(t.RSP_IDLE_MS)??ce(s,"rsp.idleMs"),Xo,vg),b=ke(pt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??ce(s,"rsp.heavyGitByteThreshold"),$t),h=xx(pt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??ce(s,"rsp.measurement.holdoutShare"),xg),E=ke(pt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??ce(s,"rsp.ghEtagCacheMaxBytes"),dn),T={maxOverheadMs:ke(pt(t.RSP_MAX_OVERHEAD_MS)??ce(s,"rsp.overhead.maxOverheadMs"),bo),maxSelfStateBytes:ke(pt(t.RSP_MAX_SELF_STATE_BYTES)??ce(s,"rsp.overhead.maxSelfStateBytes"),wo),netLossFloorBytes:ke(ce(s,"rsp.overhead.netLossFloorBytes"),_o),consecutiveBreaches:ke(pt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??ce(s,"rsp.overhead.consecutiveBreaches"),Eo),cooldownMs:ke(ce(s,"rsp.overhead.cooldownMs"),Ro)},C=ut(e).rootDir,G=r??t.RSP_STORE_URI??`file://${Pm(kg(C),kx)}`;return{enabled:o,proxyEnabled:a,storeUri:G,ttlDays:c,ephemeralTtlHours:u,byteBudget:l,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:g,telemetryDrainTimeoutMs:f,idleMs:R,heavyGitByteThreshold:b,measurementHoldoutShare:h,ghEtagCacheMaxBytes:E,overhead:T}}function ce(e,t){let r=qo(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function ke(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function vx(e,t,r){let n=ke(e,t);return Math.max(n,r)}function xx(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function pt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var $t,au,Qe,Xe,Ze,Yo,Qo,Sg,Tg,Xo,vg,xg,je=y(()=>{"use strict";pg();Ge();Go();ae();zo();$t=8*1024,au=Om,Qe=7,Xe=6,Ze=64*1024*1024,Yo=90,Qo=4*1024*1024,Sg=3e4,Tg=2e3,Xo=5*6e4,vg=5e3,xg=0});function Og(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(Kt(),ss)),o=s(e,De(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var Ag=y(()=>{"use strict";je()});import{spawn as Cx}from"node:child_process";async function Ig(e){let{commandLine:t,options:r,cwd:n,registryPath:s,entry:o,signal:i}=e;if(!t.trim())return{verdict:ge("missing command line")};let a=e.store??Og(n),c=ug(e.spoolDir,o.id,r.captureBytes);return await new Promise(u=>{let l=!1,d=!1,p=async h=>{l||(l=!0,i.removeEventListener("abort",R),await Mo(s,o,h.verdict.status).catch(()=>{}),u(h))},g=Cx(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});g.stdout?.on("data",h=>c.stdout.write(Buffer.from(h))),g.stderr?.on("data",h=>c.stderr.write(Buffer.from(h)));let f=async(h,E)=>{if(l||d)return;d=!0,clearTimeout(b);let T=await rn(g,r.terminateGraceMs),C=await Pg(null,null,c,a,t);await p({verdict:{status:h,exitCode:2,summary:E,details:C},cleanupProven:T.cleaned,survivors:T.survivors})},R=()=>void f("indeterminate","command interrupted");i.addEventListener("abort",R,{once:!0});let b=setTimeout(()=>{f("timeout",`command timed out after ${Gg(r.timeoutMs)}`)},r.timeoutMs);g.once("error",h=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:h.message}})}),g.once("close",(h,E)=>{if(clearTimeout(b),l||d)return;let T=h===0;Pg(h,E,c,a,t).then(C=>p({verdict:{status:T?"success":"failure",exitCode:T?0:1,summary:T?"command exited successfully":`command exited with ${E??h??"unknown"}`,details:C}}))}),i.aborted&&R()})}async function Zo(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,u;for(;Date.now()<a;){if(i.aborted)return{verdict:Ox(u,c,o.last_poll_at)};let l;try{l=await t()}catch(R){l=ge(R instanceof Error?R.message:String(R))}if(u=l,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=cu(l),await on(s,o).catch(()=>{}),l.status!=="running"&&l.status!=="indeterminate")return await Mo(s,o,l.status).catch(()=>{}),{verdict:l};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),g=Math.min(d+p,Math.max(0,a-Date.now())),f=e.makeWakeSignal?.();await Ax(g,i,f)}return await Mo(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${Gg(r)}`,details:u?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:cu(u)}:{attempts:c}}}}async function Pg(e,t,r,n,s){let[o,i]=await Promise.all([r.stdout.finish(n,`${s} # stdout`),r.stderr.finish(n,`${s} # stderr`)]);return{status:e??null,signal:t??null,stdout:o,stderr:i}}function cu(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function Ox(e,t,r){return ge("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:cu(e)}:{}})}async function Ax(e,t,r){t.aborted||e<=0||r?.aborted||await new Promise(n=>{let s=setTimeout(o,e);function o(){clearTimeout(s),t.removeEventListener("abort",i),r?.removeEventListener("abort",a),n()}let i=()=>o(),a=()=>o();t.addEventListener("abort",i,{once:!0}),r?.addEventListener("abort",a,{once:!0})})}function Gg(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var Lg=y(()=>{"use strict";lg();Ag();Rr();Dt();ls()});var Dg={};K(Dg,{readGhConditionalJson:()=>xe,readGhEtagCache:()=>Vo,sweepGhEtagCache:()=>ou});import{execFileSync as Px}from"node:child_process";async function xe(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=Lx(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??Gx(e.path),path:e.path,actor:Ix(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=De(t,r),c=ns(t,a);try{i=await c.githubRead(o)}finally{await c.close()}}return{status:i.status,stdout:i.stdout,stderr:i.stderr,quotaFree:i.quotaFree}}catch(i){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:"rsp-github-resident-unavailable",repair:"restore the rsp resident and GitHub credential, then retry",detail:i instanceof Error?i.message:String(i)}),quotaFree:!1}}}function Ix(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function Gx(e){return/\/pulls\/[^/]+\/?$/.test(e)?["pr","view"]:/\/pulls\/?$/.test(e)?["pr","list"]:/\/issues\/[^/]+\/?$/.test(e)?["issue","view"]:/\/issues\/?$/.test(e)?["issue","list"]:/\/actions\/runs\/[^/]+\/?$/.test(e)?["run","view"]:/\/actions\/runs\/?$/.test(e)?["run","list"]:["api",e]}function Lx(e){let t="";try{t=String(Px("git",["config","--get","remote.origin.url"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]})).trim()}catch{return null}let n=t.replace(/^git@[^:]+:/,"").replace(/^ssh:\/\/git@[^/]+\//,"").replace(/^https?:\/\/[^/]+\//,"").replace(/\.git$/,"").replace(/^\/+|\/+$/g,"").split("/").filter(Boolean);return n.length<2?null:{owner:n[n.length-2],repo:n[n.length-1]}}var ei=y(()=>{"use strict";je();Kt();zo()});import{spawn as Dx}from"node:child_process";async function ms(e,t){return await $x(t,async r=>{let n=await Fx(e,t.cwd,r);return n||await Nx(e,t.cwd,r)})}async function $x(e,t){if(e.signal.aborted)return{status:1,stdout:"",stderr:"wait cancelled"};let r=new AbortController,n=setTimeout(()=>r.abort(),e.timeoutMs),s=AbortSignal.any([e.signal,r.signal]);try{let o=await t(s);return r.signal.aborted?{status:1,stdout:"",stderr:`GitHub probe exceeded ${e.timeoutMs}ms`}:o}finally{clearTimeout(n)}}async function Nx(e,t,r){return r.aborted?{status:1,stdout:"",stderr:"gh call cancelled"}:await new Promise(n=>{let s=!1,o=l=>{s||(s=!0,r.removeEventListener("abort",a),n(l))},i=Dx("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let l=i.pid;l&&$o(l).then(d=>Do(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],u=[];i.stdout.on("data",l=>c.push(Buffer.from(l))),i.stderr.on("data",l=>u.push(Buffer.from(l))),i.once("error",l=>o({status:1,stdout:"",stderr:l.message})),i.once("close",l=>{o({status:l??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(u).toString("utf8").trim()})})})}async function Fx(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await Mx(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await xe({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=dt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:cn(s,"database_id")||cn(s,"id"),status:he(s,"status").toUpperCase(),conclusion:he(s,"conclusion").toUpperCase(),workflowName:he(s,"workflow_name")||he(s,"name"),headBranch:he(s,"head_branch"),url:he(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Bo(e,"--branch"),s=Bo(e,"--limit")??"20",o=await xe({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=Sr(dt(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:cn(a,"database_id")||cn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Bo(e,"--limit")??"20",s=await xe({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=Sr(JSON.parse(s.stdout)).map(i=>({tagName:he(i,"tag_name"),publishedAt:he(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}return null}async function Mx(e,t,r){let n=await xe({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=dt(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=he(dt(s.head),"sha"),[i,a]=o?await Promise.all([xe({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),xe({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?Sr(dt(JSON.parse(i.stdout)).statuses):[],u=a.status===0?Sr(dt(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
67
67
  `),stdout:JSON.stringify({number:cn(s,"number"),state:he(s,"state").toUpperCase(),mergeable:jx(s),statusCheckRollup:[...c.map(l=>({conclusion:he(l,"state").toUpperCase()})),...u.map(l=>({status:he(l,"status").toUpperCase(),conclusion:he(l,"conclusion").toUpperCase()}))],url:he(s,"html_url")})}}function jx(e){let t=he(e,"mergeable_state").toUpperCase();return t&&t!=="UNKNOWN"?t==="CLEAN"?"MERGEABLE":t:e.mergeable===!0?"MERGEABLE":e.mergeable===!1?"CONFLICTING":"UNKNOWN"}var $g=y(()=>{"use strict";ei();Uo();Dt()});function Fg(e,t,r){let n=Date.now();return()=>Bx(e,t,r,n)}async function Bx(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ge("missing PR number");let s=await ms(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ge(s.stderr||"gh pr view failed");let o=eu(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(Ux),u=c.filter(d=>d==="failure").length,l=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return Lt("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return Lt("failure",`PR #${e} has merge conflicts`,{failing:u,pending:l,mergeable:a});if(u>0)return Lt("failure",`PR #${e} has failing checks`,{failing:u,pending:l,mergeable:a});if(l>0)return tn(`PR #${e} has ${l} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?tn(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):Lt("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?tn(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):Lt("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function Mg(e,t){if(!e)return ge("missing run id");let r=await ms(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ge(r.stderr||"gh run view failed");let n=eu(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?tn(`run ${e} is ${s||"pending"}`):o==="success"?Lt("success",`run ${e} succeeded`,Ng(n)):Lt("failure",`run ${e} concluded ${o||"unknown"}`,Ng(n))}async function jg(e,t){let r=await ms(["run","list","--branch",e,"--limit","1","--json","databaseId"],t);if(r.status!==0)return"";let n=JSON.parse(r.stdout),s=Array.isArray(n)?n[0]:void 0;return an(s)&&s.databaseId!=null?String(s.databaseId):""}async function Bg(e,t,r){let n=await ms(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(n.status!==0)return ge(n.stderr||"gh release list failed");let o=Sr(JSON.parse(n.stdout)).find(i=>{let a=String(i.tagName??""),c=new Date(String(i.publishedAt??""));return i.isDraft!==!0&&(!e||Hx(e,a))&&c>=t});return o?Lt("success",`release ${String(o.tagName)} published`,{tag:String(o.tagName),published_at:String(o.publishedAt??"")}):tn("no matching release is published yet")}function Ux(e){let t=an(e)?e:{},r=String(t.conclusion??t.state??t.status??"").toLowerCase();return["success","successful","passed","completed","neutral","skipped"].includes(r)?"success":["failure","failed","error","timed_out","cancelled","action_required"].includes(r)?"failure":"pending"}function Ng(e){return{database_id:typeof e.databaseId=="number"?e.databaseId:String(e.databaseId??""),conclusion:String(e.conclusion??""),workflow:String(e.workflowName??""),branch:String(e.headBranch??""),url:String(e.url??"")}}function Hx(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var Ug=y(()=>{"use strict";Rr();$g();Uo()});function fs(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait release [--tag <glob>] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest",' rsp wait release --tag "v2.*"',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
68
- `)}var uu=y(()=>{"use strict"});var Hg=y(()=>{"use strict";J()});var qg=y(()=>{"use strict"});function qx(e){return Object.keys(e)}function pn(e){return{...e,fields:qx(e.fields)}}var Wg,Jg,Vg,Wx,Jx,Vx,Kg,lu=y(()=>{"use strict";Wg="red.castle.lane.v1",Jg="red.castle.state.v1",Vg="red.castle.history.v1",Wx="red.castle.validation.v2",Jx="red.castle.envelope.v1",Vx="red.castle.hitl-card.v1",Kg=[pn({schemaId:Wg,docPath:".red/contracts/red.castle.lane.v1.md",typeNames:["CastleLaneRecord","CastleLaneKind"],fields:{at:!0,kind:!0,worker_id:!0,supervisor_id:!0,issue:!0,attempt:!0,msg:!0,payload:!0}}),pn({schemaId:Jg,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),pn({schemaId:Vg,docPath:".red/contracts/red.castle.history.v1.md",typeNames:["CastleHistoryRecord","CastleHistoryEvent"],fields:{ts:!0,epoch:!0,worker:!0,issue:!0,event:!0,duration_s:!0,runner:!0,merge_sha:!0,reason:!0}}),pn({schemaId:Wx,docPath:".red/contracts/red.castle.validation.v2.md",typeNames:["CastleValidationRecord","CastleValidationStatus"],fields:{schema:!0,name:!0,status:!0,command:!0,exitCode:!0,durationMs:!0,summary:!0}}),pn({schemaId:Jx,docPath:".red/contracts/red.castle.envelope.v1.md",typeNames:["CastleEnvelope","CastleEnvelopeSection","CastleAttemptStatus"],fields:{status:!0,worker:!0,duration:!0,diff:!0,attempt:!0,mergeSha:!0,sections:!0}}),pn({schemaId:Vx,docPath:".red/contracts/red.castle.hitl-card.v1.md",typeNames:["CastleHitlCard","CastleHitlCardPrStatus","CastleHitlCardAction"],fields:{issueNumber:!0,issueTitle:!0,issueUrl:!0,pendingDecision:!0,prStatus:!0,updatedAt:!0}})]});var VB,ti=y(()=>{"use strict";J();lu();VB=new Map(Kg.map(e=>[e.schemaId,new Set(e.fields)]))});var zg=y(()=>{"use strict";qg();ti()});var Yg=y(()=>{"use strict"});var ri=y(()=>{"use strict"});var du=y(()=>{"use strict";ri()});var ni=y(()=>{"use strict"});import{appendFile as Yx,mkdir as Qx,readFile as Xx}from"node:fs/promises";import{dirname as Zx,join as eC}from"node:path";function pu(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function Qg(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:pu(t.at,"at"),singleton:pu(t.singleton,"singleton"),kind:pu(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function tC(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function rC(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function nC(e){return eC(e.castleStateRoot,"singleton-events.toonl")}function mu(e,t={}){let r=t.fs??{appendFile:Yx,mkdir:Qx,readFile:Xx},n=t.clock??(()=>new Date().toISOString()),s=nC(e);return{path:s,async append(o){let i=Qg({at:o.at??n(),...o});return await r.mkdir(Zx(s),{recursive:!0}),await r.appendFile(s,vt().push(tC(i)),"utf8"),i},async read(o={}){rC(o.tail);let i;try{i=await r.readFile(s,"utf8")}catch(c){if(c.code==="ENOENT")return[];throw c}let a=Tt(i).map(Qg);return o.tail===void 0?a:o.tail===0?[]:a.slice(-o.tail)}}}var fu=y(()=>{"use strict";J()});var si=y(()=>{"use strict";J();ni();fu()});var Xg=y(()=>{"use strict";ri();du();si()});var Zg=y(()=>{"use strict"});var P1,eh=y(()=>{"use strict";J();P1=24*60*60*1e3});var th=y(()=>{"use strict";ti()});var D1,$1,rh=y(()=>{"use strict";D1=15*6e4,$1=30*6e4});var nh=y(()=>{"use strict"});var oC,iC,M1,j1,sh=y(()=>{"use strict";oC=["supervisor_start","supervisor_exit","fleet_scaled","worker_start","worker_exit","worker_steered","worker_escalated","post_claim","pre_worktree","post_issue","pre_requeue","pre_merge","post_merge"],iC={pre_worktree:["cargo","gradle"]},M1=Object.values(iC).flat(),j1=new Set(oC)});var oh=y(()=>{"use strict"});var ih=y(()=>{"use strict";si()});var ah=y(()=>{"use strict"});var ch=y(()=>{});var uh=y(()=>{"use strict";ch()});var lh=y(()=>{"use strict"});var dh=y(()=>{"use strict"});var gu=y(()=>{"use strict"});var ph=y(()=>{"use strict";J();gu()});var mh=y(()=>{"use strict";J()});var hu=y(()=>{"use strict"});var yu=y(()=>{"use strict"});import{resolve as ye}from"node:path";function fh(e){let t=ye(e),r=ye(t,"state"),n=ye(r,"castle"),s=ye(t,"tmp"),o=ye(s,"supervisors"),i=ye(s,"workers"),a=ye(s,"monitors"),c=ye(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:ye(n,"history.toonl"),castleValidation:ye(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:u=>ye(o,u),projectSupervisor:ye(o,aC),workersRoot:i,worker:u=>ye(i,u),workerSteerFile:u=>ye(i,u,"steer.toon"),monitorsRoot:a,monitor:u=>ye(a,u),worktreesRoot:c,worktreeLane:u=>ye(c,u)}}var aC,gh=y(()=>{"use strict";aC="default"});var hh=y(()=>{"use strict";ni()});var yh=y(()=>{"use strict"});var bh=y(()=>{"use strict";hu();yu()});import{mkdir as cC,readFile as uC,rename as lC,rm as dC,writeFile as pC}from"node:fs/promises";import{dirname as mC,join as fC}from"node:path";function hC(e){if(!gC.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function yC(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function bC(e){return e.code==="ENOENT"}function wC(e){return e.code==="EEXIST"}function _C(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton lease must be a record");let t=e;if(!Number.isInteger(t.pid)||t.pid<=0)throw new Error("singleton lease pid must be a positive integer");for(let r of["start_time","acquired_at","renewed_at"])if(typeof t[r]!="string"||t[r].length===0)throw new Error(`singleton lease ${r} must be a non-empty string`);return t}function bu(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function oi(e,t){return hC(t),fC(e.castleStateRoot,"singletons",t,"lease.toon")}function wh(e,t={}){let r=t.fs??{mkdir:cC,readFile:uC,rename:lC,rm:dC,writeFile:pC},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??yC;async function o(a){try{return _C(H(await r.readFile(a,"utf8")))}catch(c){if(bC(c))return;throw c}}async function i(a,c){let u=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(u,$(c,{keyedMapCollapse:!0}),{encoding:"utf8"}),await r.rename(u,a)}return{read(a){return o(oi(e,a))},async acquire(a,c){let u=oi(e,a);await r.mkdir(mC(u),{recursive:!0});let l=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(u,$(p,{keyedMapCollapse:!0}),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:l,lease:p}}catch(f){if(!wC(f))throw f}let g=await o(u);if(g){if(bu(g,c))return{acquired:!0,reaped:l,lease:g};if(await s(g.pid))return{acquired:!1,lease:g};await r.rm(u,{force:!0}),l=!0}}},async renew(a,c){let u=oi(e,a),l=await o(u);if(!l||!bu(l,c))throw new ii(a);let d={...l,renewed_at:n()};return await i(u,d),d},async release(a,c){let u=oi(e,a),l=await o(u);if(!l)return!1;if(!bu(l,c))throw new ii(a);return await r.rm(u,{force:!0}),!0}}}var ii,gC,_h=y(()=>{"use strict";J();ii=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},gC=/^[a-z0-9][a-z0-9._-]{0,63}$/});var wu=y(()=>{"use strict"});var Eh=y(()=>{"use strict"});var EC,RC,kC,CU,Rh=y(()=>{"use strict";EC={refreshCadenceS:270,tolerance:3},RC=270,kC=2700,CU={...EC,claimGraceS:RC,recentCommitProtectionS:kC}});var kh=y(()=>{"use strict"});function Sh(e){return e==="single-object"?"rest":"graphql"}function Th(e,t){return e==="stable-poll"?"rest":Sh(t)}function Be(e){return{none:e}}function ee(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??Th(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function Ce(e,t,r,n){return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,fallback:null,noFallbackBecause:"a mutation has one observed GitHub API method",why:n}}function xh(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function _u(e){let t=xh(e);if(t.length===0)return"";if(t[0]==="api")return t[1]==="graphql"?"api graphql":"api rest";let r=t.length===1?t[0]:`${t[0]} ${t[1]}`;return t[1]==="list"&&e.includes("--search")?`${r} (search)`:r}function Ch(e){return SC.get(_u(e))??null}function Eu(e){let t=Ch(e);if(!t)throw new ai(e);return t}var vh,SC,ai,Oh=y(()=>{vh=[ee("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),ee("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),ee("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),ee("run view","single-object","stable-poll","rest",Be("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),ee("release view","single-object","stable-poll","rest",Be("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),ee("pr diff","single-object","one-shot","rest",Be("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),ee("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),ee("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),ee("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),ee("release list","multi-node","stable-poll","rest",Be("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),ee("run list","multi-node","stable-poll","rest",Be("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),ee("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),ee("issue list (search)","multi-node","stable-poll","search",Be("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),ee("pr list (search)","multi-node","stable-poll","search",Be("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),ee("search issues","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("search prs","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("search repos","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("api graphql","multi-node","one-shot","graphql",Be("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),ee("api rest","single-object","one-shot","rest",Be("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),Ce("issue create","graphql","graphql","gh files an issue with the createIssue mutation \u2014 an exhausted GraphQL pool blocks filing"),Ce("issue edit","graphql","graphql","gh edits labels, body and assignees with GraphQL mutations"),Ce("issue close","graphql","graphql","gh closes with the closeIssue mutation"),Ce("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),Ce("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),Ce("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),Ce("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),Ce("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),Ce("pr merge","graphql","graphql","gh merges with the mergePullRequest mutation"),Ce("pr close","graphql","graphql","gh closes with a GraphQL mutation"),Ce("pr edit","graphql","graphql","gh edits with GraphQL mutations"),Ce("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),Ce("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),Ce("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],SC=new Map(vh.map(e=>[e.key,e]));ai=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=_u(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});import{appendFile as TC,mkdir as vC,readFile as xC}from"node:fs/promises";import{dirname as CC}from"node:path";function ku(e){let t=e.now??(()=>new Date().toISOString()),r=Promise.resolve();return{record(n){let s=OC(n.operation,n.cost,n.observedAt??t(),n.actor),o=vt().push(PC(s));return r=r.then(async()=>{await vC(CC(e.path),{recursive:!0}),await TC(e.path,o,"utf8")}),r},async report(n){await r;let s=Ru(n.from,"report window start"),o=Ru(n.to,"report window end");if(o<=s)throw new Error("GitHub attribution report window end must be after its start");let i=await AC(e.path),a=new Map;for(let u of i.observations){let l=Date.parse(u.observed_at);if(l<s||l>=o||n.pool!==void 0&&u.pool!==n.pool)continue;let d=`${u.pool}\0${u.operation_key}\0${u.actor??""}`,p=a.get(d);a.set(d,{operation_key:u.operation_key,pool:u.pool,...u.actor===void 0?{}:{actor:u.actor},count:(p?.count??0)+1,cost:(p?.cost??0)+u.cost})}let c=[...a.values()].sort((u,l)=>l.cost-u.cost||l.count-u.count||u.operation_key.localeCompare(l.operation_key)||u.pool.localeCompare(l.pool)||(u.actor??"").localeCompare(l.actor??""));return{version:1,origin:"process-attribution",window:{from:n.from,to:n.to},pool:n.pool??null,total_count:c.reduce((u,l)=>u+l.count,0),total_cost:c.reduce((u,l)=>u+l.cost,0),operations:c,unreadable_records:i.unreadable}}}}function OC(e,t,r,n){if(Ru(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function AC(e){let t;try{t=await xC(e,"utf8")}catch(o){if(LC(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
68
+ `)}var uu=y(()=>{"use strict"});var Hg=y(()=>{"use strict";J()});var qg=y(()=>{"use strict"});function qx(e){return Object.keys(e)}function pn(e){return{...e,fields:qx(e.fields)}}var Wg,Jg,Vg,Wx,Jx,Vx,Kg,lu=y(()=>{"use strict";Wg="red.castle.lane.v1",Jg="red.castle.state.v1",Vg="red.castle.history.v1",Wx="red.castle.validation.v2",Jx="red.castle.envelope.v1",Vx="red.castle.hitl-card.v1",Kg=[pn({schemaId:Wg,docPath:".red/contracts/red.castle.lane.v1.md",typeNames:["CastleLaneRecord","CastleLaneKind"],fields:{at:!0,kind:!0,worker_id:!0,supervisor_id:!0,issue:!0,attempt:!0,msg:!0,payload:!0}}),pn({schemaId:Jg,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),pn({schemaId:Vg,docPath:".red/contracts/red.castle.history.v1.md",typeNames:["CastleHistoryRecord","CastleHistoryEvent"],fields:{ts:!0,epoch:!0,worker:!0,issue:!0,event:!0,duration_s:!0,runner:!0,merge_sha:!0,reason:!0}}),pn({schemaId:Wx,docPath:".red/contracts/red.castle.validation.v2.md",typeNames:["CastleValidationRecord","CastleValidationStatus"],fields:{schema:!0,name:!0,status:!0,command:!0,exitCode:!0,durationMs:!0,summary:!0}}),pn({schemaId:Jx,docPath:".red/contracts/red.castle.envelope.v1.md",typeNames:["CastleEnvelope","CastleEnvelopeSection","CastleAttemptStatus"],fields:{status:!0,worker:!0,duration:!0,diff:!0,attempt:!0,mergeSha:!0,sections:!0}}),pn({schemaId:Vx,docPath:".red/contracts/red.castle.hitl-card.v1.md",typeNames:["CastleHitlCard","CastleHitlCardPrStatus","CastleHitlCardAction"],fields:{issueNumber:!0,issueTitle:!0,issueUrl:!0,pendingDecision:!0,prStatus:!0,updatedAt:!0}})]});var QB,ti=y(()=>{"use strict";J();lu();QB=new Map(Kg.map(e=>[e.schemaId,new Set(e.fields)]))});var zg=y(()=>{"use strict";qg();ti()});var Yg=y(()=>{"use strict"});var ri=y(()=>{"use strict"});var du=y(()=>{"use strict";ri()});var ni=y(()=>{"use strict"});import{appendFile as Yx,mkdir as Qx,readFile as Xx}from"node:fs/promises";import{dirname as Zx,join as eC}from"node:path";function pu(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function Qg(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:pu(t.at,"at"),singleton:pu(t.singleton,"singleton"),kind:pu(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function tC(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function rC(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function nC(e){return eC(e.castleStateRoot,"singleton-events.toonl")}function mu(e,t={}){let r=t.fs??{appendFile:Yx,mkdir:Qx,readFile:Xx},n=t.clock??(()=>new Date().toISOString()),s=nC(e);return{path:s,async append(o){let i=Qg({at:o.at??n(),...o});return await r.mkdir(Zx(s),{recursive:!0}),await r.appendFile(s,vt().push(tC(i)),"utf8"),i},async read(o={}){rC(o.tail);let i;try{i=await r.readFile(s,"utf8")}catch(c){if(c.code==="ENOENT")return[];throw c}let a=Tt(i).map(Qg);return o.tail===void 0?a:o.tail===0?[]:a.slice(-o.tail)}}}var fu=y(()=>{"use strict";J()});var si=y(()=>{"use strict";J();ni();fu()});var Xg=y(()=>{"use strict";ri();du();si()});var Zg=y(()=>{"use strict"});var D1,eh=y(()=>{"use strict";J();D1=24*60*60*1e3});var th=y(()=>{"use strict";ti()});var M1,j1,rh=y(()=>{"use strict";M1=15*6e4,j1=30*6e4});var nh=y(()=>{"use strict"});var oC,iC,H1,q1,sh=y(()=>{"use strict";oC=["supervisor_start","supervisor_exit","fleet_scaled","worker_start","worker_exit","worker_steered","worker_escalated","post_claim","pre_worktree","post_issue","pre_requeue","pre_merge","post_merge"],iC={pre_worktree:["cargo","gradle"]},H1=Object.values(iC).flat(),q1=new Set(oC)});var oh=y(()=>{"use strict"});var ih=y(()=>{"use strict";si()});var ah=y(()=>{"use strict"});var ch=y(()=>{});var uh=y(()=>{"use strict";ch()});var lh=y(()=>{"use strict"});var dh=y(()=>{"use strict"});var gu=y(()=>{"use strict"});var ph=y(()=>{"use strict";J();gu()});var mh=y(()=>{"use strict";J()});var hu=y(()=>{"use strict"});var yu=y(()=>{"use strict"});import{resolve as ye}from"node:path";function fh(e){let t=ye(e),r=ye(t,"state"),n=ye(r,"castle"),s=ye(t,"tmp"),o=ye(s,"supervisors"),i=ye(s,"workers"),a=ye(s,"monitors"),c=ye(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:ye(n,"history.toonl"),castleValidation:ye(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:u=>ye(o,u),projectSupervisor:ye(o,aC),workersRoot:i,worker:u=>ye(i,u),workerSteerFile:u=>ye(i,u,"steer.toon"),monitorsRoot:a,monitor:u=>ye(a,u),worktreesRoot:c,worktreeLane:u=>ye(c,u)}}var aC,gh=y(()=>{"use strict";aC="default"});var hh=y(()=>{"use strict";ni()});var yh=y(()=>{"use strict"});var bh=y(()=>{"use strict";hu();yu()});import{mkdir as cC,readFile as uC,rename as lC,rm as dC,writeFile as pC}from"node:fs/promises";import{dirname as mC,join as fC}from"node:path";function hC(e){if(!gC.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function yC(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function bC(e){return e.code==="ENOENT"}function wC(e){return e.code==="EEXIST"}function _C(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton lease must be a record");let t=e;if(!Number.isInteger(t.pid)||t.pid<=0)throw new Error("singleton lease pid must be a positive integer");for(let r of["start_time","acquired_at","renewed_at"])if(typeof t[r]!="string"||t[r].length===0)throw new Error(`singleton lease ${r} must be a non-empty string`);return t}function bu(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function oi(e,t){return hC(t),fC(e.castleStateRoot,"singletons",t,"lease.toon")}function wh(e,t={}){let r=t.fs??{mkdir:cC,readFile:uC,rename:lC,rm:dC,writeFile:pC},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??yC;async function o(a){try{return _C(H(await r.readFile(a,"utf8")))}catch(c){if(bC(c))return;throw c}}async function i(a,c){let u=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(u,$(c,{keyedMapCollapse:!0}),{encoding:"utf8"}),await r.rename(u,a)}return{read(a){return o(oi(e,a))},async acquire(a,c){let u=oi(e,a);await r.mkdir(mC(u),{recursive:!0});let l=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(u,$(p,{keyedMapCollapse:!0}),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:l,lease:p}}catch(f){if(!wC(f))throw f}let g=await o(u);if(g){if(bu(g,c))return{acquired:!0,reaped:l,lease:g};if(await s(g.pid))return{acquired:!1,lease:g};await r.rm(u,{force:!0}),l=!0}}},async renew(a,c){let u=oi(e,a),l=await o(u);if(!l||!bu(l,c))throw new ii(a);let d={...l,renewed_at:n()};return await i(u,d),d},async release(a,c){let u=oi(e,a),l=await o(u);if(!l)return!1;if(!bu(l,c))throw new ii(a);return await r.rm(u,{force:!0}),!0}}}var ii,gC,_h=y(()=>{"use strict";J();ii=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},gC=/^[a-z0-9][a-z0-9._-]{0,63}$/});var wu=y(()=>{"use strict"});var Eh=y(()=>{"use strict"});var EC,RC,kC,IU,Rh=y(()=>{"use strict";EC={refreshCadenceS:270,tolerance:3},RC=270,kC=2700,IU={...EC,claimGraceS:RC,recentCommitProtectionS:kC}});var kh=y(()=>{"use strict"});function Sh(e){return e==="single-object"?"rest":"graphql"}function Th(e,t){return e==="stable-poll"?"rest":Sh(t)}function Be(e){return{none:e}}function ee(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??Th(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function Ce(e,t,r,n){return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,fallback:null,noFallbackBecause:"a mutation has one observed GitHub API method",why:n}}function xh(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function _u(e){let t=xh(e);if(t.length===0)return"";if(t[0]==="api")return t[1]==="graphql"?"api graphql":"api rest";let r=t.length===1?t[0]:`${t[0]} ${t[1]}`;return t[1]==="list"&&e.includes("--search")?`${r} (search)`:r}function Ch(e){return SC.get(_u(e))??null}function Eu(e){let t=Ch(e);if(!t)throw new ai(e);return t}var vh,SC,ai,Oh=y(()=>{vh=[ee("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),ee("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),ee("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),ee("run view","single-object","stable-poll","rest",Be("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),ee("release view","single-object","stable-poll","rest",Be("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),ee("pr diff","single-object","one-shot","rest",Be("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),ee("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),ee("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),ee("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),ee("release list","multi-node","stable-poll","rest",Be("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),ee("run list","multi-node","stable-poll","rest",Be("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),ee("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),ee("issue list (search)","multi-node","stable-poll","search",Be("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),ee("pr list (search)","multi-node","stable-poll","search",Be("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),ee("search issues","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("search prs","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("search repos","multi-repository","one-shot","search",Be("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),ee("api graphql","multi-node","one-shot","graphql",Be("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),ee("api rest","single-object","one-shot","rest",Be("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),Ce("issue create","graphql","graphql","gh files an issue with the createIssue mutation \u2014 an exhausted GraphQL pool blocks filing"),Ce("issue edit","graphql","graphql","gh edits labels, body and assignees with GraphQL mutations"),Ce("issue close","graphql","graphql","gh closes with the closeIssue mutation"),Ce("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),Ce("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),Ce("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),Ce("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),Ce("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),Ce("pr merge","graphql","graphql","gh merges with the mergePullRequest mutation"),Ce("pr close","graphql","graphql","gh closes with a GraphQL mutation"),Ce("pr edit","graphql","graphql","gh edits with GraphQL mutations"),Ce("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),Ce("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),Ce("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],SC=new Map(vh.map(e=>[e.key,e]));ai=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=_u(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});import{appendFile as TC,mkdir as vC,readFile as xC}from"node:fs/promises";import{dirname as CC}from"node:path";function ku(e){let t=e.now??(()=>new Date().toISOString()),r=Promise.resolve();return{record(n){let s=OC(n.operation,n.cost,n.observedAt??t(),n.actor),o=vt().push(PC(s));return r=r.then(async()=>{await vC(CC(e.path),{recursive:!0}),await TC(e.path,o,"utf8")}),r},async report(n){await r;let s=Ru(n.from,"report window start"),o=Ru(n.to,"report window end");if(o<=s)throw new Error("GitHub attribution report window end must be after its start");let i=await AC(e.path),a=new Map;for(let u of i.observations){let l=Date.parse(u.observed_at);if(l<s||l>=o||n.pool!==void 0&&u.pool!==n.pool)continue;let d=`${u.pool}\0${u.operation_key}\0${u.actor??""}`,p=a.get(d);a.set(d,{operation_key:u.operation_key,pool:u.pool,...u.actor===void 0?{}:{actor:u.actor},count:(p?.count??0)+1,cost:(p?.cost??0)+u.cost})}let c=[...a.values()].sort((u,l)=>l.cost-u.cost||l.count-u.count||u.operation_key.localeCompare(l.operation_key)||u.pool.localeCompare(l.pool)||(u.actor??"").localeCompare(l.actor??""));return{version:1,origin:"process-attribution",window:{from:n.from,to:n.to},pool:n.pool??null,total_count:c.reduce((u,l)=>u+l.count,0),total_cost:c.reduce((u,l)=>u+l.cost,0),operations:c,unreadable_records:i.unreadable}}}}function OC(e,t,r,n){if(Ru(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function AC(e){let t;try{t=await xC(e,"utf8")}catch(o){if(LC(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
69
69
  `);for(let o=0;o<s.length;o+=1){let i=s[o];if(i.trim()==="")continue;let a=s[o+1];if(!i.startsWith("[]{")||a===void 0||a.trim()===""){n+=1;continue}let c;try{c=Tt(`${i}
70
70
  ${a}
71
71
  `)[0]}catch{n+=1,o+=1;continue}if(!IC(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function PC(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function IC(e){return GC(e)?e.version===1&&typeof e.observed_at=="string"&&Number.isFinite(Date.parse(e.observed_at))&&typeof e.operation_key=="string"&&e.operation_key!==""&&(e.pool==="rest"||e.pool==="graphql"||e.pool==="search")&&(e.actor===void 0||typeof e.actor=="string"&&e.actor!=="")&&typeof e.cost=="number"&&Number.isSafeInteger(e.cost)&&e.cost>=0:!1}function Ru(e,t){let r=Date.parse(e);if(!Number.isFinite(r))throw new Error(`${t} must be an ISO-8601 instant; received ${JSON.stringify(e)}`);return r}function GC(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function LC(e){return e instanceof Error&&"code"in e}var Ah=y(()=>{J()});var vu=bp((Su,Tu)=>{(function(e,t){typeof Su=="object"&&typeof Tu<"u"?Tu.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Su,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(I){return I&&I.default||I}var r=function(I,w,m={}){var _,k,S;for(_ in w)S=w[_],m[_]=(k=I[_])!=null?k:S;return m},n=function(I,w,m={}){var _,k;for(_ in I)k=I[_],w[_]!==void 0&&(m[_]=k);return m},s={load:r,overwrite:n},o;o=class{constructor(w,m){this.incr=w,this.decr=m,this._first=null,this._last=null,this.length=0}push(w){var m;this.length++,typeof this.incr=="function"&&this.incr(),m={value:w,prev:this._last,next:null},this._last!=null?(this._last.next=m,this._last=m):this._first=this._last=m}shift(){var w;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),w=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,w}first(){if(this._first!=null)return this._first.value}getArray(){var w,m,_;for(w=this._first,_=[];w!=null;)_.push((m=w,w=w.next,m.value));return _}forEachShift(w){var m;for(m=this.shift();m!=null;)w(m),m=this.shift()}debug(){var w,m,_,k,S;for(w=this._first,S=[];w!=null;)S.push((m=w,w=w.next,{value:m.value,prev:(_=m.prev)!=null?_.value:void 0,next:(k=m.next)!=null?k.value:void 0}));return S}};var i=o,a;a=class{constructor(w){if(this.instance=w,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(m,_)=>this._addListener(m,"many",_),this.instance.once=(m,_)=>this._addListener(m,"once",_),this.instance.removeAllListeners=(m=null)=>m!=null?delete this._events[m]:this._events={}}_addListener(w,m,_){var k;return(k=this._events)[w]==null&&(k[w]=[]),this._events[w].push({cb:_,status:m}),this.instance}listenerCount(w){return this._events[w]!=null?this._events[w].length:0}async trigger(w,...m){var _,k;try{return w!=="debug"&&this.trigger("debug",`Event triggered: ${w}`,m),this._events[w]==null?void 0:(this._events[w]=this._events[w].filter(function(S){return S.status!=="none"}),k=this._events[w].map(async S=>{var x,A;if(S.status!=="none"){S.status==="once"&&(S.status="none");try{return A=typeof S.cb=="function"?S.cb(...m):void 0,typeof A?.then=="function"?await A:A}catch(U){return x=U,this.trigger("error",x),null}}}),(await Promise.all(k)).find(function(S){return S!=null}))}catch(S){return _=S,this.trigger("error",_),null}}};var c=a,u,l,d;u=i,l=c,d=class{constructor(w){var m;this.Events=new l(this),this._length=0,this._lists=function(){var _,k,S;for(S=[],m=_=1,k=w;1<=k?_<=k:_>=k;m=1<=k?++_:--_)S.push(new u(()=>this.incr(),()=>this.decr()));return S}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(w){return this._lists[w.options.priority].push(w)}queued(w){return w!=null?this._lists[w].length:this._length}shiftAll(w){return this._lists.forEach(function(m){return m.forEachShift(w)})}getFirst(w=this._lists){var m,_,k;for(m=0,_=w.length;m<_;m++)if(k=w[m],k.length>0)return k;return[]}shiftLastFrom(w){return this.getFirst(this._lists.slice(w).reverse()).shift()}};var p=d,g;g=class extends Error{};var f=g,R,b,h,E,T;E=10,b=5,T=s,R=f,h=class{constructor(w,m,_,k,S,x,A,U){this.task=w,this.args=m,this.rejectOnDrop=S,this.Events=x,this._states=A,this.Promise=U,this.options=T.load(_,k),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===k.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((oe,me)=>{this._resolve=oe,this._reject=me}),this.retryCount=0}_sanitizePriority(w){var m;return m=~~w!==w?b:w,m<0?0:m>E-1?E-1:m}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:w,message:m="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(w??new R(m)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(w){var m;if(m=this._states.jobStatus(this.options.id),!(m===w||w==="DONE"&&m===null))throw new R(`Invalid job status ${m}, expected ${w}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(w,m){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:w,blocked:m})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(w,m,_,k){var S,x,A;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),x={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",x);try{if(A=await(w!=null?w.schedule(this.options,this.task,...this.args):this.task(...this.args)),m())return this.doDone(x),await k(this.options,x),this._assertStatus("DONE"),this._resolve(A)}catch(U){return S=U,this._onFailure(S,x,m,_,k)}}doExpire(w,m,_){var k,S;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),S={args:this.args,options:this.options,retryCount:this.retryCount},k=new R(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(k,S,w,m,_)}async _onFailure(w,m,_,k,S){var x,A;if(_())return x=await this.Events.trigger("failed",w,m),x!=null?(A=~~x,this.Events.trigger("retry",`Retrying ${this.options.id} after ${A} ms`,m),this.retryCount++,k(A)):(this.doDone(m),await S(this.options,m),this._assertStatus("DONE"),this._reject(w))}doDone(w){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",w)}};var C=h,G,F,q;q=s,G=f,F=class{constructor(w,m,_){this.instance=w,this.storeOptions=m,this.clientId=this.instance._randomIndex(),q.load(_,_,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var w;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(w=this.heartbeat=setInterval(()=>{var m,_,k,S,x;if(S=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&S>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=S,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&S>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:m,reservoirIncreaseMaximum:k,reservoir:x}=this.storeOptions,this._lastReservoirIncrease=S,_=k!=null?Math.min(m,k-x):m,_>0))return this.storeOptions.reservoir+=_,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?w.unref():void 0:clearInterval(this.heartbeat)}async __publish__(w){return await this.yieldLoop(),this.instance.Events.trigger("message",w.toString())}async __disconnect__(w){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(w=0){return new this.Promise(function(m,_){return setTimeout(m,w)})}computePenalty(){var w;return(w=this.storeOptions.penalty)!=null?w:15*this.storeOptions.minTime||5e3}async __updateSettings__(w){return await this.yieldLoop(),q.overwrite(w,w,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(w){return await this.yieldLoop(),this._nextRequest+this.timeout<w}computeCapacity(){var w,m;return{maxConcurrent:w,reservoir:m}=this.storeOptions,w!=null&&m!=null?Math.min(w-this._running,m):w!=null?w-this._running:m??null}conditionsCheck(w){var m;return m=this.computeCapacity(),m==null||w<=m}async __incrementReservoir__(w){var m;return await this.yieldLoop(),m=this.storeOptions.reservoir+=w,this.instance._drainAll(this.computeCapacity()),m}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(w){return this._unblockTime>=w}check(w,m){return this.conditionsCheck(w)&&this._nextRequest-m<=0}async __check__(w){var m;return await this.yieldLoop(),m=Date.now(),this.check(w,m)}async __register__(w,m,_){var k,S;return await this.yieldLoop(),k=Date.now(),this.conditionsCheck(m)?(this._running+=m,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=m),S=Math.max(this._nextRequest-k,0),this._nextRequest=k+S+this.storeOptions.minTime,{success:!0,wait:S,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(w,m){var _,k,S;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&m>this.storeOptions.maxConcurrent)throw new G(`Impossible to add a job having a weight of ${m} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return k=Date.now(),S=this.storeOptions.highWater!=null&&w===this.storeOptions.highWater&&!this.check(m,k),_=this.strategyIsBlock()&&(S||this.isBlocked(k)),_&&(this._unblockTime=k+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:S,blocked:_,strategy:this.storeOptions.strategy}}async __free__(w,m){return await this.yieldLoop(),this._running-=m,this._done+=m,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var se=F,re,de;re=f,de=class{constructor(w){this.status=w,this._jobs={},this.counts=this.status.map(function(){return 0})}next(w){var m,_;if(m=this._jobs[w],_=m+1,m!=null&&_<this.status.length)return this.counts[m]--,this.counts[_]++,this._jobs[w]++;if(m!=null)return this.counts[m]--,delete this._jobs[w]}start(w){var m;return m=0,this._jobs[w]=m,this.counts[m]++}remove(w){var m;return m=this._jobs[w],m!=null&&(this.counts[m]--,delete this._jobs[w]),m!=null}jobStatus(w){var m;return(m=this.status[this._jobs[w]])!=null?m:null}statusJobs(w){var m,_,k,S,x;if(w!=null){if(_=this.status.indexOf(w),_<0)throw new re(`status must be one of ${this.status.join(", ")}`);k=this._jobs,S=[];for(m in k)x=k[m],x===_&&S.push(m);return S}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((w,m,_)=>(w[this.status[_]]=m,w),{})}};var pe=de,Bt,P;Bt=i,P=class{constructor(w,m){this.schedule=this.schedule.bind(this),this.name=w,this.Promise=m,this._running=0,this._queue=new Bt}isEmpty(){return this._queue.length===0}async _tryToRun(){var w,m,_,k,S,x,A;if(this._running<1&&this._queue.length>0)return this._running++,{task:A,args:w,resolve:S,reject:k}=this._queue.shift(),m=await async function(){try{return x=await A(...w),function(){return S(x)}}catch(U){return _=U,function(){return k(_)}}}(),this._running--,this._tryToRun(),m()}schedule(w,...m){var _,k,S;return S=k=null,_=new this.Promise(function(x,A){return S=x,k=A}),this._queue.push({task:w,args:m,resolve:S,reject:k}),this._tryToRun(),_}};var j=P,Ne="2.19.5",Et={version:Ne},Ut=Object.freeze({version:Ne,default:Et}),O=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),N=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Rt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),nt,Te,ve,kt,Br,Ht;Ht=s,nt=c,kt=O,ve=N,Br=Rt,Te=function(){class I{constructor(m={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=m,Ht.load(this.limiterOptions,this.defaults,this),this.Events=new nt(this),this.instances={},this.Bottleneck=hp,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new kt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new ve(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(m=""){var _;return(_=this.instances[m])!=null?_:(()=>{var k;return k=this.instances[m]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${m}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",k,m),k})()}async deleteKey(m=""){var _,k;return k=this.instances[m],this.connection&&(_=await this.connection.__runCommand__(["del",...Br.allKeys(`${this.id}-${m}`)])),k!=null&&(delete this.instances[m],await k.disconnect()),k!=null||_>0}limiters(){var m,_,k,S;_=this.instances,k=[];for(m in _)S=_[m],k.push({key:m,limiter:S});return k}keys(){return Object.keys(this.instances)}async clusterKeys(){var m,_,k,S,x,A,U,oe,me;if(this.connection==null)return this.Promise.resolve(this.keys());for(A=[],m=null,me=`b_${this.id}-`.length,_=9;m!==0;)for([oe,k]=await this.connection.__runCommand__(["scan",m??0,"match",`b_${this.id}-*_settings`,"count",1e4]),m=~~oe,S=0,U=k.length;S<U;S++)x=k[S],A.push(x.slice(me,-_));return A}_startAutoCleanup(){var m;return clearInterval(this.interval),typeof(m=this.interval=setInterval(async()=>{var _,k,S,x,A,U;A=Date.now(),S=this.instances,x=[];for(k in S){U=S[k];try{await U._store.__groupCheck__(A)?x.push(this.deleteKey(k)):x.push(void 0)}catch(oe){_=oe,x.push(U.Events.trigger("error",_))}}return x},this.timeout/2)).unref=="function"?m.unref():void 0}updateSettings(m={}){if(Ht.overwrite(m,this.defaults,this),Ht.overwrite(m,m,this.limiterOptions),m.timeout!=null)return this._startAutoCleanup()}disconnect(m=!0){var _;if(!this.sharedConnection)return(_=this.connection)!=null?_.disconnect(m):void 0}}return I.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},I}.call(e);var $n=Te,pr,Nn,cp;cp=s,Nn=c,pr=function(){class I{constructor(m={}){this.options=m,cp.load(this.options,this.defaults,this),this.Events=new Nn(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((m,_)=>this._resolve=m)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(m){var _;return this._arr.push(m),_=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),_}}return I.prototype.defaults={maxTime:null,maxSize:null,Promise},I}.call(e);var IR=pr,GR=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),LR=t(Ut),up,lp,Ta,va,dp,xa,pp,mp,fp,Ca,st,gp=[].splice;xa=10,lp=5,st=s,pp=p,va=C,dp=se,mp=GR,Ta=c,fp=pe,Ca=j,up=function(){class I{constructor(m={},..._){var k,S;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(m,_),st.load(m,this.instanceDefaults,this),this._queues=new pp(xa),this._scheduled={},this._states=new fp(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Ta(this),this._submitLock=new Ca("submit",this.Promise),this._registerLock=new Ca("register",this.Promise),S=st.load(m,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return k=st.load(m,this.redisStoreDefaults,{}),new mp(this,S,k);if(this.datastore==="local")return k=st.load(m,this.localStoreDefaults,{}),new dp(this,S,k);throw new I.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var x;return(x=this._store.heartbeat)!=null&&typeof x.ref=="function"?x.ref():void 0}),this._queues.on("zero",()=>{var x;return(x=this._store.heartbeat)!=null&&typeof x.unref=="function"?x.unref():void 0})}_validateOptions(m,_){if(!(m!=null&&typeof m=="object"&&_.length===0))throw new I.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(m){return this._store.__publish__(m)}disconnect(m=!0){return this._store.__disconnect__(m)}chain(m){return this._limiter=m,this}queued(m){return this._queues.queued(m)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(m){return this._states.jobStatus(m)}jobs(m){return this._states.statusJobs(m)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(m=1){return this._store.__check__(m)}_clearGlobalState(m){return this._scheduled[m]!=null?(clearTimeout(this._scheduled[m].expiration),delete this._scheduled[m],!0):!1}async _free(m,_,k,S){var x,A;try{if({running:A}=await this._store.__free__(m,k.weight),this.Events.trigger("debug",`Freed ${k.id}`,S),A===0&&this.empty())return this.Events.trigger("idle")}catch(U){return x=U,this.Events.trigger("error",x)}}_run(m,_,k){var S,x,A;return _.doRun(),S=this._clearGlobalState.bind(this,m),A=this._run.bind(this,m,_),x=this._free.bind(this,m,_),this._scheduled[m]={timeout:setTimeout(()=>_.doExecute(this._limiter,S,A,x),k),expiration:_.options.expiration!=null?setTimeout(function(){return _.doExpire(S,A,x)},k+_.options.expiration):void 0,job:_}}_drainOne(m){return this._registerLock.schedule(()=>{var _,k,S,x,A;return this.queued()===0?this.Promise.resolve(null):(A=this._queues.getFirst(),{options:x,args:_}=S=A.first(),m!=null&&x.weight>m?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${x.id}`,{args:_,options:x}),k=this._randomIndex(),this._store.__register__(k,x.weight,x.expiration).then(({success:U,wait:oe,reservoir:me})=>{var Fn;return this.Events.trigger("debug",`Drained ${x.id}`,{success:U,args:_,options:x}),U?(A.shift(),Fn=this.empty(),Fn&&this.Events.trigger("empty"),me===0&&this.Events.trigger("depleted",Fn),this._run(k,S,oe),this.Promise.resolve(x.weight)):this.Promise.resolve(null)})))})}_drainAll(m,_=0){return this._drainOne(m).then(k=>{var S;return k!=null?(S=m!=null?m-k:m,this._drainAll(S,_+k)):this.Promise.resolve(_)}).catch(k=>this.Events.trigger("error",k))}_dropAllQueued(m){return this._queues.shiftAll(function(_){return _.doDrop({message:m})})}stop(m={}){var _,k;return m=st.load(m,this.stopDefaults),k=S=>{var x;return x=()=>{var A;return A=this._states.counts,A[0]+A[1]+A[2]+A[3]===S},new this.Promise((A,U)=>x()?A():this.on("done",()=>{if(x())return this.removeAllListeners("done"),A()}))},_=m.dropWaitingJobs?(this._run=function(S,x){return x.doDrop({message:m.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var S,x,A;x=this._scheduled;for(S in x)A=x[S],this.jobStatus(A.job.options.id)==="RUNNING"&&(clearTimeout(A.timeout),clearTimeout(A.expiration),A.job.doDrop({message:m.dropErrorMessage}));return this._dropAllQueued(m.dropErrorMessage),k(0)}))):this.schedule({priority:xa-1,weight:0},()=>k(1)),this._receive=function(S){return S._reject(new I.prototype.BottleneckError(m.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new I.prototype.BottleneckError("stop() has already been called")),_}async _addToQueue(m){var _,k,S,x,A,U,oe;({args:_,options:x}=m);try{({reachedHWM:A,blocked:k,strategy:oe}=await this._store.__submit__(this.queued(),x.weight))}catch(me){return S=me,this.Events.trigger("debug",`Could not queue ${x.id}`,{args:_,options:x,error:S}),m.doDrop({error:S}),!1}return k?(m.doDrop(),!0):A&&(U=oe===I.prototype.strategy.LEAK?this._queues.shiftLastFrom(x.priority):oe===I.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(x.priority+1):oe===I.prototype.strategy.OVERFLOW?m:void 0,U?.doDrop(),U==null||oe===I.prototype.strategy.OVERFLOW)?(U==null&&m.doDrop(),A):(m.doQueue(A,k),this._queues.push(m),await this._drainAll(),A)}_receive(m){return this._states.jobStatus(m.options.id)!=null?(m._reject(new I.prototype.BottleneckError(`A job with the same id already exists (id=${m.options.id})`)),!1):(m.doReceive(),this._submitLock.schedule(this._addToQueue,m))}submit(...m){var _,k,S,x,A,U,oe;return typeof m[0]=="function"?(A=m,[k,...m]=A,[_]=gp.call(m,-1),x=st.load({},this.jobDefaults)):(U=m,[x,k,...m]=U,[_]=gp.call(m,-1),x=st.load(x,this.jobDefaults)),oe=(...me)=>new this.Promise(function(Fn,$R){return k(...me,function(...yp){return(yp[0]!=null?$R:Fn)(yp)})}),S=new va(oe,m,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),S.promise.then(function(me){return typeof _=="function"?_(...me):void 0}).catch(function(me){return Array.isArray(me)?typeof _=="function"?_(...me):void 0:typeof _=="function"?_(me):void 0}),this._receive(S)}schedule(...m){var _,k,S;return typeof m[0]=="function"?([S,...m]=m,k={}):[k,S,...m]=m,_=new va(S,m,k,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(_),_.promise}wrap(m){var _,k;return _=this.schedule.bind(this),k=function(...S){return _(m.bind(this),...S)},k.withOptions=function(S,...x){return _(S,m,...x)},k}async updateSettings(m={}){return await this._store.__updateSettings__(st.overwrite(m,this.storeDefaults)),st.overwrite(m,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(m=0){return this._store.__incrementReservoir__(m)}}return I.default=I,I.Events=Ta,I.version=I.prototype.version=LR.version,I.strategy=I.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},I.BottleneckError=I.prototype.BottleneckError=f,I.Group=I.prototype.Group=$n,I.RedisConnection=I.prototype.RedisConnection=O,I.IORedisConnection=I.prototype.IORedisConnection=N,I.Batcher=I.prototype.Batcher=IR,I.prototype.jobDefaults={priority:lp,weight:1,expiration:null,id:"<no-id>"},I.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:I.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},I.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},I.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},I.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},I.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},I}.call(e);var hp=up,DR=hp;return DR})});var Nt,xu=y(()=>{Nt=class extends Error{name;status;request;response;constructor(t,r,n){super(t,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function $C(e){return e.request!==void 0}async function Ph(e,t,r,n){if(!$C(r)||!r?.request.request)throw r;if(r.status>=400&&!e.doNotRetry.includes(r.status)){let s=n.request.retries!=null?n.request.retries:e.retries,o=Math.pow((n.request.retryCount||0)+1,2);throw t.retry.retryRequest(r,s,o)}throw r}async function NC(e,t,r,n){let s=new Ih.default;return s.on("failed",function(o,i){let a=~~o.request.request?.retries,c=~~o.request.request?.retryAfter;if(n.request.retryCount=i.retryCount+1,a>i.retryCount)return c*e.retryAfterBaseValue}),s.schedule(FC.bind(null,e,t,r),n)}async function FC(e,t,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let o=new Nt(s.data.errors[0].message,500,{request:n,response:s});return Ph(e,t,o,n)}return s}function Cu(e,t){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},t.retry),n={retry:{retryRequest:(s,o,i)=>(s.request.request=Object.assign({},s.request.request,{retries:o,retryAfter:i}),s)}};return r.enabled&&(e.hook.error("request",Ph.bind(null,r,n)),e.hook.wrap("request",NC.bind(null,r,n))),n}var Ih,DC,Gh=y(()=>{Ih=Aa(vu(),1);xu();DC="0.0.0-development";Cu.VERSION=DC});function jC(e,t,r){return e.retryLimiter.schedule(BC,e,t,r)}async function BC(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=UC(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),u=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(u.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(u,Ou),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(u,Ou),i&&await e.search.key(e.id).schedule(u,Ou);let l=(s?e.auth:e.global).key(e.id).schedule(u,t,r);if(a){let d=await l;if(d.data.errors!=null&&d.data.errors.some(p=>p.type==="RATE_LIMITED"))throw Object.assign(new Error("GraphQL Rate Limit Exceeded"),{response:d,data:d.data})}return l}function UC(e,t){return e==="PATCH"&&/^\/applications\/[^/]+\/token\/scoped$/.test(t)||e==="POST"&&(/^\/applications\/[^/]+\/token$/.test(t)||/^\/app\/installations\/[^/]+\/access_tokens$/.test(t)||t==="/login/oauth/access_token")}function qC(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function ci(e,t){let{enabled:r=!0,Bottleneck:n=Dh.default,id:s="no-id",timeout:o=1e3*60*2,connection:i}=t.throttle||{};if(!r)return{};let a={timeout:o};typeof i<"u"&&(a.connection=i);let c=Object.assign({clustering:i!=null,triggersNotification:$h,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
@@ -83,9 +83,9 @@ ${a}
83
83
  `+n.repeat(d)+Yt(h)+": "):l.push(Yt(h)+":");let G=C!==null&&typeof C=="object",F=Nu(C);if(G&&!F){if(g.has(C))throw new TypeError("Converting circular structure to JSON");g.add(C),p.push({parent:f.val,key:h,val:C,isArray:Array.isArray(C),keys:Array.isArray(C)?null:Object.keys(C),index:0,first:!0}),f.first=!1;break}else l.push(Yt(C)),f.first=!1}f.index>=f.keys.length&&p[p.length-1]===f&&(R=!0)}R&&(d--,!f.first&&n&&l.push(`
84
84
  `+n.repeat(d)),l.push(f.isArray?"]":"}"),g.delete(f.val),p.pop())}return l.join("")},fy=(e,t,r)=>{try{return"rawJSON"in JSON?Yt(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?Yt(e,(a,c)=>typeof c=="string"&&pi.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(uy,"$1$2$3").replace(ly,"$1$2$3"):Yt(e,t,r)}catch(n){if(n instanceof RangeError){let s=yO(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(uy,"$1$2$3").replace(ly,"$1$2$3")}throw n}},di=new Map,bO=()=>{let e=JSON.parse.toString();if(di.has(e))return di.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return di.set(e,t),t}catch{return di.set(e,!1),!1}},wO=(e,t,r,n)=>typeof t=="string"&&my.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&pi.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,_O=(e,t)=>JSON.parse(e,(r,n,s)=>{let o=typeof n=="number",i=n>Number.MAX_SAFE_INTEGER||n<Number.MIN_SAFE_INTEGER,a=o&&i,c=s&&hO.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),gy=Number.MAX_SAFE_INTEGER.toString(),dy=gy.length,EO=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,RO=/^"-?\d+n+"$/,kO=(e,t)=>{let r={"":e},n=[{parent:r,key:"",visited:!1}];for(;n.length>0;){let s=n[n.length-1];if(s.visited){let{parent:o,key:i}=s,a=o[i];typeof a=="string"&&(my.test(a)?a=BigInt(a.slice(0,-1)):pi.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},py=e=>e.replace(EO,(t,r,n,s)=>{let o=t[0]==='"';if(o&&RO.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<dy||r.length===dy&&r<=gy);return o||a||c?t:'"'+t+'n"'}),hy=(e,t)=>{if(!e)return Du(e,t);try{if(bO())return _O(e,t);let r=py(e);return Du(r,(n,s,o)=>wO(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=py(e),s=Du(n);return kO(s,t)}throw r}}});function vO(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function wy(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,n=e.request?.parseSuccessResponseBody!==!1,s=vO(e.body)||Array.isArray(e.body)?fy(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([d,p])=>[d,String(p)])),i;try{i=await t(e.url,{method:e.method,body:s,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(d){let p="Unknown Error";if(d instanceof Error){if(d.name==="AbortError")throw d.status=500,d;p=d.message,d.name==="TypeError"&&"cause"in d&&(d.cause instanceof Error?p=d.cause.message:typeof d.cause=="string"&&(p=d.cause))}let g=new Nt(p,500,{request:e});throw g.cause=d,g}let a=i.status,c=i.url,u={};for(let[d,p]of i.headers)u[d]=p;let l={url:c,status:a,headers:u,data:""};if("deprecation"in u){let d=u.link&&u.link.match(/<([^<>]+)>; rel="deprecation"/),p=d&&d.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${u.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return l;if(e.method==="HEAD"){if(a<400)return l;throw new Nt(i.statusText,a,{response:l,request:e})}if(a===304)throw l.data=await Fu(i),new Nt("Not modified",a,{response:l,request:e});if(a>=400)throw l.data=await Fu(i),new Nt(CO(l.data),a,{response:l,request:e});return l.data=n?await Fu(i):i.body,l}async function Fu(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(by);let r=(0,_y.parse)(t);if(xO(r)){let n="";try{return n=await e.text(),hy(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(by):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function xO(e){return e.type==="application/json"||e.type==="application/scim+json"}function CO(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if(typeof e=="object"&&e!==null&&"message"in e){let t=e,r="documentation_url"in t?` - ${t.documentation_url}`:"";return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(n=>JSON.stringify(n)).join(", ")}${r}`:`${t.message}${r}`}return`Unknown error: ${JSON.stringify(e)}`}function Mu(e,t){let r=e.defaults(t);return Object.assign(function(s,o){let i=r.merge(s,o);if(!i.request||!i.request.hook)return wy(r.parse(i));let a=(c,u)=>wy(r.parse(r.merge(c,u)));return Object.assign(a,{endpoint:r,defaults:Mu.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Mu.bind(null,r)})}var _y,SO,TO,by,ys,ju=y(()=>{ty();gs();_y=Aa(cy(),1);yy();xu();SO="10.0.13",TO={headers:{"user-agent":`octokit-request.js/${SO} ${zt()}`}};by=()=>"";ys=Mu(ey,TO);});function AO(e){return`Request failed due to following response errors:
85
85
  `+e.errors.map(t=>` - ${t.message}`).join(`
86
- `)}function LO(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let i in r)if(GO.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>IO.includes(a)?(i[a]=n[a],i):(i.variables||(i.variables={}),i.variables[a]=n[a],i),{}),o=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return Ey.test(o)&&(s.url=o.replace(Ey,"/api/graphql")),e(s).then(i=>{if(i.data.errors){let a={};for(let c of Object.keys(i.headers))a[c]=i.headers[c];throw new PO(s,a,i.data)}return i.data.data})}function Bu(e,t){let r=e.defaults(t);return Object.assign((s,o)=>LO(r,s,o),{defaults:Bu.bind(null,r),endpoint:r.endpoint})}function Ry(e){return Bu(e,{method:"POST",url:"/graphql"})}var OO,PO,IO,GO,Ey,pH,ky=y(()=>{ju();gs();OO="0.0.0-development";PO=class extends Error{constructor(e,t,r){super(AO(r)),this.request=e,this.headers=t,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name="GraphqlResponseError";errors;data},IO=["method","baseUrl","url","headers","request","query","mediaType","operationName"],GO=["query","method","url"],Ey=/\/api\/v3\/?$/;pH=Bu(ys,{headers:{"user-agent":`octokit-graphql.js/${OO} ${zt()}`},method:"POST",url:"/graphql"});});async function $O(e){let t=DO(e),r=e.startsWith("v1.")||e.startsWith("ghs_"),n=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":r?"installation":n?"user-to-server":"oauth"}}function NO(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function FO(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=NO(e),t(s)}var Uu,Sy,Ty,DO,vy,xy=y(()=>{Uu="(?:[a-zA-Z0-9_-]+)",Sy="\\.",Ty=new RegExp(`^${Uu}${Sy}${Uu}${Sy}${Uu}$`),DO=Ty.test.bind(Ty);vy=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign($O.bind(null,t),{hook:FO.bind(null,t)})}});var Hu,Cy=y(()=>{Hu="7.0.7"});function BO(e={}){return typeof e.debug!="function"&&(e.debug=Oy),typeof e.info!="function"&&(e.info=Oy),typeof e.warn!="function"&&(e.warn=MO),typeof e.error!="function"&&(e.error=jO),e}var Oy,MO,jO,Ay,mi,Py=y(()=>{gs();Vh();ju();ky();xy();Cy();Oy=()=>{},MO=console.warn.bind(console),jO=console.error.bind(console);Ay=`octokit-core.js/${Hu} ${zt()}`,mi=class{static VERSION=Hu;static defaults(t){return class extends this{constructor(...n){let s=n[0]||{};if(typeof t=="function"){super(t(s));return}super(Object.assign({},t,s,s.userAgent&&t.userAgent?{userAgent:`${s.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let r=this.plugins;return class extends this{static plugins=r.concat(t.filter(s=>!r.includes(s)))}}constructor(t={}){let r=new Jh.Collection,n={baseUrl:ys.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=t.userAgent?`${t.userAgent} ${Ay}`:Ay,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=ys.defaults(n),this.graphql=Ry(this.request).defaults(n),this.log=BO(t.log),this.hook=r,t.authStrategy){let{authStrategy:o,...i}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:i},t.auth));r.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=vy(t.auth);r.wrap("request",o.hook),this.auth=o}let s=this.constructor;for(let o=0;o<s.plugins.length;++o)Object.assign(this,s.plugins[o](this,t))}request;graphql;log;hook;auth}});var Iy,Gy=y(()=>{Iy="6.0.0"});function qu(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),s=e.request.endpoint.parse(r),o=s.url.replace(r.baseUrl,"");return t(r).then(i=>{let a=i.headers["x-github-request-id"];return e.log.info(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i}).catch(i=>{let a=i.response?.headers["x-github-request-id"]||"UNKNOWN";throw e.log.error(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i})})}var Ly=y(()=>{Gy();qu.VERSION=Iy});function HO(e){if(!e.data)return{...e,data:[]};if(!(("total_count"in e.data||"total_commits"in e.data)&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,s=e.data.total_count,o=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let i=Object.keys(e.data)[0],a=e.data[i];return e.data=a,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=s,e.data.total_commits=o,e}function Wu(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),s=typeof t=="function"?t:e.request,o=n.method,i=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:o,url:a,headers:i}),u=HO(c);if(a=((u.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in u.data){let l=new URL(u.url),d=l.searchParams,p=parseInt(d.get("page")||"1",10),g=parseInt(d.get("per_page")||"250",10);p*g<u.data.total_commits&&(d.set("page",String(p+1)),a=l.toString())}return{value:u}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function Dy(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),$y(e,[],Wu(e,t,r)[Symbol.asyncIterator](),n)}function $y(e,t,r,n){return r.next().then(s=>{if(s.done)return t;let o=!1;function i(){o=!0}return t=t.concat(n?n(s.value,i):s.value.data),o?t:$y(e,t,r,n)})}function Ju(e){return{paginate:Object.assign(Dy.bind(null,e),{iterator:Wu.bind(null,e)})}}var UO,OH,Ny=y(()=>{UO="0.0.0-development";OH=Object.assign(Dy,{iterator:Wu});Ju.VERSION=UO});var Vu,Fy=y(()=>{Vu="17.0.0"});var qO,My,jy=y(()=>{qO={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteCustomImageFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],deleteCustomImageVersionFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteHostedRunnerForOrg:["DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomImageForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],getCustomImageVersionForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getHostedRunnerForOrg:["GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],getHostedRunnersGithubOwnedImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForOrg:["GET /orgs/{org}/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForOrg:["GET /orgs/{org}/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForOrg:["GET /orgs/{org}/actions/hosted-runners/platforms"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listCustomImageVersionsForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"],listCustomImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listGithubHostedRunnersInGroupForOrg:["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"],listHostedRunnersForOrg:["GET /orgs/{org}/actions/hosted-runners"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateHostedRunnerForOrg:["PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingPremiumRequestUsageReportOrg:["GET /organizations/{org}/settings/billing/premium_request/usage"],getGithubBillingPremiumRequestUsageReportUser:["GET /users/{username}/settings/billing/premium_request/usage"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubBillingUsageReportUser:["GET /users/{username}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},campaigns:{createCampaign:["POST /orgs/{org}/campaigns"],deleteCampaign:["DELETE /orgs/{org}/campaigns/{campaign_number}"],getCampaignSummary:["GET /orgs/{org}/campaigns/{campaign_number}"],listOrgCampaigns:["GET /orgs/{org}/campaigns"],updateCampaign:["PATCH /orgs/{org}/campaigns/{campaign_number}"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},credentials:{revoke:["POST /credentials/revoke"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],repositoryAccessForOrg:["GET /organizations/{org}/dependabot/repository-access"],setRepositoryAccessDefaultLevel:["PUT /organizations/{org}/dependabot/repository-access/default-level"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],updateRepositoryAccessForOrg:["PATCH /organizations/{org}/dependabot/repository-access"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},enterpriseTeamMemberships:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"],get:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],list:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],remove:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"]},enterpriseTeamOrganizations:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"],delete:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignment:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignments:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"]},enterpriseTeams:{create:["POST /enterprises/{enterprise}/teams"],delete:["DELETE /enterprises/{enterprise}/teams/{team_slug}"],get:["GET /enterprises/{enterprise}/teams/{team_slug}"],list:["GET /enterprises/{enterprise}/teams"],update:["PATCH /enterprises/{enterprise}/teams/{team_slug}"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},hostedCompute:{createNetworkConfigurationForOrg:["POST /orgs/{org}/settings/network-configurations"],deleteNetworkConfigurationFromOrg:["DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkConfigurationForOrg:["GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkSettingsForOrg:["GET /orgs/{org}/settings/network-settings/{network_settings_id}"],listNetworkConfigurationsForOrg:["GET /orgs/{org}/settings/network-configurations"],updateNetworkConfigurationForOrg:["PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addBlockedByDependency:["POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],getParent:["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listDependenciesBlockedBy:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],listDependenciesBlocking:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeDependencyBlockedBy:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createArtifactStorageRecord:["POST /orgs/{org}/artifacts/metadata/storage-record"],createInvitation:["POST /orgs/{org}/invitations"],createIssueType:["POST /orgs/{org}/issue-types"],createWebhook:["POST /orgs/{org}/hooks"],customPropertiesForOrgsCreateOrUpdateOrganizationValues:["PATCH /organizations/{org}/org-properties/values"],customPropertiesForOrgsGetOrganizationValues:["GET /organizations/{org}/org-properties/values"],customPropertiesForReposCreateOrUpdateOrganizationDefinition:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:["PATCH /orgs/{org}/properties/schema"],customPropertiesForReposCreateOrUpdateOrganizationValues:["PATCH /orgs/{org}/properties/values"],customPropertiesForReposDeleteOrganizationDefinition:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinition:["GET /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinitions:["GET /orgs/{org}/properties/schema"],customPropertiesForReposGetOrganizationValues:["GET /orgs/{org}/properties/values"],delete:["DELETE /orgs/{org}"],deleteAttestationsBulk:["POST /orgs/{org}/attestations/delete-request"],deleteAttestationsById:["DELETE /orgs/{org}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /orgs/{org}/attestations/digest/{subject_digest}"],deleteIssueType:["DELETE /orgs/{org}/issue-types/{issue_type_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],disableSelectedRepositoryImmutableReleasesOrganization:["DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],enableSelectedRepositoryImmutableReleasesOrganization:["PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],get:["GET /orgs/{org}"],getImmutableReleasesSettings:["GET /orgs/{org}/settings/immutable-releases"],getImmutableReleasesSettingsRepositories:["GET /orgs/{org}/settings/immutable-releases/repositories"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getOrgRulesetHistory:["GET /orgs/{org}/rulesets/{ruleset_id}/history"],getOrgRulesetVersion:["GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listArtifactStorageRecords:["GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"],listAttestationRepositories:["GET /orgs/{org}/attestations/repositories"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listAttestationsBulk:["POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listIssueTypes:["GET /orgs/{org}/issue-types"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setImmutableReleasesSettings:["PUT /orgs/{org}/settings/immutable-releases"],setImmutableReleasesSettingsRepositories:["PUT /orgs/{org}/settings/immutable-releases/repositories"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateIssueType:["PUT /orgs/{org}/issue-types/{issue_type_id}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addItemForOrg:["POST /orgs/{org}/projectsV2/{project_number}/items"],addItemForUser:["POST /users/{username}/projectsV2/{project_number}/items"],deleteItemForOrg:["DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],deleteItemForUser:["DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"],getFieldForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"],getFieldForUser:["GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"],getForOrg:["GET /orgs/{org}/projectsV2/{project_number}"],getForUser:["GET /users/{username}/projectsV2/{project_number}"],getOrgItem:["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],getUserItem:["GET /users/{username}/projectsV2/{project_number}/items/{item_id}"],listFieldsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields"],listFieldsForUser:["GET /users/{username}/projectsV2/{project_number}/fields"],listForOrg:["GET /orgs/{org}/projectsV2"],listForUser:["GET /users/{username}/projectsV2"],listItemsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/items"],listItemsForUser:["GET /users/{username}/projectsV2/{project_number}/items"],updateItemForOrg:["PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],updateItemForUser:["PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkImmutableReleases:["GET /repos/{owner}/{repo}/immutable-releases"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],customPropertiesForReposCreateOrUpdateRepositoryValues:["PATCH /repos/{owner}/{repo}/properties/values"],customPropertiesForReposGetRepositoryValues:["GET /repos/{owner}/{repo}/properties/values"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableImmutableReleases:["DELETE /repos/{owner}/{repo}/immutable-releases"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enableImmutableReleases:["PUT /repos/{owner}/{repo}/immutable-releases"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesetHistory:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"],getRepoRulesetVersion:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],listOrgPatternConfigs:["GET /orgs/{org}/secret-scanning/pattern-configurations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],updateOrgPatternConfigs:["PATCH /orgs/{org}/secret-scanning/pattern-configurations"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteAttestationsBulk:["POST /users/{username}/attestations/delete-request"],deleteAttestationsById:["DELETE /users/{username}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /users/{username}/attestations/digest/{subject_digest}"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listAttestationsBulk:["POST /users/{username}/attestations/bulk-list{?per_page,before,after}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},My=qO});function Ku(e){let t={};for(let r of Tr.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},WO);return t}function JO(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[u,l]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${u}.${l}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let u=o.endpoint.merge(...a);for(let[l,d]of Object.entries(s.renamedParameters))l in u&&(e.log.warn(`"${l}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in u||(u[d]=u[l]),delete u[l]);return o(u)}return o(...a)}return Object.assign(i,o)}var Tr,WO,By=y(()=>{jy();Tr=new Map;for(let[e,t]of Object.entries(My))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),u=Object.assign({method:a,url:c},o);Tr.has(e)||Tr.set(e,new Map),Tr.get(e).set(r,{scope:e,methodName:r,endpointDefaults:u,decorations:i})}WO={has({scope:e},t){return Tr.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...Tr.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=Tr.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=JO(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function VO(e){return{rest:Ku(e)}}function zu(e){let t=Ku(e);return{...t,rest:t}}var Uy=y(()=>{Fy();By();VO.VERSION=Vu;zu.VERSION=Vu});var Hy,qy=y(()=>{Hy="22.0.1"});var Wy,Jy=y(()=>{Py();Ly();Ny();Uy();qy();Wy=mi.plugin(qu,zu,Ju).defaults({userAgent:`octokit-rest.js/${Hy}`})});function KO(e){return`r${e}`}function Vy(e){if(e.length===0)throw new Error("an aliased single-object query needs at least one read");let t=e[0].kind;if(e.some(o=>o.kind!==t))throw new Error("an aliased single-object query may contain only one object kind");let r={},n=t==="pr"?"pullRequest":"issue";return{query:["query CoalescedSingleObjectReads {",...e.map((o,i)=>{if(!Number.isSafeInteger(o.number)||o.number<=0)throw new Error(`an aliased single-object read needs a positive number, got ${o.number}`);let a=o.selection.trim();if(a==="")throw new Error("an aliased single-object read needs a field selection");let c=KO(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
86
+ `)}function LO(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let i in r)if(GO.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>IO.includes(a)?(i[a]=n[a],i):(i.variables||(i.variables={}),i.variables[a]=n[a],i),{}),o=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return Ey.test(o)&&(s.url=o.replace(Ey,"/api/graphql")),e(s).then(i=>{if(i.data.errors){let a={};for(let c of Object.keys(i.headers))a[c]=i.headers[c];throw new PO(s,a,i.data)}return i.data.data})}function Bu(e,t){let r=e.defaults(t);return Object.assign((s,o)=>LO(r,s,o),{defaults:Bu.bind(null,r),endpoint:r.endpoint})}function Ry(e){return Bu(e,{method:"POST",url:"/graphql"})}var OO,PO,IO,GO,Ey,hH,ky=y(()=>{ju();gs();OO="0.0.0-development";PO=class extends Error{constructor(e,t,r){super(AO(r)),this.request=e,this.headers=t,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name="GraphqlResponseError";errors;data},IO=["method","baseUrl","url","headers","request","query","mediaType","operationName"],GO=["query","method","url"],Ey=/\/api\/v3\/?$/;hH=Bu(ys,{headers:{"user-agent":`octokit-graphql.js/${OO} ${zt()}`},method:"POST",url:"/graphql"});});async function $O(e){let t=DO(e),r=e.startsWith("v1.")||e.startsWith("ghs_"),n=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":r?"installation":n?"user-to-server":"oauth"}}function NO(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function FO(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=NO(e),t(s)}var Uu,Sy,Ty,DO,vy,xy=y(()=>{Uu="(?:[a-zA-Z0-9_-]+)",Sy="\\.",Ty=new RegExp(`^${Uu}${Sy}${Uu}${Sy}${Uu}$`),DO=Ty.test.bind(Ty);vy=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign($O.bind(null,t),{hook:FO.bind(null,t)})}});var Hu,Cy=y(()=>{Hu="7.0.7"});function BO(e={}){return typeof e.debug!="function"&&(e.debug=Oy),typeof e.info!="function"&&(e.info=Oy),typeof e.warn!="function"&&(e.warn=MO),typeof e.error!="function"&&(e.error=jO),e}var Oy,MO,jO,Ay,mi,Py=y(()=>{gs();Vh();ju();ky();xy();Cy();Oy=()=>{},MO=console.warn.bind(console),jO=console.error.bind(console);Ay=`octokit-core.js/${Hu} ${zt()}`,mi=class{static VERSION=Hu;static defaults(t){return class extends this{constructor(...n){let s=n[0]||{};if(typeof t=="function"){super(t(s));return}super(Object.assign({},t,s,s.userAgent&&t.userAgent?{userAgent:`${s.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let r=this.plugins;return class extends this{static plugins=r.concat(t.filter(s=>!r.includes(s)))}}constructor(t={}){let r=new Jh.Collection,n={baseUrl:ys.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=t.userAgent?`${t.userAgent} ${Ay}`:Ay,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=ys.defaults(n),this.graphql=Ry(this.request).defaults(n),this.log=BO(t.log),this.hook=r,t.authStrategy){let{authStrategy:o,...i}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:i},t.auth));r.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=vy(t.auth);r.wrap("request",o.hook),this.auth=o}let s=this.constructor;for(let o=0;o<s.plugins.length;++o)Object.assign(this,s.plugins[o](this,t))}request;graphql;log;hook;auth}});var Iy,Gy=y(()=>{Iy="6.0.0"});function qu(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),s=e.request.endpoint.parse(r),o=s.url.replace(r.baseUrl,"");return t(r).then(i=>{let a=i.headers["x-github-request-id"];return e.log.info(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i}).catch(i=>{let a=i.response?.headers["x-github-request-id"]||"UNKNOWN";throw e.log.error(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i})})}var Ly=y(()=>{Gy();qu.VERSION=Iy});function HO(e){if(!e.data)return{...e,data:[]};if(!(("total_count"in e.data||"total_commits"in e.data)&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,s=e.data.total_count,o=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let i=Object.keys(e.data)[0],a=e.data[i];return e.data=a,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=s,e.data.total_commits=o,e}function Wu(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),s=typeof t=="function"?t:e.request,o=n.method,i=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:o,url:a,headers:i}),u=HO(c);if(a=((u.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in u.data){let l=new URL(u.url),d=l.searchParams,p=parseInt(d.get("page")||"1",10),g=parseInt(d.get("per_page")||"250",10);p*g<u.data.total_commits&&(d.set("page",String(p+1)),a=l.toString())}return{value:u}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function Dy(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),$y(e,[],Wu(e,t,r)[Symbol.asyncIterator](),n)}function $y(e,t,r,n){return r.next().then(s=>{if(s.done)return t;let o=!1;function i(){o=!0}return t=t.concat(n?n(s.value,i):s.value.data),o?t:$y(e,t,r,n)})}function Ju(e){return{paginate:Object.assign(Dy.bind(null,e),{iterator:Wu.bind(null,e)})}}var UO,GH,Ny=y(()=>{UO="0.0.0-development";GH=Object.assign(Dy,{iterator:Wu});Ju.VERSION=UO});var Vu,Fy=y(()=>{Vu="17.0.0"});var qO,My,jy=y(()=>{qO={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteCustomImageFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],deleteCustomImageVersionFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteHostedRunnerForOrg:["DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomImageForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],getCustomImageVersionForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getHostedRunnerForOrg:["GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],getHostedRunnersGithubOwnedImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForOrg:["GET /orgs/{org}/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForOrg:["GET /orgs/{org}/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForOrg:["GET /orgs/{org}/actions/hosted-runners/platforms"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listCustomImageVersionsForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"],listCustomImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listGithubHostedRunnersInGroupForOrg:["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"],listHostedRunnersForOrg:["GET /orgs/{org}/actions/hosted-runners"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateHostedRunnerForOrg:["PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingPremiumRequestUsageReportOrg:["GET /organizations/{org}/settings/billing/premium_request/usage"],getGithubBillingPremiumRequestUsageReportUser:["GET /users/{username}/settings/billing/premium_request/usage"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubBillingUsageReportUser:["GET /users/{username}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},campaigns:{createCampaign:["POST /orgs/{org}/campaigns"],deleteCampaign:["DELETE /orgs/{org}/campaigns/{campaign_number}"],getCampaignSummary:["GET /orgs/{org}/campaigns/{campaign_number}"],listOrgCampaigns:["GET /orgs/{org}/campaigns"],updateCampaign:["PATCH /orgs/{org}/campaigns/{campaign_number}"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},credentials:{revoke:["POST /credentials/revoke"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],repositoryAccessForOrg:["GET /organizations/{org}/dependabot/repository-access"],setRepositoryAccessDefaultLevel:["PUT /organizations/{org}/dependabot/repository-access/default-level"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],updateRepositoryAccessForOrg:["PATCH /organizations/{org}/dependabot/repository-access"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},enterpriseTeamMemberships:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"],get:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],list:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],remove:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"]},enterpriseTeamOrganizations:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"],delete:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignment:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignments:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"]},enterpriseTeams:{create:["POST /enterprises/{enterprise}/teams"],delete:["DELETE /enterprises/{enterprise}/teams/{team_slug}"],get:["GET /enterprises/{enterprise}/teams/{team_slug}"],list:["GET /enterprises/{enterprise}/teams"],update:["PATCH /enterprises/{enterprise}/teams/{team_slug}"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},hostedCompute:{createNetworkConfigurationForOrg:["POST /orgs/{org}/settings/network-configurations"],deleteNetworkConfigurationFromOrg:["DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkConfigurationForOrg:["GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkSettingsForOrg:["GET /orgs/{org}/settings/network-settings/{network_settings_id}"],listNetworkConfigurationsForOrg:["GET /orgs/{org}/settings/network-configurations"],updateNetworkConfigurationForOrg:["PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addBlockedByDependency:["POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],getParent:["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listDependenciesBlockedBy:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],listDependenciesBlocking:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeDependencyBlockedBy:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createArtifactStorageRecord:["POST /orgs/{org}/artifacts/metadata/storage-record"],createInvitation:["POST /orgs/{org}/invitations"],createIssueType:["POST /orgs/{org}/issue-types"],createWebhook:["POST /orgs/{org}/hooks"],customPropertiesForOrgsCreateOrUpdateOrganizationValues:["PATCH /organizations/{org}/org-properties/values"],customPropertiesForOrgsGetOrganizationValues:["GET /organizations/{org}/org-properties/values"],customPropertiesForReposCreateOrUpdateOrganizationDefinition:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:["PATCH /orgs/{org}/properties/schema"],customPropertiesForReposCreateOrUpdateOrganizationValues:["PATCH /orgs/{org}/properties/values"],customPropertiesForReposDeleteOrganizationDefinition:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinition:["GET /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinitions:["GET /orgs/{org}/properties/schema"],customPropertiesForReposGetOrganizationValues:["GET /orgs/{org}/properties/values"],delete:["DELETE /orgs/{org}"],deleteAttestationsBulk:["POST /orgs/{org}/attestations/delete-request"],deleteAttestationsById:["DELETE /orgs/{org}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /orgs/{org}/attestations/digest/{subject_digest}"],deleteIssueType:["DELETE /orgs/{org}/issue-types/{issue_type_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],disableSelectedRepositoryImmutableReleasesOrganization:["DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],enableSelectedRepositoryImmutableReleasesOrganization:["PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],get:["GET /orgs/{org}"],getImmutableReleasesSettings:["GET /orgs/{org}/settings/immutable-releases"],getImmutableReleasesSettingsRepositories:["GET /orgs/{org}/settings/immutable-releases/repositories"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getOrgRulesetHistory:["GET /orgs/{org}/rulesets/{ruleset_id}/history"],getOrgRulesetVersion:["GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listArtifactStorageRecords:["GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"],listAttestationRepositories:["GET /orgs/{org}/attestations/repositories"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listAttestationsBulk:["POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listIssueTypes:["GET /orgs/{org}/issue-types"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setImmutableReleasesSettings:["PUT /orgs/{org}/settings/immutable-releases"],setImmutableReleasesSettingsRepositories:["PUT /orgs/{org}/settings/immutable-releases/repositories"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateIssueType:["PUT /orgs/{org}/issue-types/{issue_type_id}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addItemForOrg:["POST /orgs/{org}/projectsV2/{project_number}/items"],addItemForUser:["POST /users/{username}/projectsV2/{project_number}/items"],deleteItemForOrg:["DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],deleteItemForUser:["DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"],getFieldForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"],getFieldForUser:["GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"],getForOrg:["GET /orgs/{org}/projectsV2/{project_number}"],getForUser:["GET /users/{username}/projectsV2/{project_number}"],getOrgItem:["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],getUserItem:["GET /users/{username}/projectsV2/{project_number}/items/{item_id}"],listFieldsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields"],listFieldsForUser:["GET /users/{username}/projectsV2/{project_number}/fields"],listForOrg:["GET /orgs/{org}/projectsV2"],listForUser:["GET /users/{username}/projectsV2"],listItemsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/items"],listItemsForUser:["GET /users/{username}/projectsV2/{project_number}/items"],updateItemForOrg:["PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],updateItemForUser:["PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkImmutableReleases:["GET /repos/{owner}/{repo}/immutable-releases"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],customPropertiesForReposCreateOrUpdateRepositoryValues:["PATCH /repos/{owner}/{repo}/properties/values"],customPropertiesForReposGetRepositoryValues:["GET /repos/{owner}/{repo}/properties/values"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableImmutableReleases:["DELETE /repos/{owner}/{repo}/immutable-releases"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enableImmutableReleases:["PUT /repos/{owner}/{repo}/immutable-releases"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesetHistory:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"],getRepoRulesetVersion:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],listOrgPatternConfigs:["GET /orgs/{org}/secret-scanning/pattern-configurations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],updateOrgPatternConfigs:["PATCH /orgs/{org}/secret-scanning/pattern-configurations"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteAttestationsBulk:["POST /users/{username}/attestations/delete-request"],deleteAttestationsById:["DELETE /users/{username}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /users/{username}/attestations/digest/{subject_digest}"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listAttestationsBulk:["POST /users/{username}/attestations/bulk-list{?per_page,before,after}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},My=qO});function Ku(e){let t={};for(let r of Tr.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},WO);return t}function JO(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[u,l]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${u}.${l}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let u=o.endpoint.merge(...a);for(let[l,d]of Object.entries(s.renamedParameters))l in u&&(e.log.warn(`"${l}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in u||(u[d]=u[l]),delete u[l]);return o(u)}return o(...a)}return Object.assign(i,o)}var Tr,WO,By=y(()=>{jy();Tr=new Map;for(let[e,t]of Object.entries(My))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),u=Object.assign({method:a,url:c},o);Tr.has(e)||Tr.set(e,new Map),Tr.get(e).set(r,{scope:e,methodName:r,endpointDefaults:u,decorations:i})}WO={has({scope:e},t){return Tr.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...Tr.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=Tr.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=JO(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function VO(e){return{rest:Ku(e)}}function zu(e){let t=Ku(e);return{...t,rest:t}}var Uy=y(()=>{Fy();By();VO.VERSION=Vu;zu.VERSION=Vu});var Hy,qy=y(()=>{Hy="22.0.1"});var Wy,Jy=y(()=>{Py();Ly();Ny();Uy();qy();Wy=mi.plugin(qu,zu,Ju).defaults({userAgent:`octokit-rest.js/${Hy}`})});function KO(e){return`r${e}`}function Vy(e){if(e.length===0)throw new Error("an aliased single-object query needs at least one read");let t=e[0].kind;if(e.some(o=>o.kind!==t))throw new Error("an aliased single-object query may contain only one object kind");let r={},n=t==="pr"?"pullRequest":"issue";return{query:["query CoalescedSingleObjectReads {",...e.map((o,i)=>{if(!Number.isSafeInteger(o.number)||o.number<=0)throw new Error(`an aliased single-object read needs a positive number, got ${o.number}`);let a=o.selection.trim();if(a==="")throw new Error("an aliased single-object read needs a field selection");let c=KO(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
87
87
  `)})," rateLimit { cost }","}"].join(`
88
- `),aliases:r}}function Ky(e,t){let r=t!==null&&typeof t=="object"?t:{},n=r.data??r,s=n!==null&&typeof n=="object"?n:{};return Object.entries(e.aliases).map(([o,i])=>{let a=s[o];if(a===null||typeof a!="object")return{read:i,value:null};let c=a.object;return{read:i,value:c!==null&&typeof c=="object"&&!Array.isArray(c)?c:null}})}var zy=y(()=>{});function Yy(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function Qy(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function Yu(e){let t=e.etags??Yy(),r=new zO({auth:e.token,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{request:{fetch:e.fetchImpl}}:{},retry:{doNotRetry:[304,403,429],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),n=async l=>{let d=t.get(l.cacheKey),p={...l.parameters??{}},g=Qt(p.headers)?p.headers:{};p.headers={...g,...d?{"if-none-match":d.etag}:{}};try{let f=await r.request(l.route,p),R=f.headers,b=fi(R,"etag");return b!==void 0&&t.set(l.cacheKey,{etag:b,data:f.data,headers:R}),await e.attribution?.record({operation:l.operation,cost:1,actor:l.actor}),{data:f.data,headers:R,quotaFree:!1}}catch(f){if(bs(f)===304){if(d===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(l.cacheKey)} without a held answer to reuse`,{cause:f});let R=Xy(f),b={...d.headers,...R},h=fi(b,"etag")??d.etag;return t.set(l.cacheKey,{etag:h,data:d.data,headers:b}),await e.attribution?.record({operation:l.operation,cost:0,actor:l.actor}),{data:d.data,headers:b,quotaFree:!0}}throw bs(f)===401?new gn({cause:f}):f}},s=new Map,o=!1,i=async l=>{let d=l.input,p=d.kind==="pr";try{let g=await n({cacheKey:d.cacheKey,route:p?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:d.owner,repo:d.repo,...p?{pull_number:d.number}:{issue_number:d.number}},operation:d.operation,actor:d.actor});l.resolve({data:d.project?d.project(g.data,"rest"):g.data,surface:"rest",quotaFree:g.quotaFree})}catch(g){l.reject(g)}},a=async l=>{try{let d=Vy(l.map(({input:b})=>b)),p=await r.graphql(d.query),g=Ky(d,p),f=QO(p),R=l[0].input;await e.attribution?.record({operation:{key:R.operation.key,budget:"graphql"},cost:f,actor:XO(l.map(({input:b})=>b.actor))}),g.forEach((b,h)=>{let E=l[h];b.value===null?E.reject(new Error(`GitHub returned no ${b.read.kind} #${b.read.number} from the coalesced query`)):E.resolve({data:E.input.project?E.input.project(b.value,"graphql"):b.value,surface:"graphql",quotaFree:!1})})}catch(d){let p=bs(d)===401?new gn({cause:d}):d;l.forEach(g=>g.reject(p))}},c=async()=>{let l=null;try{l=await e.balance?.()??null}catch{}let d=Qy(l);o=!1;let p=[...s.values()];s.clear(),await Promise.all(p.map(async g=>{g.length>d?await a(g):await Promise.all(g.map(i))}))};return{conditionalRest:n,singleObject:l=>t.get(l.cacheKey)!==void 0?new Promise((d,p)=>{i({input:l,resolve:d,reject:p})}):new Promise((d,p)=>{let g=s.get(l.kind)??[];g.push({input:l,resolve:d,reject:p}),s.set(l.kind,g),o||(o=!0,setTimeout(()=>void c(),0))}),async conditionalPaginate(l){let d=[],p={},g=0,f=!0,R=1;for(;;){let b=await n({...l,cacheKey:`${l.cacheKey}:page:${R}`,parameters:{...l.parameters??{},per_page:100,page:R}});if(g+=1,f=f&&b.quotaFree,!Array.isArray(b.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(l.cacheKey)} page ${R}`);if(d.push(...b.data),p=b.headers,!YO(b.headers))break;R+=1}return{data:d,headers:p,requestCount:g,quotaFree:f}},async graphql(l,d={},p){try{let g=await r.graphql(l,d);return p&&await e.attribution?.record({operation:p.operation,cost:1,actor:p.actor}),g}catch(g){throw bs(g)===401?new gn({cause:g}):g}}}}function YO(e){let t=fi(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Qu(e){let t=bs(e),r=Xy(e);return t===429||t===403&&fi(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function bs(e){if(Qt(e))return typeof e.status=="number"?e.status:void 0}function Xy(e){return!Qt(e)||!Qt(e.response)||!Qt(e.response.headers)?{}:e.response.headers}function fi(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Qt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function QO(e){let t=Qt(e)?e:{},r=Qt(t.data)?t.data:t,s=(Qt(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function XO(e){let t=[...new Set(e.filter(r=>r!==void 0))].sort();if(t.length!==0)return t.length===1?t[0]:`coalesced:${t.join("+")}`}var zO,gn,Zy=y(()=>{Gh();Nh();Jy();zy();zO=Wy.plugin(Cu,ci);gn=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}}});function sb(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...hn],detail:t??"no balance has been asked for yet, so none is known"}}function ob(e,t){let r=tb(e),n=tb(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of hn){let c=nb[a],u=n[c],l=ZO(a,c,u);s[a]=l,l==null&&o.push(a)}let i=hn.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${hn.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function el(e){try{let t=await e.transport();return ob(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...sb(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function ib(e){let t=null;for(let r of hn){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function tl(e,t){let r=ib(e);if(r==null)return eb(Zu).every_ms;let n=eb(r.fraction);if(r.remaining>0)return n.every_ms;let s=e0(t.now,r.reset_at);return s==null?n.every_ms:Math.max(Xu,Math.min(n.every_ms,s))}function eb(e){for(let t of hi)if(e<=t.at_or_below_fraction)return t;return hi[hi.length-1]}function ZO(e,t,r){if(!ab(r))return null;let n=gi(r.limit),s=gi(r.remaining),o=gi(r.used),i=gi(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function rl(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${rb}`,{method:"GET",headers:{authorization:`bearer ${e.token}`,accept:"application/vnd.github+json"}});if(!n.ok)throw new Error(`the balance ask was refused with HTTP ${n.status}`);return await n.json()}}function e0(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function gi(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function tb(e){return ab(e)?e:{}}function ab(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var rb,nb,hn,Xu,Zu,hi,QH,cb=y(()=>{rb="rate_limit",nb={rest:"core",graphql:"graphql",search:"search"},hn=["rest","graphql","search"];Xu=15e3,Zu=.15,hi=[{at_or_below_fraction:0,every_ms:Xu,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Zu,every_ms:3e4,why:"inside the reserved band: the posture can change between two calls"},{at_or_below_fraction:.5,every_ms:12e4,why:"below half: tightening, because the band is now reachable inside one window"},{at_or_below_fraction:1,every_ms:6e5,why:"above half: rare, because nothing this balance decides is anywhere close"}],QH=60*6e4});var ub=y(()=>{});var lb=y(()=>{});var yi=y(()=>{Oh();Ah();Zy();cb();ub();lb()});import{execFile as o0}from"node:child_process";import{promisify as i0}from"node:util";var Pq,db=y(()=>{"use strict";yi();wu();Pq=i0(o0)});var pb=y(()=>{"use strict";Hg();zg();Yg();ri();Xg();Zg();eh();th();ti();rh();nh();sh();oh();du();ih();ah();uh();lh();dh();si();ph();mh();lu();hu();yu();gh();hh();yh();bh();ni();gu();fu();_h();wu();Eh();Rh();kh();db()});import{EventEmitter as a0}from"node:events";import{spawn as c0}from"node:child_process";function wi(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function _i(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var ws,nl,u0,l0,d0,p0,bi,sl=y(()=>{ws="github-webhook",nl="github.webhook.delivery";u0="pull_request,pull_request_review,check_run,check_suite,workflow_run",l0=3,d0=1e3,p0=/no extension matched|unknown command|command not found/i,bi=class extends a0{constructor(r,n){super();this.opts=r;this.terminate=n}child;_dead=!1;restarts=0;_mode="polling";stopping;get mode(){return this._mode}get dead(){return this._dead}start(){this._dead||this.opts.cancelSignal.aborted||(this.opts.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0}),this.spawnChild())}async stop(){if(this.stopping)return await this.stopping;this._dead=!0,this.emit("stopped");let r=this.child;this.child=void 0,r&&(this.stopping=this.terminate(r,d0).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?wi(c,n):_i(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=c0(r,["webhook","forward",`--events=${u0}`],{cwd:this.opts.cwd,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"})}catch{return}this.child=n;let s="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",i=>{s+=i;let a;for(;(a=s.indexOf(`
88
+ `),aliases:r}}function Ky(e,t){let r=t!==null&&typeof t=="object"?t:{},n=r.data??r,s=n!==null&&typeof n=="object"?n:{};return Object.entries(e.aliases).map(([o,i])=>{let a=s[o];if(a===null||typeof a!="object")return{read:i,value:null};let c=a.object;return{read:i,value:c!==null&&typeof c=="object"&&!Array.isArray(c)?c:null}})}var zy=y(()=>{});function Yy(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function Qy(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function Yu(e){let t=e.etags??Yy(),r=new zO({auth:e.token,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{request:{fetch:e.fetchImpl}}:{},retry:{doNotRetry:[304,403,429],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),n=async l=>{let d=t.get(l.cacheKey),p={...l.parameters??{}},g=Qt(p.headers)?p.headers:{};p.headers={...g,...d?{"if-none-match":d.etag}:{}};try{let f=await r.request(l.route,p),R=f.headers,b=fi(R,"etag");return b!==void 0&&t.set(l.cacheKey,{etag:b,data:f.data,headers:R}),await e.attribution?.record({operation:l.operation,cost:1,actor:l.actor}),{data:f.data,headers:R,quotaFree:!1}}catch(f){if(bs(f)===304){if(d===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(l.cacheKey)} without a held answer to reuse`,{cause:f});let R=Xy(f),b={...d.headers,...R},h=fi(b,"etag")??d.etag;return t.set(l.cacheKey,{etag:h,data:d.data,headers:b}),await e.attribution?.record({operation:l.operation,cost:0,actor:l.actor}),{data:d.data,headers:b,quotaFree:!0}}throw bs(f)===401?new gn({cause:f}):f}},s=new Map,o=!1,i=async l=>{let d=l.input,p=d.kind==="pr";try{let g=await n({cacheKey:d.cacheKey,route:p?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:d.owner,repo:d.repo,...p?{pull_number:d.number}:{issue_number:d.number}},operation:d.operation,actor:d.actor});l.resolve({data:d.project?d.project(g.data,"rest"):g.data,surface:"rest",quotaFree:g.quotaFree})}catch(g){l.reject(g)}},a=async l=>{try{let d=Vy(l.map(({input:b})=>b)),p=await r.graphql(d.query),g=Ky(d,p),f=QO(p),R=l[0].input;await e.attribution?.record({operation:{key:R.operation.key,budget:"graphql"},cost:f,actor:XO(l.map(({input:b})=>b.actor))}),g.forEach((b,h)=>{let E=l[h];b.value===null?E.reject(new Error(`GitHub returned no ${b.read.kind} #${b.read.number} from the coalesced query`)):E.resolve({data:E.input.project?E.input.project(b.value,"graphql"):b.value,surface:"graphql",quotaFree:!1})})}catch(d){let p=bs(d)===401?new gn({cause:d}):d;l.forEach(g=>g.reject(p))}},c=async()=>{let l=null;try{l=await e.balance?.()??null}catch{}let d=Qy(l);o=!1;let p=[...s.values()];s.clear(),await Promise.all(p.map(async g=>{g.length>d?await a(g):await Promise.all(g.map(i))}))};return{conditionalRest:n,singleObject:l=>t.get(l.cacheKey)!==void 0?new Promise((d,p)=>{i({input:l,resolve:d,reject:p})}):new Promise((d,p)=>{let g=s.get(l.kind)??[];g.push({input:l,resolve:d,reject:p}),s.set(l.kind,g),o||(o=!0,setTimeout(()=>void c(),0))}),async conditionalPaginate(l){let d=[],p={},g=0,f=!0,R=1;for(;;){let b=await n({...l,cacheKey:`${l.cacheKey}:page:${R}`,parameters:{...l.parameters??{},per_page:100,page:R}});if(g+=1,f=f&&b.quotaFree,!Array.isArray(b.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(l.cacheKey)} page ${R}`);if(d.push(...b.data),p=b.headers,!YO(b.headers))break;R+=1}return{data:d,headers:p,requestCount:g,quotaFree:f}},async graphql(l,d={},p){try{let g=await r.graphql(l,d);return p&&await e.attribution?.record({operation:p.operation,cost:1,actor:p.actor}),g}catch(g){throw bs(g)===401?new gn({cause:g}):g}}}}function YO(e){let t=fi(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Qu(e){let t=bs(e),r=Xy(e);return t===429||t===403&&fi(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function bs(e){if(Qt(e))return typeof e.status=="number"?e.status:void 0}function Xy(e){return!Qt(e)||!Qt(e.response)||!Qt(e.response.headers)?{}:e.response.headers}function fi(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Qt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function QO(e){let t=Qt(e)?e:{},r=Qt(t.data)?t.data:t,s=(Qt(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function XO(e){let t=[...new Set(e.filter(r=>r!==void 0))].sort();if(t.length!==0)return t.length===1?t[0]:`coalesced:${t.join("+")}`}var zO,gn,Zy=y(()=>{Gh();Nh();Jy();zy();zO=Wy.plugin(Cu,ci);gn=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}}});function sb(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...hn],detail:t??"no balance has been asked for yet, so none is known"}}function ob(e,t){let r=tb(e),n=tb(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of hn){let c=nb[a],u=n[c],l=ZO(a,c,u);s[a]=l,l==null&&o.push(a)}let i=hn.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${hn.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function el(e){try{let t=await e.transport();return ob(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...sb(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function ib(e){let t=null;for(let r of hn){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function tl(e,t){let r=ib(e);if(r==null)return eb(Zu).every_ms;let n=eb(r.fraction);if(r.remaining>0)return n.every_ms;let s=e0(t.now,r.reset_at);return s==null?n.every_ms:Math.max(Xu,Math.min(n.every_ms,s))}function eb(e){for(let t of hi)if(e<=t.at_or_below_fraction)return t;return hi[hi.length-1]}function ZO(e,t,r){if(!ab(r))return null;let n=gi(r.limit),s=gi(r.remaining),o=gi(r.used),i=gi(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function rl(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${rb}`,{method:"GET",headers:{authorization:`bearer ${e.token}`,accept:"application/vnd.github+json"}});if(!n.ok)throw new Error(`the balance ask was refused with HTTP ${n.status}`);return await n.json()}}function e0(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function gi(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function tb(e){return ab(e)?e:{}}function ab(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var rb,nb,hn,Xu,Zu,hi,tq,cb=y(()=>{rb="rate_limit",nb={rest:"core",graphql:"graphql",search:"search"},hn=["rest","graphql","search"];Xu=15e3,Zu=.15,hi=[{at_or_below_fraction:0,every_ms:Xu,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Zu,every_ms:3e4,why:"inside the reserved band: the posture can change between two calls"},{at_or_below_fraction:.5,every_ms:12e4,why:"below half: tightening, because the band is now reachable inside one window"},{at_or_below_fraction:1,every_ms:6e5,why:"above half: rare, because nothing this balance decides is anywhere close"}],tq=60*6e4});var ub=y(()=>{});var lb=y(()=>{});var yi=y(()=>{Oh();Ah();Zy();cb();ub();lb()});import{execFile as o0}from"node:child_process";import{promisify as i0}from"node:util";var Dq,db=y(()=>{"use strict";yi();wu();Dq=i0(o0)});var pb=y(()=>{"use strict";Hg();zg();Yg();ri();Xg();Zg();eh();th();ti();rh();nh();sh();oh();du();ih();ah();uh();lh();dh();si();ph();mh();lu();hu();yu();gh();hh();yh();bh();ni();gu();fu();_h();wu();Eh();Rh();kh();db()});import{EventEmitter as a0}from"node:events";import{spawn as c0}from"node:child_process";function wi(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function _i(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var ws,nl,u0,l0,d0,p0,bi,sl=y(()=>{ws="github-webhook",nl="github.webhook.delivery";u0="pull_request,pull_request_review,check_run,check_suite,workflow_run",l0=3,d0=1e3,p0=/no extension matched|unknown command|command not found/i,bi=class extends a0{constructor(r,n){super();this.opts=r;this.terminate=n}child;_dead=!1;restarts=0;_mode="polling";stopping;get mode(){return this._mode}get dead(){return this._dead}start(){this._dead||this.opts.cancelSignal.aborted||(this.opts.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0}),this.spawnChild())}async stop(){if(this.stopping)return await this.stopping;this._dead=!0,this.emit("stopped");let r=this.child;this.child=void 0,r&&(this.stopping=this.terminate(r,d0).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?wi(c,n):_i(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=c0(r,["webhook","forward",`--events=${u0}`],{cwd:this.opts.cwd,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"})}catch{return}this.child=n;let s="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",i=>{s+=i;let a;for(;(a=s.indexOf(`
89
89
  `))>=0;){let c=s.slice(0,a).trim();s=s.slice(a+1),c&&this.onLine(c)}});let o=[];n.stderr?.on("data",i=>{o.push(Buffer.from(i))}),n.once("error",()=>{this.child===n&&(this.child=void 0),this.scheduleRestart()}),n.once("close",i=>{if(this.child===n&&(this.child=void 0),this._dead)return;let a=Buffer.concat(o).toString("utf8");p0.test(a)||this.restarts===0&&(i===1||i===127)||this.scheduleRestart()})}onLine(r){let n;try{n=JSON.parse(r)}catch{this.emit("malformed-delivery",r);return}this._mode!=="webhook"&&(this._mode="webhook",this.emit("mode-changed","webhook")),this.emit("delivery",n)}scheduleRestart(){if(this._dead||this.restarts>=l0)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});var Ei,mb=y(()=>{"use strict";sl();sl();Dt();Ei=class extends bi{constructor(t){super(t,rn)}}});import{EventEmitter as m0}from"node:events";import{join as f0}from"node:path";function il(e){let t=Fo(e.cwd),r=fh(f0(t,".red"));return new ol({...e,leases:e.leases??wh(r),lane:e.lane??mu(r),makeForwarder:e.makeForwarder??((n,s)=>new Ei({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>nn(n.pid,n.start_time))})}var ol,fb=y(()=>{"use strict";pb();mb();Dt();zc();ol=class extends m0{constructor(r){super();this.options=r}_mode="polling";cursor=0;timer;fallback;stopped=!1;syncing=!1;get mode(){return this.fallback?.mode??this._mode}async start(){let r=await this.options.leases.read(ws).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?wi(a,n):_i(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===ws&&o.kind===nl&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(ws);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var al={};K(al,{listWaits:()=>jo,renderWaitHelp:()=>fs,runWait:()=>y0});import{randomUUID as gb}from"node:crypto";import{mkdir as g0,rm as h0}from"node:fs/promises";async function y0(e,t=process.cwd()){let r;try{r=await Kf(e)}catch(n){return await R0(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(fs()),0;if(r.kind==="ls"){let n={schema:jf,version:1,waits:await jo(t)};return process.stdout.write(un(n,r.options.format)),0}return Vc(r.kind)?await b0({...r,kind:r.kind},t):(process.stdout.write(fs()),2)}async function b0(e,t){let r=e.kind,n=Zc({id:gb(),kind:r,target:E0(e),reason:e.options.reason,pid:process.pid,pid_start_time:await os(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:Wc[r],status:"running",attempts:0}),s=tg(t,n.id),o=new AbortController,i,a=l=>{i=l,o.abort()},c=()=>a("SIGINT"),u=()=>a("SIGTERM");process.once("SIGINT",c),process.once("SIGTERM",u);try{await g0(sn(t),{recursive:!0}),await on(s,n);let l=await w0(e,t,s,n,o.signal);i&&(l={...l,verdict:ge(`wait interrupted by ${i}`,l.verdict.details)});let d=await og({kind:r,entry:n,verdict:l.verdict,options:e.options,cwd:t,cleanupProven:l.cleanupProven,survivors:l.survivors});return process.stdout.write(un(d.result,e.options.format)),d.exitCode}catch(l){let d=ge(l instanceof Error?l.message:String(l)),p=ds(r,n,d,{status:"success"},new Date().toISOString());return await ps(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(un(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",u),await h0(s,{force:!0}).catch(()=>{})}}async function w0(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await Ig({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:Xf(t),registryPath:r,entry:n,signal:s});case"pr":{let i=e.target??"";if(!/^[1-9][0-9]*$/.test(i))return{verdict:ge("missing PR number")};n.webhook_mode="polling";let a=il({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Zo({probe:Fg(i,o,{emptyChecksGraceMs:as("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:as("RSP_WAIT_PR_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("pr",i),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"run":{let i=await _0(e,o,r,n);if(!i.ok)return{verdict:ge(i.reason)};n.webhook_mode="polling";let a=il({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Zo({probe:()=>Mg(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:as("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"release":return await Zo({probe:()=>Bg(e.tagGlob,new Date(n.started_at),o),timeoutMs:e.options.timeoutMs,baseSleepMs:as("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function _0(e,t,r,n){if(e.target)return{ok:!0,value:e.target};if(!(e.latest&&e.branch))return{ok:!1,reason:"missing run id"};let s=await jg(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await on(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function E0(e){return e.kind==="cmd"?`cmd:${e.commandLine??""}`:e.kind==="run"&&e.branch&&e.latest?`run:${e.branch}:latest`:e.kind==="release"?`release:${e.tagGlob??"*"}`:`${e.kind}:${e.target??""}`}async function R0(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=Vc(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=Zc({id:gb(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:Wc[o],status:"indeterminate",attempts:0}),c=ds(o,a,ge(t instanceof Error?t.message:String(t)),{status:"success"},i);return await ps(s,c,r).catch(()=>{}),process.stdout.write(un(c,r)),2}var cl=y(()=>{"use strict";zf();ag();Lg();Rr();Yc();Ug();Dt();ls();uu();fb();ls();uu()});var ul,ll,dl,Oe,Ae,Ue,mt,_s,Ri=y(()=>{"use strict";ul="rsp-telemetry.spool.toonl",ll="rsp-telemetry.spool.jsonl",dl="rsp-telemetry.spool.corrections.toonl",Oe="rsp_accounting_events_v1",Ae="rsp_decisions_v1",Ue="rsp_telemetry_invocations_v1",mt="rsp_telemetry_degradations_v1",_s="rsp_telemetry_index_v1"});function yn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function He(e){return Xt(e)??0}function Xt(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var pl=y(()=>{"use strict"});import{randomUUID as fl,createHash as x0}from"node:crypto";import{appendFileSync as Rb,existsSync as C0,mkdirSync as kb}from"node:fs";import{mkdir as Sb,readdir as O0,readFile as Tb,rename as A0,rm as vb,writeFile as gl}from"node:fs/promises";import{basename as ml,dirname as Es,join as bn,resolve as bb}from"node:path";function Si(e){if(!e)return null;let t=bb(e);for(;;){if(C0(bn(t,".red")))return t;let r=bb(bn(t,".."));if(r===t)break;t=r}return null}function Ft(e){return bn(X(e),ul)}function Ti(e){return bn(X(e),ll)}function yl(e){return bn(X(e),dl)}async function vr(e,t){Zt(e,t)}function Zt(e,t){try{let r=Si(e);if(!r)return;let n=Ft(r);kb(Es(n),{recursive:!0}),Rb(n,$0({spool_id:fl(),event:I0(t)}),{encoding:"utf8",mode:384})}catch{}}function I0(e){return wb(wb(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function wb(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=P0)return e;let o={...e};return delete o[t],He(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function G0(e){let t=Si(e);if(!t)return[];let r=Ft(t);await Sb(Es(r),{recursive:!0}).catch(()=>{});let n=await Ob(t),s=[...await Ab(t),...await F0(n)];return await Promise.all(n.map(o=>vb(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function bl(e,t){let r=Si(e);if(!r)return;let n=Ft(r);await Sb(Es(n),{recursive:!0}).catch(()=>{}),await N0(r);for(let s of await L0(r))await _b(r,s,t);for(let s of await Ab(r))await xb(r,s,t,!0);for(let s of await Ob(r))await _b(r,s,t)}async function L0(e){let t=[Ft(e),Ti(e)],r=Es(t[0]);return(await O0(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${ml(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${ml(c)}.`));if(!o)return!1;let i=`${ml(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&D0(a))}).sort().map(s=>bn(r,s))}function D0(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function _b(e,t,r){try{let n=await Cb(t);for(let s of Pb(n))await xb(e,s,r,!1)}finally{await vb(t,{force:!0})}}async function xb(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Eb(e,{correction_id:fl(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Eb(e,{correction_id:fl(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function Cb(e){let t="";for(let r=0;r<5;r++){let n=await Tb(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function wn(e){try{let t=JSON.parse(e);return!yn(t)||t.collection!==Oe&&t.collection!==Ae&&t.collection!==Ue&&t.collection!==mt?null:t}catch{return null}}function $0(e){return vt().push(B0(e))}function Eb(e,t){try{let r=Si(e);if(!r)return;let n=yl(r);kb(Es(n),{recursive:!0});let s=vt();Rb(n,s.push({correction_id:t.correction_id,target_spool_id:t.target_spool_id,action:t.action,created_at:t.created_at,event_json:t.event_json??null}),{encoding:"utf8",mode:384})}catch{}}async function Ob(e){let t=[Ft(e),Ti(e)],r=[];for(let n of t){let s=`${n}.${process.pid}.${Date.now()}.drain`;try{await A0(n,s),await gl(n,"",{flag:"wx"}).catch(()=>{}),r.push(s)}catch(o){if(o.code!=="ENOENT")continue}}return r}async function N0(e){await Promise.all([gl(Ft(e),"",{flag:"a"}),gl(Ti(e),"",{flag:"a"})]).catch(()=>{})}async function F0(e){let t=[];for(let r of e)t.push(...Pb(await Cb(r)));return t}async function Ab(e){let t=await Tb(yl(e),"utf8").catch(()=>""),r=new Map;for(let n of M0(t))r.set(n.target_spool_id,n);return[...r.values()].filter(n=>n.action==="retry"&&n.event_json).map(n=>({spool_id:n.target_spool_id,event:wn(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function Pb(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s){try{let o=JSON.parse(s);if(yn(o)){let i=wn(JSON.stringify(o));t.push(i?{spool_id:ki(JSON.stringify(o)),event:i}:{spool_id:ki(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:ki(s),raw_line:s});continue}try{for(let o of Tt(`${r}
90
90
  ${s}
91
91
  `))hl(o)&&U0(o)&&t.push({spool_id:o.spool_id,event:Ib(o)})}catch{s.startsWith("{")&&t.push({spool_id:ki(s),raw_line:s})}}}return t}function M0(e){return j0(e).map(H0).filter(t=>t!==null)}function j0(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);hl(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Tt(`${r}
@@ -96,7 +96,7 @@ ${s}
96
96
  expected at: ${o}
97
97
  override: set ${n}=/path/to/${t}
98
98
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
99
- or check the postinstall log for a download error.`)}var Xb=y(()=>{});import{fileURLToPath as wA}from"node:url";import{dirname as _A,resolve as EA,join as UJ}from"node:path";function SA(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Zb(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Qb({name:SA(),packageRoot:kA,envVar:"REDDB_BIN"})}var RA,kA,ew=y(()=>{Xb();RA=_A(wA(import.meta.url)),kA=EA(RA,"..")});var TA,vA,D,Fi,tr=y(()=>{TA=new TextEncoder,vA=new TextDecoder("utf-8"),D=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Fi=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new D("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(TA.encode(s+`
99
+ or check the postinstall log for a download error.`)}var Xb=y(()=>{});import{fileURLToPath as wA}from"node:url";import{dirname as _A,resolve as EA,join as JJ}from"node:path";function SA(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Zb(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Qb({name:SA(),packageRoot:kA,envVar:"REDDB_BIN"})}var RA,kA,ew=y(()=>{Xb();RA=_A(wA(import.meta.url)),kA=EA(RA,"..")});var TA,vA,D,Fi,tr=y(()=>{TA=new TextEncoder,vA=new TextDecoder("utf-8"),D=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Fi=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new D("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(TA.encode(s+`
100
100
  `)).catch(a=>{this.pending.delete(n),i(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let s=0;for(let o=0;o<t.length;o++)if(t[o]===10){let i=t.subarray(s,o);this.#r(vA.decode(i)),s=o+1}s>0&&(t=t.subarray(s))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(o){this.#e(`malformed server response: ${o.message}`);return}let n=r.id;if(n==null)return;let s=this.pending.get(n);s&&(this.pending.delete(n),r.error?s.reject(new D(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):s.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new D("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}}});function Gl(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?xA(e):CA(e)}function xA(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(l){throw new D("UNPARSEABLE_URI",`failed to parse '${e}': ${l.message}`)}let n=r.searchParams,s=(n.get("proto")||"").toLowerCase(),o=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return o?{kind:"embedded",path:o,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let i=OA(s),a=r.port?Number(r.port):Il(i),c=r.username?decodeURIComponent(r.username):void 0,u=r.password?decodeURIComponent(r.password):void 0;return{kind:i,host:r.hostname,port:a,path:o||void 0,username:c,password:u,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function CA(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(o){throw new D("UNPARSEABLE_URI",`failed to parse '${e}': ${o.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",s=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):Il(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:s.get("token")??void 0,apiKey:s.get("apiKey")??s.get("api_key")??void 0,loginUrl:s.get("loginUrl")??s.get("login_url")??void 0,params:s,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new D("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Il(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new D("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function OA(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new D("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Il(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var Ll=y(()=>{tr()});function PA(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return tw(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return tw(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function tw(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function IA(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var AA,Is,Dl=y(()=>{tr();AA=new Set(["embedded"]),Is=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&AA.has(this._transport))throw new D("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:IA(n.value)}async put(t,r,n,s={}){this._guard("put");let o=PA(n);await this._client.call("cache.put",{namespace:t,key:r,value:o,...s})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}}});function $l(e,t){return`${Nl(e)}.${GA(t)}`}function Nl(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new D("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function GA(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function LA(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function rw(e){return`'${String(e).replace(/'/g,"''")}'`}var Rn,Fl=y(()=>{tr();Rn=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(rw).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${$l(s,t)} = ${LA(r)}${i}${o}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${$l(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let s of t)n.push(await this.get(s,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`KV DELETE ${$l(n,t)}`}),o=s.affected??s.affected_rows??0;return{affected:o,deleted:o>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new D("INVALID_ARGUMENT","kv.list limit must be a positive integer");let s=t.prefix==null?"":String(t.prefix),i=(await this.client.call("query",{sql:`SELECT key, value FROM ${Nl(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:s.length>0?i.filter(c=>String(c.key).startsWith(s)):i}}async invalidateTags(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(rw).join(", ")}] FROM ${Nl(n)}`});return s.affected??s.affected_rows??s.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new D("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,s=new URLSearchParams;r.sinceLsn!=null&&s.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&s.set("limit",String(r.limit));let o=s.toString()?`?${s}`:"",i=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${o}`,a=await fetch(i,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new D("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let u of c.split(`
101
101
 
102
102
  `)){let l=u.split(`
@@ -124,7 +124,7 @@ ${l}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.pa
124
124
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
125
125
  `)}}function v_(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${fd(t)}
126
126
  `)}function MG(e){Nc(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${fd(e)}
127
- `)}function fd(e){return e instanceof Error?e.name||"Error":typeof e}function jG(e){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs}}function BG(e){if(!e.storeUri.startsWith("file://"))return!0;try{return SG(TG(e.storeUri))}catch{return!1}}function pd(e){return rt(e,["tool_input","command"])||rt(e,["tool_input","cmd"])||rt(e,["tool_input","args","command"])||rt(e,["input","command"])||rt(e,["input","cmd"])||rt(e,["arguments","command"])||rt(e,["arguments","cmd"])||rt(e,["command"])||rt(e,["cmd"])}function UG(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=gd(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&_n(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function gd(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function HG(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function qG(e){let t=gd(e.trim()).map(r=>r.text);return xr(t)?{kind:"passthrough",reason:AG}:null}function x_(e){return e.map(t=>t.text)}function or(e){return/[^\w@%+=:,./-]/.test(e)?hd(e):e}function WG(e,t){let r=VG(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(or).join(" ")} proxy -- ${hd(e.trim())}`,capabilityId:"proxy:universal"}}function JG(e){if(!process.argv[1])return!1;let t=gd(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function VG(e){let t=e.trim();if(!t)return"missing-command";if(O_(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=ks(Rs(t)[0]??"")[0];if(r==="rsp"||JG(t))return"opt-out";if(r&&C_.has(r))return"interactive"}function ia(e,t){let r=e.trim();return KG(r)?{kind:"rewrite",command:`${t.map(or).join(" ")} exec -- ${hd(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function KG(e){return!(!e||!zG(e)||!YG(e)||O_(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||QG(e,"rsp")||A_(e,C_)||XG(e))}function zG(e){return/&&|[;|]/.test(e)}function O_(e){for(let t=0;t<e.length;t+=1)if(e[t]==="&"&&!(e[t-1]==="&"||e[t+1]==="&")&&!(e[t-1]===">"||e[t+1]===">"))return!0;return!1}function YG(e){return Rs(e).some(t=>{let r=ks(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function A_(e,t){return Rs(e).some(r=>{let n=ks(r)[0];return n?t.has(n):!1})}function QG(e,t){return A_(e,new Set([t]))}function XG(e){return Rs(e).some(t=>{let r=ks(t);return r[0]==="grep"&&r.includes("-q")})}function hd(e){return`'${e.replace(/'/g,"'\\''")}'`}function ZG(e){return e.join("\0")}function P_(e){try{let t=JSON.parse(e);return I_(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function rt(e,t){let r=e;for(let n of t){if(!I_(r))return"";r=r[n]}return typeof r=="string"?r:""}function I_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var aa,dd,Qs,I2,AG,C_,Xs=y(()=>{"use strict";Ss();je();lt();Kt();ed();ft();dd=!1;Qs=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],I2=b_(Qs),AG="lossless-gh-json-jq";C_=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var M_={};K(M_,{fastTelemetryRoot:()=>bd,isFastGitStatus:()=>da,runFastGitStatus:()=>pa});import{spawnSync as N_}from"node:child_process";import{existsSync as F_,readdirSync as cL}from"node:fs";function da(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function pa(){if(uL(process.cwd()))return{stdout:yd(),stderr:Buffer.alloc(0),status:0,signal:null};if(N_("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:yd(),stderr:Buffer.alloc(0),status:0,signal:null};let t=N_("git",["status","--porcelain=v1"],{encoding:"buffer"});if((t.status??0)!==0)return{stdout:t.stdout,stderr:t.stderr,status:t.status??1,signal:t.signal};let r=t.stdout.length===0?yd():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function bd(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(lt(),Er));return t(e).rootDir}catch{return e}}function yd(){return Buffer.from(`${ne({command:"git status",category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:"",rows:[],summary:"git status clean: 0 changes"})}
127
+ `)}function fd(e){return e instanceof Error?e.name||"Error":typeof e}function jG(e){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs}}function BG(e){if(!e.storeUri.startsWith("file://"))return!0;try{return SG(TG(e.storeUri))}catch{return!1}}function pd(e){return rt(e,["tool_input","command"])||rt(e,["tool_input","cmd"])||rt(e,["tool_input","args","command"])||rt(e,["input","command"])||rt(e,["input","cmd"])||rt(e,["arguments","command"])||rt(e,["arguments","cmd"])||rt(e,["command"])||rt(e,["cmd"])}function UG(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=gd(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&_n(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function gd(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function HG(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function qG(e){let t=gd(e.trim()).map(r=>r.text);return xr(t)?{kind:"passthrough",reason:AG}:null}function x_(e){return e.map(t=>t.text)}function or(e){return/[^\w@%+=:,./-]/.test(e)?hd(e):e}function WG(e,t){let r=VG(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(or).join(" ")} proxy -- ${hd(e.trim())}`,capabilityId:"proxy:universal"}}function JG(e){if(!process.argv[1])return!1;let t=gd(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function VG(e){let t=e.trim();if(!t)return"missing-command";if(O_(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=ks(Rs(t)[0]??"")[0];if(r==="rsp"||JG(t))return"opt-out";if(r&&C_.has(r))return"interactive"}function ia(e,t){let r=e.trim();return KG(r)?{kind:"rewrite",command:`${t.map(or).join(" ")} exec -- ${hd(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function KG(e){return!(!e||!zG(e)||!YG(e)||O_(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||QG(e,"rsp")||A_(e,C_)||XG(e))}function zG(e){return/&&|[;|]/.test(e)}function O_(e){for(let t=0;t<e.length;t+=1)if(e[t]==="&"&&!(e[t-1]==="&"||e[t+1]==="&")&&!(e[t-1]===">"||e[t+1]===">"))return!0;return!1}function YG(e){return Rs(e).some(t=>{let r=ks(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function A_(e,t){return Rs(e).some(r=>{let n=ks(r)[0];return n?t.has(n):!1})}function QG(e,t){return A_(e,new Set([t]))}function XG(e){return Rs(e).some(t=>{let r=ks(t);return r[0]==="grep"&&r.includes("-q")})}function hd(e){return`'${e.replace(/'/g,"'\\''")}'`}function ZG(e){return e.join("\0")}function P_(e){try{let t=JSON.parse(e);return I_(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function rt(e,t){let r=e;for(let n of t){if(!I_(r))return"";r=r[n]}return typeof r=="string"?r:""}function I_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var aa,dd,Qs,$2,AG,C_,Xs=y(()=>{"use strict";Ss();je();lt();Kt();ed();ft();dd=!1;Qs=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],$2=b_(Qs),AG="lossless-gh-json-jq";C_=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var M_={};K(M_,{fastTelemetryRoot:()=>bd,isFastGitStatus:()=>da,runFastGitStatus:()=>pa});import{spawnSync as N_}from"node:child_process";import{existsSync as F_,readdirSync as cL}from"node:fs";function da(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function pa(){if(uL(process.cwd()))return{stdout:yd(),stderr:Buffer.alloc(0),status:0,signal:null};if(N_("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:yd(),stderr:Buffer.alloc(0),status:0,signal:null};let t=N_("git",["status","--porcelain=v1"],{encoding:"buffer"});if((t.status??0)!==0)return{stdout:t.stdout,stderr:t.stderr,status:t.status??1,signal:t.signal};let r=t.stdout.length===0?yd():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function bd(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(lt(),Er));return t(e).rootDir}catch{return e}}function yd(){return Buffer.from(`${ne({command:"git status",category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:"",rows:[],summary:"git status clean: 0 changes"})}
128
128
  `)}function uL(e){try{return!F_(`${e}/.git`)||F_(`${e}/.git/index`)?!1:cL(e).every(t=>t===".git")}catch{return!1}}var wd=y(()=>{"use strict";Ct()});async function An(e,t,r){let n=new Array(e.length),s=0,o=Math.min(Math.max(1,Math.floor(t)),e.length),i=Array.from({length:o},async()=>{for(;s<e.length;){let a=s++;n[a]=await r(e[a])}});return await Promise.all(i),n}function U_(e,t,r,n={}){vL(t);let s=e==="issue"?"i":"p",o=t.map((p,g)=>({alias:`${s}${g}`,number:p})),i=(n.labelNames??[]).map((p,g)=>({alias:`l${g}`,name:p})),c=xL(["id","number",...r]).map(p=>CL(TL[p],6)).join(`
129
129
  `),u=o.map(({alias:p,number:g})=>[` ${p}: ${e}(number: ${g}) {`,c," }"].join(`
130
130
  `)),l=i.map(({alias:p,name:g})=>` ${p}: label(name: ${JSON.stringify(g)}) { id name }`),d=["query RspGitHubBatch($owner: String!, $repo: String!) {"," repository(owner: $owner, name: $repo) {",...u,...l," }","}"].join(`
@@ -224,7 +224,7 @@ const timer = setInterval(() => {
224
224
  clearInterval(timer);
225
225
  process.exit(0);
226
226
  }, 500);
227
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Sa(){for(let e of gN())try{process.kill(e,"SIGTERM")}catch{}}function gN(){if(process.platform==="win32")return[];let e="";try{e=kR("ps",["-eo","pid=,ppid=,args="],{encoding:"utf8"})}catch{return[]}let t=[];for(let r of e.split(/\n/)){let n=/^\s*(\d+)\s+(\d+)\s+([\s\S]*)$/.exec(r);if(!n)continue;let s=Number(n[1]),o=Number(n[2]),i=n[3]??"";o===process.pid&&/(^|\s)\S*red(?:\.exe)?\s+rpc\s+--stdio(\s|$)/.test(i)&&t.push(s)}return t}async function hN(e){if(e.collection!==Ue)return e;let t=await wR(e.raw_text,ER(e.raw_bytes)),r=await wR(e.emitted_text,ER(e.emitted_bytes)),{raw_text:n,emitted_text:s,...o}=e;return{...o,tokens_raw:t.tokens,tokens_emitted:r.tokens,estimated:t.estimated||r.estimated}}async function wR(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=rN)try{return await CR((async()=>({tokens:(await yN())("cl100k_base").encode(e).length,estimated:!1}))(),nN,"telemetry tokenization timed out")}catch{return{tokens:Math.ceil(r/4),estimated:!0}}return{tokens:Math.ceil(r/4),estimated:!0}}return t!=null?{tokens:Math.ceil(t/4),estimated:!0}:{tokens:0,estimated:!1}}async function yN(){return _R??=import(eN(bN()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await _R}function bN(){let e=ap(Z$(import.meta.url)),r=[ka(e,"..","node_modules","js-tiktoken","dist","index.js"),ka(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>Y$(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function ER(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function we(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function op(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function CR(e,t,r){let n;try{return await Promise.race([e,new Promise((s,o)=>{n=setTimeout(()=>o(new Error(r)),t),n.unref()})])}finally{n&&clearTimeout(n)}}function wN(e){try{return JSON.parse(e)}catch{return e}}function _N(e){return RR(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>RR(t)&&(t.collection===Oe||t.collection===Ae||t.collection===Ue||t.collection===mt)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function RR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function EN(e,t){sf(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Dn(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function RN(e,t,r,n,s){if(t.op==="handover")return{handover:!0,version:n,clientVersion:t.clientVersion};if(e.kind==="opening")throw new Error("rsp resident store is not ready");if(e.kind==="failed")throw new Error(`rsp resident store failed to open: ${e.error.message}`);let o=e.store;if(t.op==="ping")return{pong:!0,version:n};if(t.op==="stats")return await o.stats();if(t.op==="recovery-handles")return await o.recoveryHandles(t.limit);if(t.op==="accounting-stats"){let i=o.redDb();if(!i)throw new Error("rsp accounting stats require the shared RedDB store");return await Xl(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await qi(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await Zl(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return vN(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await TN(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function kN(e){let t;return{async read(r){if(!t){let n=String(kR("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=fR({rootDir:e,token:n,balance:SN(n)})}return await t.read(r)}}}function SN(e){let t=rl({token:e}),r=null,n=0,s=null;return async()=>{let o=Date.now();if(o<n)return r;if(s!==null)return await s;let i=new Date(o).toISOString();return s=el({transport:t,now:i}).then(a=>(r=a,n=Date.now()+tl(a,{now:new Date().toISOString()}),r)).finally(()=>{s=null}),await s}}async function TN(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await iR(s,t).request(r,n)}function vN(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var rN,nN,vR,sN,oN,iN,ip,bR,_R,AR=y(()=>{"use strict";yi();Ge();Go();vo();Ct();Hi();dR();hR();ft();je();rN=256*1024,nN=500,vR=2e3,sN=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),oN="rsp-status-summary.json",iN=[Oe,Ae,Ue,mt,_s],ip=class{constructor(t,r){this.store=t;this.opts=r;this.pendingHeals=[...r.bootHeals??[]]}running;pending=!1;pendingHeals;async drainAndSweep(){if(this.running){this.pending=!0,await this.running;return}this.running=(async()=>{do this.pending=!1,await this.drainAndSweepOnce();while(this.pending)})().finally(()=>{this.running=void 0}),await this.running}async drainAndSweepOnce(){let t=this.store.redDb();if(!t)return;let r=await cN(t);r.unshift(...this.pendingHeals),this.pendingHeals=[];let n=await this.readIndex(t),s=n.records.length,o=[...n.records];for(let a of r)o.push(await this.writeDrainDegradation(t,{reason:"telemetry collection model mismatch",command:"rsp resident telemetry drain",source_collection:a.collection,error:`expected kv, got ${a.previousModel}`,bytes:0}));await bl(this.opts.rootDir,async a=>{let c=wn(a);if(!c){let u=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}try{let u=await this.writeEvent(t,c);o.push(u);let l=await this.writeAccountingMirror(t,c);return l&&o.push(l),!0}catch(u){let l=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:we(c.command)||"unknown",source_id:we(c.id),source_collection:we(c.collection),error:u instanceof Error?u.message:String(u),bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await aN(t,this.opts.rootDir)}async writeEvent(t,r){let n=new Date,s=typeof r.created_at=="string"?r.created_at:n.toISOString(),o=new Date(Date.parse(s)+this.opts.ttlDays*24*60*60*1e3).toISOString(),i=typeof r.id=="string"&&r.id.trim()!==""?r.id:Dn(),a={...await hN(r),id:i,created_at:s,expires_at:o};return await t.kv(r.collection).put(i,a),{collection:r.collection,key:i,created_at:s,expires_at:o,bytes:r.collection===Oe?0:typeof r.bytes=="number"&&Number.isFinite(r.bytes)?Math.max(0,r.bytes):Buffer.byteLength(JSON.stringify(a),"utf8")}}async writeAccountingMirror(t,r){return r.collection===Oe||r.accounting_recorded===!0?null:r.collection===Ue?await this.writeEvent(t,{collection:Oe,id:`mirror:${we(r.id)||Dn()}`,created_at:we(r.created_at)||we(r.ts)||new Date().toISOString(),event_type:"invocation",command:we(r.command)||"unknown",command_class:op(we(r.command)||"unknown"),wrapper:r.wrapper,loss:r.loss,elided:r.elided,raw_bytes:r.raw_bytes,emitted_bytes:r.emitted_bytes,tokens_raw:r.tokens_raw,tokens_emitted:r.tokens_emitted,estimated:r.estimated,wrapper_ms:r.wrapper_ms,store_open_count:r.store_open_count,store_elapsed_ms:r.store_elapsed_ms}):r.collection===mt?await this.writeEvent(t,{collection:Oe,id:`mirror:${we(r.id)||Dn()}`,created_at:we(r.created_at)||we(r.ts)||new Date().toISOString(),event_type:"invocation",command:we(r.command)||"unknown",command_class:op(we(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:we(r.reason)||"unknown",wrapper_family:we(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:we(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:mt,id:Dn(),created_at:new Date().toISOString(),reason:r.reason,command:r.command,bytes:r.bytes,source_id:r.source_id,source_collection:r.source_collection,error:r.error});return await this.writeEvent(t,{collection:Oe,id:`mirror:${Dn()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:op(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(_s).get("index:v1"),n=typeof r=="string"?wN(r):r;return _N(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(_s).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};bR=!1});La();ct();var hm={"store-uri":{kind:"value",coerce:e=>e},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},kS={json:{kind:"boolean"}},SS={help:{kind:"boolean",aliases:["h"]}},TS={commands:{dashboard:{},stats:{},gains:{},show:{},git:{},gh:{},vitest:{},cargo:{},cat:{},exec:{},proxy:{},wait:{},doctor:{},status:{},sweep:{},setup:{},mcp:{},"shell-init":{},server:{},"warm-resident":{},"gh-api-json":{},hook:{}},default:"dashboard",keepArgvOnDefault:!0,errorOnUnknownCommand:!0};function ym(e){let{command:t,args:r}=Ga(e,vS);return t==="--version"?{kind:"version",json:jn(r,kS).values.json===!0}:xS(e)?{kind:"help"}:{kind:"command"}}var vS={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function xS(e){return fr(e,SS).values.help===!0}function bm(e){let{values:t,rest:r}=OS(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw go.unknownFlag(n);let s=Ga(r,TS).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":"lossless",positional:o}}var go=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return V({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:CS})}},CS=Object.keys(hm).map(e=>`--${e}`);function OS(e){try{return fr(e,hm)}catch(t){throw new go(t instanceof Error?t.message:String(t))}}function wm(e){return V({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function _m(e){return e instanceof Mn}function Yr(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var AS={socket:{kind:"value",coerce:e=>e},"pid-file":{kind:"value",coerce:e=>e},"wake-lock":{kind:"value",coerce:e=>e},registry:{kind:"value",coerce:e=>e},"resident-version":{kind:"value",coerce:e=>e},"ttl-days":{kind:"value",coerce:Wt},"ephemeral-ttl-hours":{kind:"value",coerce:Wt},"byte-budget":{kind:"value",coerce:Wt},"telemetry-ttl-days":{kind:"value",coerce:Wt},"telemetry-byte-budget":{kind:"value",coerce:Wt},"telemetry-drain-interval-ms":{kind:"value",coerce:Wt},"telemetry-drain-timeout-ms":{kind:"value",coerce:Wt},"idle-ms":{kind:"value",coerce:Wt}};function nc(e){return jn(e,AS).values}var Em={since:{kind:"value",coerce:IS},full:{kind:"boolean"}};function ho(e,t){return jn(e,Em).values.since??t}function Rm(e){return jn(e,Em).values.full===!0}var PS={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function km(e){let{values:t,rest:r}=fr(e,PS),n=r[1];if(!n)return null;let s={};for(let o of t.field??[]){let i=o.indexOf("=");i<=0||(s[o.slice(0,i)]=o.slice(i+1))}return{path:n,params:s}}function Wt(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function IS(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}sc();ct();import{existsSync as xN}from"node:fs";import{fileURLToPath as CN}from"node:url";Ct();zn();ae();lt();import{existsSync as k0}from"node:fs";import{fileURLToPath as S0}from"node:url";Ct();$c();ae();import{existsSync as cv}from"node:fs";import{fileURLToPath as uv}from"node:url";async function en(e,t){let r={stats:lv(e.telemetryByteBudget),telemetry:jc(t)};if(!e.storeUri.startsWith("file://"))return r;let n=uv(e.storeUri);if(!cv(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(Kt(),ss)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:jc(t)}}catch{return r}finally{await o.close()}}function Bc(e,t=jc(30),r=!1,n=Df()){return`${ne(Uc(e,t,r,n))}
227
+ `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Sa(){for(let e of gN())try{process.kill(e,"SIGTERM")}catch{}}function gN(){if(process.platform==="win32")return[];let e="";try{e=kR("ps",["-eo","pid=,ppid=,args="],{encoding:"utf8"})}catch{return[]}let t=[];for(let r of e.split(/\n/)){let n=/^\s*(\d+)\s+(\d+)\s+([\s\S]*)$/.exec(r);if(!n)continue;let s=Number(n[1]),o=Number(n[2]),i=n[3]??"";o===process.pid&&/(^|\s)\S*red(?:\.exe)?\s+rpc\s+--stdio(\s|$)/.test(i)&&t.push(s)}return t}async function hN(e){if(e.collection!==Ue)return e;let t=await wR(e.raw_text,ER(e.raw_bytes)),r=await wR(e.emitted_text,ER(e.emitted_bytes)),{raw_text:n,emitted_text:s,...o}=e;return{...o,tokens_raw:t.tokens,tokens_emitted:r.tokens,estimated:t.estimated||r.estimated}}async function wR(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=rN)try{return await CR((async()=>({tokens:(await yN())("cl100k_base").encode(e).length,estimated:!1}))(),nN,"telemetry tokenization timed out")}catch{return{tokens:Math.ceil(r/4),estimated:!0}}return{tokens:Math.ceil(r/4),estimated:!0}}return t!=null?{tokens:Math.ceil(t/4),estimated:!0}:{tokens:0,estimated:!1}}async function yN(){return _R??=import(eN(bN()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await _R}function bN(){let e=ap(Z$(import.meta.url)),r=[ka(e,"..","node_modules","js-tiktoken","dist","index.js"),ka(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>Y$(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function ER(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function we(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function op(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function CR(e,t,r){let n;try{return await Promise.race([e,new Promise((s,o)=>{n=setTimeout(()=>o(new Error(r)),t),n.unref()})])}finally{n&&clearTimeout(n)}}function wN(e){try{return JSON.parse(e)}catch{return e}}function _N(e){return RR(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>RR(t)&&(t.collection===Oe||t.collection===Ae||t.collection===Ue||t.collection===mt)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function RR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function EN(e,t){sf(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Dn(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function RN(e,t,r,n,s){if(t.op==="handover")return{handover:!0,version:n,clientVersion:t.clientVersion};if(e.kind==="opening")throw new Error("rsp resident store is not ready");if(e.kind==="failed")throw new Error(`rsp resident store failed to open: ${e.error.message}`);let o=e.store;if(t.op==="ping")return{pong:!0,version:n};if(t.op==="stats")return await o.stats();if(t.op==="recovery-handles")return await o.recoveryHandles(t.limit);if(t.op==="accounting-stats"){let i=o.redDb();if(!i)throw new Error("rsp accounting stats require the shared RedDB store");return await Xl(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await qi(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await Zl(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return vN(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await TN(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function kN(e){let t;return{async read(r){if(!t){let n=String(kR("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=fR({rootDir:e,token:n,balance:SN(n)})}return await t.read(r)}}}function SN(e){let t=rl({token:e}),r=null,n=0,s=null;return async()=>{let o=Date.now();if(o<n)return r;if(s!==null)return await s;let i=new Date(o).toISOString();return s=el({transport:t,now:i}).then(a=>(r=a,n=Date.now()+tl(a,{now:new Date().toISOString()}),r)).finally(()=>{s=null}),await s}}async function TN(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await iR(s,t).request(r,n)}function vN(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var rN,nN,vR,sN,oN,iN,ip,bR,_R,AR=y(()=>{"use strict";yi();Ge();Go();vo();Ct();Hi();dR();hR();ft();je();rN=256*1024,nN=500,vR=2e3,sN=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),oN="rsp-status-summary.json",iN=[Oe,Ae,Ue,mt,_s],ip=class{constructor(t,r){this.store=t;this.opts=r;this.pendingHeals=[...r.bootHeals??[]]}running;pending=!1;pendingHeals;async drainAndSweep(){if(this.running){this.pending=!0,await this.running;return}this.running=(async()=>{do this.pending=!1,await this.drainAndSweepOnce();while(this.pending)})().finally(()=>{this.running=void 0}),await this.running}async drainAndSweepOnce(){let t=this.store.redDb();if(!t)return;let r=await cN(t);r.unshift(...this.pendingHeals),this.pendingHeals=[];let n=await this.readIndex(t),s=n.records.length,o=[...n.records];for(let a of r)o.push(await this.writeDrainDegradation(t,{reason:"telemetry collection model mismatch",command:"rsp resident telemetry drain",source_collection:a.collection,error:`expected kv, got ${a.previousModel}`,bytes:0}));await bl(this.opts.rootDir,async a=>{let c=wn(a);if(!c){let u=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}try{let u=await this.writeEvent(t,c);o.push(u);let l=await this.writeAccountingMirror(t,c);return l&&o.push(l),!0}catch(u){let l=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:we(c.command)||"unknown",source_id:we(c.id),source_collection:we(c.collection),error:u instanceof Error?u.message:String(u),bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await aN(t,this.opts.rootDir)}async writeEvent(t,r){let n=new Date,s=typeof r.created_at=="string"?r.created_at:n.toISOString(),o=new Date(Date.parse(s)+this.opts.ttlDays*24*60*60*1e3).toISOString(),i=typeof r.id=="string"&&r.id.trim()!==""?r.id:Dn(),a={...await hN(r),id:i,created_at:s,expires_at:o};return await t.kv(r.collection).put(i,a),{collection:r.collection,key:i,created_at:s,expires_at:o,bytes:r.collection===Oe?0:typeof r.bytes=="number"&&Number.isFinite(r.bytes)?Math.max(0,r.bytes):Buffer.byteLength(JSON.stringify(a),"utf8")}}async writeAccountingMirror(t,r){return r.collection===Oe||r.accounting_recorded===!0?null:r.collection===Ue?await this.writeEvent(t,{collection:Oe,id:`mirror:${we(r.id)||Dn()}`,created_at:we(r.created_at)||we(r.ts)||new Date().toISOString(),event_type:"invocation",command:we(r.command)||"unknown",command_class:op(we(r.command)||"unknown"),wrapper:r.wrapper,loss:r.loss,elided:r.elided,raw_bytes:r.raw_bytes,emitted_bytes:r.emitted_bytes,tokens_raw:r.tokens_raw,tokens_emitted:r.tokens_emitted,estimated:r.estimated,wrapper_ms:r.wrapper_ms,store_open_count:r.store_open_count,store_elapsed_ms:r.store_elapsed_ms}):r.collection===mt?await this.writeEvent(t,{collection:Oe,id:`mirror:${we(r.id)||Dn()}`,created_at:we(r.created_at)||we(r.ts)||new Date().toISOString(),event_type:"invocation",command:we(r.command)||"unknown",command_class:op(we(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:we(r.reason)||"unknown",wrapper_family:we(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:we(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:mt,id:Dn(),created_at:new Date().toISOString(),reason:r.reason,command:r.command,bytes:r.bytes,source_id:r.source_id,source_collection:r.source_collection,error:r.error});return await this.writeEvent(t,{collection:Oe,id:`mirror:${Dn()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:op(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(_s).get("index:v1"),n=typeof r=="string"?wN(r):r;return _N(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(_s).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};bR=!1});import{posix as ON,win32 as AN}from"node:path";import{fileURLToPath as PN}from"node:url";La();ct();var hm={"store-uri":{kind:"value",coerce:e=>e},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},kS={json:{kind:"boolean"}},SS={help:{kind:"boolean",aliases:["h"]}},TS={commands:{dashboard:{},stats:{},gains:{},show:{},git:{},gh:{},vitest:{},cargo:{},cat:{},exec:{},proxy:{},wait:{},doctor:{},status:{},sweep:{},setup:{},mcp:{},"shell-init":{},server:{},"warm-resident":{},"gh-api-json":{},hook:{}},default:"dashboard",keepArgvOnDefault:!0,errorOnUnknownCommand:!0};function ym(e){let{command:t,args:r}=Ga(e,vS);return t==="--version"?{kind:"version",json:jn(r,kS).values.json===!0}:xS(e)?{kind:"help"}:{kind:"command"}}var vS={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function xS(e){return fr(e,SS).values.help===!0}function bm(e){let{values:t,rest:r}=OS(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw go.unknownFlag(n);let s=Ga(r,TS).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":"lossless",positional:o}}var go=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return V({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:CS})}},CS=Object.keys(hm).map(e=>`--${e}`);function OS(e){try{return fr(e,hm)}catch(t){throw new go(t instanceof Error?t.message:String(t))}}function wm(e){return V({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function _m(e){return e instanceof Mn}function Yr(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var AS={socket:{kind:"value",coerce:e=>e},"pid-file":{kind:"value",coerce:e=>e},"wake-lock":{kind:"value",coerce:e=>e},registry:{kind:"value",coerce:e=>e},"resident-version":{kind:"value",coerce:e=>e},"ttl-days":{kind:"value",coerce:Wt},"ephemeral-ttl-hours":{kind:"value",coerce:Wt},"byte-budget":{kind:"value",coerce:Wt},"telemetry-ttl-days":{kind:"value",coerce:Wt},"telemetry-byte-budget":{kind:"value",coerce:Wt},"telemetry-drain-interval-ms":{kind:"value",coerce:Wt},"telemetry-drain-timeout-ms":{kind:"value",coerce:Wt},"idle-ms":{kind:"value",coerce:Wt}};function nc(e){return jn(e,AS).values}var Em={since:{kind:"value",coerce:IS},full:{kind:"boolean"}};function ho(e,t){return jn(e,Em).values.since??t}function Rm(e){return jn(e,Em).values.full===!0}var PS={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function km(e){let{values:t,rest:r}=fr(e,PS),n=r[1];if(!n)return null;let s={};for(let o of t.field??[]){let i=o.indexOf("=");i<=0||(s[o.slice(0,i)]=o.slice(i+1))}return{path:n,params:s}}function Wt(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function IS(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}sc();ct();import{existsSync as xN}from"node:fs";import{fileURLToPath as CN}from"node:url";Ct();zn();ae();lt();import{existsSync as k0}from"node:fs";import{fileURLToPath as S0}from"node:url";Ct();$c();ae();import{existsSync as cv}from"node:fs";import{fileURLToPath as uv}from"node:url";async function en(e,t){let r={stats:lv(e.telemetryByteBudget),telemetry:jc(t)};if(!e.storeUri.startsWith("file://"))return r;let n=uv(e.storeUri);if(!cv(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(Kt(),ss)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:jc(t)}}catch{return r}finally{await o.close()}}function Bc(e,t=jc(30),r=!1,n=Df()){return`${ne(Uc(e,t,r,n))}
228
228
  `}function Lf(e,t){return`${ne({...e,overhead:$f(t)})}
229
229
  `}function Df(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:At,breaching_families:[],disabled_families:[],families:[]}}function $f(e){return{schema_version:e.schema_version,verdict:e.verdict,summary:e.summary,ceiling:e.ceiling,breaching_families:e.breaching_families,disabled_families:e.disabled_families,families:e.families}}function Uc(e,t,r,n=Df()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??Lo(),a=t.health.recent_failures.slice(0,r?20:5),c=t.decisions.top_pass_reasons.slice(0,r?10:3);return{records:e.records,bytes:e.bytes,oldest:e.oldest,budget:e.budget,storage_classes:i,savings:{window_days:t.window_days,empty:t.empty,...t.savings,tokens_saved_display:dv(t.savings),dollars_saved_estimate_usd_display:pv(t.savings),daily_tokens_saved:o,daily_tokens_saved_elided:r?0:Math.max(0,t.savings.daily_tokens_saved.length-o.length),top_commands:s,top_commands_elided:r?0:Math.max(0,t.savings.top_commands.length-s.length)},overhead:$f(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:Mc(t.health.degradation_rate),show_hit_rate_display:Mc(t.health.show_hit_rate),by_reason:t.health.by_reason,by_family:t.health.by_family,recent_failures:a,recent_failures_elided:r?0:Math.max(0,t.health.recent_failures.length-a.length),most_recent_degradation_at:t.health.most_recent?.timestamp??null,most_recent_degradation_reason:t.health.most_recent?.reason??null},decisions:{...t.decisions,contribution_rate_display:Mc(t.decisions.contribution_rate),top_pass_reasons:c,top_pass_reasons_elided:r?0:Math.max(0,t.decisions.top_pass_reasons.length-c.length),by_command_family:r?t.decisions.by_command_family:t.decisions.by_command_family.slice(0,5),by_command_family_elided:r?0:Math.max(0,t.decisions.by_command_family.length-5)},latency:{...t.latency,wrapper_ms_p50_display:Fc(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:Fc(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:Fc(t.latency.store_elapsed_ms_avg)}}}function Nf(e){return`${ne(e)}
230
230
  `}function jc(e){return{window_days:e,empty:!0,savings:{invocations:0,elided:0,raw_bytes:0,emitted_bytes:0,bytes_saved:0,tokens_saved:0,tokens_saved_estimated:!1,token_estimate_range_pct:null,tokens_saved_low:null,tokens_saved_high:null,dollars_saved_estimate_usd:0,dollars_saved_low_usd:null,dollars_saved_high_usd:null,pricing_model_family:"gpt-5",pricing_input_usd_per_million_tokens:1.25,pricing_note:"estimate derived from byte-based token estimate when token counts are estimated",daily_tokens_saved:[],top_commands:[]},health:{degradations:0,degradation_rate:0,show_total:0,show_hits:0,show_misses:0,show_hit_rate:0,by_reason:[],by_family:[],recent_failures:[],most_recent:null},latency:{wrapper_ms_p50:null,wrapper_ms_p95:null,store_open_count_sum:0,store_elapsed_ms_sum:0,store_elapsed_ms_avg:null},decisions:{seen:0,contributed:0,passed:0,failed_open:0,quota_free_saved_units:0,contribution_rate:0,top_pass_reasons:[],by_command_family:[]}}}function lv(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Lo()}}function Lo(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function Hc(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
@@ -243,7 +243,7 @@ const timer = setInterval(() => {
243
243
  `),0;if(r.kind==="help")return process.stdout.write(j_(e)),0;let n;try{n=bm(e)}catch(h){if(_m(h))return process.stdout.write(wm(h)),2;throw h}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:h}=await Promise.resolve().then(()=>(Xs(),la));return await h()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:h}=await Promise.resolve().then(()=>(Xs(),la));return await h()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:h}=await Promise.resolve().then(()=>(qs(),cd));return await h()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:h}=await Promise.resolve().then(()=>(qs(),cd));return await h()}if(n.command==="setup"){let{provisionRspRepoStore:h}=await Promise.resolve().then(()=>(NE(),$E)),E=await h(process.cwd());return process.stdout.write(Hc(E)),0}if(n.command==="mcp"){let{runRspMcpServer:h}=await Promise.resolve().then(()=>(qE(),HE));return await h(),0}if(n.command==="wait"){let{runWait:h}=await Promise.resolve().then(()=>(cl(),al));return await h(n.positional)}if(n.command==="shell-init"){let h=n.positional[1];if(h!=="fish"&&h!=="bash"&&h!=="zsh")return process.stdout.write(V({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:E}=await Promise.resolve().then(()=>(VE(),JE));return process.stdout.write(E(h)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(je(),Cg)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:h}=await Promise.resolve().then(()=>(lt(),Er)),E=h(process.cwd()),T=await L_(o,E,ho(n.positional,1));return process.stdout.write(D_(T)),T.exitCode}let i=h_(n.command);if(!o.enabled)return i?await g_(n.positional):(process.stdout.write(`${sa()}
244
244
  `),0);if(n.command==="git"&&da(n.positional)){let h=process.hrtime.bigint();return await Se(n,await pa(),h,void 0,await bd(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(lt(),Er)),u=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:h}=await Promise.resolve().then(()=>(ae(),To)),E=h(u.rootDir,n.command);if(E)return await f_(n.positional,u.rootDir,E)}if(i&&m_(o.measurementHoldoutShare))return await d_(n,u.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:h}=await Promise.resolve().then(()=>(AR(),OR)),E=a(process.cwd()),T=nc(n.positional),C=s(process.cwd(),process.env,n.storeUri);return C.enabled?(await h({socketPath:T.socket??E.socketPath,pidPath:T["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:C.storeUri,ttlDays:T["ttl-days"]??C.ttlDays,ephemeralTtlHours:T["ephemeral-ttl-hours"]??C.ephemeralTtlHours,byteBudget:T["byte-budget"]??C.byteBudget,telemetryTtlDays:T["telemetry-ttl-days"]??C.telemetryTtlDays,telemetryByteBudget:T["telemetry-byte-budget"]??C.telemetryByteBudget,telemetryDrainIntervalMs:T["telemetry-drain-interval-ms"]??C.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:T["telemetry-drain-timeout-ms"]??C.telemetryDrainTimeoutMs,idleMs:T["idle-ms"]??C.idleMs,residentVersion:T["resident-version"]??t.version,registryPath:T.registry??E.registryPath}),0):(process.stdout.write(`${sa()}
245
245
  `),0)}if(n.command==="warm-resident"){let h=a(process.cwd()),E=nc(n.positional),T=s(process.cwd(),process.env,n.storeUri);if(!T.enabled)return 0;let{warmResidentServer:C}=await Promise.resolve().then(()=>(lt(),Er));return await C({...h,socketPath:E.socket??h.socketPath,wakeLockPath:E["wake-lock"]??h.wakeLockPath},{storeUri:T.storeUri,ttlDays:E["ttl-days"]??T.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??T.ephemeralTtlHours,byteBudget:E["byte-budget"]??T.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??T.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??T.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??T.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??T.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??T.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:h}=await Promise.resolve().then(()=>(Ji(),Wi));return await h(n.positional,{telemetryRoot:u.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:h,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(lt(),Er)),T=n.command==="sweep"?await E(u):await h(u);if(n.command==="sweep"){let{sweepGhEtagCache:F}=await Promise.resolve().then(()=>(zo(),Rg));await F(u.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:C}=await Promise.resolve().then(()=>(ae(),To)),G=C(u.rootDir,o.overhead);return process.stdout.write(Lf(T,G)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:h}=await Promise.resolve().then(()=>(ei(),Dg)),E=km(n.positional);if(!E)return process.stdout.write(V({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let T=await h({path:E.path,params:E.params,cwd:process.cwd(),telemetryRoot:u.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(T.stdout),T.stderr&&process.stderr.write(`${T.stderr}
246
- `),T.status}if(n.command==="dashboard"){let h=await hb(o);return process.stdout.write(yb(h)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!xN(CN(o.storeUri)))return i?await OE(n,o,u.rootDir):(process.stdout.write(V({command:gt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:l,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(Kt(),ss)),g=(h=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:h,paths:u})),f=()=>c(u,l(o,t.version)).catch(h=>void p(h)),R=()=>g(),b;try{if(n.command==="stats"){let{stats:h,telemetry:E}=await en(o,ho(n.positional,30)),{overheadHealth:T}=await Promise.resolve().then(()=>(ae(),To));return process.stdout.write(Bc(h,E,Rm(n.positional),T(u.rootDir,o.overhead))),0}if(n.command==="gains"){let h=await R();b=()=>h.close();let E;try{E=await h.telemetryGains(ho(n.positional,28))}catch(T){return process.stdout.write(V({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:T instanceof Error?T.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(Nf(E)),0}if(n.command==="git"){if($r(f()),da(n.positional)){let G=process.hrtime.bigint();return await Se(n,await pa(),G,void 0,u.rootDir,o)}let{runGitWrapper:h}=await Promise.resolve().then(()=>(Gr(),sd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="gh"){$r(f());let{runGhWrapper:h}=await Promise.resolve().then(()=>(Fd(),Nd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){$r(f());let{runTestWrapper:h}=await Promise.resolve().then(()=>(Ud(),Bd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="cat"){$r(f());let{runCatWrapper:h}=await Promise.resolve().then(()=>(Jd(),Wd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="exec"){$r(f());let{runExecWrapper:h}=await Promise.resolve().then(()=>(Ks(),Vs)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="show"&&n.handle){let h=await R();b=()=>h.close();let E=await h.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await ma(u.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let C=V({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(C),await ma(u.rootDir,n.handle,!1,C.length),1}let T=V({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(T),await ma(u.rootDir,n.handle,!1,T.length),1}return process.stdout.write(V({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(h){if(Yr(h))return process.stdout.write(h.render()),2;if(i)return await Ys("wrapper failed",n.positional,h,u.rootDir);throw h}finally{await b?.()}}ct();import.meta.url===`file://${process.argv[1]}`&&PR().then(e=>process.exit(e),e=>{Yr(e)&&(process.stdout.write(e.render()),process.exit(2)),process.stdout.write(V({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"})),process.exit(1)});export{PR as main,Hc as renderSetupResult,Bc as renderStats};
246
+ `),T.status}if(n.command==="dashboard"){let h=await hb(o);return process.stdout.write(yb(h)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!xN(CN(o.storeUri)))return i?await OE(n,o,u.rootDir):(process.stdout.write(V({command:gt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:l,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(Kt(),ss)),g=(h=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:h,paths:u})),f=()=>c(u,l(o,t.version)).catch(h=>void p(h)),R=()=>g(),b;try{if(n.command==="stats"){let{stats:h,telemetry:E}=await en(o,ho(n.positional,30)),{overheadHealth:T}=await Promise.resolve().then(()=>(ae(),To));return process.stdout.write(Bc(h,E,Rm(n.positional),T(u.rootDir,o.overhead))),0}if(n.command==="gains"){let h=await R();b=()=>h.close();let E;try{E=await h.telemetryGains(ho(n.positional,28))}catch(T){return process.stdout.write(V({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:T instanceof Error?T.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(Nf(E)),0}if(n.command==="git"){if($r(f()),da(n.positional)){let G=process.hrtime.bigint();return await Se(n,await pa(),G,void 0,u.rootDir,o)}let{runGitWrapper:h}=await Promise.resolve().then(()=>(Gr(),sd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="gh"){$r(f());let{runGhWrapper:h}=await Promise.resolve().then(()=>(Fd(),Nd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){$r(f());let{runTestWrapper:h}=await Promise.resolve().then(()=>(Ud(),Bd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="cat"){$r(f());let{runCatWrapper:h}=await Promise.resolve().then(()=>(Jd(),Wd)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="exec"){$r(f());let{runExecWrapper:h}=await Promise.resolve().then(()=>(Ks(),Vs)),E=new dr(()=>g(!1));b=()=>E.close();let T=process.hrtime.bigint(),C=await h(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Se(n,C,T,E,u.rootDir,o)}if(n.command==="show"&&n.handle){let h=await R();b=()=>h.close();let E=await h.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await ma(u.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let C=V({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(C),await ma(u.rootDir,n.handle,!1,C.length),1}let T=V({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(T),await ma(u.rootDir,n.handle,!1,T.length),1}return process.stdout.write(V({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(h){if(Yr(h))return process.stdout.write(h.render()),2;if(i)return await Ys("wrapper failed",n.positional,h,u.rootDir);throw h}finally{await b?.()}}ct();function IN(e,t,r=process.platform){if(!t)return!1;let n=r==="win32",s=n?AN:ON;try{let o=s.resolve(PN(e,{windows:n})),i=s.resolve(t);return n?o.toLowerCase()===i.toLowerCase():o===i}catch{return!1}}IN(import.meta.url,process.argv[1])&&PR().then(e=>process.exit(e),e=>{Yr(e)&&(process.stdout.write(e.render()),process.exit(2)),process.stdout.write(V({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"})),process.exit(1)});export{IN as isDirectExecution,PR as main,Hc as renderSetupResult,Bc as renderStats};
247
247
  /*! Bundled license information:
248
248
 
249
249
  @octokit/request-error/dist-src/index.js: