@reddb-io/red-skills 3.18.11 → 3.19.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.
- package/.agents/plugins/marketplace.json +63 -0
- package/.claude-plugin/marketplace.json +32 -0
- package/.gemini-plugin/marketplace.json +63 -0
- package/README.md +18 -18
- package/dist/code-nav.bundle.min.mjs +1 -1
- package/dist/opencode-host.bundle.min.mjs +165 -0
- package/dist/redskilled-mcp.bundle.min.mjs +372 -912
- package/dist/redskilled.bundle.min.mjs +357 -259
- package/dist/release.bundle.min.mjs +259 -0
- package/dist/rsp-core.bundle.min.mjs +199 -199
- package/dist/rsp.bundle.min.mjs +1 -1
- package/package.json +15 -3
- package/scripts/build-gemini-extension.mjs +180 -0
- package/scripts/generate-codex-manifests.mjs +291 -0
- package/scripts/generate-gemini-manifests.mjs +259 -0
- package/scripts/generate-pi-manifests.mjs +133 -0
- package/scripts/install-hermes-skills.mjs +194 -0
- package/scripts/install-opencode.sh +556 -0
- package/scripts/install-pi.sh +303 -0
- package/scripts/lib/manifest-core.mjs +106 -0
- package/scripts/validate-gemini-extension.mjs +194 -0
- package/dist/brain.bundle.min.mjs +0 -331
- package/dist/dev.bundle.min.mjs +0 -1372
- package/dist/memory.bundle.min.mjs +0 -7030
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
|
-
var
|
|
2
|
+
var AP=Object.create;var Vu=Object.defineProperty;var CP=Object.getOwnPropertyDescriptor;var PP=Object.getOwnPropertyNames;var IP=Object.getPrototypeOf,LP=Object.prototype.hasOwnProperty;var sa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t)=>{for(var r in t)Vu(e,r,{get:t[r],enumerable:!0})},GP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of PP(t))!LP.call(e,s)&&s!==r&&Vu(e,s,{get:()=>t[s],enumerable:!(n=CP(t,s))||n.enumerable});return e};var oa=(e,t,r)=>(r=e!=null?AP(IP(e)):{},GP(t||!e||!e.__esModule?Vu(r,"default",{value:e,enumerable:!0}):r,e));function $P(e,t){return typeof t=="string"?{separator:e,to:t,typed:!1,prefix:!1}:{separator:e,to:t.to,typed:t.typed??!1,prefix:t.prefix??!1}}function NP(e=Wy){return Object.entries(e).map(([t,r])=>$P(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function FP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!FP(e))}function ia(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function Vy(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>Vy(r.trim())):e}function Qr(e,t){switch(t){case"boolean":return MP(e);case"number":return BP(e);case"array":return e.split(",").map(r=>ia(r.trim()));case"string":default:return e}}function MP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function BP(e){if(e.trim()==="")throw new TypeError(`Cannot convert "${e}" to number`);let t=Number(e);if(Number.isNaN(t))throw new TypeError(`Cannot convert "${e}" to number`);return t}function mr(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function jP(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function re(e,t){return{type:e,value:t}}function qP(e){let t=[],r=HP(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
|
|
3
3
|
`),re("newline",`
|
|
4
4
|
`)),e.positional&&e.positional.length>0){t.push(re("section-header","Arguments:"),re("newline",`
|
|
5
5
|
`));for(let n of e.positional)if(n.description){let s=n.variadic?`${n.name}...`:n.name;t.push(re("indent"," "),re("positional-name",`<${s}>`)),n.required||t.push(re("positional-optional"," (optional)")),t.push(re("newline",`
|
|
6
6
|
`),re("indent"," "),re("option-description",n.description),re("newline",`
|
|
7
7
|
`))}t.push(re("newline",`
|
|
8
8
|
`))}if(e.options&&Object.keys(e.options).length>0){t.push(re("section-header","Options:"),re("newline",`
|
|
9
|
-
`));let n=
|
|
10
|
-
`))}return r}function
|
|
11
|
-
`);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function Gt(e){return F(e,"invalid quoted string")}function Be(e,t){if(e==="")return"";if(e.startsWith('"'))return
|
|
12
|
-
`;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let i=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(i))throw Gt(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw Gt(t);r+=String.fromCharCode(a),n+=4;break}default:throw Gt(t)}}throw Gt(t)}function Zy(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw Gt(r);t=s+2;continue}if(n===-1)throw Gt(r);return n+1}}function en(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=Zy(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function gt(e,t,r){let n=0;for(;n<e.length;){let s=e.indexOf('"',n),o=e.indexOf(t,n);if(o!==-1&&(s===-1||o<s))return o;if(s===-1)return-1;n=Zy(e,s+1,r)}return-1}function oI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function iI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function aI(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function Zs(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(Zr(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return aI(e);if(typeof e=="string")return lI(e,t);throw F(0,"not a primitive")}function cI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return cI(e)?e:aa(e)}function lI(e,t){return Ku(e,t)?aa(e):e}function Ku(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||iI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function aa(e){return`"${eb(e)}"`}function eb(e){let t="",r=0;Yy.lastIndex=0;let n;for(;(n=Yy.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function tn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var zt,zy,Yy,rn=_(()=>{Kt();Xs();zt=",";zy=/["\\\u0000-\u0008\u000a-\u001f]/g;Yy=/["\\\u0000-\u001f]/g});var tb,uI,eo,rb,nn,nb,to=_(()=>{tb={comma:",",tab:" ",pipe:"|"},uI=tb.comma,eo=1e3,rb=["type","kind","event"],nn="|",nb=new Set(["order","discriminator","rows","common"])});function*ob(e,t,r,n,s,o,i){yield*ib(r,e,n,t,{index:0},s,i,!0,o)}function*ib(e,t,r,n,s,o,i,a,c){let l=lb(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!ca(p.content,r,p.number))break;let f=en(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:la(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*cb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*ab(t,f,p,n,m,o+1,r,i),yield{type:"endObject",line:p.number}),m.cellIndex!==f.length)throw F(p.number,"array row length mismatch");s.index=m.nextIndex,u++}if(u!==e)throw mI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&ca(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*ab(e,t,r,n,s,o,i,a){for(let c=0;c<e.length;c++){let l=e[c];yield{type:"key",key:l.name,line:r.number},yield*dI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*dI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*cb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=sb(r,o,n.number),d=en(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:Be(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=la(e.children),d=r[o.cellIndex],p=db(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],g=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(g||r.length!==o.flatWidth&&f<u+fI(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let E={index:o.nextIndex};yield*ib(p,e.children,a,s,E,i,c,!1,n.number),o.nextIndex=E.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*ab(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=sb(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*cb(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:Be(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function sb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function lb(e,t,r,n,s,o,i){let a=t.filter(l=>l.children!==void 0);if(a.length===0)return new Set;if(a.length>12)return;let c;for(let l=0;l<1<<a.length;l++){let u=new Set;a.forEach((p,f)=>{l&1<<f&&u.add(p)});let d=ub(e,t,u,r,n,s,o,i);d!==void 0&&(c===void 0||d.consumed>c.consumed||d.consumed===c.consumed&&u.size<c.fields.size)&&(c={fields:u,consumed:d.consumed})}return c?.fields}function ub(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!ca(p.content,n,p.number))return;let f=pI(t,r,en(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&ca(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function pI(e,t,r,n,s,o,i,a){let c=0,l=o,u=0;for(let d of e){if(d.fixedLength!==void 0)c+=d.fixedLength;else if(d.children!==void 0)if(t.has(d)){let p=db(r[c]);if(p===void 0)return;c++;let f=lb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=ub(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=la(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function db(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function la(e){return e.reduce((t,r)=>t+pb(r),0)}function pb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?la(e.children):1}function fI(e){return e.reduce((t,r)=>t+(r.children===void 0?pb(r):1),0)}function ca(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s!==-1&&s<n}function mI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var fb=_(()=>{Kt();rn()});function hI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*gI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*yI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Zu(e,t){let r=gt(e,"[",t);if(r===-1)return null;let n=gt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let g=i.slice(l+1);if(i=i.slice(0,l),a=!0,g===" "||g==="|")c=g;else if(g!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!bI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=hb(d,t);p=wI(d.slice(1,g),c,t),d=d.slice(g+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Nt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:yr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function hb(e,t){let r=0,n=!1;for(let s=0;s<e.length;s++){let o=e[s];if(n){o==="\\"?s++:o==='"'&&(n=!1);continue}if(o==='"')n=!0;else if(o==="{")r++;else if(o==="}"&&(r--,r===0))return s}throw F(t,"malformed tabular header fields")}function wI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return ua(e,",",t,r);try{return ua(e,t,t,r)}catch(n){if(t===",")throw n;return ua(e,",",t,r)}}function ua(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(_I(u,t,r,n))};for(let u=0;u<e.length;u++){let d=e[u];if(c){d==="\\"?u++:d==='"'&&(c=!1);continue}d==='"'?c=!0:d==="{"?i++:d==="}"?i--:d==="["?a++:d==="]"?a--:d===t&&i===0&&a===0&&(l(e.slice(o,u)),o=u+1)}return l(e.slice(o)),s}function _I(e,t,r,n){let s=Nt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?EI(s,n)+1:0,i=s.indexOf("{",o),a=s.indexOf("[",o),c=i===-1?a:a===-1?i:Math.min(i,a);if(c===-1)return{name:yr(s,n)[0]};let l=yr(s.slice(0,c),n)[0];if(c===a){let p=s.indexOf("]",a);if(p===-1||p!==s.length-1)throw F(n,"invalid array header");let f=s.slice(a+1,p),m=/^(0|[1-9]\d*)(\t|\|)?$/.exec(f);if(m!==null){if((m[2]??",")!==r)throw F(n,"invalid array header");return{name:l,fixedLength:Number(m[1])}}if(f.length!==1||f===r||/[ \t\r\n"[\]{}:]/.test(f))throw F(n,"invalid array header");return{name:l,listDelimiter:f}}let u=hb(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=ua(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function EI(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function ed(e){let t=0;for(let r of e)t+=r.children===void 0?1:ed(r.children);return t}function td(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&td(s.children,t,r)}}function Nt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function rd(e,t,r){if(Nt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Nt(e.slice(s,i))),s=i+1)}return n.push(Nt(e.slice(s))),n}function gb(e,t){return gt(e,":",t)!==-1}function yb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function bb(e){let t=e?.maxDepth??eo;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*wb(e){let t=new Yu,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*zu(t,e);return}let n=null,s=!1;try{n=Zu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&pa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Sb(t,r,n,e):yield*sd(t,r,n,e),yield*zu(t,e);return}if((n===null||s)&&!gb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be(Nt(r.content),r.number),line:r.number};return}yield*_b(t,0,r.number,e),yield*zu(t,e)}function*zu(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*_b(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*Qu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Qu(e,t,r,n,s,o){let i=null;try{i=Zu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(pa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{Xu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Sb(e,{...t,depth:n},i,s):yield*sd(e,{...t,depth:n},i,s);return}let a=gt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=yb(Nt(r.slice(0,a)),t.number),l=Nt(r.slice(a+1));if(Xu(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*_b(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Be(l,t.number),line:t.number}}function Xu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*sd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(td(r.fields,t.number,n),Eb(r.fields,n)){if(!n.objectArrayColumns&&kb(r.fields))throw F(t.number,"invalid array header");let i=[];for(;;){let a=yield*e.peek();if(a===void 0||a.depth<=t.depth)break;i.push(yield*e.take(n))}yield*ob(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*SI(e,t,r,n);return}if(r.inline!==void 0){let i=rd(r.inline,r.delimiter,t.number);id(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:Be(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*kI(e,i,n)}s>0&&e.spanActive--;let o=e.lastNumber(t.number);if(n.strict&&s!==r.length)throw F(o,`expected ${r.length} list items, but got ${s}`);yield{type:"endArray",line:o}}function Eb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Eb(r.children,t))}function kb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&kb(t.children))}function*kI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Nt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=Zu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(pa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Be(n,t.number),line:t.number};return}yield*sd(e,t,s,r);return}if(s!=null&&s.key!==void 0||gb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Qu(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*Qu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Be(n,t.number),line:t.number}}function*SI(e,t,r,n){let s=r.fields,o=ed(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!RI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=rd(l.content,r.delimiter,l.number);id(u.length,o,l.number,"row cells",n),yield*od(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function RI(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*od(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:Be(o,n),line:n}}else yield*od(s.children,t,r,n);yield{type:"endObject",line:n}}function*Sb(e,t,r,n){let s=r.fields;td(s,t.number,n);let o=ed(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=gt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=yb(Nt(u.content.slice(0,d)),u.number);Xu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=rd(u.content.slice(d+1),r.delimiter,u.number);id(f.length,o,u.number,"entry row cells",n),yield*od(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function id(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function Rb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function pa(e,t,r,n=1){if(e!==void 0){Rb(n,t,r);for(let s of e)s.children!==void 0&&pa(s.children,t,r,n+1)}}function*vb(e,t){let r=bb(t),n=new da(r),s=gI(e,n),o=wb(r),i=o.next();try{for(;!i.done;)if(i.value===nd){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw xb(a,n)}finally{o.return(),s.return(void 0)}}async function*Tb(e,t){let r=bb(t),n=new da(r),s=yI(e,n),o=wb(r),i=o.next();try{for(;!i.done;)if(i.value===nd){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw xb(a,n)}finally{o.return(),await s.return(void 0)}}function xb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Fn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function ad(e,t){return Symbol.asyncIterator in e?Tb(e,t):vb(e,t)}var da,bI,nd,mb,Yu,fa=_(()=>{Kt();rn();to();fb();da=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(hI(r))return;let n=0,s=0,o=0;for(;n<r.length&&(r[n]===" "||r[n]===" ");){if(r[n]===" "){if(this.ctx.strict)throw F(this.number,"tab used as indentation");s++}else o++;n++}let i;if(o%this.ctx.indentSize===0)i=o/this.ctx.indentSize;else{if(this.ctx.strict)throw F(this.number,"invalid indentation");i=Math.floor(o/this.ctx.indentSize)}i+=s,Rb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};bI=/^(0|[1-9]\d*)$/;nd=Symbol("need line"),mb=2,Yu=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=mb)throw new Error(`decoder lookahead exceeds ${mb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield nd;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Qe(e){if(e===null)return null;if(Zr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Qe(t)}if(typeof e=="string")return Ob(e,"string value"),e;if(typeof e=="boolean")return e;if(typeof e=="number")return Object.is(e,-0)?0:Number.isFinite(e)?e:null;if(typeof e=="bigint")return e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER?Number(e):e.toString();if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(Qe);if(e instanceof Set)return Array.from(e,Qe);if(e instanceof Map){let t={};for(let[r,n]of e)Bn(t,String(r),Qe(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Ob(r,"object key"),Bn(t,r,Qe(e[r]));return t}return null}function Ob(e,t){if(vI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function rt(e){return e===null||Zr(e)||["string","number","boolean"].includes(typeof e)}function Bn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var vI,jn=_(()=>{Xs();vI=/[\uD800-\uDFFF]/});function Pb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=TI(n,1);if(s===void 0)return e;tn(t,r,s)}return t}function TI(e,t){if(!ne(e)||!xI(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw xe(t);let o=OI(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(ne))throw Ib(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!nb.has(d)){if(!Array.isArray(p)||!p.every(ne))throw xe(t);c.set(d,p)}if(c.size===0)throw xe(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw cd(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw cd(t);return l.set(d,m+1),AI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw cd(t);return u}function xI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function OI(e,t,r){if(!e.startsWith("cycle("))throw xe(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw xe(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw xe(r);let a=o.split(",").map(u=>LI(u,r));if(a.some(u=>u===""))throw xe(r);let c=II(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Ib(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function AI(e,t,r,n,s){let o={};tn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}for(let[i,a]of Object.entries(CI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}return o}function CI(e,t){let r={};for(let[n,s]of Object.entries(e))PI(r,n.split("."),s,t);return ma(r,t)}function PI(e,t,r,n){if(t.some(o=>o===""))throw xe(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!ne(s))throw xe(n)}}function ma(e,t){return Array.isArray(e)?e.map(r=>ma(r,t)):ne(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return ma(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,ma(n,t)])):e}function II(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw xe(t);let r=Number(e);if(!Number.isSafeInteger(r))throw xe(t);return r}function LI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Ab(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Ib(e){return F(e,"cyclic array length mismatch")}function cd(e){return F(e,"cyclic array group length mismatch")}function Lb(e){if(!ne(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=GI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)FI(n,s,o);return n.join("")}function GI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=NI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=DI(r);if(n===void 0)return;let s=$I(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!ld(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=BI(c);if(l===void 0||l.length===0)return;i.push({fields:l,label:a,rows:c})}return{common:s,commonRows:e.map(a=>Object.fromEntries(s.map(c=>[c,a[c]]))),discriminator:t,groups:i,order:n,rows:e}}function NI(e){return rb.find(t=>e.every(r=>typeof r[t]=="string"))}function DI(e){if(!(e.length<12))for(let t=2;t<=Math.min(8,Math.floor(e.length/3));t+=1){if(e.length%t!==0)continue;let r=e.slice(0,t);if(new Set(r).size<2||!e.every((i,a)=>i===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(Ab).join(","),o=`cycle(${r.map(Ab).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function $I(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let o of n.slice(s).filter(i=>i!==t)){if(!MI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Zs(i[o])))break;r.push(o)}return r}function FI(e,t,r){e.push(Te(t),`:
|
|
13
|
-
`),e.push(" order: ",ve(r.order.encoded,
|
|
14
|
-
`),e.push(" discriminator: ",ve(r.discriminator,
|
|
9
|
+
`));let n=WP(e.options);t.push(...n)}return t}function UP(e,t){let r=qP(e);return jP(r,t)}function HP(e){let t=["[options]"];if(e.positional)for(let r of e.positional)r.variadic?t.push(r.required?`<${r.name}...>`:`[${r.name}...]`):t.push(r.required?`<${r.name}>`:`[${r.name}]`);return t.join(" ")}function WP(e,t=!1){let r=[],n=[],s=t?"global-option-flag":"option-flag",o=t?"global-option-type":"option-type",i=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[l,u]of Object.entries(e)){if(u.hidden)continue;let d=[],p=g=>{d.includes(g)||d.push(g)};u.short&&p(`-${u.short}`),p(`--${l}`);for(let g of u.aliases??[])g.length===1?p(`-${g}`):p(`--${g}`);let f=d.join(", "),m=u.type&&u.type!=="boolean"?`<${u.type}>`:void 0;n.push({flags:f,type:m,desc:u.description??"",default:u.default!==void 0?String(u.default):void 0})}let c=Math.max(...n.map(l=>l.flags.length+(l.type?l.type.length+1:0)),20);for(let l of n){let u=l.flags.length+(l.type?l.type.length+1:0),d=" ".repeat(c-u+2);r.push(re("indent"," ")),r.push(re(s,l.flags)),l.type&&(r.push(re("text"," ")),r.push(re(o,l.type))),r.push(re("text",d)),r.push(re(a,l.desc)),l.default!==void 0&&(r.push(re("text"," ")),r.push(re(i,`(default: ${l.default})`))),r.push(re("newline",`
|
|
10
|
+
`))}return r}function Jy(e){let t=XP(e.options??{},e.autoShort??!1),r=NP(e.separators??Wy);return{schema:e,parse(n){return VP(n,e,t,r)},help(){return UP(e,e.formatter)}}}function VP(e,t,r,n){let s={positional:{},options:{},errors:[],rest:[]},o=new Set(n.map(u=>u.to));for(let u of o)s[u]={};let i=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&i>0){s.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(i<a.length){let p=a[i];if(p.variadic){let f=[];for(;c<e.length;){let m=e[c];f.push(p.type?Qr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Qr(u,p.type):u;s.positional[p.name]=f,i++,c++}}else t.allowUnknown!==!1&&(s.rest=s.rest??[],s.rest.push(u)),c++;continue}if(u.startsWith("--")){c=YP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!nI(u)){c=QP(u,c,e,s,r,t);continue}let d=JP(u,n);if(d){let{key:p,value:f,config:m}=d,g=s,b=g[m.to]??(g[m.to]={});b[p]=m.typed?Vy(f):mr(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let g=e[c];m.push(p.type?Qr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Qr(u,p.type):u;s.positional[p.name]=f,i++}else t.allowUnknown!==!1?s.rest.push(u):s.errors.push(`Unexpected positional argument: ${u}`);c++}return eI(s,t,r),tI(s,t,a),rI(s,t,r),s}function JP(e,t){if(DP.test(e))return null;for(let r of t){if(r.prefix&&e.startsWith(r.separator)){let s=e.slice(r.separator.length),o=s.indexOf(":");if(o>0){let i=s.slice(0,o),a=s.slice(o+1);if(KP(i))return{key:i,value:a,config:r}}continue}let n=e.indexOf(r.separator);if(n>0){let s=e.slice(0,n),o=e.slice(n+r.separator.length);if(zP(s,o,r))return{key:s,value:o,config:r}}}return null}function KP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function zP(e,t,r){return e?r.separator===":"?e.includes("/")||e.includes(".")||/^\d+$/.test(t)?!1:/^[A-Z][a-zA-Z0-9-]*$/.test(e):!((r.separator==="="||r.separator===":=")&&e.includes("/")):!1}function YP(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return aa(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function QP(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=Ju(c,s);return u?aa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ia(mr(l))),t+1)}if(i.length===1){let a=Ju(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Fn(c))return n.options[i]=ia(mr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Ju(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function aa(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Qr(mr(t),i.type):mr(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Qr(mr(t),i.type):mr(t);if(i.type==="array"){let c=n.options[e];Array.isArray(c)?c.push(...a):n.options[e]=a}else n.options[e]=a}else o.strict?n.errors.push(`Unknown option: --${e}`):o.allowUnknown!==!1&&(n.options[e]=ia(mr(t)));return r}function XP(e,t=!1){let r=new Map,n=Object.entries(e).sort(([o],[i])=>o.localeCompare(i)),s=new Set;for(let[,o]of n)o.short&&s.add(o.short);for(let[o,i]of n){let a=i.short??"";t&&!a&&(a=ZP(o,s),a&&s.add(a));let c={name:o,short:a,aliases:i.aliases??[],type:i.type??"string",description:i.description??"",required:i.required??!1,hidden:i.hidden??!1,negatable:i.negatable??!0,default:i.default,choices:i.choices,env:i.env,validate:i.validate};r.set(o,c);for(let l of c.aliases)r.set(l,c)}return r}function ZP(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function Ju(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function eI(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let s=process.env[n.env];e.options[n.name]=n.type?Qr(s,n.type):s}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function tI(e,t,r){if(t.options)for(let[n,s]of Object.entries(t.options))s.required&&e.options[n]===void 0&&e.errors.push(`Missing required option: --${n}`);for(let n of r)n.required&&e.positional[n.name]===void 0&&e.errors.push(`Missing required argument: <${n.name}>`)}function rI(e,t,r){for(let n of r.values()){let s=e.options[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}for(let n of t.positional??[]){let s=e.positional[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}}function nI(e){return/^-\d+(\.\d+)?$/.test(e)}var Wy,DP,Ky=_(()=>{Wy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},DP=/^[a-z][a-z0-9+.-]*:\/\//i});function sI(e){let t={};for(let[r,n]of Object.entries(e))t[r]={type:n.kind==="boolean"?"boolean":"string",...r.length===1?{short:r}:{},...n.aliases===void 0?{}:{aliases:n.aliases}};return t}function oI(e,t){let r=new Map;for(let[s,o]of Object.entries(t))if(!(o.kind!=="value"||o.type!=="array")){r.set(s,s);for(let i of o.aliases??[])r.set(i,s)}let n=new Map;for(let s=0;s<e.length;s+=1){let o=e[s];if(o==="--")break;let i=o.match(/^--([^=]+)(?:=(.*))?$/)??o.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let c=i[2];if(c===void 0&&Fn(e[s+1])&&(c=e[s+1],s+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Xs(e,t,r={}){let s=Jy({options:sI(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=oI(e,t),a=s.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(s.errors.length>0)throw new Error(s.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(s.options))if(!c.has(l))throw new Ku(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=s.options[c];u!==void 0&&(l.kind==="boolean"?o[c]=u:l.type==="array"?o[c]=(i.get(c)??[]).map(d=>l.coerce(d)):o[c]=l.coerce(String(u)))}return{values:o,positionals:s.rest}}function cI(e){let t=new Map;for(let[r,n]of Object.entries(e)){t.set(r,r);for(let s of n.aliases??[])t.set(s,r)}return t}function Xr(e,t,r={}){let n=cI(t),s=r.stopAtSeparator??!0,o={},i=[];for(let a=0;a<e.length;a+=1){let c=e[a];if(c==="--"&&s){i.push(...e.slice(a));break}let l=iI.exec(c)??aI.exec(c),u=l===null?void 0:n.get(l[1]),d=u===void 0?void 0:t[u];if(u===void 0||d===void 0){i.push(c);continue}if(d.kind==="boolean"){o[u]=!0;continue}let p=l[2];if(p===void 0&&Fn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function zu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Qs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Ku,iI,aI,Qs,Yu=_(()=>{Ky();Ku=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};iI=/^--([^=]+)(?:=([\s\S]*))?$/,aI=/^-([^-=])(?:=([\s\S]*))?$/;Qs=class extends Error{token;known;constructor(t,r){super(`unknown command '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownCommandError",this.token=t,this.known=r}}});function Yy(e){return lI.test(e)}var lI,zy,Qy=_(()=>{lI=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,zy="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new hr(e,t,r)}function Y(e,t){return new Zr(e,t)}function Bn(e){return e instanceof Zr?e:e instanceof hr?new Zr(e.line,e.reason):new Zr(0,String(e&&e.message?e.message:e))}var Mn,hr,Zr,Kt=_(()=>{Mn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},hr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},Zr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function en(e){return e instanceof Qu}var uI,Qu,Zs=_(()=>{uI=/(?:^\uFEFF?|\n) *#/,Qu=class{value;constructor(t){if(uI.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function eb(e){let t=e.split(`
|
|
11
|
+
`);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function Gt(e){return F(e,"invalid quoted string")}function Be(e,t){if(e==="")return"";if(e.startsWith('"'))return tb(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(dI(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function gr(e,t){let r=e.trim();if(r.startsWith('"'))return[tb(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function tb(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){Xy.lastIndex=n;let s=Xy.exec(e);if(s===null)break;if(s[0]==='"'){if(e.slice(s.index+1).trim()==="")return r+e.slice(n,s.index);throw Gt(t)}if(s[0]!=="\\")throw Gt(t);r+=e.slice(n,s.index);let o=e[s.index+1];switch(n=s.index+2,o){case'"':r+='"';break;case"\\":r+="\\";break;case"n":r+=`
|
|
12
|
+
`;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let i=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(i))throw Gt(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw Gt(t);r+=String.fromCharCode(a),n+=4;break}default:throw Gt(t)}}throw Gt(t)}function rb(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw Gt(r);t=s+2;continue}if(n===-1)throw Gt(r);return n+1}}function tn(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=rb(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function gt(e,t,r){let n=0;for(;n<e.length;){let s=e.indexOf('"',n),o=e.indexOf(t,n);if(o!==-1&&(s===-1||o<s))return o;if(s===-1)return-1;n=rb(e,s+1,r)}return-1}function dI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function pI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function fI(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function eo(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(en(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return fI(e);if(typeof e=="string")return hI(e,t);throw F(0,"not a primitive")}function mI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return mI(e)?e:ca(e)}function hI(e,t){return Xu(e,t)?ca(e):e}function Xu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||pI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ca(e){return`"${nb(e)}"`}function nb(e){let t="",r=0;Zy.lastIndex=0;let n;for(;(n=Zy.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function rn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var zt,Xy,Zy,nn=_(()=>{Kt();Zs();zt=",";Xy=/["\\\u0000-\u0008\u000a-\u001f]/g;Zy=/["\\\u0000-\u001f]/g});var sb,gI,to,ob,sn,ib,ro=_(()=>{sb={comma:",",tab:" ",pipe:"|"},gI=sb.comma,to=1e3,ob=["type","kind","event"],sn="|",ib=new Set(["order","discriminator","rows","common"])});function*cb(e,t,r,n,s,o,i){yield*lb(r,e,n,t,{index:0},s,i,!0,o)}function*lb(e,t,r,n,s,o,i,a,c){let l=pb(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!la(p.content,r,p.number))break;let f=tn(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ua(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*db(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*ub(t,f,p,n,m,o+1,r,i),yield{type:"endObject",line:p.number}),m.cellIndex!==f.length)throw F(p.number,"array row length mismatch");s.index=m.nextIndex,u++}if(u!==e)throw _I(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&la(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*ub(e,t,r,n,s,o,i,a){for(let c=0;c<e.length;c++){let l=e[c];yield{type:"key",key:l.name,line:r.number},yield*yI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*yI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*db(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=ab(r,o,n.number),d=tn(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:Be(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=ua(e.children),d=r[o.cellIndex],p=mb(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],g=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(g||r.length!==o.flatWidth&&f<u+wI(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let E={index:o.nextIndex};yield*lb(p,e.children,a,s,E,i,c,!1,n.number),o.nextIndex=E.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*ub(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=ab(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*db(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:Be(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function ab(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function pb(e,t,r,n,s,o,i){let a=t.filter(l=>l.children!==void 0);if(a.length===0)return new Set;if(a.length>12)return;let c;for(let l=0;l<1<<a.length;l++){let u=new Set;a.forEach((p,f)=>{l&1<<f&&u.add(p)});let d=fb(e,t,u,r,n,s,o,i);d!==void 0&&(c===void 0||d.consumed>c.consumed||d.consumed===c.consumed&&u.size<c.fields.size)&&(c={fields:u,consumed:d.consumed})}return c?.fields}function fb(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!la(p.content,n,p.number))return;let f=bI(t,r,tn(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&la(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function bI(e,t,r,n,s,o,i,a){let c=0,l=o,u=0;for(let d of e){if(d.fixedLength!==void 0)c+=d.fixedLength;else if(d.children!==void 0)if(t.has(d)){let p=mb(r[c]);if(p===void 0)return;c++;let f=pb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=fb(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=ua(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function mb(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function ua(e){return e.reduce((t,r)=>t+hb(r),0)}function hb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ua(e.children):1}function wI(e){return e.reduce((t,r)=>t+(r.children===void 0?hb(r):1),0)}function la(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s!==-1&&s<n}function _I(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var gb=_(()=>{Kt();nn()});function EI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*kI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*SI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function nd(e,t){let r=gt(e,"[",t);if(r===-1)return null;let n=gt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let g=i.slice(l+1);if(i=i.slice(0,l),a=!0,g===" "||g==="|")c=g;else if(g!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!RI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=bb(d,t);p=vI(d.slice(1,g),c,t),d=d.slice(g+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Dt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:gr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function bb(e,t){let r=0,n=!1;for(let s=0;s<e.length;s++){let o=e[s];if(n){o==="\\"?s++:o==='"'&&(n=!1);continue}if(o==='"')n=!0;else if(o==="{")r++;else if(o==="}"&&(r--,r===0))return s}throw F(t,"malformed tabular header fields")}function vI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return da(e,",",t,r);try{return da(e,t,t,r)}catch(n){if(t===",")throw n;return da(e,",",t,r)}}function da(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(TI(u,t,r,n))};for(let u=0;u<e.length;u++){let d=e[u];if(c){d==="\\"?u++:d==='"'&&(c=!1);continue}d==='"'?c=!0:d==="{"?i++:d==="}"?i--:d==="["?a++:d==="]"?a--:d===t&&i===0&&a===0&&(l(e.slice(o,u)),o=u+1)}return l(e.slice(o)),s}function TI(e,t,r,n){let s=Dt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?xI(s,n)+1:0,i=s.indexOf("{",o),a=s.indexOf("[",o),c=i===-1?a:a===-1?i:Math.min(i,a);if(c===-1)return{name:gr(s,n)[0]};let l=gr(s.slice(0,c),n)[0];if(c===a){let p=s.indexOf("]",a);if(p===-1||p!==s.length-1)throw F(n,"invalid array header");let f=s.slice(a+1,p),m=/^(0|[1-9]\d*)(\t|\|)?$/.exec(f);if(m!==null){if((m[2]??",")!==r)throw F(n,"invalid array header");return{name:l,fixedLength:Number(m[1])}}if(f.length!==1||f===r||/[ \t\r\n"[\]{}:]/.test(f))throw F(n,"invalid array header");return{name:l,listDelimiter:f}}let u=bb(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=da(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function xI(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function sd(e){let t=0;for(let r of e)t+=r.children===void 0?1:sd(r.children);return t}function od(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&od(s.children,t,r)}}function Dt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function id(e,t,r){if(Dt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Dt(e.slice(s,i))),s=i+1)}return n.push(Dt(e.slice(s))),n}function wb(e,t){return gt(e,":",t)!==-1}function _b(e,t){try{return gr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function Eb(e){let t=e?.maxDepth??to;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*kb(e){let t=new ed,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Zu(t,e);return}let n=null,s=!1;try{n=nd(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&fa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Tb(t,r,n,e):yield*cd(t,r,n,e),yield*Zu(t,e);return}if((n===null||s)&&!wb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be(Dt(r.content),r.number),line:r.number};return}yield*Sb(t,0,r.number,e),yield*Zu(t,e)}function*Zu(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*Sb(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*td(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*td(e,t,r,n,s,o){let i=null;try{i=nd(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(fa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{rd(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Tb(e,{...t,depth:n},i,s):yield*cd(e,{...t,depth:n},i,s);return}let a=gt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=_b(Dt(r.slice(0,a)),t.number),l=Dt(r.slice(a+1));if(rd(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*Sb(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Be(l,t.number),line:t.number}}function rd(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*cd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(od(r.fields,t.number,n),Rb(r.fields,n)){if(!n.objectArrayColumns&&vb(r.fields))throw F(t.number,"invalid array header");let i=[];for(;;){let a=yield*e.peek();if(a===void 0||a.depth<=t.depth)break;i.push(yield*e.take(n))}yield*cb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*AI(e,t,r,n);return}if(r.inline!==void 0){let i=id(r.inline,r.delimiter,t.number);ud(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:Be(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*OI(e,i,n)}s>0&&e.spanActive--;let o=e.lastNumber(t.number);if(n.strict&&s!==r.length)throw F(o,`expected ${r.length} list items, but got ${s}`);yield{type:"endArray",line:o}}function Rb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Rb(r.children,t))}function vb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&vb(t.children))}function*OI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Dt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=nd(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(fa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Be(n,t.number),line:t.number};return}yield*cd(e,t,s,r);return}if(s!=null&&s.key!==void 0||wb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*td(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*td(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Be(n,t.number),line:t.number}}function*AI(e,t,r,n){let s=r.fields,o=sd(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!CI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=id(l.content,r.delimiter,l.number);ud(u.length,o,l.number,"row cells",n),yield*ld(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function CI(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*ld(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:Be(o,n),line:n}}else yield*ld(s.children,t,r,n);yield{type:"endObject",line:n}}function*Tb(e,t,r,n){let s=r.fields;od(s,t.number,n);let o=sd(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=gt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=_b(Dt(u.content.slice(0,d)),u.number);rd(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=id(u.content.slice(d+1),r.delimiter,u.number);ud(f.length,o,u.number,"entry row cells",n),yield*ld(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function ud(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function xb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function fa(e,t,r,n=1){if(e!==void 0){xb(n,t,r);for(let s of e)s.children!==void 0&&fa(s.children,t,r,n+1)}}function*Ob(e,t){let r=Eb(t),n=new pa(r),s=kI(e,n),o=kb(r),i=o.next();try{for(;!i.done;)if(i.value===ad){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Cb(a,n)}finally{o.return(),s.return(void 0)}}async function*Ab(e,t){let r=Eb(t),n=new pa(r),s=SI(e,n),o=kb(r),i=o.next();try{for(;!i.done;)if(i.value===ad){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Cb(a,n)}finally{o.return(),await s.return(void 0)}}function Cb(e,t){return!(e instanceof hr)||e.source!==void 0?e:new Mn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function dd(e,t){return Symbol.asyncIterator in e?Ab(e,t):Ob(e,t)}var pa,RI,ad,yb,ed,ma=_(()=>{Kt();nn();ro();gb();pa=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(EI(r))return;let n=0,s=0,o=0;for(;n<r.length&&(r[n]===" "||r[n]===" ");){if(r[n]===" "){if(this.ctx.strict)throw F(this.number,"tab used as indentation");s++}else o++;n++}let i;if(o%this.ctx.indentSize===0)i=o/this.ctx.indentSize;else{if(this.ctx.strict)throw F(this.number,"invalid indentation");i=Math.floor(o/this.ctx.indentSize)}i+=s,xb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};RI=/^(0|[1-9]\d*)$/;ad=Symbol("need line"),yb=2,ed=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=yb)throw new Error(`decoder lookahead exceeds ${yb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield ad;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Xe(e){if(e===null)return null;if(en(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Xe(t)}if(typeof e=="string")return Pb(e,"string value"),e;if(typeof e=="boolean")return e;if(typeof e=="number")return Object.is(e,-0)?0:Number.isFinite(e)?e:null;if(typeof e=="bigint")return e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER?Number(e):e.toString();if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(Xe);if(e instanceof Set)return Array.from(e,Xe);if(e instanceof Map){let t={};for(let[r,n]of e)jn(t,String(r),Xe(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Pb(r,"object key"),jn(t,r,Xe(e[r]));return t}return null}function Pb(e,t){if(PI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function nt(e){return e===null||en(e)||["string","number","boolean"].includes(typeof e)}function jn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var PI,qn=_(()=>{Zs();PI=/[\uD800-\uDFFF]/});function Gb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=II(n,1);if(s===void 0)return e;rn(t,r,s)}return t}function II(e,t){if(!ne(e)||!LI(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw xe(t);let o=GI(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(ne))throw Db(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!ib.has(d)){if(!Array.isArray(p)||!p.every(ne))throw xe(t);c.set(d,p)}if(c.size===0)throw xe(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw pd(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw pd(t);return l.set(d,m+1),DI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw pd(t);return u}function LI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function GI(e,t,r){if(!e.startsWith("cycle("))throw xe(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw xe(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw xe(r);let a=o.split(",").map(u=>MI(u,r));if(a.some(u=>u===""))throw xe(r);let c=FI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Db(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function DI(e,t,r,n,s){let o={};rn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);rn(o,i,a)}for(let[i,a]of Object.entries($I(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);rn(o,i,a)}return o}function $I(e,t){let r={};for(let[n,s]of Object.entries(e))NI(r,n.split("."),s,t);return ha(r,t)}function NI(e,t,r,n){if(t.some(o=>o===""))throw xe(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!ne(s))throw xe(n)}}function ha(e,t){return Array.isArray(e)?e.map(r=>ha(r,t)):ne(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return ha(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,ha(n,t)])):e}function FI(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw xe(t);let r=Number(e);if(!Number.isSafeInteger(r))throw xe(t);return r}function MI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Ib(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Db(e){return F(e,"cyclic array length mismatch")}function pd(e){return F(e,"cyclic array group length mismatch")}function $b(e){if(!ne(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=BI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)HI(n,s,o);return n.join("")}function BI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=jI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=qI(r);if(n===void 0)return;let s=UI(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!fd(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=VI(c);if(l===void 0||l.length===0)return;i.push({fields:l,label:a,rows:c})}return{common:s,commonRows:e.map(a=>Object.fromEntries(s.map(c=>[c,a[c]]))),discriminator:t,groups:i,order:n,rows:e}}function jI(e){return ob.find(t=>e.every(r=>typeof r[t]=="string"))}function qI(e){if(!(e.length<12))for(let t=2;t<=Math.min(8,Math.floor(e.length/3));t+=1){if(e.length%t!==0)continue;let r=e.slice(0,t);if(new Set(r).size<2||!e.every((i,a)=>i===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(Ib).join(","),o=`cycle(${r.map(Ib).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function UI(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let o of n.slice(s).filter(i=>i!==t)){if(!WI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>eo(i[o])))break;r.push(o)}return r}function HI(e,t,r){e.push(Te(t),`:
|
|
13
|
+
`),e.push(" order: ",ve(r.order.encoded,sn),`
|
|
14
|
+
`),e.push(" discriminator: ",ve(r.discriminator,sn),`
|
|
15
15
|
`),e.push(" rows: ",String(r.rows.length),`
|
|
16
|
-
`),r.common.length>0&&
|
|
17
|
-
`);for(let s of n)e.push(" ",r.map(o=>ve(s[o],
|
|
18
|
-
`)}function
|
|
19
|
-
`,t);if(r===-1){yield e.slice(t);return}yield e.slice(t,r),t=r+1}}var
|
|
20
|
-
`)}function
|
|
21
|
-
`)}return
|
|
22
|
-
`}function
|
|
23
|
-
`}function
|
|
24
|
-
`,m=()=>
|
|
25
|
-
`;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=
|
|
26
|
-
`},end(){return d?"":(d=!0,f())}}}var
|
|
27
|
-
`)}function
|
|
28
|
-
`).trim()}var bt=_(()=>{"use strict";
|
|
29
|
-
`,{encoding:"utf8",mode:384})
|
|
30
|
-
`||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=
|
|
16
|
+
`),r.common.length>0&&Lb(e,"common",r.common,r.commonRows);for(let n of r.groups)Lb(e,n.label,n.fields,n.rows)}function Lb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),sn,"]{",r.map(Te).join(sn),`}:
|
|
17
|
+
`);for(let s of n)e.push(" ",r.map(o=>ve(s[o],sn)).join(sn),`
|
|
18
|
+
`)}function WI(e){return e!==""&&md(e)}function fd(e,t,r,n=new Set){if(!md(t))return!1;if(eo(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>fd(o,`${t}.${i}`,r,n));return n.delete(e),s}if(ne(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&fd(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function VI(e){let t=Object.keys(e[0]??{});if(e.every(r=>JI(Object.keys(r),t)))return t.every(md)?t:void 0}function JI(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function md(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var hd=_(()=>{ro();qn();Kt();nn()});function gd(e,t){let r=yd(e,t,[]),n=t("",r,[]);return n===void 0?r:Xe(n)}function yd(e,t,r){return Array.isArray(e)?zI(e,t,r):ne(e)?KI(e,t,r):e}function KI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,yd(o,t,i),i);a!==void 0&&jn(n,s,Xe(a))}return n}function zI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),yd(e[s],t,o),o);i!==void 0&&n.push(Xe(i))}return n}var Nb=_(()=>{qn()});function Mb(e){let t=[],r,n=Fb,s=o=>{let i=t[t.length-1];i===void 0?n=o:Array.isArray(i)?i.push(o):Object.defineProperty(i,r,{value:o,enumerable:!0,writable:!0,configurable:!0})};for(let o of e)switch(o.type){case"startObject":{let i={};s(i),t.push(i);break}case"startArray":{let i=[];s(i),t.push(i);break}case"endObject":case"endArray":t.pop();break;case"key":r=o.key;break;case"primitive":s(o.value);break}return n===Fb?{}:n}function Bb(e,t){let r=Mb(dd(e,t));return t?.reviver?gd(r,t.reviver):r}function bd(e,t){let{reviver:r,...n}=t??{},s=Bb(YI(e),n),o=t?.cyclicDiscriminatedArrays===!0?Gb(s):s;return r?gd(o,r):o}function*YI(e){let t=0;for(;;){let r=e.indexOf(`
|
|
19
|
+
`,t);if(r===-1){yield e.slice(t);return}yield e.slice(t,r),t=r+1}}var Fb,ga=_(()=>{ma();hd();Nb();Fb=Symbol("unset")});function jb(e,t){let r=t("",e,[]);return r===void 0?wd(e,t,[]):_d(e,r,t,[])}function _d(e,t,r,n){return en(t)&&(Array.isArray(e)||ne(e))?wd(e,r,n):wd(Xe(t),r,n)}function wd(e,t,r){return Array.isArray(e)?XI(e,t,r):ne(e)?QI(e,t,r):e}function QI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){let i=[...r,s],a=t(s,o,i);a!==void 0&&jn(n,s,_d(o,a,t,i))}return n}function XI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),e[s],o);i!==void 0&&n.push(_d(e[s],i,t,o))}return n}var qb=_(()=>{qn();Zs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=Ub(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!ne(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(nt)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(nt))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=Ub(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Un(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>ne(a)&&Object.keys(a).length>0))return;let i=Un(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function ya(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>ne(n)&&Object.keys(n).length>0))return Un(r,t)}function Ub(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(nt))?t:void 0}var Hb=_(()=>{qn()});function M(e,t={}){return Array.from(Wb(e,t)).join(`
|
|
20
|
+
`)}function Wb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??to,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Xe(e),a=t.replacer?jb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=$b(a);if(l!==void 0)return l.trimEnd().split(`
|
|
21
|
+
`)}return ZI(a,c)}function ZI(e,t){if(nt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Jb(void 0,e,0,t);let r=ya(e,t);return r===void 0?ba(e,0,t):Vb(void 0,e,r,0,t)}function ba(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>eL(n,s,t,r))}function eL(e,t,r,n){let s=he(r,n)+Te(e);if(nt(t))return[`${s}: ${ve(t,n.delimiter)}`];if(Array.isArray(t))return Jb(e,t,r,n);let o=ya(t,n);if(o!==void 0)return Vb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ba(t,r+1,n)),i}function Vb(e,t,r,n,s){Wn(n,s);let o=Object.entries(t);no(r,n+1,s);let i=[he(n,s)+yt(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,r,n+2,s);i.push(he(n+1,s)+Te(a)+": "+l.cells),i.push(...l.children)}return i}function Jb(e,t,r,n){Wn(r,n);let s=he(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Te(e)}: []`];if(t.every(nt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return tL(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...Ed(a,r+1,n));return i}function tL(e,t,r,n,s){no(r,n+1,s);let o=[he(n,s)+yt(e,t.length,r,s.delimiter)];for(let i of t){let a=Hn(i,r,n+2,s);o.push(he(n+1,s)+a.cells),o.push(...a.children)}return o}function Ed(e,t,r){Wn(t,r);let n=he(t,r)+"-";if(nt(e))return[`${n} ${ve(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${yt(void 0,0,void 0,r.delimiter)}`];if(e.every(nt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${kd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...Ed(o,t+1,r));return s}return rL(e,t,r)}function rL(e,t,r){Wn(t,r);let n=Object.entries(e);if(n.length===0)return[he(t,r)+"-"];let[[s,o],...i]=n,a=nL(s,o,t,r),c;if(a!==void 0)c=a;else if(nt(o))c=[he(t,r)+"- "+Te(s)+": "+ve(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[he(t,r)+"- "+Te(s)+": []"];else{c=[he(t,r)+"- "+yt(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...Ed(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ba(o,t+2,r));return i.length>0&&c.push(...ba(Object.fromEntries(i),t+1,r)),c}function nL(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(nt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Un(t,n);if(s!==void 0){no(s,r+1,n);let o=[he(r,n)+"- "+yt(e,t.length,s,n.delimiter)];for(let i of t){let a=Hn(i,s,r+3,n);o.push(he(r+2,n)+a.cells),o.push(...a.children)}return o}}if(ne(t)){let s=ya(t,n);if(s!==void 0){no(s,r+1,n);let o=Object.entries(t),i=[he(r,n)+"- "+yt(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,s,r+3,n);i.push(he(r+2,n)+Te(a)+": "+l.cells),i.push(...l.children)}return i}}}function yt(e,t,r,n,s=!1){let o=e===void 0?"":Te(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${Kb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Kb(e,t){return e.map(r=>{let n=Te(r.name);if(r.listDelimiter!==void 0)return`${n}[${r.listDelimiter}]`;if(r.fixedLength!==void 0){let s=t===","?"":t;return`${n}[${r.fixedLength}${s}]`}return n+(r.children===void 0?"":`{${Kb(r.children,t)}}`)}).join(t)}function Hn(e,t,r,n){let s=[],o=[];for(let i of t){let a=i.self===!0?e:e[i.name];if(i.childTable===!0){s.push(String(a.length));for(let c of a){let l=Hn(c,i.children??[],r+1,n);o.push(he(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>ve(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>sL(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=Hn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(ve(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function sL(e,t,r){return typeof e!="string"?ve(e,t):Xu(e,t)||e.includes(r)?ca(e):e}function kd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Wn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function no(e,t,r){Wn(t,r);for(let n of e)n.children!==void 0&&no(n.children,t+1,r)}var so=_(()=>{nn();Kt();ro();qn();qb();Hb();hd()});var zb=_(()=>{});var Yb=_(()=>{Kt();ma()});var Qb=_(()=>{so()});function iL(e,t){if(!(e.startsWith("[=")&&e.endsWith("]")))return null;let r=e.slice(2,-1);if(!/^[0-9]+$/.test(r))throw Y(t,"invalid trailer count");return Number.parseInt(r,10)}function cw(e,t){if(!aw.test(e))throw Y(t,"invalid tag")}function aL(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!aw.test(n)){if(/^[A-Za-z0-9_-]/.test(n)&&/^[^,[\]|{}:\t ]+$/.test(n))throw Y(t,"invalid tag");return null}return{tag:n,cellsText:e.slice(r+1)}}function cL(e,t){if(!e.startsWith("["))return null;let r=e.slice(1),n=r.indexOf("]");if(n===-1)throw Y(t,"invalid header");let s=r.slice(0,n),o=s.startsWith("~"),i=o?s.slice(1):s;if(!o&&i.startsWith("="))return null;if(!ow.includes(i)&&i!=="")throw Y(t,"invalid header delimiter");let a=i===""?zt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw Y(t,"invalid tag");if(l=c.slice(1,p),cw(l,t),i!=="")throw Y(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw Y(t,"invalid header");let u=c.slice(1,-2),d;try{d=tn(u,a,t).map(p=>gr(p,t)[0])}catch(p){throw Bn(p)}if(d.length===0||d.some(p=>p===""))throw Y(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function lL(e,t,r){if(e===null||e.delimiter===void 0)throw Y(r,"continuation header before header");if(e.delimiter!==t.delimiter||e.fieldText!==t.fieldText)throw Y(r,"continuation header mismatch")}function Xb(e,t,r,n){let s;try{s=tn(e,t,n)}catch(o){throw Bn(o)}if(s.length!==r)throw Y(n,"row arity mismatch");for(let o of s)try{Be(o,n)}catch(i){throw Bn(i)}return s}function uL(e,t,r){let n={};return e.forEach((s,o)=>{try{rn(n,s,Be(t[o],r))}catch(i){throw Bn(i)}}),n}function dL(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=iL(e,t);if(n!==null){if(r===null||r.delimiter===void 0)throw Y(t,"trailer without header");if(r.rowCount!==n)throw Y(t,"trailer count mismatch");return{kind:"trailer"}}let s=cL(e,t);if(s!==null)return s.continuation?(lL(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=aL(e,t);if(o!==null){let i=r?.taggedLanes?.get(o.tag);if(i===void 0)throw Y(t,"unknown tag");return{kind:"tagged-row",tag:o.tag,cells:Xb(o.cellsText,i.delimiter,i.fields.length,t)}}if(r===null||r.delimiter===void 0)throw Y(t,"row before header");return{kind:"row",cells:Xb(e,r.delimiter,r.fields.length,t)}}function pL(e,t={}){let r=[],n=new Map,s=[],o=[],i=null,a=!1,c=!1;function l(f,m){let g=o.at(-1);if(g!==void 0&&g.lane===f.lane&&g.delimiter===f.delimiter&&g.fieldText===f.fieldText){g.rows.push(m);return}o.push({lane:f.lane,delimiter:f.delimiter,fields:f.fields,fieldText:f.fieldText,rows:[m]})}function u(){i!==null&&s.push({delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,lane:i.lane,rows:i.rows})}function d(f,m,g){let b=n.get(f);if(b===void 0){if(n.size>=iw)throw Y(g,"too many tagged lanes");b={segments:[],current:null},n.set(f,b),r.push(f)}else b.current!==null&&b.segments.push(b.current);b.current={lane:f,delimiter:m.delimiter,fields:m.fields,fieldText:m.fieldText,rows:[]},b.delimiter=m.delimiter,b.fields=m.fields,b.fieldText=m.fieldText}if(eb(e).forEach((f,m)=>{let g=m+1;if(f==="")return;let b=i===null?{taggedLanes:n}:{delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,rowCount:i.rows.length,taggedLanes:n},y=dL(f,g,b);if(y.kind==="trailer"){u(),i=null;return}if(y.kind!=="continuation"){if(y.kind==="tag-header"){c=!0,d(y.header.tag,y.header,g);return}if(y.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:y.header.delimiter,fields:y.header.fields,fieldText:y.header.fieldText,rows:[]};return}if(y.kind==="tagged-row"){c=!0;let E=n.get(y.tag).current;E.rows.push(y.cells),l(E,y.cells);return}if(i===null)throw Y(g,"row before header");i.rows.push(y.cells),l(i,y.cells)}}),!c)return u(),t.preserveInterleaving===!0,s;let p=[];u();for(let f of r){if(f===null){p.push(...s);continue}let m=n.get(f);p.push(...m.segments),m.current!==null&&p.push(m.current)}return t.preserveInterleaving===!0?o:p}function Oe(e){return pL(e).flatMap(t=>t.rows.map(r=>uL(t.fields,r,0)))}function fL(e){if(!ow.includes(e))throw Y(0,"invalid header delimiter")}function Zb(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
|
|
22
|
+
`}function ew(e,t){return`[]<${e}>{${t}}:
|
|
23
|
+
`}function Sd(e,t){return t.map(Te).join(e)}function mL(e){if(!Array.isArray(e)||e.length===0)throw Y(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=gr(String(t),0)}catch(n){throw Bn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function tw(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function rw(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function hL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function nw(e){if(e===null||typeof e!="object"||Array.isArray(e))throw Y(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw Y(0,"TOONL output requires object rows");if(t.some(r=>!eo(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function gL(e){return JSON.stringify([...e].sort())}function sw(e,t){let r=gL(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function je({delimiter:e=zt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){fL(e),rw(r),rw(n);let s=null,o="",i=new Map,a=0,c=0,l=0,u=new Map,d=!1,p={continuationEveryRows:r,continuationEveryBytes:n},f=()=>s===null||!t?"":`[=${a}]
|
|
24
|
+
`,m=()=>hL(p,c,l)?(c=0,l=0,Zb(e,o,!0)):"",g=b=>{cw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=iw)throw Y(0,"too many tagged lanes");y={fields:null,fieldsByShape:new Map},u.set(b,y)}return y};return{push(b){if(d)throw Y(0,"TOONL encoder is closed");let y=sw(nw(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=Sd(e,s),a=0,c=0,l=0,E+=Zb(e,o));let w=s.map(S=>ve(b[S],e));E+=m();let k=`${w.join(e)}
|
|
25
|
+
`;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=mL(y),w=Sd(zt,E),k=g(b);return tw(k.fields,E)?"":(k.fields=E,ew(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),w=sw(nw(y),E.fieldsByShape),k=Sd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return tw(E.fields,w)||(E.fields=w,T+=ew(b,k)),`${T}${b}:${S.join(zt)}
|
|
26
|
+
`},end(){return d?"":(d=!0,f())}}}var ow,iw,aw,I3,L3,lw=_(()=>{Kt();ga();so();nn();ow=[zt,"|"," "],iw=8,aw=/^[A-Za-z0-9_-]+$/,I3=new TextEncoder,L3=new TextDecoder});var z,J=_(()=>{ga();so();zb();Kt();ro();Yb();so();Zs();nn();ma();ga();Qb();lw();z=bd});function bL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(Rd(e))}
|
|
27
|
+
`)}function Rd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??bL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=wL(e.diagnostics,3)),t}function qe(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Yy(s)?{command:e,category:"transient",error:oo(s)||"GitHub API rate limit exceeded",help:zy,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:oo(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:oo(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:oo(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:oo(s)||"command failed",help:`${e} --help`,diagnostics:s}}function uw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function oo(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function wL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
|
|
28
|
+
`).trim()}var bt=_(()=>{"use strict";Qy();J()});function Ea(e){let t={app:e,version:CL(Jn("__RED_BUILD_VERSION__",()=>"3.19.2")??"0.0.0-dev"),gitSha:Jn("__RED_BUILD_GIT_SHA__",()=>"81d715b56dbed051a6edfc3eb7f3f659acebe871")??"unknown",buildTime:Jn("__RED_BUILD_TIME__",()=>"2026-08-18T01:06:20-03:00")??"unknown",bundleAsset:Jn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Jn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Jn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function CL(e){return e.startsWith("v")?e.slice(1):e}function ww(e){return`${e.app} ${e.version} ${e.gitSha}`}function Jn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var Td=_(()=>{});import{isAbsolute as PL,join as Yt,resolve as xd}from"node:path";function GL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function Ew(e){return Yt(GL(e),_w)}function kw(e){return Yt(Ew(e),"state")}function Sw(e){return Yt(Ew(e),"tmp")}function ce(e){return Yt(kw(e),"rsp")}function DL(e){return Yt(kw(e),"red-skills.rdb")}function $L(e){return Yt(Sw(e),"red-skills.rdb")}function Tw(e,t){let r=DL(e);if(t(r))return r;let n=$L(e);if(t(n))throw NL();return r}function NL(){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 xw(e){return Yt(Sw(e),"waits")}function Ow(e){let t=e.overrideEnvVars??Od;for(let n of t){let s=e.env[n];if(s)return PL(s)?s:xd(e.startDir,s)}let r=xd(e.startDir);for(;;){if(e.exists(Yt(r,_w)))return r;let n=Yt(r,".."),s=xd(n);if(s===r)break;r=s}return e.startDir}var _w,IL,LL,Od,Rw,vw,Ze=_(()=>{_w=".red",IL="MEMORY_ROOT",LL="RED_BRAIN_ROOT",Od=[IL,LL];Rw=".red/state/red-skills.rdb";vw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var FL,ML,v4,Qt=_(()=>{J();Ze();FL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],ML=[{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.toon",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.toon",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.toon",kind:"toon"}],v4=[...FL,...ML]});function io(e){let{values:t,rest:r}=Xr(e,{query:Aw.query},Cw);return{argv:r,query:t.query?.trim()||void 0}}function Pw(e){let{values:t,rest:r}=Xr(e,Aw,Cw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function BL(e,t){if(!t)return!0;let r=Ad(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>BL(r,t)):[...e]}function Xt(e,t){return Cd(e,t,{includeLegacyHelp:!0})}function Cd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Ad(e){return Array.isArray(e)?e.map(Ad).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Ad).join(" "):String(e??"")}var Aw,Cw,ao=_(()=>{"use strict";Yu();Aw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Cw={stopAtSeparator:!1}});var Aa={};se(Aa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ka,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Sa,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>va,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ta,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ra,RSP_OVERHEAD_FAMILIES:()=>JL,RSP_OVERHEAD_LEDGER_FILE:()=>Gw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Dw,classifyOverheadSample:()=>Ld,noteChildProcessMs:()=>Nw,noteSelfStateBytesRead:()=>lo,overheadCounters:()=>Fd,overheadFamilyDisabled:()=>KL,overheadHealth:()=>br,overheadLedgerPath:()=>Gd,overheadMsOf:()=>$w,overheadTelemetryFields:()=>xa,readOverheadLedger:()=>co,readSelfStateFile:()=>Oa,readSelfStateFileSync:()=>QL,recordOverheadSample:()=>Dd,resetOverheadCounters:()=>YL,resetOverheadLedger:()=>zL,startChildProcessTimer:()=>et});import{existsSync as jL,mkdirSync as qL,readFileSync as Iw,renameSync as UL,writeFileSync as HL}from"node:fs";import{readFile as WL}from"node:fs/promises";import{dirname as VL,join as Lw}from"node:path";function $w(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Id(t)):0}function Ld(e,t=Zt){let r=$w(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 xa(e,t=Zt){let r=Ld(e,t);return{wrapper_ms:Id(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Id(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 Gd(e){return Lw(ce(e),Gw)}function co(e){try{let t=Iw(Gd(e),"utf8"),r=tG(t);if(rG(r))return r}catch{}return{version:1,families:{}}}function Dd(e,t,r=Zt,n=Date.now()){let s=co(e),o=Ld(t,r),i=s.families[t.family]??eG(t.family,n),a=Md(i,n)?Fw(i):i,c=o.breached?a.consecutive_breaches+1:0,l={...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&&(l.disabled=!0,l.disabled_at=new Date(n).toISOString(),l.disabled_until=new Date(n+r.cooldownMs).toISOString(),l.disabled_reason=XL(t.family,c,o,r)):(l.disabled=!1,l.disabled_at=null,l.disabled_until=null,l.disabled_reason=null),s.families[t.family]=l,Mw(e,s),l}function KL(e,t,r=Date.now()){let n=co(e).families[t];return!n?.disabled||Md(n,r)?null:n}function zL(e,t){let r=co(e);return t?delete r.families[t]:r.families={},Mw(e,r),r}function br(e,t=Zt,r=Date.now()){let n=Object.values(co(e).families).map(a=>Md(a,r)?Fw(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:Dw,verdict:i,summary:ZL(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function lo(e){Number.isFinite(e)&&e>0&&($d+=e)}function Nw(e){Number.isFinite(e)&&e>0&&(Nd+=e)}function Fd(){return{selfStateBytesRead:$d,childMs:Nd}}function YL(){$d=0,Nd=0}function et(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Nw(Number(process.hrtime.bigint()-e)/1e6))}}async function Oa(e){let t=await WL(e,"utf8");return lo(Buffer.byteLength(t)),t}function QL(e){let t=Iw(e,"utf8");return lo(Buffer.byteLength(t)),t}function XL(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 ZL(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 Md(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Fw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function eG(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 Mw(e,t){try{let r=Gd(e);if(!jL(Lw(e,".red")))return;qL(VL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;HL(n,`${M(t)}
|
|
29
|
+
`,{encoding:"utf8",mode:384}),UL(n,r)}catch{}}function tG(e){try{return JSON.parse(e)}catch{return z(e)}}function rG(e){return!Pd(e)||e.version!==1||!Pd(e.families)?!1:Object.values(e.families).every(nG)}function nG(e){return Pd(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Pd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Id(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Gw,Dw,ka,Sa,Ra,va,Ta,JL,Zt,$d,Nd,we=_(()=>{"use strict";Ze();J();Gw="overhead-budget.toon",Dw="red.rsp.overhead.v1",ka=250,Sa=1024*1024,Ra=64*1024,va=3,Ta=6*60*60*1e3,JL=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:ka,maxSelfStateBytes:Sa,netLossFloorBytes:Ra,consecutiveBreaches:va,cooldownMs:Ta};$d=0,Nd=0});function qw(e){return e.trimStart().startsWith("{")?"json":"toon"}function jd(e){let t=0;for(;e[t]===`
|
|
30
|
+
`||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=qw(r);if(n==="json"){let o=r.indexOf(`
|
|
31
31
|
`);return o<0?null:{frame:r.slice(0,o),dialect:n,rest:r.slice(o+1)}}let s=r.indexOf(`
|
|
32
32
|
|
|
33
|
-
`);return s<0?null:{frame:r.slice(0,s+1),dialect:n,rest:r.slice(s+2)}}function
|
|
33
|
+
`);return s<0?null:{frame:r.slice(0,s+1),dialect:n,rest:r.slice(s+2)}}function qd(e){let t=qw(e)==="json"?Bd:Bw,r=t===Bd?Bw:Bd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Bd(e){return JSON.parse(e)}function Bw(e){return z(e)}function Ud(e,t){if(t==="toon"){let r=oG(e);if(r!==null)return r.endsWith(`
|
|
34
34
|
`)?`${r}
|
|
35
35
|
`:`${r}
|
|
36
36
|
|
|
37
37
|
`}return`${JSON.stringify(e)}
|
|
38
|
-
`}function
|
|
39
|
-
`).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await
|
|
40
|
-
`,1)[0]?.trim()??"";if(!t.startsWith(
|
|
41
|
-
`,{encoding:"utf8",mode:384}),await
|
|
38
|
+
`}function oG(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=M(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function Uw(e,t){return!jw(e)||!jw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function jw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ww(e){return Hw.has(e)?"json":sG}function Vw(e){Hw.add(e)}var sG,Hw,Jw=_(()=>{J();sG="toon";Hw=new Set});import{createHash as iG}from"node:crypto";import{constants as Hd}from"node:fs";import{mkdir as zw,open as aG,readFile as cG,rm as Yw,stat as lG}from"node:fs/promises";import{createConnection as uG}from"node:net";import{tmpdir as dG}from"node:os";import{dirname as Qw,join as uo}from"node:path";async function Xw(e,t,r="resident server"){let n=e.wire,s=n??Ww(e.socketPath),o=await Kw(e,t,r,s);return n||s==="json"||!Uw(t,o)?o:(Vw(e.socketPath),await Kw(e,t,r,"json"))}async function Kw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=uG(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>i(new Error(`${r} timed out`))),a.destroy()},s);function d(p){c||(c=!0,clearTimeout(u),p())}a.on("connect",()=>{a.write(Ud(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=jd(l);f&&(l=f.rest,d(()=>{try{o(qd(f.frame))}catch(m){i(m)}}),a.end())}),a.on("error",p=>d(()=>i(p))),a.on("close",()=>{c||d(()=>i(new Error(`${r} closed without response`)))})})}function Zw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=jd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Ud(a,o.dialect))}catch{}};(async()=>{let a;try{a=qd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Wd(e){await zw(Qw(e),{recursive:!0,mode:448});try{return await aG(e,Hd.O_CREAT|Hd.O_EXCL|Hd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Vd(e,t={}){let r=t.maxAgeMs??fG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??wr;await zw(Qw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Wd(e);if(c)return await c.writeFile(`${e_} pid=${s} taken=${new Date(n()).toISOString()}
|
|
39
|
+
`).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await gG(e),u=await bG(e,l,n());if(a>=mG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=hG(l,u,r,o);if(d==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let p={lockPath:e,reason:d,holder:l,ageMs:u};await Yw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Jd(e){await e.handle.close().catch(()=>{}),await Yw(e.lockPath,{force:!0})}function hG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Kd(e){let t=e.ageMs==null?"of unknown age":`taken ${Math.round(e.ageMs/1e3)}s ago`,r=e.holder==null?"an owner it does not name":`pid ${e.holder.pid} (at ${e.holder.takenAt})`;return`no spawn was attempted: the spawn lock ${JSON.stringify(e.lockPath)} is held by ${r}, ${t}. If that process is gone, remove the file to clear it`}async function gG(e){try{return yG(await cG(e,"utf8"))}catch{return null}}function yG(e){let t=e.split(`
|
|
40
|
+
`,1)[0]?.trim()??"";if(!t.startsWith(e_))return null;let r=Number(/\bpid=(\d+)\b/.exec(t)?.[1]??""),n=/\btaken=(\S+)/.exec(t)?.[1]??"";return!Number.isInteger(r)||r<=0||!Number.isFinite(Date.parse(n))?null:{pid:r,takenAt:n}}async function bG(e,t,r){let n=t==null?Number.NaN:Date.parse(t.takenAt);if(Number.isFinite(n))return Math.max(0,r-n);try{return Math.max(0,r-(await lG(e)).mtimeMs)}catch{return null}}function wr(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function zd(e,t=1e3){if(!wr(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!wr(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function t_(e){let t=e.env??process.env,r=iG("sha256").update(e.key).digest("hex").slice(0,20),n=c=>uo(c,e.socketFileName).length<pG,s=t.XDG_RUNTIME_DIR;if(s){let c=uo(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=uo(`red-skills-${o}`,r),a=uo(dG(),i);return n(a)||process.platform==="win32"?a:uo(wG,i)}var pG,fG,e_,mG,wG,po=_(()=>{Jw();pG=108;fG=6e4,e_="resident-spawn-lock v1",mG=3;wG="/tmp"});async function Kn(e,t){return await Xw(e,t,"resident rsp server")}var Yd=_(()=>{po()});var r_=_(()=>{"use strict";Yd()});import{mkdir as _G,readFile as EG,rename as kG,rm as z4,writeFile as SG}from"node:fs/promises";import{dirname as RG}from"node:path";async function n_(e){try{let t=(await EG(e,"utf8")).trim();if(t==="")return null;try{return JSON.parse(t)}catch{return z(t)}}catch{return null}}async function s_(e,t){await _G(RG(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${Date.now()}.tmp`;await SG(r,`${M(t)}
|
|
41
|
+
`,{encoding:"utf8",mode:384}),await kG(r,e)}var Z4,o_=_(()=>{J();po();Z4=5*6e4});import{existsSync as vG,readdirSync as TG}from"node:fs";import{homedir as xG}from"node:os";import{basename as Xd,dirname as Qd,join as st,resolve as Ca}from"node:path";function OG(e){return"command"in e}function Pa(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??vG,s=t.execPath??process.execPath,o=t.execArgv??process.execArgv,i=t.callerEntry===void 0?process.argv[1]:t.callerEntry,a=(l,u)=>({command:s,args:[...o,l],source:u});if(r.RSP_BIN)return{command:r.RSP_BIN,args:[],source:"env-rsp-bin"};if(i&&PG(i))return a(Ca(i),"caller-entry");let c=[];for(let[l,u]of LG(i,t.rootDir,r,t.listDir??NG))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:Ca(i)}:{}}}function a_(e={},t={}){let r=Pa(e,t);if(OG(r))return r;throw new zn(r)}function PG(e){let t=Xd(e);return t===on||Zd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:IG(Ca(e))}function IG(e){let t=Qd(e);for(let r=0;r<4;r++){if(Xd(t)==="rsp")return!0;let n=Qd(t);if(n===t)return!1;t=n}return!1}function*LG(e,t,r,n){if(e){let o=Qd(Ca(e));yield[st(o,on),"caller-sibling-bundle"];let i=AG.exec(Xd(e));i&&(yield[st(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[st(o,"..","dist",on),"caller-sibling-bundle"]}for(let o of CG){let i=r[o];i&&(yield[st(i,"dist",on),"plugin-root-bundle"],yield[st(i,"..","..","dist",on),"plugin-root-bundle"])}t&&(yield[st(t,"dist",on),"repo-bundle"],yield[st(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[st(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=GG(r);yield[st(s,on),"bundle-cache"];for(let o of DG(s,n))yield[st(s,o),"bundle-cache"]}function GG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||st(e.HOME||xG(),".cache");return st(t,"red-skills","bundles")}function DG(e,t){return t(e).filter(r=>Zd.test(r)).sort((r,n)=>$G(i_(n),i_(r)))}function i_(e){return Zd.exec(e)?.[1]??""}function $G(e,t){let r=o=>o.split(".").map(i=>Number.parseInt(i,10)),[n,s]=[r(e),r(t)];for(let o=0;o<Math.max(n.length,s.length);o++){let[i,a]=[n[o],s[o]];if(Number.isNaN(i)||i===void 0)return Number.isNaN(a)||a===void 0?e.localeCompare(t):-1;if(Number.isNaN(a)||a===void 0)return 1;if(i!==a)return i-a}return 0}function NG(e){try{return TG(e)}catch{return[]}}var er,zn,on,AG,Zd,CG,ep=_(()=>{er="rsp-resident-entry-unresolved";zn=class extends Error{code=er;searched;callerEntry;constructor(t){super(`${er}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
|
|
42
42
|
searched:
|
|
43
43
|
${t.searched.map(r=>` ${r}`).join(`
|
|
44
|
-
`)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},
|
|
45
|
-
`)});if(r.acquired)try{if(await
|
|
44
|
+
`)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},on="rsp.bundle.min.mjs",AG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Zd=/^rsp-(.+)\.bundle\.min\.mjs$/,CG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as p_}from"node:crypto";import{spawn as f_}from"node:child_process";import{readFileSync as FG}from"node:fs";import{mkdir as m_,readFile as MG,rm as rr,stat as BG}from"node:fs/promises";import{dirname as Yn,join as tr,resolve as np}from"node:path";import{fileURLToPath as jG}from"node:url";function ot(e){let t=XG(e)??np(e),r=QG(t),n=ce(t);return{rootDir:t,socketPath:tr(r,"rsp.sock"),pidPath:tr(r,"rsp.pid"),lockPath:tr(r,"rsp.lock"),wakeLockPath:tr(t,".red","tmp","rsp","wake.lock"),summaryPath:tr(n,"rsp-status-summary.toon"),registryPath:tr(n,"rsp-resident.pid.toon")}}async function Ia(e,t){if(await m_(Yn(e.socketPath),{recursive:!0,mode:448}),await u_(e.socketPath,t))return;await l_(e,t);let r=await Vd(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
|
|
45
|
+
`)});if(r.acquired)try{if(await u_(e.socketPath,t))return;await l_(e,t),await HG(e.socketPath);let n=VG(e,t);await c_(e.socketPath,n);return}finally{await Jd(r)}try{await c_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Kd(r)}`)}}async function an(e,t=200){try{return await g_(e,t)!=null}catch{return!1}}async function g_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:p_(),op:"ping"});return r.ok?E_(r.value)?{version:rD(r.value.version)}:{}:null}async function La(e,t){if(await m_(Yn(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await WG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=w_(e,t);return f_(n,[...s,"warm-resident","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath,"--wake-lock",e.wakeLockPath],{cwd:e.rootDir,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref(),!0}async function y_(e,t){try{await Ia(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function mo(e){let t=await n_(e);return nD(t)?t:null}async function Ga(e,t){let r={version:h_,pid:t.pid??process.pid,socket_path:t.socket_path,store_uri:t.store_uri,resident_version:t.resident_version,started_at:t.started_at??new Date().toISOString()};await s_(e,r)}async function Da(e,t=process.pid){try{let r=await mo(e);if(r&&r.pid!==t)return;await rr(e,{force:!0})}catch{}}async function fo(e){let t=await mo(e.registryPath);if(!t)try{return await MG(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!wr(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await an(t.socket_path,100);return r&&await YG(t.store_uri)?{registry_path:e.registryPath,state:"registered-alive-store-missing",entry:t}:{registry_path:e.registryPath,state:r?"registered-alive-socket-healthy":"registered-alive-socket-dead",entry:t}}async function b_(e){let t=await fo(e);return t.state==="registered-dead"||t.state==="invalid"?(await rr(e.registryPath,{force:!0}),await fo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await zd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await fo(e)):t}async function c_(e,t){let r=Date.now()+UG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(tp("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(tp("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?tp("resident rsp server did not start",t):"resident rsp server did not start")}function UG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:qG}async function HG(e){await rr(e,{force:!0})}function VG(e,t){let[r,n]=w_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=f_(r,[...n,"server","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath],{cwd:e.rootDir,detached:!0,stdio:s?["ignore","ignore","pipe"]:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return a.on("error",c=>{o=c}),s&&(a.stderr?.setEncoding("utf8"),a.stderr?.on("data",c=>{i=KG(`${i}${c}`,JG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function tp(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let s=t.stderrTail().trimEnd();return s&&n.push(`stderr tail:
|
|
46
46
|
${s}`),n.join(`
|
|
47
|
-
`)}function
|
|
47
|
+
`)}function KG(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}async function l_(e,t){try{let r=await mo(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!wr(r.pid)){await rr(e.registryPath,{force:!0});return}if(await an(r.socket_path,100))return;if(__(t.clientVersion,r.resident_version)&&(await zG(r.pid,1500),!wr(r.pid))){await rr(e.registryPath,{force:!0});return}await zd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function zG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!wr(e))return;await new Promise(n=>setTimeout(n,50))}}async function YG(e){if(!e.startsWith("file://"))return!1;try{return await BG(jG(e)),!1}catch(t){return t.code==="ENOENT"}}function w_(e,t){let r=a_(t,{rootDir:e.rootDir});return[r.command,r.args]}function QG(e){return t_({key:e,socketFileName:"rsp.sock"})}function XG(e){let t=np(e);for(let r=0;r<32;r++){try{let s=rp(tr(t,".git"));if(s!=null)return ZG(t,s)??t;if(rp(tr(t,".git","HEAD"))!=null||rp(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=Yn(t);if(n===t)return null;t=n}return null}function ZG(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=np(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?Yn(Yn(Yn(n))):null}function rp(e){try{return FG(e,"utf8")}catch{return null}}async function u_(e,t){let r=await g_(e).catch(()=>null);return r?__(t.clientVersion,r.version)?(await eD(e,t.clientVersion),await sD(e),!1):!0:!1}async function eD(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:p_(),op:"handover",clientVersion:t})}catch{}}function __(e,t){return!e||!t?!1:tD(e,t)>0}function tD(e,t){let r=d_(e),n=d_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function d_(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function E_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rD(e){return typeof e=="string"&&e.length>0?e:void 0}function nD(e){return E_(e)&&e.version===h_&&Number.isInteger(e.pid)&&typeof e.socket_path=="string"&&typeof e.store_uri=="string"&&typeof e.resident_version=="string"&&typeof e.started_at=="string"}async function sD(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var h_,qG,WG,JG,$a=_(()=>{Ze();o_();po();Yd();ep();ep();h_=1,qG=5e3;WG=Wd;JG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>ho,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Ia,kickResidentServer:()=>La,pingResident:()=>an,readResidentRegistry:()=>mo,removeResidentRegistry:()=>Da,residentRegistryStatus:()=>fo,resolveResidentPaths:()=>ot,resolveRspEntry:()=>Pa,sweepResidentRegistry:()=>b_,warmResidentServer:()=>y_,writeResidentRegistry:()=>Ga});import{randomUUID as oD}from"node:crypto";function k_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var ho,wt=_(()=>{"use strict";r_();$a();ho=class{constructor(t,r,n={}){this.paths=t;this.config=r;this.opts=n}metrics;lastResponseMetrics(){return this.metrics}async mint(t,r){let s=(await this.request({op:"mint",original:Buffer.from(t).toString("base64"),meta:r})).handle;if(!s?.startsWith("el:"))throw new Error("resident rsp returned invalid handle");return s}async get(t){let r=await this.request({op:"get",handle:t});return r?k_(r)&&r.status==="expired"?r:!k_(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await Ia(this.paths,this.config);let r=await Kn(this.paths,{...t,id:oD()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function op(e,t,r=S_){let n=Math.max(0,Math.floor(e)),s=r in R_?r:S_,o=R_[s],i=t?Math.floor(n*(1-.25)):null,a=t?Math.ceil(n*(1+.25)):null;return{tokens_saved:n,tokens_saved_estimated:t,token_estimate_range_pct:t?.25:null,tokens_saved_low:i,tokens_saved_high:a,dollars_saved_estimate_usd:sp(n,o),dollars_saved_low_usd:i==null?null:sp(i,o),dollars_saved_high_usd:a==null?null:sp(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:iD}}function sp(e,t){return aD(Math.max(0,e)/1e6*t)}function go(e){return`$${e.toFixed(6)}`}function aD(e){return Math.round(e*1e6)/1e6}var S_,R_,iD,ip=_(()=>{"use strict";S_="gpt-5",R_={"gpt-5":1.25,"gpt-5-mini":.25,"gpt-5-nano":.05,"gpt-4.1":2,"gpt-4.1-mini":.4,"gpt-4o":2.5,"gpt-4o-mini":.15,"claude-opus-4.1":15,"claude-opus-4":15,"claude-sonnet-4.5":3,"claude-sonnet-4":3,"claude-haiku-4.5":1,"claude-haiku-3.5":.8},iD="estimate derived from byte-based token estimate when token counts are estimated"});var Qn={};se(Qn,{isResidentEntryUnresolved:()=>x_,reportResidentEntryDiagnostic:()=>ap,residentConfigFor:()=>T_,residentElisionStore:()=>yo});function T_(e,t){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,...t?{clientVersion:t}:{}}}function yo(e,t,r={}){let n=r.paths??ot(e);return new ho(n,T_(t,Ea("rsp").version),{ensureResident:r.ensureResident})}function ap(e){return x_(e)?(v_||(v_=!0,process.stderr.write(`rsp: ${er} \u2014 elision is off until an rsp entry is installed
|
|
48
48
|
`),process.env.RSP_DEBUG==="1"&&e instanceof Error&&process.stderr.write(`${e.message}
|
|
49
|
-
`)),!0):!1}function
|
|
50
|
-
`)}async function
|
|
49
|
+
`)),!0):!1}function x_(e){return typeof e=="object"&&e!==null&&e.code===er}var v_,nr=_(()=>{"use strict";Td();wt();v_=!1});function mp(e){return e==="success"?0:e==="failure"?1:2}function hp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function it(e,t,r){return{status:e,exitCode:mp(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function sr(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var G_,D_,$_,pp,N_,F_,M_,B_,fp,ln=_(()=>{"use strict";G_="rsp.wait.result",D_="rsp.wait.registry",$_="rsp.wait.list",pp={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},N_=16*1024,F_=1e4,M_=2e3,B_=6e4,fp={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",job:"github-job:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as fD,readFile as mD}from"node:fs/promises";async function Zn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ma(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(j_(e,"SIGTERM"),Fa(n,"SIGTERM"),await q_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ma(r)])];j_(e,"SIGKILL"),Fa(o,"SIGKILL");let i=Math.max(1e3,t);await hD(e,i);let a=await q_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function j_(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 Fa(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function hD(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 q_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await gD(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Ma(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await fD("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await U_(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 bo(e){return(await U_(e))?.[19]}async function es(e,t){if(!un(e))return!1;if(!t)return!0;let r=await bo(e);return r===void 0?process.platform!=="linux":r===t}function un(e){try{return process.kill(e,0),!0}catch{return!1}}async function U_(e){if(process.platform!=="linux")return null;try{let t=await mD(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function gD(e){await new Promise(t=>setTimeout(t,e))}var or=_(()=>{"use strict"});import{constants as yD}from"node:os";async function H_(e){let t=e[1],r={timeoutMs:pp.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:F_,terminateGraceMs:M_,probeTimeoutMs:B_,format:"toon",captureBytes:N_},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!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=pp[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=wo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=_D(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=wo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=wo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=wo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=wD(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]??"":t==="release"&&a==="--existing"?n.existing=!0:!a.startsWith("--")&&!n.target&&(n.target=a)}return await bD(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function bD(e){if(!(e.signal in yD.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(!un(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await bo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function wo(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 ts(e,t,r=process.env){let n=r[e];if(!n)return t;try{return wo(n)}catch{return t}}function wD(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function _D(e){return e.startsWith("SIG")?e:`SIG${e}`}var W_=_(()=>{"use strict";ln();or()});import{existsSync as gp,readFileSync as ED,statSync as kD}from"node:fs";import{basename as V_,dirname as Ba,isAbsolute as SD,join as J_,resolve as _o}from"node:path";function Eo(e,t=process.env){let r=_o(e);if(Od.map(i=>t[i]).find(Boolean))return Ow({startDir:r,env:t,exists:gp});let s=vD(r),o=RD(r,s);return o||(s??r)}function RD(e,t){let r=e;for(;;){if(gp(J_(r,".red")))return r;if(t&&r===t)return null;let n=_o(r,"..");if(n===r)return null;r=n}}function vD(e){let t=e;for(;;){let r=J_(t,".git");if(gp(r))return OD(r)?t:TD(r)??t;let n=_o(t,"..");if(n===t)return null;t=n}}function TD(e){let t=xD(e);if(!t)return null;let r=Ba(t),n=Ba(r);return V_(r)!=="worktrees"||V_(n)!==".git"?null:Ba(n)}function xD(e){let t;try{t=ED(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return SD(n)?_o(n):_o(Ba(e),n)}function OD(e){try{return kD(e).isDirectory()}catch{return!1}}var ja=_(()=>{Ze()});import{join as AD}from"node:path";function PD(e,t=process.env){return Eo(e,t)}function rs(e,t=process.env){return xw(PD(e,t))}function K_(e,t=process.env){return AD(rs(e,t),CD)}var CD,yp=_(()=>{"use strict";Ze();ja();CD="spool"});import{randomUUID as ID}from"node:crypto";import{existsSync as LD}from"node:fs";import{mkdir as GD,readdir as DD,readFile as $D,rename as ND,rm as bp,writeFile as FD}from"node:fs/promises";import{dirname as MD,join as Y_}from"node:path";function Q_(e,t,r=process.env){return Y_(rs(e,r),`${t}${BD}`)}async function ns(e,t){await wp(e,`${ge(t)}
|
|
50
|
+
`)}async function qa(e,t,r){t.status=r,await ns(e,t)}async function Ua(e,t=process.env){let r=rs(e,t);if(!LD(r))return[];let n=await DD(r).catch(()=>[]),s=[];for(let o of n.filter(i=>jD.some(a=>i.endsWith(a)))){let i=Y_(r,o),a=await qD(i);if(!a){await bp(i,{force:!0});continue}if(!await UD(a)){await bp(i,{force:!0});continue}s.push(a)}return s}async function qD(e){let t;try{t=await $D(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=HD(r);return n&&Object.keys(n).length>0?n:null}async function UD(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 es(t,r)}function HD(e){try{let t=z(e);if(z_(t))return t}catch{}try{let t=JSON.parse(e);if(z_(t))return t}catch{}return null}async function wp(e,t){await GD(MD(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${ID()}`;try{await FD(r,t,"utf8"),await ND(r,e)}finally{await bp(r,{force:!0})}}function _p(e){return{schema:D_,version:1,...e}}function z_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var BD,jD,So=_(()=>{"use strict";J();Qt();ln();yp();or();BD=".toon",jD=[".toon",".json"]});function ss(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return ss(e)?e:{}}function dn(e){return Array.isArray(e)?e.filter(ss):[]}function oe(e,t){let r=e[t];return typeof r=="string"?r:""}function pn(e,t){let r=e[t];return typeof r=="number"?r:0}function Ro(e){let t=JSON.parse(e);if(!ss(t))throw new Error("expected JSON object");return t}function Ha(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Wa=_(()=>{"use strict"});import{spawn as WD}from"node:child_process";import{resolve as VD}from"node:path";async function X_(e,t,r){let n=[];if(e.signalPid){let s=await JD(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await KD(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function JD(e){let t=e.signalPid;if(!await es(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:Z_(r),pid:t,signal:e.signal}}}async function KD(e,t,r){let n=at(t.wait),s=at(t.verdict);return await zD(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?VD(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 zD(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=WD(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,Zn(l,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);l.once("error",d=>{clearTimeout(u),c({error:Z_(d)})}),l.once("close",(d,p)=>{clearTimeout(u),!a&&c(d===0?null:{error:`exited with ${p??d??"unknown"}`,status:d??null,signal:p??null})})})}function Z_(e){return e instanceof Error?e.message:String(e)}var eE=_(()=>{"use strict";Wa();or()});import{resolve as YD}from"node:path";async function tE(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=QD(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=vo(t,r,o,{status:"pending"},i);await To(n.resultFile,a,n.format);let c=await X_(n,a,s),l=vo(t,r,o,c,i);return await To(n.resultFile,l,n.format),{result:l,exitCode:rE(o,c)}}function rE(e,t){return t.status!=="success"||e.status==="running"?2:mp(e.status)}function QD(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 vo(e,t,r,n,s){return{schema:G_,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:rE(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function To(e,t,r){e&&await wp(YD(e),os(t,r))}function os(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
|
|
51
51
|
`:`${ge(e)}
|
|
52
|
-
`}var
|
|
53
|
-
`)){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 l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return
|
|
54
|
-
`,{encoding:"utf8",mode:384}),await iD(r,e)}catch(n){throw await sE(r,{force:!0}),n}}function hD(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function pE(e){try{return JSON.parse(e)}catch{return z(e)}}function gD(e){return wp(e)&&e.version===1&&wp(e.entries)&&Object.values(e.entries).every(Ya)}function Ya(e){return wp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function wp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var aE,cE,lE,is,bp,Qa=_(()=>{"use strict";Xe();J();we();aE="gh-etag",cE="gh-etag-cache.toon",lE="gh-etag-cache.json",is=4*1024*1024;bp=new Set});var vp={};se(vp,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>ec,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>bE,DEFAULT_RSP_STORE_PATH:()=>Rp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Za,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>hE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>gE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Xa,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>yE,resolveRspConfig:()=>Ne});import{existsSync as yD,readFileSync as bD}from"node:fs";import{join as wD,resolve as mE}from"node:path";function Ne(e,t,r){let n=yp(mE(e),wD(".red","config.yaml")),s=n?bD(n,"utf8"):"",o=To(s,"rsp.enabled")==="true",i=To(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge(Dt(t.RSP_EPHEMERAL_TTL_HOURS)??_e(s,"rsp.ephemeralTtlHours"),Et),u=Ge(_e(s,"rsp.byteBudget"),kt),d=Ge(_e(s,"rsp.telemetryTtlDays"),Xa),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),Za),f=Ge(Dt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),hE),m=Ge(Dt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),gE),g=_D(Dt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),ec,yE),b=Ge(Dt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=ED(Dt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),bE),E=Ge(Dt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),is),w={maxOverheadMs:Ge(Dt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),Ea),maxSelfStateBytes:Ge(Dt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),ka),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Sa),consecutiveBreaches:Ge(Dt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),Ra),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),va)},k=st(e).rootDir,S=r??t.RSP_STORE_URI??`file://${Sw(mE(k),yD)}`;return{enabled:o,proxyEnabled:a,storeUri:S,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:g,heavyGitByteThreshold:b,measurementHoldoutShare:y,ghEtagCacheMaxBytes:E,overhead:w}}function _e(e,t){let r=To(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Ge(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function _D(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function ED(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function Dt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,Rp,_t,Et,kt,Xa,Za,hE,gE,ec,yE,bE,Ue=_(()=>{"use strict";Va();Xe();Na();we();Qa();ir=8*1024,Rp=Ew,_t=7,Et=6,kt=64*1024*1024,Xa=90,Za=4*1024*1024,hE=3e4,gE=2e3,ec=5*6e4,yE=5e3,bE=0});function wE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),o=s(e,Ne(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var _E=_(()=>{"use strict";Ue()});import{spawn as kD}from"node:child_process";async function kE(e){let{commandLine:t,options:r,cwd:n,registryPath:s,entry:o,signal:i}=e;if(!t.trim())return{verdict:ue("missing command line")};let a=e.store??wE(n),c=rE(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async y=>{u||(u=!0,i.removeEventListener("abort",g),await ja(s,o,y.verdict.status).catch(()=>{}),l(y))},f=kD(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",y=>c.stdout.write(Buffer.from(y))),f.stderr?.on("data",y=>c.stderr.write(Buffer.from(y)));let m=async(y,E)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Xn(f,r.terminateGraceMs),k=await EE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:w.cleaned,survivors:w.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${SE(r.timeoutMs)}`)},r.timeoutMs);f.once("error",y=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:y.message}})}),f.once("close",(y,E)=>{if(clearTimeout(b),u||d)return;let w=y===0;EE(y,E,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function xo(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:SD(l,c,o.last_poll_at)};let u;try{u=await t()}catch(g){u=ue(g instanceof Error?g.message:String(g))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=Tp(u),await rs(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await ja(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await RD(f,i,m)}return await ja(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${SE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Tp(l)}:{attempts:c}}}}async function EE(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 Tp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function SD(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Tp(e)}:{}})}async function RD(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 SE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var RE=_(()=>{"use strict";nE();_E();cn();or();ko()});var vE={};se(vE,{readGhConditionalJson:()=>at,readGhEtagCache:()=>za,sweepGhEtagCache:()=>kp});import{execFileSync as vD}from"node:child_process";async function at(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=OD(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??xD(e.path),path:e.path,actor:TD(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=Ne(t,r),c=go(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 TD(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function xD(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 OD(e){let t="";try{t=String(vD("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 Oo=_(()=>{"use strict";Ue();nr();Qa()});function TE(e){return e==="single-object"?"rest":"graphql"}function xE(e,t){return e==="stable-poll"?"rest":TE(t)}function ct(e){return{none:e}}function de(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??xE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function He(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 AE(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 xp(e){let t=AE(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 CE(e){return AD.get(xp(e))??null}function Op(e){let t=CE(e);if(!t)throw new tc(e);return t}var OE,AD,tc,PE=_(()=>{OE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",ct("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",ct("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",ct("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",ct("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",ct("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",ct("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",ct("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",ct("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",ct("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),He("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues` so filing shares the REST mutation rail"),He("issue edit","rest","rest","the write plan PATCHes labels and body at `repos/{o}/{r}/issues/{n}`"),He("issue close","rest","rest","the write plan PATCHes issue state and state reason at `repos/{o}/{r}/issues/{n}`"),He("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),He("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),He("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),He("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),He("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),He("pr merge","rest","rest","the default merge uses PUT `repos/{o}/{r}/pulls/{n}/merge` so a dry GraphQL pool cannot strand a finished Worker"),He("pr close","graphql","graphql","gh closes with a GraphQL mutation"),He("pr edit","graphql","graphql","gh edits with GraphQL mutations"),He("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),He("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),He("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],AD=new Map(OE.map(e=>[e.key,e]));tc=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=xp(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]}}});function IE(e){return e instanceof as}function rc(e=process.env){let t=e[Ap];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function cs(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new as(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function Ao(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??rc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=CD(n);try{return await cs(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw IE(l)?l:o.aborted&&i?.aborted!==!0?new as(c,r,{cause:l}):l}}}function CD(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var Ap,as,Cp=_(()=>{Ap="RED_GITHUB_REQUEST_TIMEOUT_MS",as=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Ap} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function GE(e){if(e===!0)return"on";if(typeof e!="string")return nc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":nc}function Pp(e){return(e??nc)==="on"}function Ip(e=process.env){return GE(e[LE])}var nc,LE,Lp=_(()=>{nc="off",LE="RED_GITHUB_BUDGET_GATE"});import{execFile as PD}from"node:child_process";import{renameSync as ID,rmSync as LD,statSync as GD,writeFileSync as ND}from"node:fs";import{readdir as U6,readFile as DD,rename as $D,rm as FD,stat as MD,writeFile as BD}from"node:fs/promises";import{promisify as jD}from"node:util";function DE(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function $E(e){return e.code==="ENOENT"}async function ls(e,t,r,n=MD){let s=DE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!$E(i))throw i}return o+t>s}function FE(e,t,r,n=GD){let s=DE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!$E(i))throw i}return o+t>s}async function HD(e,t,r){try{return await qD("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function WD(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function VD(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function JD(e,t){let r=`${e}.retaining-${process.pid}`;try{await BD(r,t,{encoding:"utf8",mode:384}),await $D(r,e)}finally{await FD(r,{force:!0})}}function ME(e,t){let r=`${e}.retaining-${process.pid}`;try{ND(r,t,{encoding:"utf8",mode:384}),ID(r,e)}finally{LD(r,{force:!0})}}async function us(e,t,r={}){WD(t);let n=r.timeoutMs??UD;if(await(r.runTq??HD)(e,t,n))return"tq";let o=await DD(e,"utf8"),i=o.endsWith(`
|
|
52
|
+
`}var nE=_(()=>{"use strict";Qt();ln();So();eE()});import{createWriteStream as XD,mkdirSync as ZD}from"node:fs";import{readFile as e$,rm as t$}from"node:fs/promises";import{dirname as r$}from"node:path";import{join as sE}from"node:path";function oE(e,t,r){return{stdout:new Va(r,sE(e,`${t}.stdout.bin`)),stderr:new Va(r,sE(e,`${t}.stderr.bin`))}}function n$(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!s$(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function s$(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Va,iE=_(()=>{"use strict";Va=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,...n$(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 e$(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{ZD(r$(this.spoolPath),{recursive:!0}),t=XD(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 t$(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as o$,readFileSync as w6}from"node:fs";import{dirname as i$,join as a$}from"node:path";function Ep(e,t){let r=e;for(let n=0;n<16;n++){let s=a$(r,t);if(o$(s))return s;let o=i$(r);if(o===r)break;r=o}return null}function c$(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function xo(e,t){let r=[];for(let n of e.split(`
|
|
53
|
+
`)){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 l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return c$(l)}}var Ja=_(()=>{});var gE={};se(gE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>as,GH_ETAG_CACHE_DIR_NAME:()=>uE,LEGACY_GH_ETAG_CACHE_FILE:()=>dE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>pE,enforceGhEtagCacheCeiling:()=>vp,ghEtagCacheDir:()=>Ka,ghEtagEntryPath:()=>za,isCacheEntry:()=>Qa,legacyGhEtagCachePaths:()=>Rp,migrateLegacyGhEtagCache:()=>xp,readGhEtagCache:()=>Ya,readGhEtagEntry:()=>h$,resetGhEtagCacheMigrationMemo:()=>y$,sweepGhEtagCache:()=>Tp,writeGhEtagEntry:()=>g$});import{existsSync as l$}from"node:fs";import{mkdir as u$,readdir as d$,rename as p$,rm as aE,stat as cE,unlink as lE,writeFile as f$}from"node:fs/promises";import{dirname as m$,join as is}from"node:path";function Ka(e){return is(ce(e),uE)}function za(e,t){return is(Ka(e),`${E$(t)}.toon`)}function Rp(e){let t=ce(e);return[is(t,dE),is(t,pE)]}async function h$(e,t){await xp(e);try{let r=hE(await Oa(za(e,t)));return Qa(r)?r:void 0}catch{return}}async function g$(e,t,r={}){return await mE(za(e,t.key),t),await vp(e,r.maxBytes??as)}async function vp(e,t=as){let r=await w$(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 lE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function Tp(e,t={}){let r=await xp(e,{force:!0}),n=await b$(e);return{...await vp(e,t.maxBytes??as),reclaimedTmp:n,migratedEntries:r}}async function Ya(e){for(let t of Rp(e))try{let r=hE(await Oa(t));if(k$(r))return r}catch{}return{version:1,entries:{}}}async function xp(e,t={}){if(!t.force&&kp.has(e))return 0;kp.add(e);let r=Rp(e).filter(o=>l$(o));if(r.length===0)return 0;let n=await Ya(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Qa(i))continue;let a=za(e,o);await _$(a)||(await mE(a,{...i,key:o}),s+=1)}for(let o of r)await aE(o,{force:!0});return s}function y$(){kp.clear()}async function b$(e){let t=0;for(let r of[ce(e),Ka(e)])for(let n of await fE(r))if(n.endsWith(".tmp"))try{await lE(is(r,n)),t+=1}catch{}return t}async function w$(e){let t=Ka(e),r=[];for(let n of await fE(t)){if(!n.endsWith(".toon"))continue;let s=is(t,n);try{let o=await cE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function fE(e){try{return await d$(e)}catch{return[]}}async function _$(e){try{return await cE(e),!0}catch{return!1}}async function mE(e,t){await u$(m$(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await f$(r,`${M(t)}
|
|
54
|
+
`,{encoding:"utf8",mode:384}),await p$(r,e)}catch(n){throw await aE(r,{force:!0}),n}}function E$(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function hE(e){try{return JSON.parse(e)}catch{return z(e)}}function k$(e){return Sp(e)&&e.version===1&&Sp(e.entries)&&Object.values(e.entries).every(Qa)}function Qa(e){return Sp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function Sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var uE,dE,pE,as,kp,Xa=_(()=>{"use strict";Ze();J();we();uE="gh-etag",dE="gh-etag-cache.toon",pE="gh-etag-cache.json",as=4*1024*1024;kp=new Set});var Ap={};se(Ap,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>tc,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>EE,DEFAULT_RSP_STORE_PATH:()=>Op,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>ec,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>bE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>wE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Za,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>_E,resolveRspConfig:()=>De});import{existsSync as S$,readFileSync as R$}from"node:fs";import{join as v$,resolve as yE}from"node:path";function De(e,t,r){let n=Ep(yE(e),v$(".red","config.yaml")),s=n?R$(n,"utf8"):"",o=xo(s,"rsp.enabled")==="true",i=xo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge($t(t.RSP_EPHEMERAL_TTL_HOURS)??_e(s,"rsp.ephemeralTtlHours"),Et),u=Ge(_e(s,"rsp.byteBudget"),kt),d=Ge(_e(s,"rsp.telemetryTtlDays"),Za),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),ec),f=Ge($t(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),bE),m=Ge($t(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),wE),g=T$($t(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),tc,_E),b=Ge($t(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=x$($t(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),EE),E=Ge($t(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),as),w={maxOverheadMs:Ge($t(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),ka),maxSelfStateBytes:Ge($t(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),Sa),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Ra),consecutiveBreaches:Ge($t(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),va),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Ta)},k=ot(e).rootDir,S=r??t.RSP_STORE_URI??`file://${Tw(yE(k),S$)}`;return{enabled:o,proxyEnabled:a,storeUri:S,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:g,heavyGitByteThreshold:b,measurementHoldoutShare:y,ghEtagCacheMaxBytes:E,overhead:w}}function _e(e,t){let r=xo(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Ge(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function T$(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function x$(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function $t(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,Op,_t,Et,kt,Za,ec,bE,wE,tc,_E,EE,Ue=_(()=>{"use strict";Ja();Ze();$a();we();Xa();ir=8*1024,Op=Rw,_t=7,Et=6,kt=64*1024*1024,Za=90,ec=4*1024*1024,bE=3e4,wE=2e3,tc=5*6e4,_E=5e3,EE=0});function kE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Qn)),o=s(e,De(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var SE=_(()=>{"use strict";Ue()});import{spawn as O$}from"node:child_process";async function vE(e){let{commandLine:t,options:r,cwd:n,registryPath:s,entry:o,signal:i}=e;if(!t.trim())return{verdict:ue("missing command line")};let a=e.store??kE(n),c=oE(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async y=>{u||(u=!0,i.removeEventListener("abort",g),await qa(s,o,y.verdict.status).catch(()=>{}),l(y))},f=O$(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",y=>c.stdout.write(Buffer.from(y))),f.stderr?.on("data",y=>c.stderr.write(Buffer.from(y)));let m=async(y,E)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Zn(f,r.terminateGraceMs),k=await RE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:w.cleaned,survivors:w.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${TE(r.timeoutMs)}`)},r.timeoutMs);f.once("error",y=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:y.message}})}),f.once("close",(y,E)=>{if(clearTimeout(b),u||d)return;let w=y===0;RE(y,E,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function Oo(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:A$(l,c,o.last_poll_at)};let u;try{u=await t()}catch(g){u=ue(g instanceof Error?g.message:String(g))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=Cp(u),await ns(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await qa(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await C$(f,i,m)}return await qa(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${TE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Cp(l)}:{attempts:c}}}}async function RE(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 Cp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function A$(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Cp(e)}:{}})}async function C$(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 TE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var xE=_(()=>{"use strict";iE();SE();ln();or();So()});var OE={};se(OE,{readGhConditionalJson:()=>ct,readGhEtagCache:()=>Ya,sweepGhEtagCache:()=>Tp});import{execFileSync as P$}from"node:child_process";async function ct(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=G$(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??L$(e.path),path:e.path,actor:I$(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=yo(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 I$(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function L$(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 G$(e){let t="";try{t=String(P$("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 Ao=_(()=>{"use strict";Ue();nr();Xa()});function AE(e){return e==="single-object"?"rest":"graphql"}function CE(e,t){return e==="stable-poll"?"rest":AE(t)}function He(e){return{none:e}}function de(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??CE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function We(e,t,r,n,s){let o=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...o,why:n}}function IE(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 Pp(e){let t=IE(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 LE(e){return D$.get(Pp(e))??null}function Ip(e){let t=LE(e);if(!t)throw new rc(e);return t}var PE,D$,rc,GE=_(()=>{PE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",He("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",He("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",He("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",He("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",He("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",He("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",He("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",He("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",He("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),We("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),We("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),We("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),We("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),We("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),We("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",He("linked-branch creation has no REST mutation")),We("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),We("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),We("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),We("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),We("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),We("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",He("GitHub exposes no REST ready-for-review mutation")),We("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),We("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],D$=new Map(PE.map(e=>[e.key,e]));rc=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Pp(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]}}});function DE(e){return e instanceof cs}function nc(e=process.env){let t=e[Lp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function ls(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new cs(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function Co(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??nc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=$$(n);try{return await ls(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw DE(l)?l:o.aborted&&i?.aborted!==!0?new cs(c,r,{cause:l}):l}}}function $$(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var Lp,cs,Gp=_(()=>{Lp="RED_GITHUB_REQUEST_TIMEOUT_MS",cs=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Lp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function NE(e){if(e===!0)return"on";if(typeof e!="string")return sc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":sc}function Dp(e){return(e??sc)==="on"}function $p(e=process.env){return NE(e[$E])}var sc,$E,Np=_(()=>{sc="off",$E="RED_GITHUB_BUDGET_GATE"});import{execFile as N$}from"node:child_process";import{renameSync as F$,rmSync as M$,statSync as B$,writeFileSync as j$}from"node:fs";import{readdir as t5,readFile as q$,rename as U$,rm as H$,stat as W$,writeFile as V$}from"node:fs/promises";import{promisify as J$}from"node:util";function ME(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function BE(e){return e.code==="ENOENT"}async function us(e,t,r,n=W$){let s=ME(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!BE(i))throw i}return o+t>s}function jE(e,t,r,n=B$){let s=ME(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!BE(i))throw i}return o+t>s}async function Y$(e,t,r){try{return await K$("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function Q$(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function X$(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function Z$(e,t){let r=`${e}.retaining-${process.pid}`;try{await V$(r,t,{encoding:"utf8",mode:384}),await U$(r,e)}finally{await H$(r,{force:!0})}}function qE(e,t){let r=`${e}.retaining-${process.pid}`;try{j$(r,t,{encoding:"utf8",mode:384}),F$(r,e)}finally{M$(r,{force:!0})}}async function ds(e,t,r={}){Q$(t);let n=r.timeoutMs??z$;if(await(r.runTq??Y$)(e,t,n))return"tq";let o=await q$(e,"utf8"),i=o.endsWith(`
|
|
55
55
|
`)?o:o.slice(0,o.lastIndexOf(`
|
|
56
|
-
`)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await
|
|
56
|
+
`)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await Z$(e,X$(c)),"js"}var K$,tt,z$,s5,_r,FE,St,fn=_(()=>{J();K$=J$(N$),tt=.5,z$=5e3,s5=256*1024*1024,_r=1024*1024,FE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*_r,maxAgeMs:FE,targetRatio:tt},"github-spend":{maxBytes:8*_r,targetRatio:tt},"github-balance":{maxBytes:64*1024,targetRatio:tt},"github-balance-history":{maxBytes:2*_r,targetRatio:tt},"castle-singleton-events":{maxBytes:2*_r,targetRatio:tt},"rsp-telemetry-spool":{maxBytes:8*_r,targetRatio:tt},"rsp-telemetry-corrections":{maxBytes:_r,targetRatio:tt},"death-attributions":{maxBytes:_r,maxAgeMs:FE,targetRatio:tt},"worker-log":{maxLines:5e4,targetRatio:tt},"worker-liveness":{maxBytes:_r,targetRatio:tt},"castle-history":{maxLines:1e4,targetRatio:tt}}});import{appendFile as eN,mkdir as tN,readFile as UE}from"node:fs/promises";import{dirname as rN}from"node:path";function Mp(e){let t=e.now??(()=>new Date().toISOString()),r=St["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=iN(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(cN(i)),c=s.then(async()=>{await tN(rN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await us(e.path,l,n)){let u=n.maxBytes;if(l>u)throw new Error(`GitHub spend observation exceeds its ${u}-byte lane ceiling`);let d=await nN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await ds(e.path,sN(d,l,p))}await eN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Fp(o.from,"report window start"),a=Fp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await aN(e.path),l=new Map;for(let d of c.observations){let p=Date.parse(d.observed_at);if(p<i||p>=a||o.pool!==void 0&&d.pool!==o.pool)continue;let f=`${d.pool}\0${d.operation_key}\0${d.actor??""}`,m=l.get(f);l.set(f,{operation_key:d.operation_key,pool:d.pool,...d.actor===void 0?{}:{actor:d.actor},count:(m?.count??0)+1,cost:(m?.cost??0)+d.cost})}let u=[...l.values()].sort((d,p)=>p.cost-d.cost||p.count-d.count||d.operation_key.localeCompare(p.operation_key)||d.pool.localeCompare(p.pool)||(d.actor??"").localeCompare(p.actor??""));return{version:1,origin:"process-attribution",window:{from:o.from,to:o.to},pool:o.pool??null,total_count:u.reduce((d,p)=>d+p.count,0),total_cost:u.reduce((d,p)=>d+p.cost,0),operations:u,unreadable_records:c.unreadable}}}}async function nN(e){try{let t=await UE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(HE(t)&&t.code==="ENOENT")return[];throw t}}function sN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=oN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function oN(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function iN(e,t,r,n,s){if(Fp(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,...s===void 0?{}:{identity:s},pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function aN(e){let t;try{t=await UE(e,"utf8")}catch(o){if(HE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
|
|
57
57
|
`);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=Oe(`${i}
|
|
58
58
|
${a}
|
|
59
|
-
`)[0]}catch{n+=1,o+=1;continue}if(!
|
|
60
|
-
`+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(
|
|
61
|
-
`+n.repeat(d)+
|
|
62
|
-
`+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},lk=(e,t,r)=>{try{return"rawJSON"in JSON?kr(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?kr(e,(a,c)=>typeof c=="string"&&ic.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(sk,"$1$2$3").replace(ok,"$1$2$3"):kr(e,t,r)}catch(n){if(n instanceof RangeError){let s=O$(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(sk,"$1$2$3").replace(ok,"$1$2$3")}throw n}},oc=new Map,A$=()=>{let e=JSON.parse.toString();if(oc.has(e))return oc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return oc.set(e,t),t}catch{return oc.set(e,!1),!1}},C$=(e,t,r,n)=>typeof t=="string"&&ck.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&ic.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,P$=(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&&x$.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),uk=Number.MAX_SAFE_INTEGER.toString(),ik=uk.length,I$=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,L$=/^"-?\d+n+"$/,G$=(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"&&(ck.test(a)?a=BigInt(a.slice(0,-1)):ic.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[""]},ak=e=>e.replace(I$,(t,r,n,s)=>{let o=t[0]==='"';if(o&&L$.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<ik||r.length===ik&&r<=uk);return o||a||c?t:'"'+t+'n"'}),dk=(e,t)=>{if(!e)return jp(e,t);try{if(A$())return P$(e,t);let r=ak(e);return jp(r,(n,s,o)=>C$(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=ak(e),s=jp(n);return G$(s,t)}throw r}}});var Rt,ac=_(()=>{Rt=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 $$(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 mk(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=$$(e.body)||Array.isArray(e.body)?lk(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 f=new Rt(p,500,{request:e});throw f.cause=d,f}let a=i.status,c=i.url,l={};for(let[d,p]of i.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.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 ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Rt(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Hp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Hp(i),new Rt(M$(u.data),a,{response:u,request:e});return u.data=n?await Hp(i):i.body,u}async function Hp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(fk);let r=(0,hk.parse)(t);if(F$(r)){let n="";try{return n=await e.text(),dk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(fk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function F$(e){return e.type==="application/json"||e.type==="application/scim+json"}function M$(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 Wp(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 mk(r.parse(i));let a=(c,l)=>mk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:Wp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Wp.bind(null,r)})}var hk,N$,D$,fk,te,De=_(()=>{YE();ar();hk=sa(nk(),1);pk();ac();N$="10.0.13",D$={headers:{"user-agent":`octokit-request.js/${N$} ${Ae()}`}};fk=()=>"";te=Wp(zE,D$);});function B$(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?"https://github.com":/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace("api.",""):t.baseUrl.replace("/api/v3","")}async function cc(e,t,r){let n={baseUrl:B$(e),headers:{accept:"application/json"},...r},s=await e(t,n);if("error"in s.data){let o=new Rt(`${s.data.error_description} (${s.data.error}, ${s.data.error_uri})`,400,{request:e.endpoint.merge(t,n)});throw o.response=s,o}return s}async function wk(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=gk(s,r.data.expires_in),n.refreshTokenExpiresAt=gk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function gk(e,t){return new Date(e+t*1e3).toISOString()}async function _k(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),cc(t,"POST /login/device/code",r)}async function Vp(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,device_code:e.code,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),n={clientType:e.clientType,clientId:e.clientId,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if("clientSecret"in e&&(n.clientSecret=e.clientSecret),e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=yk(s,r.data.expires_in),n.refreshTokenExpiresAt=yk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function yk(e,t){return new Date(e+t*1e3).toISOString()}async function Ek(e){let r=await(e.request||te)("POST /applications/{client_id}/token",{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.token,scopes:r.data.scopes};return r.data.expires_at&&(n.expiresAt=r.data.expires_at),e.clientType==="github-app"&&delete n.scopes,{...r,authentication:n}}async function kk(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:e.refreshToken}),n=new Date(r.headers.date).getTime(),s={clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,refreshToken:r.data.refresh_token,expiresAt:bk(n,r.data.expires_in),refreshTokenExpiresAt:bk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function bk(e,t){return new Date(e+t*1e3).toISOString()}async function Sk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`),n=await t("PATCH /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token}),s={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:n.data.token,scopes:n.data.scopes};return n.data.expires_at&&(s.expiresAt=n.data.expires_at),e.clientType==="github-app"&&delete s.scopes,{...n,authentication:s}}async function Rk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}async function vk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var lc=_(()=>{ac();De();De();De();De();De();De();De();De();});async function xk(e,t){let r=j$(e,t.auth);if(r)return r;let{data:n}=await _k({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Jp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function j$(e,t){if(t.refresh===!0||!e.authentication)return!1;if(e.clientType==="github-app")return e.authentication;let r=e.authentication,n=("scopes"in t&&t.scopes||e.scopes).join(" "),s=r.scopes.join(" ");return n===s?r:!1}async function Tk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Jp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Vp({...s,clientType:"oauth-app"}):await Vp({...s,clientType:"github-app"});return{type:"token",tokenType:"oauth",...o}}catch(s){if(!s.response)throw s;let o=s.response.data.error;if(o==="authorization_pending")return await Tk(n.interval),Jp(e,t,r,n);if(o==="slow_down")return await Tk(n.interval+7),Jp(e,t,r,n);throw s}}async function q$(e,t){return xk(e,{auth:t})}async function U$(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);let{token:o}=await xk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Ok(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${H$} ${Ae()}`}}),{request:r=t,...n}=e,s=e.clientType==="github-app"?{...n,clientType:"github-app",request:r}:{...n,clientType:"oauth-app",request:r,scopes:e.scopes||[]};if(!e.clientId)throw new Error('[@octokit/auth-oauth-device] "clientId" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)');if(!e.onVerification)throw new Error('[@octokit/auth-oauth-device] "onVerification" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)');return Object.assign(q$.bind(null,s),{hook:U$.bind(null,s)})}var H$,Ak=_(()=>{ar();De();lc();H$="0.0.0-development";});async function Ck(e){if("code"in e.strategyOptions){let{authentication:t}=await wk({clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request});return{type:"token",tokenType:"oauth",...t}}if("onVerification"in e.strategyOptions){let r=await Ok({clientType:e.clientType,clientId:e.clientId,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request})({type:"oauth"});return{clientSecret:e.clientSecret,...r}}if("token"in e.strategyOptions)return{type:"token",tokenType:"oauth",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions};throw new Error("[@octokit/auth-oauth-user] Invalid strategy options")}async function Kp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Ck(e):await Ck(e)),e.authentication.invalid)throw new Error("[@octokit/auth-oauth-user] Token is invalid");let r=e.authentication;if("expiresAt"in r&&(t.type==="refresh"||new Date(r.expiresAt)<new Date)){let{authentication:n}=await kk({clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:r.refreshToken,request:e.request});e.authentication={tokenType:"oauth",type:"token",...n}}if(t.type==="refresh"){if(e.clientType==="oauth-app")throw new Error("[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens");if(!r.hasOwnProperty("expiresAt"))throw new Error("[@octokit/auth-oauth-user] Refresh token missing");await e.onTokenCreated?.(e.authentication,{type:t.type})}if(t.type==="check"||t.type==="reset"){let n=t.type==="check"?Ek:Sk;try{let{authentication:s}=await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request});return e.authentication={tokenType:"oauth",type:"token",...s},t.type==="reset"&&await e.onTokenCreated?.(e.authentication,{type:t.type}),e.authentication}catch(s){throw s.status===404&&(s.message="[@octokit/auth-oauth-user] Token is invalid",e.authentication.invalid=!0),s}}if(t.type==="delete"||t.type==="deleteAuthorization"){let n=t.type==="delete"?Rk:vk;try{await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request})}catch(s){if(s.status!==404)throw s}return e.authentication.invalid=!0,e.authentication}return e.authentication}function Po(e){return e&&W$.test(e)}async function V$(e,t,r,n={}){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(Po(s.url)){let i=btoa(`${e.clientId}:${e.clientSecret}`);return s.headers.authorization=`basic ${i}`,t(s)}let{token:o}=e.clientType==="oauth-app"?await Kp({...e,request:t}):await Kp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function uc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Pk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Kp.bind(null,i),{hook:V$.bind(null,i)})}var Pk,W$,dc=_(()=>{ar();De();Ak();lc();lc();Pk="0.0.0-development";W$=/\/applications\/[^/]+\/(token|grant)s?/;uc.VERSION=Pk;});async function J$(e,t){if(t.type==="oauth-app")return{type:"oauth-app",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if("factory"in t){let{type:s,...o}={...t,...e};return t.factory(o)}let r={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType==="oauth-app"?await uc({...r,clientType:e.clientType}):await uc({...r,clientType:e.clientType}))()}async function K$(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(e.clientType==="github-app"&&!Po(s.url))throw new Error(`[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${s.method} ${s.url}" is not supported.`);let o=btoa(`${e.clientId}:${e.clientSecret}`);s.headers.authorization=`basic ${o}`;try{return await t(s)}catch(i){throw i.status!==401||(i.message=`[@octokit/auth-oauth-app] "${s.method} ${s.url}" does not support clientId/clientSecret basic authentication.`),i}}function Ik(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${z$} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(J$.bind(null,t),{hook:K$.bind(null,t)})}var z$,Lk=_(()=>{ar();De();dc();dc();z$="0.0.0-development";});function pc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Nk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function zp(e){let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0,s=e.length;n<s;n++)r[n]=e.charCodeAt(n);return t}function Dk(e){let t=e.trim().split(`
|
|
63
|
-
`).slice(1,-1).join(""),r=atob(t);return
|
|
64
|
-
`),s=r-30,o=s+60*10,a=await qk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Hk=_(()=>{Uk()});function Q$(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid max value");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid ttl value")}var fc,Wk=_(()=>{fc=class{constructor(t=1e3,r=0){Q$(t,r),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){let r=this.items[t];r!==void 0&&(delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev))}deleteMany(t){for(var r=0;r<t.length;r++)this.delete(t[r])}evict(){if(this.size>0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){let r=this.items[t];if(r!==void 0)return r.expiry}get(t){let r=this.items[t];if(r!==void 0){if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=new Array(t.length);for(var n=0;n<t.length;n++)r[n]=this.get(t[n]);return r}keys(){return Object.keys(this.items)}set(t,r){let n=this.items[t];if(n!==void 0){n.value=r,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let s={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=s,++this.size===1?this.first=s:this.last.next=s,this.last=s}}});async function hc({appId:e,privateKey:t,timeDifference:r,createJwt:n}){try{if(n){let{jwt:i,expiresAt:a}=await n(e,r);return{type:"app",token:i,appId:e,expiresAt:a}}let s={id:e,privateKey:t};r&&Object.assign(s,{now:Math.floor(Date.now()/1e3)+r});let o=await Xp(s);return{type:"app",token:o.token,appId:o.appId,expiresAt:new Date(o.expiration*1e3).toISOString()}}catch(s){throw t==="-----BEGIN RSA PRIVATE KEY-----"?new Error("The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"):s}}function X$(){return new fc(15e3,1e3*60*59)}async function Z$(e,t){let r=Zp(t),n=await e.get(r);if(!n)return;let[s,o,i,a,c,l]=n.split("|"),u=t.permissions||c.split(/,/).reduce((d,p)=>(/!$/.test(p)?d[p.slice(0,-1)]="write":d[p]="read",d),{});return{token:s,createdAt:o,expiresAt:i,permissions:u,repositoryIds:t.repositoryIds,repositoryNames:t.repositoryNames,singleFileName:l,repositorySelection:a}}async function eF(e,t,r){let n=Zp(t),s=t.permissions?"":Object.keys(r.permissions).map(i=>`${i}${r.permissions[i]==="write"?"!":""}`).join(","),o=[r.token,r.createdAt,r.expiresAt,r.repositorySelection,s,r.singleFileName].join("|");await e.set(n,o)}function Zp({installationId:e,permissions:t={},repositoryIds:r=[],repositoryNames:n=[]}){let s=Object.keys(t).sort().map(a=>t[a]==="read"?a:`${a}!`).join(","),o=r.sort().join(","),i=n.join(",");return[e,o,i,s].filter(Boolean).join("|")}function Vk({installationId:e,token:t,createdAt:r,expiresAt:n,repositorySelection:s,permissions:o,repositoryIds:i,repositoryNames:a,singleFileName:c}){return Object.assign({type:"token",tokenType:"installation",token:t,installationId:e,permissions:o,createdAt:r,expiresAt:n,repositorySelection:s},i?{repositoryIds:i}:null,a?{repositoryNames:a}:null,c?{singleFileName:c}:null)}async function Jk(e,t,r){let n=Number(t.installationId||e.installationId);if(!n)throw new Error("[@octokit/auth-app] installationId option is required for installation authentication.");if(t.factory){let{type:o,factory:i,oauthApp:a,...c}={...e,...t};return i(c)}let s=r||e.request;return tF(e,{...t,installationId:n},s)}function tF(e,t,r){let n=Zp(t);if(mc.has(n))return mc.get(n);let s=rF(e,t,r).finally(()=>mc.delete(n));return mc.set(n,s),s}async function rF(e,t,r){if(!t.refresh){let E=await Z$(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return Vk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await hc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await eF(e.cache,t,b);let y={installationId:t.installationId,token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};return u&&Object.assign(y,{singleFileName:u}),Vk(y)}async function nF(e,t){switch(t.type){case"app":return hc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Jk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function oF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function aF(e){return!!e&&iF.test(e.split("?")[0])}function lF(e){return!(e.message.match(/'Expiration time' claim \('exp'\) is too far in the future/)||e.message.match(/'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/)||e.message.match(/'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/))}async function uF(e,t,r,n){let s=t.endpoint.merge(r,n),o=s.url;if(/\/login\/oauth\/access_token$/.test(o))return t(s);if(aF(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await hc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(lF(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await hc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Po(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await Jk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Kk(e,t,s,a)}async function Kk(e,t,r,n,s=0){let o=+new Date-+new Date(n);try{return await t(r)}catch(i){if(i.status!==401)throw i;if(o>=cF)throw s>0&&(i.message=`After ${s} retries within ${o/1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`),i;++s;let a=s*1e3;return e.log.warn(`[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${s}, wait: ${a/1e3}s)`),await new Promise(c=>setTimeout(c,a)),Kk(e,t,r,n,s)}}function zk(e){if(!e.appId)throw new Error("[@octokit/auth-app] appId option is required");if(!e.privateKey&&!e.createJwt)throw new Error("[@octokit/auth-app] privateKey option is required");if(e.privateKey&&e.createJwt)throw new Error("[@octokit/auth-app] privateKey and createJwt options are mutually exclusive");if("installationId"in e&&!e.installationId)throw new Error("[@octokit/auth-app] installationId is set to a falsy value");let t=e.log||{};typeof t.warn!="function"&&(t.warn=console.warn.bind(console));let r=e.request||te.defaults({headers:{"user-agent":`octokit-auth-app.js/${dF} ${Ae()}`}}),n=Object.assign({request:r,cache:X$()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Ik({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(nF.bind(null,n),{hook:uF.bind(null,n)})}var mc,sF,iF,cF,dF,Yk=_(()=>{ar();De();Lk();Hk();Wk();dc();mc=new Map;sF=["/app","/app/hook/config","/app/hook/deliveries","/app/hook/deliveries/{delivery_id}","/app/hook/deliveries/{delivery_id}/attempts","/app/installations","/app/installations/{installation_id}","/app/installations/{installation_id}/access_tokens","/app/installations/{installation_id}/suspended","/app/installation-requests","/marketplace_listing/accounts/{account_id}","/marketplace_listing/plan","/marketplace_listing/plans","/marketplace_listing/plans/{plan_id}/accounts","/marketplace_listing/stubbed/accounts/{account_id}","/marketplace_listing/stubbed/plan","/marketplace_listing/stubbed/plans","/marketplace_listing/stubbed/plans/{plan_id}/accounts","/orgs/{org}/installation","/repos/{owner}/{repo}/installation","/users/{username}/installation","/enterprises/{enterprise}/installation"];iF=oF(sF);cF=5*1e3;dF="8.3.0";});var rf=I((ef,tf)=>{(function(e,t){typeof ef=="object"&&typeof tf<"u"?tf.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(ef,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=$[v])!=null?x:A;return h},n=function($,R,h={}){var v,x;for(v in $)x=$[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,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=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,D;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return D=typeof A.cb=="function"?A.cb(...h):void 0,typeof D?.then=="function"?await D:D}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(x)).find(function(A){return A!=null}))}catch(A){return v=A,this.trigger("error",v),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(R){var h;this.Events=new u(this),this._length=0,this._lists=function(){var v,x,A;for(A=[],h=v=1,x=R;1<=x?v<=x:v>=x;h=1<=x?++v:--v)A.push(new l(()=>this.incr(),()=>this.decr()));return A}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(R){return this._lists[R.options.priority].push(R)}queued(R){return R!=null?this._lists[R].length:this._length}shiftAll(R){return this._lists.forEach(function(h){return h.forEachShift(R)})}getFirst(R=this._lists){var h,v,x;for(h=0,v=R.length;h<v;h++)if(x=R[h],x.length>0)return x;return[]}shiftLastFrom(R){return this.getFirst(this._lists.slice(R).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,g,b,y,E,w;E=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,D,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=D,this.Promise=Z,this.options=w.load(v,x),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===x.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((be,Re)=>{this._resolve=be,this._reject=Re}),this.retryCount=0}_sanitizePriority(R){var h;return h=~~R!==R?b:R,h<0?0:h>E-1?E-1:h}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:R,message:h="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(R??new g(h)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(R){var h;if(h=this._states.jobStatus(this.options.id),!(h===R||R==="DONE"&&h===null))throw new g(`Invalid job status ${h}, expected ${R}. 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(R,h){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:R,blocked:h})}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(R,h,v,x){var A,P,D;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(D=await(R!=null?R.schedule(this.options,this.task,...this.args):this.task(...this.args)),h())return this.doDone(P),await x(this.options,P),this._assertStatus("DONE"),this._resolve(D)}catch(Z){return A=Z,this._onFailure(A,P,h,v,x)}}doExpire(R,h,v){var x,A;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),A={args:this.args,options:this.options,retryCount:this.retryCount},x=new g(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(x,A,R,h,v)}async _onFailure(R,h,v,x,A){var P,D;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(D=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${D} ms`,h),this.retryCount++,x(D)):(this.doDone(h),await A(this.options,h),this._assertStatus("DONE"),this._reject(R))}doDone(R){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",R)}};var k=y,S,T,C;C=s,S=m,T=class{constructor(R,h,v){this.instance=R,this.storeOptions=h,this.clientId=this.instance._randomIndex(),C.load(v,v,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 R;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(R=this.heartbeat=setInterval(()=>{var h,v,x,A,P;if(A=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&A>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=A,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&A>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:h,reservoirIncreaseMaximum:x,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=A,v=x!=null?Math.min(h,x-P):h,v>0))return this.storeOptions.reservoir+=v,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?R.unref():void 0:clearInterval(this.heartbeat)}async __publish__(R){return await this.yieldLoop(),this.instance.Events.trigger("message",R.toString())}async __disconnect__(R){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(R=0){return new this.Promise(function(h,v){return setTimeout(h,R)})}computePenalty(){var R;return(R=this.storeOptions.penalty)!=null?R:15*this.storeOptions.minTime||5e3}async __updateSettings__(R){return await this.yieldLoop(),C.overwrite(R,R,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__(R){return await this.yieldLoop(),this._nextRequest+this.timeout<R}computeCapacity(){var R,h;return{maxConcurrent:R,reservoir:h}=this.storeOptions,R!=null&&h!=null?Math.min(R-this._running,h):R!=null?R-this._running:h??null}conditionsCheck(R){var h;return h=this.computeCapacity(),h==null||R<=h}async __incrementReservoir__(R){var h;return await this.yieldLoop(),h=this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity()),h}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(R){return this._unblockTime>=R}check(R,h){return this.conditionsCheck(R)&&this._nextRequest-h<=0}async __check__(R){var h;return await this.yieldLoop(),h=Date.now(),this.check(R,h)}async __register__(R,h,v){var x,A;return await this.yieldLoop(),x=Date.now(),this.conditionsCheck(h)?(this._running+=h,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=h),A=Math.max(this._nextRequest-x,0),this._nextRequest=x+A+this.storeOptions.minTime,{success:!0,wait:A,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(R,h){var v,x,A;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&h>this.storeOptions.maxConcurrent)throw new S(`Impossible to add a job having a weight of ${h} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return x=Date.now(),A=this.storeOptions.highWater!=null&&R===this.storeOptions.highWater&&!this.check(h,x),v=this.strategyIsBlock()&&(A||this.isBlocked(x)),v&&(this._unblockTime=x+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:A,blocked:v,strategy:this.storeOptions.strategy}}async __free__(R,h){return await this.yieldLoop(),this._running-=h,this._done+=h,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,G,q;G=m,q=class{constructor(R){this.status=R,this._jobs={},this.counts=this.status.map(function(){return 0})}next(R){var h,v;if(h=this._jobs[R],v=h+1,h!=null&&v<this.status.length)return this.counts[h]--,this.counts[v]++,this._jobs[R]++;if(h!=null)return this.counts[h]--,delete this._jobs[R]}start(R){var h;return h=0,this._jobs[R]=h,this.counts[h]++}remove(R){var h;return h=this._jobs[R],h!=null&&(this.counts[h]--,delete this._jobs[R]),h!=null}jobStatus(R){var h;return(h=this.status[this._jobs[R]])!=null?h:null}statusJobs(R){var h,v,x,A,P;if(R!=null){if(v=this.status.indexOf(R),v<0)throw new G(`status must be one of ${this.status.join(", ")}`);x=this._jobs,A=[];for(h in x)P=x[h],P===v&&A.push(h);return A}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((R,h,v)=>(R[this.status[v]]=h,R),{})}};var Q=q,V,N;V=i,N=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new V}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,D;if(this._running<1&&this._queue.length>0)return this._running++,{task:D,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await D(...R),function(){return A(P)}}catch(Z){return v=Z,function(){return x(v)}}}(),this._running--,this._tryToRun(),h()}schedule(R,...h){var v,x,A;return A=x=null,v=new this.Promise(function(P,D){return A=P,x=D}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=N,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Vt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Jt,Dn,mr;mr=s,It=c,Jt=L,Me=U,Dn=Vt,Fe=function(){class ${constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=By,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Jt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Me(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(h=""){var v;return(v=this.instances[h])!=null?v:(()=>{var x;return x=this.instances[h]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${h}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",x,h),x})()}async deleteKey(h=""){var v,x;return x=this.instances[h],this.connection&&(v=await this.connection.__runCommand__(["del",...Dn.allKeys(`${this.id}-${h}`)])),x!=null&&(delete this.instances[h],await x.disconnect()),x!=null||v>0}limiters(){var h,v,x,A;v=this.instances,x=[];for(h in v)A=v[h],x.push({key:h,limiter:A});return x}keys(){return Object.keys(this.instances)}async clusterKeys(){var h,v,x,A,P,D,Z,be,Re;if(this.connection==null)return this.Promise.resolve(this.keys());for(D=[],h=null,Re=`b_${this.id}-`.length,v=9;h!==0;)for([be,x]=await this.connection.__runCommand__(["scan",h??0,"match",`b_${this.id}-*_settings`,"count",1e4]),h=~~be,A=0,Z=x.length;A<Z;A++)P=x[A],D.push(P.slice(Re,-v));return D}_startAutoCleanup(){var h;return clearInterval(this.interval),typeof(h=this.interval=setInterval(async()=>{var v,x,A,P,D,Z;D=Date.now(),A=this.instances,P=[];for(x in A){Z=A[x];try{await Z._store.__groupCheck__(D)?P.push(this.deleteKey(x)):P.push(void 0)}catch(be){v=be,P.push(Z.Events.trigger("error",v))}}return P},this.timeout/2)).unref=="function"?h.unref():void 0}updateSettings(h={}){if(mr.overwrite(h,this.defaults,this),mr.overwrite(h,h,this.limiterOptions),h.timeout!=null)return this._startAutoCleanup()}disconnect(h=!0){var v;if(!this.sharedConnection)return(v=this.connection)!=null?v.disconnect(h):void 0}}return $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var Js=Fe,zr,Ks,Iy;Iy=s,Ks=c,zr=function(){class ${constructor(h={}){this.options=h,Iy.load(this.options,this.defaults,this),this.Events=new Ks(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var bP=zr,wP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),_P=t(me),Ly,Gy,Fu,Mu,Ny,Bu,Dy,$y,Fy,ju,Lt,My=[].splice;Bu=10,Gy=5,Lt=s,Dy=p,Mu=k,Ny=O,$y=wP,Fu=c,Fy=Q,ju=H,Ly=function(){class ${constructor(h={},...v){var x,A;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(h,v),Lt.load(h,this.instanceDefaults,this),this._queues=new Dy(Bu),this._scheduled={},this._states=new Fy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Fu(this),this._submitLock=new ju("submit",this.Promise),this._registerLock=new ju("register",this.Promise),A=Lt.load(h,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return x=Lt.load(h,this.redisStoreDefaults,{}),new $y(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Ny(this,A,x);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(h,v){if(!(h!=null&&typeof h=="object"&&v.length===0))throw new $.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(h){return this._store.__publish__(h)}disconnect(h=!0){return this._store.__disconnect__(h)}chain(h){return this._limiter=h,this}queued(h){return this._queues.queued(h)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(h){return this._states.jobStatus(h)}jobs(h){return this._states.statusJobs(h)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(h=1){return this._store.__check__(h)}_clearGlobalState(h){return this._scheduled[h]!=null?(clearTimeout(this._scheduled[h].expiration),delete this._scheduled[h],!0):!1}async _free(h,v,x,A){var P,D;try{if({running:D}=await this._store.__free__(h,x.weight),this.Events.trigger("debug",`Freed ${x.id}`,A),D===0&&this.empty())return this.Events.trigger("idle")}catch(Z){return P=Z,this.Events.trigger("error",P)}}_run(h,v,x){var A,P,D;return v.doRun(),A=this._clearGlobalState.bind(this,h),D=this._run.bind(this,h,v),P=this._free.bind(this,h,v),this._scheduled[h]={timeout:setTimeout(()=>v.doExecute(this._limiter,A,D,P),x),expiration:v.options.expiration!=null?setTimeout(function(){return v.doExpire(A,D,P)},x+v.options.expiration):void 0,job:v}}_drainOne(h){return this._registerLock.schedule(()=>{var v,x,A,P,D;return this.queued()===0?this.Promise.resolve(null):(D=this._queues.getFirst(),{options:P,args:v}=A=D.first(),h!=null&&P.weight>h?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:v,options:P}),x=this._randomIndex(),this._store.__register__(x,P.weight,P.expiration).then(({success:Z,wait:be,reservoir:Re})=>{var zs;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?(D.shift(),zs=this.empty(),zs&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",zs),this._run(x,A,be),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(h,v=0){return this._drainOne(h).then(x=>{var A;return x!=null?(A=h!=null?h-x:h,this._drainAll(A,v+x)):this.Promise.resolve(v)}).catch(x=>this.Events.trigger("error",x))}_dropAllQueued(h){return this._queues.shiftAll(function(v){return v.doDrop({message:h})})}stop(h={}){var v,x;return h=Lt.load(h,this.stopDefaults),x=A=>{var P;return P=()=>{var D;return D=this._states.counts,D[0]+D[1]+D[2]+D[3]===A},new this.Promise((D,Z)=>P()?D():this.on("done",()=>{if(P())return this.removeAllListeners("done"),D()}))},v=h.dropWaitingJobs?(this._run=function(A,P){return P.doDrop({message:h.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var A,P,D;P=this._scheduled;for(A in P)D=P[A],this.jobStatus(D.job.options.id)==="RUNNING"&&(clearTimeout(D.timeout),clearTimeout(D.expiration),D.job.doDrop({message:h.dropErrorMessage}));return this._dropAllQueued(h.dropErrorMessage),x(0)}))):this.schedule({priority:Bu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new $.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,D,Z,be;({args:v,options:P}=h);try{({reachedHWM:D,blocked:x,strategy:be}=await this._store.__submit__(this.queued(),P.weight))}catch(Re){return A=Re,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:v,options:P,error:A}),h.doDrop({error:A}),!1}return x?(h.doDrop(),!0):D&&(Z=be===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===$.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===$.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),D):(h.doQueue(D,x),this._queues.push(h),await this._drainAll(),D)}_receive(h){return this._states.jobStatus(h.options.id)!=null?(h._reject(new $.prototype.BottleneckError(`A job with the same id already exists (id=${h.options.id})`)),!1):(h.doReceive(),this._submitLock.schedule(this._addToQueue,h))}submit(...h){var v,x,A,P,D,Z,be;return typeof h[0]=="function"?(D=h,[x,...h]=D,[v]=My.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=My.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(zs,kP){return x(...Re,function(...jy){return(jy[0]!=null?kP:zs)(jy)})}),A=new Mu(be,h,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),A.promise.then(function(Re){return typeof v=="function"?v(...Re):void 0}).catch(function(Re){return Array.isArray(Re)?typeof v=="function"?v(...Re):void 0:typeof v=="function"?v(Re):void 0}),this._receive(A)}schedule(...h){var v,x,A;return typeof h[0]=="function"?([A,...h]=h,x={}):[x,A,...h]=h,v=new Mu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return $.default=$,$.Events=Fu,$.version=$.prototype.version=_P.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=Js,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=U,$.Batcher=$.prototype.Batcher=bP,$.prototype.jobDefaults={priority:Gy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var By=Ly,EP=By;return EP})});function fF(e){return e.request!==void 0}async function Qk(e,t,r,n){if(!fF(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 mF(e,t,r,n){let s=new Xk.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(hF.bind(null,e,t,r),n)}async function hF(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 Rt(s.data.errors[0].message,500,{request:n,response:s});return Qk(e,t,o,n)}return s}function nf(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",Qk.bind(null,r,n)),e.hook.wrap("request",mF.bind(null,r,n))),n}var Xk,pF,Zk=_(()=>{Xk=sa(rf(),1);ac();pF="0.0.0-development";nf.VERSION=pF});import{readFileSync as gF}from"node:fs";function sf(e){try{return gF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var gc=_(()=>{});function bF(e,t,r){return e.retryLimiter.schedule(wF,e,t,r)}async function wF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=_F(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),l=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(l.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(l,of),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,of),i&&await e.search.key(e.id).schedule(l,of);let u=(s?e.auth:e.global).key(e.id).schedule(l,t,r);if(a){let d=await u;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 u}function _F(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 kF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function yc(e,t){let{enabled:r=!0,Bottleneck:n=tS.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:rS,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
|
|
59
|
+
`)[0]}catch{n+=1,o+=1;continue}if(!lN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function cN(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,...e.identity===void 0?{}:{identity:e.identity},pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function lN(e){return uN(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 Fp(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 uN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function HE(e){return e instanceof Error&&"code"in e}var WE=_(()=>{fn();J()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var ar=_(()=>{});function mN(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function hN(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)}function KE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{hN(t[n])?n in e?r[n]=KE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function VE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function jp(e,t,r){if(typeof t=="string"){let[s,o]=t.split(" ");r=Object.assign(o?{method:s,url:o}:{url:s},r)}else r=Object.assign({},t);r.headers=mN(r.headers),VE(r),VE(r.headers);let n=KE(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(n.mediaType.previews=e.mediaType.previews.filter(s=>!n.mediaType.previews.includes(s)).concat(n.mediaType.previews)),n.mediaType.previews=(n.mediaType.previews||[]).map(s=>s.replace(/-preview/,""))),n}function gN(e,t){let r=/\?/.test(e)?"&":"?",n=Object.keys(t);return n.length===0?e:e+r+n.map(s=>s==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${s}=${encodeURIComponent(t[s])}`).join("&")}function bN(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function wN(e){let t=e.match(yN);return t?t.map(bN).reduce((r,n)=>r.concat(n),[]):[]}function JE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function zE(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function fs(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Po(e,t,r){return t=e==="+"||e==="#"?zE(t):fs(t),r?fs(r)+"="+t:t}function ps(e){return e!=null}function Bp(e){return e===";"||e==="&"||e==="?"}function _N(e,t,r,n){var s=e[r],o=[];if(ps(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),o.push(Po(t,s,Bp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ps).forEach(function(i){o.push(Po(t,i,Bp(t)?r:""))}):Object.keys(s).forEach(function(i){ps(s[i])&&o.push(Po(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(ps).forEach(function(a){i.push(Po(t,a))}):Object.keys(s).forEach(function(a){ps(s[a])&&(i.push(fs(a)),i.push(Po(t,s[a].toString())))}),Bp(t)?o.push(fs(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?ps(s)&&o.push(fs(r)):s===""&&(t==="&"||t==="?")?o.push(fs(r)+"="):s===""&&o.push("");return o}function EN(e){return{expand:kN.bind(null,e)}}function kN(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(n,s,o){if(s){let a="",c=[];if(r.indexOf(s.charAt(0))!==-1&&(a=s.charAt(0),s=s.substr(1)),s.split(/,/g).forEach(function(l){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(l);c.push(_N(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var i=",";return a==="?"?i="&":a!=="#"&&(i=a),(c.length!==0?a:"")+c.join(i)}else return c.join(",")}else return zE(o)}),e==="/"?e:e.replace(/\/$/,"")}function YE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=JE(e,["method","baseUrl","url","headers","request","mediaType"]),i=wN(r);r=EN(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=JE(o,a);if(!/application\/octet-stream/i.test(n.accept)&&(e.mediaType.format&&(n.accept=n.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=n.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];n.accept=u.concat(e.mediaType.previews).map(d=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${d}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=gN(r,c):"data"in c?s=c.data:Object.keys(c).length&&(s=c),!n["content-type"]&&typeof s<"u"&&(n["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof s>"u"&&(s=""),Object.assign({method:t,url:r,headers:n},typeof s<"u"?{body:s}:null,e.request?{request:e.request}:null)}function SN(e,t,r){return YE(jp(e,t,r))}function QE(e,t){let r=jp(e,t),n=SN.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:QE.bind(null,r),merge:jp.bind(null,r),parse:YE})}var dN,pN,fN,yN,XE,ZE=_(()=>{ar();dN="0.0.0-development",pN=`octokit-endpoint.js/${dN} ${Ae()}`,fN={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":pN},mediaType:{format:""}};yN=/\{[^{}}]+\}/g;XE=QE(null,fN)});var ik=I(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.format=xN;oc.parse=ON;var RN=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,tk=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,vN=/[\\"]/g,TN=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,rk=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function xN(e){let{type:t,parameters:r}=e;if(!t||!TN.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!tk.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${IN(r[s])}`}return n}function ON(e,t){let r=e.length,n=Up(e,0,r),s=n;n=qp(e,n,r);let o=Hp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new rk:PN(e,n,r);return{type:i,parameters:a}}var nk=32,sk=9,ok=59,AN=61,ek=34,CN=92;function PN(e,t,r){let n=new rk;e:for(;t<r;){t=Up(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===ok)continue e;if(o===AN){let i=Hp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Up(e,t+1,r),t<r&&e.charCodeAt(t)===ek){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===ek){t=qp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===CN&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=qp(e,t,r),n[a]===void 0){let l=Hp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function qp(e,t,r){for(;t<r&&e.charCodeAt(t)!==ok;)t++;return t}function Up(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==nk&&n!==sk)break;t++}return t}function Hp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==nk&&n!==sk)break;r--}return r}function IN(e){if(tk.test(e))return e;if(RN.test(e))return`"${e.replace(vN,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var LN,ac,Er,Wp,dk,ak,ck,Vp,Jp,GN,pk,ic,DN,$N,NN,fk,lk,FN,MN,BN,uk,mk,hk=_(()=>{LN=/^-?\d+$/,ac=/^-?\d+n+$/,Er=JSON.stringify,Wp=JSON.parse,dk=/^-?\d+n$/,ak=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,ck=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Vp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Jp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",GN=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,g,b)=>(b!==null&&typeof b=="object"&&typeof b.toJSON=="function"&&(b=b.toJSON(g)),typeof b=="string"&&ac.test(b)?b+"n":typeof b=="bigint"?"rawJSON"in JSON?JSON.rawJSON(b.toString()):b.toString()+"n":(s&&(b=t.call(m,g,b)),b!==null&&typeof b=="object"&&(b instanceof Number||b instanceof String||b instanceof Boolean)&&(b=b.valueOf()),b)),a=i({"":e},"",e);if(Vp(a))return;let c=a===null||typeof a!="object",l=Jp(a);if(c||l)return Er(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let g=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
|
|
60
|
+
`+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(Vp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",w=Jp(y);if(E&&!w){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(Er(y)),m.first=!1,m.index++}}else g=!0;else{for(;m.index<m.keys.length;){let y=m.keys[m.index++];if(o&&!o.has(y))continue;let w=m.val[y],k=i(m.val,y,w);if(Vp(k))continue;m.first||u.push(","),n?u.push(`
|
|
61
|
+
`+n.repeat(d)+Er(y)+": "):u.push(Er(y)+":");let S=k!==null&&typeof k=="object",T=Jp(k);if(S&&!T){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:y,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(Er(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(g=!0)}g&&(d--,!m.first&&n&&u.push(`
|
|
62
|
+
`+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},pk=(e,t,r)=>{try{return"rawJSON"in JSON?Er(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?Er(e,(a,c)=>typeof c=="string"&&ac.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(ak,"$1$2$3").replace(ck,"$1$2$3"):Er(e,t,r)}catch(n){if(n instanceof RangeError){let s=GN(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(ak,"$1$2$3").replace(ck,"$1$2$3")}throw n}},ic=new Map,DN=()=>{let e=JSON.parse.toString();if(ic.has(e))return ic.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return ic.set(e,t),t}catch{return ic.set(e,!1),!1}},$N=(e,t,r,n)=>typeof t=="string"&&dk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&ac.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,NN=(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&&LN.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),fk=Number.MAX_SAFE_INTEGER.toString(),lk=fk.length,FN=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,MN=/^"-?\d+n+"$/,BN=(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"&&(dk.test(a)?a=BigInt(a.slice(0,-1)):ac.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[""]},uk=e=>e.replace(FN,(t,r,n,s)=>{let o=t[0]==='"';if(o&&MN.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<lk||r.length===lk&&r<=fk);return o||a||c?t:'"'+t+'n"'}),mk=(e,t)=>{if(!e)return Wp(e,t);try{if(DN())return NN(e,t);let r=uk(e);return Wp(r,(n,s,o)=>$N(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=uk(e),s=Wp(n);return BN(s,t)}throw r}}});var Rt,cc=_(()=>{Rt=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 UN(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 yk(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=UN(e.body)||Array.isArray(e.body)?pk(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 f=new Rt(p,500,{request:e});throw f.cause=d,f}let a=i.status,c=i.url,l={};for(let[d,p]of i.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.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 ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Rt(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Kp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Kp(i),new Rt(WN(u.data),a,{response:u,request:e});return u.data=n?await Kp(i):i.body,u}async function Kp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(gk);let r=(0,bk.parse)(t);if(HN(r)){let n="";try{return n=await e.text(),mk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(gk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function HN(e){return e.type==="application/json"||e.type==="application/scim+json"}function WN(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 zp(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 yk(r.parse(i));let a=(c,l)=>yk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:zp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:zp.bind(null,r)})}var bk,jN,qN,gk,te,$e=_(()=>{ZE();ar();bk=oa(ik(),1);hk();cc();jN="10.0.13",qN={headers:{"user-agent":`octokit-request.js/${jN} ${Ae()}`}};gk=()=>"";te=zp(XE,qN);});function VN(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?"https://github.com":/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace("api.",""):t.baseUrl.replace("/api/v3","")}async function lc(e,t,r){let n={baseUrl:VN(e),headers:{accept:"application/json"},...r},s=await e(t,n);if("error"in s.data){let o=new Rt(`${s.data.error_description} (${s.data.error}, ${s.data.error_uri})`,400,{request:e.endpoint.merge(t,n)});throw o.response=s,o}return s}async function kk(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=wk(s,r.data.expires_in),n.refreshTokenExpiresAt=wk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function wk(e,t){return new Date(e+t*1e3).toISOString()}async function Sk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),lc(t,"POST /login/device/code",r)}async function Yp(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,device_code:e.code,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),n={clientType:e.clientType,clientId:e.clientId,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if("clientSecret"in e&&(n.clientSecret=e.clientSecret),e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=_k(s,r.data.expires_in),n.refreshTokenExpiresAt=_k(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function _k(e,t){return new Date(e+t*1e3).toISOString()}async function Rk(e){let r=await(e.request||te)("POST /applications/{client_id}/token",{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.token,scopes:r.data.scopes};return r.data.expires_at&&(n.expiresAt=r.data.expires_at),e.clientType==="github-app"&&delete n.scopes,{...r,authentication:n}}async function vk(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:e.refreshToken}),n=new Date(r.headers.date).getTime(),s={clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,refreshToken:r.data.refresh_token,expiresAt:Ek(n,r.data.expires_in),refreshTokenExpiresAt:Ek(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function Ek(e,t){return new Date(e+t*1e3).toISOString()}async function Tk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`),n=await t("PATCH /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token}),s={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:n.data.token,scopes:n.data.scopes};return n.data.expires_at&&(s.expiresAt=n.data.expires_at),e.clientType==="github-app"&&delete s.scopes,{...n,authentication:s}}async function xk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}async function Ok(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var uc=_(()=>{cc();$e();$e();$e();$e();$e();$e();$e();$e();});async function Ck(e,t){let r=JN(e,t.auth);if(r)return r;let{data:n}=await Sk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Qp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function JN(e,t){if(t.refresh===!0||!e.authentication)return!1;if(e.clientType==="github-app")return e.authentication;let r=e.authentication,n=("scopes"in t&&t.scopes||e.scopes).join(" "),s=r.scopes.join(" ");return n===s?r:!1}async function Ak(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Qp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Yp({...s,clientType:"oauth-app"}):await Yp({...s,clientType:"github-app"});return{type:"token",tokenType:"oauth",...o}}catch(s){if(!s.response)throw s;let o=s.response.data.error;if(o==="authorization_pending")return await Ak(n.interval),Qp(e,t,r,n);if(o==="slow_down")return await Ak(n.interval+7),Qp(e,t,r,n);throw s}}async function KN(e,t){return Ck(e,{auth:t})}async function zN(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);let{token:o}=await Ck(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Pk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${YN} ${Ae()}`}}),{request:r=t,...n}=e,s=e.clientType==="github-app"?{...n,clientType:"github-app",request:r}:{...n,clientType:"oauth-app",request:r,scopes:e.scopes||[]};if(!e.clientId)throw new Error('[@octokit/auth-oauth-device] "clientId" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)');if(!e.onVerification)throw new Error('[@octokit/auth-oauth-device] "onVerification" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)');return Object.assign(KN.bind(null,s),{hook:zN.bind(null,s)})}var YN,Ik=_(()=>{ar();$e();uc();YN="0.0.0-development";});async function Lk(e){if("code"in e.strategyOptions){let{authentication:t}=await kk({clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request});return{type:"token",tokenType:"oauth",...t}}if("onVerification"in e.strategyOptions){let r=await Pk({clientType:e.clientType,clientId:e.clientId,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request})({type:"oauth"});return{clientSecret:e.clientSecret,...r}}if("token"in e.strategyOptions)return{type:"token",tokenType:"oauth",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions};throw new Error("[@octokit/auth-oauth-user] Invalid strategy options")}async function Xp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Lk(e):await Lk(e)),e.authentication.invalid)throw new Error("[@octokit/auth-oauth-user] Token is invalid");let r=e.authentication;if("expiresAt"in r&&(t.type==="refresh"||new Date(r.expiresAt)<new Date)){let{authentication:n}=await vk({clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:r.refreshToken,request:e.request});e.authentication={tokenType:"oauth",type:"token",...n}}if(t.type==="refresh"){if(e.clientType==="oauth-app")throw new Error("[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens");if(!r.hasOwnProperty("expiresAt"))throw new Error("[@octokit/auth-oauth-user] Refresh token missing");await e.onTokenCreated?.(e.authentication,{type:t.type})}if(t.type==="check"||t.type==="reset"){let n=t.type==="check"?Rk:Tk;try{let{authentication:s}=await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request});return e.authentication={tokenType:"oauth",type:"token",...s},t.type==="reset"&&await e.onTokenCreated?.(e.authentication,{type:t.type}),e.authentication}catch(s){throw s.status===404&&(s.message="[@octokit/auth-oauth-user] Token is invalid",e.authentication.invalid=!0),s}}if(t.type==="delete"||t.type==="deleteAuthorization"){let n=t.type==="delete"?xk:Ok;try{await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request})}catch(s){if(s.status!==404)throw s}return e.authentication.invalid=!0,e.authentication}return e.authentication}function Io(e){return e&&QN.test(e)}async function XN(e,t,r,n={}){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(Io(s.url)){let i=btoa(`${e.clientId}:${e.clientSecret}`);return s.headers.authorization=`basic ${i}`,t(s)}let{token:o}=e.clientType==="oauth-app"?await Xp({...e,request:t}):await Xp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function dc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Gk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Xp.bind(null,i),{hook:XN.bind(null,i)})}var Gk,QN,pc=_(()=>{ar();$e();Ik();uc();uc();Gk="0.0.0-development";QN=/\/applications\/[^/]+\/(token|grant)s?/;dc.VERSION=Gk;});async function ZN(e,t){if(t.type==="oauth-app")return{type:"oauth-app",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if("factory"in t){let{type:s,...o}={...t,...e};return t.factory(o)}let r={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType==="oauth-app"?await dc({...r,clientType:e.clientType}):await dc({...r,clientType:e.clientType}))()}async function eF(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(e.clientType==="github-app"&&!Io(s.url))throw new Error(`[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${s.method} ${s.url}" is not supported.`);let o=btoa(`${e.clientId}:${e.clientSecret}`);s.headers.authorization=`basic ${o}`;try{return await t(s)}catch(i){throw i.status!==401||(i.message=`[@octokit/auth-oauth-app] "${s.method} ${s.url}" does not support clientId/clientSecret basic authentication.`),i}}function Dk(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${tF} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(ZN.bind(null,t),{hook:eF.bind(null,t)})}var tF,$k=_(()=>{ar();$e();pc();pc();tF="0.0.0-development";});function fc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Fk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Zp(e){let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0,s=e.length;n<s;n++)r[n]=e.charCodeAt(n);return t}function Mk(e){let t=e.trim().split(`
|
|
63
|
+
`).slice(1,-1).join(""),r=atob(t);return Zp(r)}function Bk(e,t){return`${Nk(e)}.${Nk(t)}`}function jk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return qk(btoa(t))}function qk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Nk(e){return qk(btoa(JSON.stringify(e)))}var ef=_(()=>{});import{subtle as tf}from"node:crypto";import{createPrivateKey as rF}from"node:crypto";function Uk(e){return fc(e)?rF(e).export({type:"pkcs8",format:"pem"}):e}var Hk=_(()=>{ef()});async function Wk({privateKey:e,payload:t}){let r=Uk(e);if(fc(r))throw new Error("[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats");if(Fk(r))throw new Error("[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats");let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s={alg:"RS256",typ:"JWT"},o=Mk(r),i=await tf.importKey("pkcs8",o,n,!1,["sign"]),a=Bk(s,t),c=Zp(a),l=await tf.sign(n.name,i,c),u=jk(l);return`${a}.${u}`}var Vk=_(()=>{ef();Hk()});async function rf({id:e,privateKey:t,now:r=Math.floor(Date.now()/1e3)}){let n=t.replace(/\\n/g,`
|
|
64
|
+
`),s=r-30,o=s+60*10,a=await Wk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Jk=_(()=>{Vk()});function nF(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid max value");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid ttl value")}var mc,Kk=_(()=>{mc=class{constructor(t=1e3,r=0){nF(t,r),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){let r=this.items[t];r!==void 0&&(delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev))}deleteMany(t){for(var r=0;r<t.length;r++)this.delete(t[r])}evict(){if(this.size>0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){let r=this.items[t];if(r!==void 0)return r.expiry}get(t){let r=this.items[t];if(r!==void 0){if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=new Array(t.length);for(var n=0;n<t.length;n++)r[n]=this.get(t[n]);return r}keys(){return Object.keys(this.items)}set(t,r){let n=this.items[t];if(n!==void 0){n.value=r,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let s={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=s,++this.size===1?this.first=s:this.last.next=s,this.last=s}}});async function gc({appId:e,privateKey:t,timeDifference:r,createJwt:n}){try{if(n){let{jwt:i,expiresAt:a}=await n(e,r);return{type:"app",token:i,appId:e,expiresAt:a}}let s={id:e,privateKey:t};r&&Object.assign(s,{now:Math.floor(Date.now()/1e3)+r});let o=await rf(s);return{type:"app",token:o.token,appId:o.appId,expiresAt:new Date(o.expiration*1e3).toISOString()}}catch(s){throw t==="-----BEGIN RSA PRIVATE KEY-----"?new Error("The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"):s}}function sF(){return new mc(15e3,1e3*60*59)}async function oF(e,t){let r=nf(t),n=await e.get(r);if(!n)return;let[s,o,i,a,c,l]=n.split("|"),u=t.permissions||c.split(/,/).reduce((d,p)=>(/!$/.test(p)?d[p.slice(0,-1)]="write":d[p]="read",d),{});return{token:s,createdAt:o,expiresAt:i,permissions:u,repositoryIds:t.repositoryIds,repositoryNames:t.repositoryNames,singleFileName:l,repositorySelection:a}}async function iF(e,t,r){let n=nf(t),s=t.permissions?"":Object.keys(r.permissions).map(i=>`${i}${r.permissions[i]==="write"?"!":""}`).join(","),o=[r.token,r.createdAt,r.expiresAt,r.repositorySelection,s,r.singleFileName].join("|");await e.set(n,o)}function nf({installationId:e,permissions:t={},repositoryIds:r=[],repositoryNames:n=[]}){let s=Object.keys(t).sort().map(a=>t[a]==="read"?a:`${a}!`).join(","),o=r.sort().join(","),i=n.join(",");return[e,o,i,s].filter(Boolean).join("|")}function zk({installationId:e,token:t,createdAt:r,expiresAt:n,repositorySelection:s,permissions:o,repositoryIds:i,repositoryNames:a,singleFileName:c}){return Object.assign({type:"token",tokenType:"installation",token:t,installationId:e,permissions:o,createdAt:r,expiresAt:n,repositorySelection:s},i?{repositoryIds:i}:null,a?{repositoryNames:a}:null,c?{singleFileName:c}:null)}async function Yk(e,t,r){let n=Number(t.installationId||e.installationId);if(!n)throw new Error("[@octokit/auth-app] installationId option is required for installation authentication.");if(t.factory){let{type:o,factory:i,oauthApp:a,...c}={...e,...t};return i(c)}let s=r||e.request;return aF(e,{...t,installationId:n},s)}function aF(e,t,r){let n=nf(t);if(hc.has(n))return hc.get(n);let s=cF(e,t,r).finally(()=>hc.delete(n));return hc.set(n,s),s}async function cF(e,t,r){if(!t.refresh){let E=await oF(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return zk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await gc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await iF(e.cache,t,b);let y={installationId:t.installationId,token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};return u&&Object.assign(y,{singleFileName:u}),zk(y)}async function lF(e,t){switch(t.type){case"app":return gc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Yk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function dF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function fF(e){return!!e&&pF.test(e.split("?")[0])}function hF(e){return!(e.message.match(/'Expiration time' claim \('exp'\) is too far in the future/)||e.message.match(/'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/)||e.message.match(/'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/))}async function gF(e,t,r,n){let s=t.endpoint.merge(r,n),o=s.url;if(/\/login\/oauth\/access_token$/.test(o))return t(s);if(fF(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await gc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(hF(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await gc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Io(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await Yk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Qk(e,t,s,a)}async function Qk(e,t,r,n,s=0){let o=+new Date-+new Date(n);try{return await t(r)}catch(i){if(i.status!==401)throw i;if(o>=mF)throw s>0&&(i.message=`After ${s} retries within ${o/1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`),i;++s;let a=s*1e3;return e.log.warn(`[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${s}, wait: ${a/1e3}s)`),await new Promise(c=>setTimeout(c,a)),Qk(e,t,r,n,s)}}function Xk(e){if(!e.appId)throw new Error("[@octokit/auth-app] appId option is required");if(!e.privateKey&&!e.createJwt)throw new Error("[@octokit/auth-app] privateKey option is required");if(e.privateKey&&e.createJwt)throw new Error("[@octokit/auth-app] privateKey and createJwt options are mutually exclusive");if("installationId"in e&&!e.installationId)throw new Error("[@octokit/auth-app] installationId is set to a falsy value");let t=e.log||{};typeof t.warn!="function"&&(t.warn=console.warn.bind(console));let r=e.request||te.defaults({headers:{"user-agent":`octokit-auth-app.js/${yF} ${Ae()}`}}),n=Object.assign({request:r,cache:sF()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Dk({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(lF.bind(null,n),{hook:gF.bind(null,n)})}var hc,uF,pF,mF,yF,Zk=_(()=>{ar();$e();$k();Jk();Kk();pc();hc=new Map;uF=["/app","/app/hook/config","/app/hook/deliveries","/app/hook/deliveries/{delivery_id}","/app/hook/deliveries/{delivery_id}/attempts","/app/installations","/app/installations/{installation_id}","/app/installations/{installation_id}/access_tokens","/app/installations/{installation_id}/suspended","/app/installation-requests","/marketplace_listing/accounts/{account_id}","/marketplace_listing/plan","/marketplace_listing/plans","/marketplace_listing/plans/{plan_id}/accounts","/marketplace_listing/stubbed/accounts/{account_id}","/marketplace_listing/stubbed/plan","/marketplace_listing/stubbed/plans","/marketplace_listing/stubbed/plans/{plan_id}/accounts","/orgs/{org}/installation","/repos/{owner}/{repo}/installation","/users/{username}/installation","/enterprises/{enterprise}/installation"];pF=dF(uF);mF=5*1e3;yF="8.3.0";});var af=I((sf,of)=>{(function(e,t){typeof sf=="object"&&typeof of<"u"?of.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(sf,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(N){return N&&N.default||N}var r=function(N,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=N[v])!=null?x:A;return h},n=function(N,R,h={}){var v,x;for(v in N)x=N[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,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=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,$;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return $=typeof A.cb=="function"?A.cb(...h):void 0,typeof $?.then=="function"?await $:$}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(x)).find(function(A){return A!=null}))}catch(A){return v=A,this.trigger("error",v),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(R){var h;this.Events=new u(this),this._length=0,this._lists=function(){var v,x,A;for(A=[],h=v=1,x=R;1<=x?v<=x:v>=x;h=1<=x?++v:--v)A.push(new l(()=>this.incr(),()=>this.decr()));return A}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(R){return this._lists[R.options.priority].push(R)}queued(R){return R!=null?this._lists[R].length:this._length}shiftAll(R){return this._lists.forEach(function(h){return h.forEachShift(R)})}getFirst(R=this._lists){var h,v,x;for(h=0,v=R.length;h<v;h++)if(x=R[h],x.length>0)return x;return[]}shiftLastFrom(R){return this.getFirst(this._lists.slice(R).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,g,b,y,E,w;E=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,$,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=$,this.Promise=Z,this.options=w.load(v,x),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===x.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((be,Re)=>{this._resolve=be,this._reject=Re}),this.retryCount=0}_sanitizePriority(R){var h;return h=~~R!==R?b:R,h<0?0:h>E-1?E-1:h}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:R,message:h="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(R??new g(h)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(R){var h;if(h=this._states.jobStatus(this.options.id),!(h===R||R==="DONE"&&h===null))throw new g(`Invalid job status ${h}, expected ${R}. 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(R,h){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:R,blocked:h})}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(R,h,v,x){var A,P,$;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if($=await(R!=null?R.schedule(this.options,this.task,...this.args):this.task(...this.args)),h())return this.doDone(P),await x(this.options,P),this._assertStatus("DONE"),this._resolve($)}catch(Z){return A=Z,this._onFailure(A,P,h,v,x)}}doExpire(R,h,v){var x,A;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),A={args:this.args,options:this.options,retryCount:this.retryCount},x=new g(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(x,A,R,h,v)}async _onFailure(R,h,v,x,A){var P,$;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?($=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${$} ms`,h),this.retryCount++,x($)):(this.doDone(h),await A(this.options,h),this._assertStatus("DONE"),this._reject(R))}doDone(R){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",R)}};var k=y,S,T,C;C=s,S=m,T=class{constructor(R,h,v){this.instance=R,this.storeOptions=h,this.clientId=this.instance._randomIndex(),C.load(v,v,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 R;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(R=this.heartbeat=setInterval(()=>{var h,v,x,A,P;if(A=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&A>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=A,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&A>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:h,reservoirIncreaseMaximum:x,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=A,v=x!=null?Math.min(h,x-P):h,v>0))return this.storeOptions.reservoir+=v,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?R.unref():void 0:clearInterval(this.heartbeat)}async __publish__(R){return await this.yieldLoop(),this.instance.Events.trigger("message",R.toString())}async __disconnect__(R){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(R=0){return new this.Promise(function(h,v){return setTimeout(h,R)})}computePenalty(){var R;return(R=this.storeOptions.penalty)!=null?R:15*this.storeOptions.minTime||5e3}async __updateSettings__(R){return await this.yieldLoop(),C.overwrite(R,R,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__(R){return await this.yieldLoop(),this._nextRequest+this.timeout<R}computeCapacity(){var R,h;return{maxConcurrent:R,reservoir:h}=this.storeOptions,R!=null&&h!=null?Math.min(R-this._running,h):R!=null?R-this._running:h??null}conditionsCheck(R){var h;return h=this.computeCapacity(),h==null||R<=h}async __incrementReservoir__(R){var h;return await this.yieldLoop(),h=this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity()),h}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(R){return this._unblockTime>=R}check(R,h){return this.conditionsCheck(R)&&this._nextRequest-h<=0}async __check__(R){var h;return await this.yieldLoop(),h=Date.now(),this.check(R,h)}async __register__(R,h,v){var x,A;return await this.yieldLoop(),x=Date.now(),this.conditionsCheck(h)?(this._running+=h,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=h),A=Math.max(this._nextRequest-x,0),this._nextRequest=x+A+this.storeOptions.minTime,{success:!0,wait:A,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(R,h){var v,x,A;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&h>this.storeOptions.maxConcurrent)throw new S(`Impossible to add a job having a weight of ${h} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return x=Date.now(),A=this.storeOptions.highWater!=null&&R===this.storeOptions.highWater&&!this.check(h,x),v=this.strategyIsBlock()&&(A||this.isBlocked(x)),v&&(this._unblockTime=x+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:A,blocked:v,strategy:this.storeOptions.strategy}}async __free__(R,h){return await this.yieldLoop(),this._running-=h,this._done+=h,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,G,q;G=m,q=class{constructor(R){this.status=R,this._jobs={},this.counts=this.status.map(function(){return 0})}next(R){var h,v;if(h=this._jobs[R],v=h+1,h!=null&&v<this.status.length)return this.counts[h]--,this.counts[v]++,this._jobs[R]++;if(h!=null)return this.counts[h]--,delete this._jobs[R]}start(R){var h;return h=0,this._jobs[R]=h,this.counts[h]++}remove(R){var h;return h=this._jobs[R],h!=null&&(this.counts[h]--,delete this._jobs[R]),h!=null}jobStatus(R){var h;return(h=this.status[this._jobs[R]])!=null?h:null}statusJobs(R){var h,v,x,A,P;if(R!=null){if(v=this.status.indexOf(R),v<0)throw new G(`status must be one of ${this.status.join(", ")}`);x=this._jobs,A=[];for(h in x)P=x[h],P===v&&A.push(h);return A}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((R,h,v)=>(R[this.status[v]]=h,R),{})}};var Q=q,V,D;V=i,D=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new V}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,$;if(this._running<1&&this._queue.length>0)return this._running++,{task:$,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await $(...R),function(){return A(P)}}catch(Z){return v=Z,function(){return x(v)}}}(),this._running--,this._tryToRun(),h()}schedule(R,...h){var v,x,A;return A=x=null,v=new this.Promise(function(P,$){return A=P,x=$}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=D,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Vt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Jt,Nn,fr;fr=s,It=c,Jt=L,Me=U,Nn=Vt,Fe=function(){class N{constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,fr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=Uy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Jt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Me(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(h=""){var v;return(v=this.instances[h])!=null?v:(()=>{var x;return x=this.instances[h]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${h}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",x,h),x})()}async deleteKey(h=""){var v,x;return x=this.instances[h],this.connection&&(v=await this.connection.__runCommand__(["del",...Nn.allKeys(`${this.id}-${h}`)])),x!=null&&(delete this.instances[h],await x.disconnect()),x!=null||v>0}limiters(){var h,v,x,A;v=this.instances,x=[];for(h in v)A=v[h],x.push({key:h,limiter:A});return x}keys(){return Object.keys(this.instances)}async clusterKeys(){var h,v,x,A,P,$,Z,be,Re;if(this.connection==null)return this.Promise.resolve(this.keys());for($=[],h=null,Re=`b_${this.id}-`.length,v=9;h!==0;)for([be,x]=await this.connection.__runCommand__(["scan",h??0,"match",`b_${this.id}-*_settings`,"count",1e4]),h=~~be,A=0,Z=x.length;A<Z;A++)P=x[A],$.push(P.slice(Re,-v));return $}_startAutoCleanup(){var h;return clearInterval(this.interval),typeof(h=this.interval=setInterval(async()=>{var v,x,A,P,$,Z;$=Date.now(),A=this.instances,P=[];for(x in A){Z=A[x];try{await Z._store.__groupCheck__($)?P.push(this.deleteKey(x)):P.push(void 0)}catch(be){v=be,P.push(Z.Events.trigger("error",v))}}return P},this.timeout/2)).unref=="function"?h.unref():void 0}updateSettings(h={}){if(fr.overwrite(h,this.defaults,this),fr.overwrite(h,h,this.limiterOptions),h.timeout!=null)return this._startAutoCleanup()}disconnect(h=!0){var v;if(!this.sharedConnection)return(v=this.connection)!=null?v.disconnect(h):void 0}}return N.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},N}.call(e);var Ks=Fe,Yr,zs,Dy;Dy=s,zs=c,Yr=function(){class N{constructor(h={}){this.options=h,Dy.load(this.options,this.defaults,this),this.Events=new zs(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return N.prototype.defaults={maxTime:null,maxSize:null,Promise},N}.call(e);var RP=Yr,vP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),TP=t(me),$y,Ny,qu,Uu,Fy,Hu,My,By,jy,Wu,Lt,qy=[].splice;Hu=10,Ny=5,Lt=s,My=p,Uu=k,Fy=O,By=vP,qu=c,jy=Q,Wu=H,$y=function(){class N{constructor(h={},...v){var x,A;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(h,v),Lt.load(h,this.instanceDefaults,this),this._queues=new My(Hu),this._scheduled={},this._states=new jy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new qu(this),this._submitLock=new Wu("submit",this.Promise),this._registerLock=new Wu("register",this.Promise),A=Lt.load(h,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return x=Lt.load(h,this.redisStoreDefaults,{}),new By(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Fy(this,A,x);throw new N.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(h,v){if(!(h!=null&&typeof h=="object"&&v.length===0))throw new N.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(h){return this._store.__publish__(h)}disconnect(h=!0){return this._store.__disconnect__(h)}chain(h){return this._limiter=h,this}queued(h){return this._queues.queued(h)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(h){return this._states.jobStatus(h)}jobs(h){return this._states.statusJobs(h)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(h=1){return this._store.__check__(h)}_clearGlobalState(h){return this._scheduled[h]!=null?(clearTimeout(this._scheduled[h].expiration),delete this._scheduled[h],!0):!1}async _free(h,v,x,A){var P,$;try{if({running:$}=await this._store.__free__(h,x.weight),this.Events.trigger("debug",`Freed ${x.id}`,A),$===0&&this.empty())return this.Events.trigger("idle")}catch(Z){return P=Z,this.Events.trigger("error",P)}}_run(h,v,x){var A,P,$;return v.doRun(),A=this._clearGlobalState.bind(this,h),$=this._run.bind(this,h,v),P=this._free.bind(this,h,v),this._scheduled[h]={timeout:setTimeout(()=>v.doExecute(this._limiter,A,$,P),x),expiration:v.options.expiration!=null?setTimeout(function(){return v.doExpire(A,$,P)},x+v.options.expiration):void 0,job:v}}_drainOne(h){return this._registerLock.schedule(()=>{var v,x,A,P,$;return this.queued()===0?this.Promise.resolve(null):($=this._queues.getFirst(),{options:P,args:v}=A=$.first(),h!=null&&P.weight>h?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:v,options:P}),x=this._randomIndex(),this._store.__register__(x,P.weight,P.expiration).then(({success:Z,wait:be,reservoir:Re})=>{var Ys;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?($.shift(),Ys=this.empty(),Ys&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",Ys),this._run(x,A,be),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(h,v=0){return this._drainOne(h).then(x=>{var A;return x!=null?(A=h!=null?h-x:h,this._drainAll(A,v+x)):this.Promise.resolve(v)}).catch(x=>this.Events.trigger("error",x))}_dropAllQueued(h){return this._queues.shiftAll(function(v){return v.doDrop({message:h})})}stop(h={}){var v,x;return h=Lt.load(h,this.stopDefaults),x=A=>{var P;return P=()=>{var $;return $=this._states.counts,$[0]+$[1]+$[2]+$[3]===A},new this.Promise(($,Z)=>P()?$():this.on("done",()=>{if(P())return this.removeAllListeners("done"),$()}))},v=h.dropWaitingJobs?(this._run=function(A,P){return P.doDrop({message:h.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var A,P,$;P=this._scheduled;for(A in P)$=P[A],this.jobStatus($.job.options.id)==="RUNNING"&&(clearTimeout($.timeout),clearTimeout($.expiration),$.job.doDrop({message:h.dropErrorMessage}));return this._dropAllQueued(h.dropErrorMessage),x(0)}))):this.schedule({priority:Hu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new N.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new N.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,$,Z,be;({args:v,options:P}=h);try{({reachedHWM:$,blocked:x,strategy:be}=await this._store.__submit__(this.queued(),P.weight))}catch(Re){return A=Re,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:v,options:P,error:A}),h.doDrop({error:A}),!1}return x?(h.doDrop(),!0):$&&(Z=be===N.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===N.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===N.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===N.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),$):(h.doQueue($,x),this._queues.push(h),await this._drainAll(),$)}_receive(h){return this._states.jobStatus(h.options.id)!=null?(h._reject(new N.prototype.BottleneckError(`A job with the same id already exists (id=${h.options.id})`)),!1):(h.doReceive(),this._submitLock.schedule(this._addToQueue,h))}submit(...h){var v,x,A,P,$,Z,be;return typeof h[0]=="function"?($=h,[x,...h]=$,[v]=qy.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=qy.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(Ys,OP){return x(...Re,function(...Hy){return(Hy[0]!=null?OP:Ys)(Hy)})}),A=new Uu(be,h,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),A.promise.then(function(Re){return typeof v=="function"?v(...Re):void 0}).catch(function(Re){return Array.isArray(Re)?typeof v=="function"?v(...Re):void 0:typeof v=="function"?v(Re):void 0}),this._receive(A)}schedule(...h){var v,x,A;return typeof h[0]=="function"?([A,...h]=h,x={}):[x,A,...h]=h,v=new Uu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return N.default=N,N.Events=qu,N.version=N.prototype.version=TP.version,N.strategy=N.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},N.BottleneckError=N.prototype.BottleneckError=m,N.Group=N.prototype.Group=Ks,N.RedisConnection=N.prototype.RedisConnection=L,N.IORedisConnection=N.prototype.IORedisConnection=U,N.Batcher=N.prototype.Batcher=RP,N.prototype.jobDefaults={priority:Ny,weight:1,expiration:null,id:"<no-id>"},N.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:N.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},N.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},N.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},N.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},N.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},N}.call(e);var Uy=$y,xP=Uy;return xP})});function wF(e){return e.request!==void 0}async function eS(e,t,r,n){if(!wF(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 _F(e,t,r,n){let s=new tS.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(EF.bind(null,e,t,r),n)}async function EF(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 Rt(s.data.errors[0].message,500,{request:n,response:s});return eS(e,t,o,n)}return s}function cf(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",eS.bind(null,r,n)),e.hook.wrap("request",_F.bind(null,r,n))),n}var tS,bF,rS=_(()=>{tS=oa(af(),1);cc();bF="0.0.0-development";cf.VERSION=bF});import{readFileSync as kF}from"node:fs";function lf(e){try{return kF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var yc=_(()=>{});function RF(e,t,r){return e.retryLimiter.schedule(vF,e,t,r)}async function vF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=TF(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),l=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(l.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(l,uf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,uf),i&&await e.search.key(e.id).schedule(l,uf);let u=(s?e.auth:e.global).key(e.id).schedule(l,t,r);if(a){let d=await u;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 u}function TF(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 OF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function bc(e,t){let{enabled:r=!0,Bottleneck:n=sS.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:oS,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
|
|
65
65
|
You must pass the onSecondaryRateLimit and onRateLimit error handlers.
|
|
66
66
|
See https://octokit.github.io/rest.js/#throttling
|
|
67
67
|
|
|
@@ -71,113 +71,113 @@ ${a}
|
|
|
71
71
|
onRateLimit: (retryAfter, options) => {/* ... */}
|
|
72
72
|
}
|
|
73
73
|
})
|
|
74
|
-
`);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&
|
|
74
|
+
`);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&AF(n,a),c.global=c.global??vt.global,c.auth=c.auth??vt.auth,c.search=c.search??vt.search,c.write=c.write??vt.write,c.notifications=c.notifications??vt.notifications,c.retryLimiter=c.retryLimiter??new n;let d={},p=new n.Events(d);d.on("secondary-limit",c.onSecondaryRateLimit),d.on("rate-limit",c.onRateLimit),d.on("error",f=>e.log.warn("Error in throttling-plugin limit handler",f)),c.retryLimiter.on("failed",async function(f,m){let[g,b,y]=m.args,{pathname:E}=new URL(y.url,"http://github.test");if(!(E.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~b.retryCount;b.retryCount=k,y.request.retryCount=k;let{wantRetry:S,retryAfter:T=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let C=Number(f.response.headers["retry-after"])||g.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",C,y,e,k),retryAfter:C}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(C=>C.type==="RATE_LIMITED")){let C=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),O=Math.max(Math.ceil((C-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",O,y,e,k),retryAfter:O}}return{}}();if(S)return b.retryCount++,T*g.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),RF(c,d,p))),{}}var sS,SF,uf,xF,nS,oS,vt,AF,iS=_(()=>{sS=oa(af(),1),SF="0.0.0-development",uf=()=>Promise.resolve();xF=["/orgs/{org}/invitations","/orgs/{org}/invitations/{invitation_id}","/orgs/{org}/teams/{team_slug}/discussions","/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","/repos/{owner}/{repo}/collaborators/{username}","/repos/{owner}/{repo}/commits/{commit_sha}/comments","/repos/{owner}/{repo}/issues","/repos/{owner}/{repo}/issues/{issue_number}/comments","/repos/{owner}/{repo}/issues/{issue_number}/sub_issue","/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority","/repos/{owner}/{repo}/pulls","/repos/{owner}/{repo}/pulls/{pull_number}/comments","/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies","/repos/{owner}/{repo}/pulls/{pull_number}/merge","/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","/repos/{owner}/{repo}/pulls/{pull_number}/reviews","/repos/{owner}/{repo}/releases","/teams/{team_id}/discussions","/teams/{team_id}/discussions/{discussion_number}/comments"];nS=OF(xF),oS=nS.test.bind(nS),vt={},AF=function(e,t){vt.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),vt.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),vt.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),vt.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),vt.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};bc.VERSION=SF;bc.triggersNotification=oS});function wc(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce((s,o)=>wc.bind(null,e,o,s,n),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}var aS=_(()=>{});function cS(e,t,r,n){let s=n;e.registry[r]||(e.registry[r]=[]),t==="before"&&(n=(o,i)=>Promise.resolve().then(s.bind(null,i)).then(o.bind(null,i))),t==="after"&&(n=(o,i)=>{let a;return Promise.resolve().then(o.bind(null,i)).then(c=>(a=c,s(a,i))).then(()=>a)}),t==="error"&&(n=(o,i)=>Promise.resolve().then(o.bind(null,i)).catch(a=>s(a,i))),e.registry[r].push({hook:n,orig:s})}var lS=_(()=>{});function uS(e,t,r){if(!e.registry[t])return;let n=e.registry[t].map(s=>s.orig).indexOf(r);n!==-1&&e.registry[t].splice(n,1)}var dS=_(()=>{});function mS(e,t,r){let n=fS(uS,null).apply(null,r?[t,r]:[t]);e.api={remove:n},e.remove=n,["before","error","after","wrap"].forEach(s=>{let o=r?[t,s,r]:[t,s];e[s]=e.api[s]=fS(cS,null).apply(null,o)})}function CF(){let e=Symbol("Singular"),t={registry:{}},r=wc.bind(null,t,e);return mS(r,t,e),r}function PF(){let e={registry:{}},t=wc.bind(null,e);return mS(t,e),t}var pS,fS,hS,gS=_(()=>{aS();lS();dS();pS=Function.bind,fS=pS.bind(pS);hS={Singular:CF,Collection:PF}});function LF(e){return`Request failed due to following response errors:
|
|
75
75
|
`+e.errors.map(t=>` - ${t.message}`).join(`
|
|
76
|
-
`)}function PF(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(CF.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)=>AF.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 mS.test(o)&&(s.url=o.replace(mS,"/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 OF(s,a,i.data)}return i.data.data})}function af(e,t){let r=e.defaults(t);return Object.assign((s,o)=>PF(r,s,o),{defaults:af.bind(null,r),endpoint:r.endpoint})}function hS(e){return af(e,{method:"POST",url:"/graphql"})}var TF,OF,AF,CF,mS,EQ,gS=_(()=>{De();ar();TF="0.0.0-development";OF=class extends Error{constructor(e,t,r){super(xF(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},AF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],CF=["query","method","url"],mS=/\/api\/v3\/?$/;EQ=af(te,{headers:{"user-agent":`octokit-graphql.js/${TF} ${Ae()}`},method:"POST",url:"/graphql"});});async function LF(e){let t=IF(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 GF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function NF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=GF(e),t(s)}var cf,yS,bS,IF,wS,_S=_(()=>{cf="(?:[a-zA-Z0-9_-]+)",yS="\\.",bS=new RegExp(`^${cf}${yS}${cf}${yS}${cf}$`),IF=bS.test.bind(bS);wS=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(LF.bind(null,t),{hook:NF.bind(null,t)})}});var lf,ES=_(()=>{lf="7.0.7"});function FF(e={}){return typeof e.debug!="function"&&(e.debug=kS),typeof e.info!="function"&&(e.info=kS),typeof e.warn!="function"&&(e.warn=DF),typeof e.error!="function"&&(e.error=$F),e}var kS,DF,$F,SS,wc,RS=_(()=>{ar();fS();De();gS();_S();ES();kS=()=>{},DF=console.warn.bind(console),$F=console.error.bind(console);SS=`octokit-core.js/${lf} ${Ae()}`,wc=class{static VERSION=lf;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 pS.Collection,n={baseUrl:te.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} ${SS}`:SS,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=te.defaults(n),this.graphql=hS(this.request).defaults(n),this.log=FF(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=wS(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 vS,TS=_(()=>{vS="6.0.0"});function uf(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 xS=_(()=>{TS();uf.VERSION=vS});function BF(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 df(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}),l=BF(c);if(a=((l.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in l.data){let u=new URL(l.url),d=u.searchParams,p=parseInt(d.get("page")||"1",10),f=parseInt(d.get("per_page")||"250",10);p*f<l.data.total_commits&&(d.set("page",String(p+1)),a=u.toString())}return{value:l}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function OS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),AS(e,[],df(e,t,r)[Symbol.asyncIterator](),n)}function AS(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:AS(e,t,r,n)})}function pf(e){return{paginate:Object.assign(OS.bind(null,e),{iterator:df.bind(null,e)})}}var MF,FQ,CS=_(()=>{MF="0.0.0-development";FQ=Object.assign(OS,{iterator:df});pf.VERSION=MF});var ff,PS=_(()=>{ff="17.0.0"});var jF,IS,LS=_(()=>{jF={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"]}},IS=jF});function mf(e){let t={};for(let r of fn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},qF);return t}function UF(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[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var fn,qF,GS=_(()=>{LS();fn=new Map;for(let[e,t]of Object.entries(IS))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);fn.has(e)||fn.set(e,new Map),fn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}qF={has({scope:e},t){return fn.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[...fn.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=fn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=UF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function HF(e){return{rest:mf(e)}}function hf(e){let t=mf(e);return{...t,rest:t}}var NS=_(()=>{PS();GS();HF.VERSION=ff;hf.VERSION=ff});var DS,$S=_(()=>{DS="22.0.1"});var FS,MS=_(()=>{RS();xS();CS();NS();$S();FS=wc.plugin(uf,hf,pf).defaults({userAgent:`octokit-rest.js/${DS}`})});function WF(e){return`r${e}`}function BS(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=WF(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
|
|
76
|
+
`)}function NF(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($F.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)=>DF.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 yS.test(o)&&(s.url=o.replace(yS,"/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 GF(s,a,i.data)}return i.data.data})}function df(e,t){let r=e.defaults(t);return Object.assign((s,o)=>NF(r,s,o),{defaults:df.bind(null,r),endpoint:r.endpoint})}function bS(e){return df(e,{method:"POST",url:"/graphql"})}var IF,GF,DF,$F,yS,LQ,wS=_(()=>{$e();ar();IF="0.0.0-development";GF=class extends Error{constructor(e,t,r){super(LF(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},DF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],$F=["query","method","url"],yS=/\/api\/v3\/?$/;LQ=df(te,{headers:{"user-agent":`octokit-graphql.js/${IF} ${Ae()}`},method:"POST",url:"/graphql"});});async function MF(e){let t=FF(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 BF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function jF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=BF(e),t(s)}var pf,_S,ES,FF,kS,SS=_(()=>{pf="(?:[a-zA-Z0-9_-]+)",_S="\\.",ES=new RegExp(`^${pf}${_S}${pf}${_S}${pf}$`),FF=ES.test.bind(ES);kS=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(MF.bind(null,t),{hook:jF.bind(null,t)})}});var ff,RS=_(()=>{ff="7.0.7"});function HF(e={}){return typeof e.debug!="function"&&(e.debug=vS),typeof e.info!="function"&&(e.info=vS),typeof e.warn!="function"&&(e.warn=qF),typeof e.error!="function"&&(e.error=UF),e}var vS,qF,UF,TS,_c,xS=_(()=>{ar();gS();$e();wS();SS();RS();vS=()=>{},qF=console.warn.bind(console),UF=console.error.bind(console);TS=`octokit-core.js/${ff} ${Ae()}`,_c=class{static VERSION=ff;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 hS.Collection,n={baseUrl:te.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} ${TS}`:TS,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=te.defaults(n),this.graphql=bS(this.request).defaults(n),this.log=HF(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=kS(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 OS,AS=_(()=>{OS="6.0.0"});function mf(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 CS=_(()=>{AS();mf.VERSION=OS});function VF(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 hf(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}),l=VF(c);if(a=((l.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in l.data){let u=new URL(l.url),d=u.searchParams,p=parseInt(d.get("page")||"1",10),f=parseInt(d.get("per_page")||"250",10);p*f<l.data.total_commits&&(d.set("page",String(p+1)),a=u.toString())}return{value:l}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function PS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),IS(e,[],hf(e,t,r)[Symbol.asyncIterator](),n)}function IS(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:IS(e,t,r,n)})}function gf(e){return{paginate:Object.assign(PS.bind(null,e),{iterator:hf.bind(null,e)})}}var WF,YQ,LS=_(()=>{WF="0.0.0-development";YQ=Object.assign(PS,{iterator:hf});gf.VERSION=WF});var yf,GS=_(()=>{yf="17.0.0"});var JF,DS,$S=_(()=>{JF={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"]}},DS=JF});function bf(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},KF);return t}function zF(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[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var mn,KF,NS=_(()=>{$S();mn=new Map;for(let[e,t]of Object.entries(DS))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);mn.has(e)||mn.set(e,new Map),mn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}KF={has({scope:e},t){return mn.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[...mn.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=mn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=zF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function YF(e){return{rest:bf(e)}}function wf(e){let t=bf(e);return{...t,rest:t}}var FS=_(()=>{GS();NS();YF.VERSION=yf;wf.VERSION=yf});var MS,BS=_(()=>{MS="22.0.1"});var jS,qS=_(()=>{xS();CS();LS();FS();BS();jS=_c.plugin(mf,wf,gf).defaults({userAgent:`octokit-rest.js/${MS}`})});function QF(e){return`r${e}`}function US(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=QF(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
|
|
77
77
|
`)})," rateLimit { cost }","}"].join(`
|
|
78
|
-
`),aliases:r}}function jS(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 qS=_(()=>{});function HS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function WS(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 _c(e){let t=e.etags??HS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??rc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Pp(e.budgetGate??Ip()),i=Ao({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:zk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:sf(e.app)}},c=new VF({auth:e.token,...a,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,400,401,403,404,410,422,429,451],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),l=async()=>{if(e.balance===void 0)return null;try{return await cs("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(w,k)=>{if(!o)return;let S=w?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new cr(k,S.reset_at)},d=async w=>{let k=t.get(w.cacheKey),S=o?(await l())?.pools[w.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return US(k,w.operation.budget,S.reset_at,r());throw new cr(w.operation.budget,S.reset_at)}let T={...w.parameters??{}},C=Sr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(w.route,T),G=O.headers,q=Go(G,"etag");return q!==void 0&&t.set(w.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:w.operation,cost:1,actor:w.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Io(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(w.cacheKey)} without a held answer to reuse`,{cause:O});let G=yf(O),q={...k.headers,...G},Q=Go(q,"etag")??k.etag;return t.set(w.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:w.operation,cost:0,actor:w.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Io(O)===401)throw new fs({cause:O});if(Lo(O)){if(k!==void 0){let G=gf(w.operation.budget,O);return US(k,w.operation.budget,G.resetAt,r())}throw gf(w.operation.budget,O)}throw O}},p=new Map,f=!1,m=async(w,k)=>{let S=w.input,T=S.kind==="pr";try{let C=await d({cacheKey:S.cacheKey,route:T?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:S.owner,repo:S.repo,...T?{pull_number:S.number}:{issue_number:S.number}},operation:S.operation,actor:S.actor});w.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){w.reject(C)}},g=async(w,k)=>{try{let S=BS(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=jS(S,T),O=KF(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:zF(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let V=w[Q];q.value===null?V.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):V.resolve({data:V.input.project?V.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Io(S)===401?new fs({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=WS(w);f=!1;let S=[...p.values()];p.clear(),await y(S,w,k)}catch(w){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(w))}},y=async(w,k,S)=>{await Promise.all(w.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,V=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),N=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||N)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!V&&o){let me=new cr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:w=>new Promise((k,S)=>{let T=`${w.kind}:${w.rail??"default"}`,C=p.get(T)??[];C.push({input:w,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(w){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({...w,cacheKey:`${w.cacheKey}:page:${O}`,parameters:{...w.parameters??{},per_page:100,page:O}});if(T+=1,C=C&&G.quotaFree,!Array.isArray(G.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(w.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!JF(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(w,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(w,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Io(T)===401?new fs({cause:T}):Lo(T)?gf(S?.operation.budget??"graphql",T):T}}}}function US(e,t,r,n){let s=Date.parse(n),o=e.storedAt===void 0?Number.NaN:Date.parse(e.storedAt);return{data:e.data,headers:e.headers,quotaFree:!0,degraded:{source:"cache",pool:t,resetAt:r,ageMs:Number.isFinite(s)&&Number.isFinite(o)?Math.max(0,s-o):null,reason:`${t} pool is exhausted until ${r}; serving the last-known answer instead of going dark`}}}function gf(e,t){let r=yf(t),n=Number(Go(r,"x-ratelimit-reset")),s=Number.isFinite(n)&&n>0?new Date(n*1e3).toISOString():"an unknown reset instant";return new cr(e,s,"GitHub refused the live request",{cause:t})}function JF(e){let t=Go(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Lo(e){if(e instanceof cr)return!0;let t=Io(e),r=yf(e);return t===429||t===403&&Go(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Io(e){if(Sr(e))return typeof e.status=="number"?e.status:void 0}function yf(e){return!Sr(e)||!Sr(e.response)||!Sr(e.response.headers)?{}:e.response.headers}function Go(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Sr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KF(e){let t=Sr(e)?e:{},r=Sr(t.data)?t.data:t,s=(Sr(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 zF(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 VF,fs,cr,VS=_(()=>{Yk();Zk();gc();nS();MS();qS();Cp();Lp();VF=FS.plugin(nf,yc);fs=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"}},cr=class extends Error{pool;resetAt;constructor(t,r,n,s){super(`${t} pool is exhausted; parked until ${r}${n?` (${n})`:""}`,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function YS(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:[...Rr],detail:t??"no balance has been asked for yet, so none is known"}}function QS(e,t){let r=KS(e),n=KS(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Rr){let c=zS[a],l=n[c],u=YF(a,c,l);s[a]=u,u==null&&o.push(a)}let i=Rr.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 ${Rr.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Ef(e){try{let t=await e.transport();return QS(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...YS(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function XS(e){let t=null;for(let r of Rr){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function kf(e,t){let r=XS(e);if(r==null)return JS(_f).every_ms;let n=JS(r.fraction);if(r.remaining>0)return n.every_ms;let s=QF(t.now,r.reset_at);return s==null?n.every_ms:Math.max(wf,Math.min(n.every_ms,s))}function JS(e){for(let t of kc)if(e<=t.at_or_below_fraction)return t;return kc[kc.length-1]}function YF(e,t,r){if(!ZS(r))return null;let n=Ec(r.limit),s=Ec(r.remaining),o=Ec(r.used),i=Ec(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 Sf(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${bf}`,{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 QF(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 Ec(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function KS(e){return ZS(e)?e:{}}function ZS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var bf,zS,Rr,wf,_f,kc,uX,No=_(()=>{bf="rate_limit",zS={rest:"core",graphql:"graphql",search:"search"},Rr=["rest","graphql","search"];wf=15e3,_f=.15,kc=[{at_or_below_fraction:0,every_ms:wf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:_f,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"}],uX=60*6e4});var eR=_(()=>{J();pn();No()});var tR=_(()=>{pn();J();J();No()});var rR=_(()=>{});var nR=_(()=>{});var sR=_(()=>{});var oR=_(()=>{gc();No()});var iR=_(()=>{J()});var Sc=_(()=>{PE();Cp();Lp();qE();VS();eR();tR();No();rR();nR();sR();gc();oR();iR()});import{join as rM}from"node:path";function Rc(e,t){let r=Sf({token:e,...t?{origin:t}:{},fetchImpl:Ao({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await aR(o);let a=new Date(i).toISOString();return o=Ef({transport:r,now:a}).then(c=>(n=c,s=Date.now()+kf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await aR(o)}}async function aR(e){try{return await cs("balance ask",1e4,()=>e)}catch{return null}}function vc(e){let t=Np({path:rM(ce(e.rootDir),"github","spend.toonl")}),r=_c({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return nM(r)}function nM(e){return{async read(t){let r=Op(t.args);if(r.kind!=="read")return Do(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Do(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Do(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=sM(r,t);if(n){let o=await e.singleObject({cacheKey:lR(t.path,t.params),kind:n.kind,owner:n.owner,repo:n.repo,number:n.number,selection:n.selection,operation:r,actor:t.actor,project:n.project});return{status:0,stdout:JSON.stringify(o.data),stderr:"",surface:o.surface,pool:o.surface==="graphql"?"graphql":"rest",quotaFree:o.quotaFree}}if(r.surface==="graphql"){let o=iM(r,t);if(!o)return Do(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:lR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:lM(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Lo(n)?Do(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:uM(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function sM(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=$o(t.params,"owner")||r[1],s=$o(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?$t(i)??{}:uR(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?$t(i)??{}:oM(i)}}function uR(e){let t=$t(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:$t(t.author)??{},labels:Rf(t.labels).map(r=>({name:r.name}))}}function oM(e){let t=$t(e)??{};return{...uR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function iM(e,t){let r=$o(t.params,"owner"),n=$o(t.params,"repo");if(!r||!n)return null;let s=aM(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
|
|
78
|
+
`),aliases:r}}function HS(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 WS=_(()=>{});function kc(e,t,r=Date.now()){if(e instanceof kr)return e.fact;let n=eM(e),s=Ec(n,"retry-after"),o=e instanceof Error?e.message:tM(e,"message")??"";if(rM(e,"status")===429||s!==void 0||/secondary rate|abuse detection/i.test(o)){let d=s===void 0?VS(n):ZF(s,r);return d===null?null:{kind:"secondary-throttled",pool:"secondary",retry_at:d,evidence:s===void 0?"x-ratelimit-reset":"retry-after",message:`GitHub secondary throttling is active; retry after ${d}`}}if(Ec(n,"x-ratelimit-remaining")!=="0")return null;let c=VS(n);if(c===null)return null;let l=Ec(n,"x-ratelimit-resource");return XF(l==="graphql"||l==="search"?l:l==="core"?"rest":t,c,"x-ratelimit-reset")}function XF(e,t,r){return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:r,message:`REST primary quota is exhausted; retry after ${t}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:r,message:`GraphQL primary quota is exhausted; retry after ${t}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:r,message:`GitHub Search quota is exhausted; retry after ${t}`}}function ZF(e,t){let r=Number(e);if(Number.isFinite(r)&&r>=0&&Number.isFinite(t))return new Date(t+r*1e3).toISOString();let n=Date.parse(e);return Number.isFinite(n)?new Date(n).toISOString():null}function VS(e){let t=Number(Ec(e,"x-ratelimit-reset"));return Number.isFinite(t)&&t>=0?new Date(t*1e3).toISOString():null}function eM(e){return!Lo(e)||!Lo(e.response)||!Lo(e.response.headers)?{}:e.response.headers}function Ec(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function tM(e,t){return Lo(e)&&typeof e[t]=="string"?e[t]:void 0}function rM(e,t){return Lo(e)&&typeof e[t]=="number"?e[t]:void 0}function Lo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var kr,_f=_(()=>{kr=class extends Error{fact;retryAt;constructor(t,r){super(t.message,r),this.name="GithubBackpressureError",this.fact=t,this.retryAt=t.retry_at}}});function zS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function YS(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 Rc(e){let t=e.etags??zS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??nc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Dp(e.budgetGate??$p()),i=Co({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Xk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:lf(e.app)}},c=new nM({auth:e.token,...a,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,400,401,403,404,410,422,429,451],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),l=async()=>{if(e.balance===void 0)return null;try{return await ls("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(w,k)=>{if(!o)return;let S=w?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new Sr(k,S.reset_at)},d=async w=>{let k=t.get(w.cacheKey),S=o?(await l())?.pools[w.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return JS(k,w.operation.budget,S.reset_at,r());throw new Sr(w.operation.budget,S.reset_at)}let T={...w.parameters??{}},C=Rr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(w.route,T),G=O.headers,q=Sc(G,"etag");return q!==void 0&&t.set(w.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:w.operation,cost:1,actor:w.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Go(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(w.cacheKey)} without a held answer to reuse`,{cause:O});let G=QS(O),q={...k.headers,...G},Q=Sc(q,"etag")??k.etag;return t.set(w.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:w.operation,cost:0,actor:w.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Go(O)===401)throw new ms({cause:O});if(Do(O)){if(k!==void 0){let G=kc(O,w.operation.budget,Date.parse(r()));if(G===null)throw O;return JS(k,w.operation.budget,G.retry_at,r())}throw KS(w.operation.budget,O,Date.parse(r()))}throw O}},p=new Map,f=!1,m=async(w,k)=>{let S=w.input,T=S.kind==="pr";try{let C=await d({cacheKey:S.cacheKey,route:T?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:S.owner,repo:S.repo,...T?{pull_number:S.number}:{issue_number:S.number}},operation:S.operation,actor:S.actor});w.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){w.reject(C)}},g=async(w,k)=>{try{let S=US(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=HS(S,T),O=iM(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:aM(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let V=w[Q];q.value===null?V.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):V.resolve({data:V.input.project?V.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Go(S)===401?new ms({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=YS(w);f=!1;let S=[...p.values()];p.clear(),await y(S,w,k)}catch(w){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(w))}},y=async(w,k,S)=>{await Promise.all(w.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,V=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),D=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||D)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!V&&o){let me=new Sr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:w=>new Promise((k,S)=>{let T=`${w.kind}:${w.rail??"default"}`,C=p.get(T)??[];C.push({input:w,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(w){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({...w,cacheKey:`${w.cacheKey}:page:${O}`,parameters:{...w.parameters??{},per_page:100,page:O}});if(T+=1,C=C&&G.quotaFree,!Array.isArray(G.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(w.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!sM(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(w,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(w,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Go(T)===401?new ms({cause:T}):Do(T)?KS(S?.operation.budget??"graphql",T,Date.parse(r())):T}}}}function JS(e,t,r,n){let s=Date.parse(n),o=e.storedAt===void 0?Number.NaN:Date.parse(e.storedAt);return{data:e.data,headers:e.headers,quotaFree:!0,degraded:{source:"cache",pool:t,resetAt:r,ageMs:Number.isFinite(s)&&Number.isFinite(o)?Math.max(0,s-o):null,reason:`${t} pool is exhausted until ${r}; serving the last-known answer instead of going dark`}}}function KS(e,t,r){let n=kc(t,e,r);if(n?.kind==="secondary-throttled")return new kr(n,{cause:t});if(n!==null)return new Sr(n.pool,n.retry_at,"GitHub refused the live request",{cause:t});throw t}function sM(e){let t=Sc(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Do(e){if(e instanceof kr)return!0;let t=Go(e),r=QS(e);return t===429||t===403&&Sc(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function oM(e,t,r){let n=r?` (${r})`:"";return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:"balance",message:`REST primary quota (rest pool) is exhausted; retry after ${t}${n}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GraphQL primary quota (graphql pool) is exhausted; retry after ${t}${n}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GitHub Search quota is exhausted; retry after ${t}${n}`}}function Go(e){if(Rr(e))return typeof e.status=="number"?e.status:void 0}function QS(e){return!Rr(e)||!Rr(e.response)||!Rr(e.response.headers)?{}:e.response.headers}function Sc(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Rr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iM(e){let t=Rr(e)?e:{},r=Rr(t.data)?t.data:t,s=(Rr(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 aM(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 nM,ms,Sr,XS=_(()=>{Zk();rS();yc();iS();qS();WS();Gp();Np();_f();nM=jS.plugin(cf,bc);ms=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"}},Sr=class extends kr{pool;resetAt;constructor(t,r,n,s){let o=oM(t,r,n);super(o,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function rR(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:[...vr],detail:t??"no balance has been asked for yet, so none is known"}}function nR(e,t){let r=eR(e),n=eR(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of vr){let c=tR[a],l=n[c],u=cM(a,c,l);s[a]=u,u==null&&o.push(a)}let i=vr.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 ${vr.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Rf(e){try{let t=await e.transport();return nR(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...rR(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function sR(e){let t=null;for(let r of vr){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function vf(e,t){let r=sR(e);if(r==null)return ZS(Sf).every_ms;let n=ZS(r.fraction);if(r.remaining>0)return n.every_ms;let s=lM(t.now,r.reset_at);return s==null?n.every_ms:Math.max(kf,Math.min(n.every_ms,s))}function ZS(e){for(let t of Tc)if(e<=t.at_or_below_fraction)return t;return Tc[Tc.length-1]}function cM(e,t,r){if(!oR(r))return null;let n=vc(r.limit),s=vc(r.remaining),o=vc(r.used),i=vc(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 Tf(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Ef}`,{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 lM(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 vc(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function eR(e){return oR(e)?e:{}}function oR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ef,tR,vr,kf,Sf,Tc,RX,$o=_(()=>{Ef="rate_limit",tR={rest:"core",graphql:"graphql",search:"search"},vr=["rest","graphql","search"];kf=15e3,Sf=.15,Tc=[{at_or_below_fraction:0,every_ms:kf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Sf,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"}],RX=60*6e4});var iR=_(()=>{J();fn();$o()});var aR=_(()=>{fn();J();J();$o()});var cR=_(()=>{});var lR=_(()=>{});var uR=_(()=>{});var dR=_(()=>{yc();$o()});var pR=_(()=>{J()});var xc=_(()=>{GE();Gp();Np();WE();XS();iR();aR();$o();cR();lR();uR();_f();yc();dR();pR()});import{join as mM}from"node:path";function Oc(e,t){let r=Tf({token:e,...t?{origin:t}:{},fetchImpl:Co({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await fR(o);let a=new Date(i).toISOString();return o=Rf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+vf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await fR(o)}}async function fR(e){try{return await ls("balance ask",1e4,()=>e)}catch{return null}}function Ac(e){let t=Mp({path:mM(ce(e.rootDir),"github","spend.toonl")}),r=Rc({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return hM(r)}function hM(e){return{async read(t){let r=Ip(t.args);if(r.kind!=="read")return No(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return No(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return No(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=gM(r,t);if(n){let o=await e.singleObject({cacheKey:hR(t.path,t.params),kind:n.kind,owner:n.owner,repo:n.repo,number:n.number,selection:n.selection,operation:r,actor:t.actor,project:n.project});return{status:0,stdout:JSON.stringify(o.data),stderr:"",surface:o.surface,pool:o.surface==="graphql"?"graphql":"rest",quotaFree:o.quotaFree}}if(r.surface==="graphql"){let o=bM(r,t);if(!o)return No(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:hR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:EM(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Do(n)?No(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:kM(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function gM(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=Fo(t.params,"owner")||r[1],s=Fo(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Nt(i)??{}:gR(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Nt(i)??{}:yM(i)}}function gR(e){let t=Nt(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:Nt(t.author)??{},labels:xf(t.labels).map(r=>({name:r.name}))}}function yM(e){let t=Nt(e)??{};return{...gR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function bM(e,t){let r=Fo(t.params,"owner"),n=Fo(t.params,"repo");if(!r||!n)return null;let s=wM(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
|
|
79
79
|
repository(owner: $owner, name: $repo) {
|
|
80
80
|
issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
|
|
81
81
|
nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
}`,variables:{owner:r,repo:n,first:s,states:o,labels:
|
|
84
|
+
}`,variables:{owner:r,repo:n,first:s,states:o,labels:_M(t.params,"labels")},decode:i=>mR(i,"issues").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,user:a.author,labels:xf(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
|
|
85
85
|
repository(owner: $owner, name: $repo) {
|
|
86
86
|
pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
|
|
87
87
|
nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
}`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>
|
|
91
|
-
`),stdout:JSON.stringify({number:
|
|
92
|
-
`)}var
|
|
93
|
-
`))>=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");VM.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>=HM)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as Ce}from"node:path";function If(e){let t=Ce(e),r=Ce(t,"state"),n=Ce(r,"castle"),s=Ce(t,"tmp"),o=Ce(s,"supervisors"),i=Ce(s,"workers"),a=Ce(s,"monitors"),c=Ce(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:Ce(n,"history.toonl"),castleValidation:Ce(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>Ce(o,l),projectSupervisor:Ce(o,JM),workersRoot:i,worker:l=>Ce(i,l),workerSteerFile:l=>Ce(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>Ce(a,l),worktreesRoot:c,worktreeLane:l=>Ce(c,l)}}var JM,Lf=_(()=>{"use strict";JM="default"});import{mkdir as KM,readFile as zM,rename as YM,rm as QM,writeFile as XM}from"node:fs/promises";import{dirname as ZM,join as e1}from"node:path";function r1(e){if(!t1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function n1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function s1(e){return e.code==="ENOENT"}function o1(e){return e.code==="EEXIST"}function i1(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 Gf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Gc(e,t){return r1(t),e1(e.castleStateRoot,"singletons",t,"lease.toon")}function Nf(e,t={}){let r=t.fs??{mkdir:KM,readFile:zM,rename:YM,rm:QM,writeFile:XM},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??n1;async function o(a){try{return i1(z(await r.readFile(a,"utf8")))}catch(c){if(s1(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Gc(e,a))},async acquire(a,c){let l=Gc(e,a);await r.mkdir(ZM(l),{recursive:!0});let u=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(l,M(p),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:u,lease:p}}catch(m){if(!o1(m))throw m}let f=await o(l);if(f){if(Gf(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Gc(e,a),u=await o(l);if(!u||!Gf(u,c))throw new Nc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Gc(e,a),u=await o(l);if(!u)return!1;if(!Gf(u,c))throw new Nc(a);return await r.rm(l,{force:!0}),!0}}}var Nc,t1,Df=_(()=>{"use strict";J();Nc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},t1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var jR=_(()=>{"use strict";Lc();Pf();Ba();Lf();Cc();Df()});var qR=_(()=>{"use strict"});var UR=_(()=>{});var HR=_(()=>{"use strict";UR()});var WR=_(()=>{"use strict"});var VR=_(()=>{"use strict"});var JR=_(()=>{"use strict";VR()});var $f=_(()=>{"use strict"});var KR=_(()=>{"use strict";J();$f()});var zR=_(()=>{"use strict";J()});var Ff=_(()=>{"use strict"});var Mf=_(()=>{"use strict"});var YR=_(()=>{"use strict";Oc()});var QR=_(()=>{"use strict"});var XR=_(()=>{"use strict";Ff();Mf()});var qo,Bf=_(()=>{"use strict";qo={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var Qee,ZR=_(()=>{"use strict";Bf();Qee=Math.max(qo.monologueMessages,qo.repeatedActionObservationPairs*2,qo.errorStreakPairs*2,qo.alternatingPingPongCycles*4)});var jf=_(()=>{"use strict"});var ev=_(()=>{"use strict"});var a1,c1,l1,tte,tv=_(()=>{"use strict";a1={refreshCadenceS:270,tolerance:3},c1=270,l1=2700,tte={...a1,claimGraceS:c1,recentCommitProtectionS:l1}});var rv=_(()=>{"use strict"});var nv=_(()=>{Va()});var sv=_(()=>{Va();nv()});import{execFile as f1,execFileSync as fte}from"node:child_process";import{promisify as m1}from"node:util";var bte,ov=_(()=>{"use strict";Sc();sv();jf();bte=m1(f1)});var iv=_(()=>{"use strict";kR();OR();AR();xc();PR();IR();LR();GR();Tc();NR();DR();$R();FR();Af();MR();BR();jR();qR();HR();WR();JR();Pc();KR();zR();Of();Ff();Mf();Lf();YR();QR();XR();Oc();$f();Cc();Df();Bf();ZR();jf();ev();tv();rv();ov()});var Dc,av=_(()=>{"use strict";Lc();Lc();or();Dc=class extends Mo{constructor(t){super(t,Xn)}}});import{EventEmitter as h1}from"node:events";import{join as g1}from"node:path";function Uf(e){let t=_o(e.cwd),r=If(g1(t,".red"));return new qf({...e,leases:e.leases??Nf(r),lane:e.lane??Ac(r),makeForwarder:e.makeForwarder??((n,s)=>new Dc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Zn(n.pid,n.start_time))})}var qf,cv=_(()=>{"use strict";iv();av();or();Ba();qf=class extends h1{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(gs).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"?Bo(a,n):jo(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===gs&&o.kind===Ic&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(gs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Hf={};se(Hf,{listWaits:()=>qa,renderWaitHelp:()=>Fo,runWait:()=>w1});import{randomUUID as lv}from"node:crypto";import{mkdir as y1,rm as b1}from"node:fs/promises";async function w1(e,t=process.cwd()){let r;try{r=await j_(e)}catch(n){return await R1(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Fo()),0;if(r.kind==="ls"){let n={schema:L_,version:1,waits:await qa(t)};return process.stdout.write(ss(n,r.options.format)),0}return dp(r.kind)?await _1({...r,kind:r.kind},t):(process.stdout.write(Fo()),2)}async function _1(e,t){let r=e.kind,n=gp({id:lv(),kind:r,target:S1(e),reason:e.options.reason,pid:process.pid,pid_start_time:await yo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:lp[r],status:"running",attempts:0}),s=K_(t,n.id),o=new AbortController,i,a=u=>{i=u,o.abort()},c=()=>a("SIGINT"),l=()=>a("SIGTERM");process.once("SIGINT",c),process.once("SIGTERM",l);try{await y1(ts(t),{recursive:!0}),await rs(s,n);let u=await E1(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await X_({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(ss(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=Ro(r,n,d,{status:"success"},new Date().toISOString());return await vo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(ss(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await b1(s,{force:!0}).catch(()=>{})}}async function E1(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await kE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:W_(t),registryPath:r,entry:n,signal:s});case"pr":{let i=e.target??"";if(!/^[1-9][0-9]*$/.test(i))return{verdict:ue("missing PR number")};n.webhook_mode="polling";let a=Uf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await xo({probe:gR(i,o,{emptyChecksGraceMs:es("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:es("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 k1(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=Uf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await xo({probe:()=>yR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await xo({probe:()=>bR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await xo({probe:()=>_R(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function k1(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 wR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await rs(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function S1(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 R1(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=dp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=gp({id:lv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:lp[o],status:"indeterminate",attempts:0}),c=Ro(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await vo(s,c,r).catch(()=>{}),process.stdout.write(ss(c,r)),2}var Wf=_(()=>{"use strict";q_();eE();RE();cn();fp();ER();or();ko();xf();cv();ko();xf()});var Vf,Jf,Kf,We,Ve,lt,Tt,Uo,$c=_(()=>{"use strict";Vf="rsp-telemetry.spool.toonl",Jf="rsp-telemetry.spool.jsonl",Kf="rsp-telemetry.spool.corrections.toonl",We="rsp_accounting_events_v1",Ve="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",Uo="rsp_telemetry_index_v1"});function ys(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return Tr(e)??0}function Tr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var zf=_(()=>{"use strict"});import{randomUUID as Ho,createHash as A1}from"node:crypto";import{appendFileSync as C1,closeSync as P1,existsSync as I1,fstatSync as L1,mkdirSync as yv,openSync as G1,readFileSync as N1,statSync as D1,writeSync as $1}from"node:fs";import{mkdir as bv,readdir as F1,readFile as wv,rename as M1,rm as _v,writeFile as Ev}from"node:fs/promises";import{basename as Yf,dirname as Wo,join as bs,resolve as pv}from"node:path";function Mc(e){if(!e)return null;let t=pv(e);for(;;){if(I1(bs(t,".red")))return t;let r=pv(bs(t,".."));if(r===t)break;t=r}return null}function lr(e){return bs(ce(e),Vf)}function Zf(e){return bs(ce(e),Jf)}function em(e){return bs(ce(e),Kf)}async function hn(e,t,r=St["rsp-telemetry-spool"]){xr(e,t,r)}function xr(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Mc(e);if(!s)return;let o=lr(s);yv(Wo(o),{recursive:!0});let i=hv({spool_id:Ho(),event:q1(t)}),a=vv(o,i,r,rm,hv);j1(o,i,n),a>0&&Rv(s,"telemetry spool retention",a)}catch{}}function j1(e,t,r){let n=0;for(;;){let s=G1(e,"a",384);try{$1(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=L1(s),i=D1(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{P1(s)}}}function q1(e){return fv(fv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function fv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=B1)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function U1(e){let t=Mc(e);if(!t)return[];let r=lr(t);await bv(Wo(r),{recursive:!0}).catch(()=>{});let n=await Tv(t),s=[...await xv(t),...await J1(n)];return await Promise.all(n.map(o=>_v(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function tm(e,t){let r=Mc(e);if(!r)return;let n=lr(r);await bv(Wo(n),{recursive:!0}).catch(()=>{}),await V1(r);for(let s of await H1(r))await mv(r,s,t);for(let s of await xv(r))await kv(r,s,t,!0);for(let s of await Tv(r))await mv(r,s,t)}async function H1(e){let t=[lr(e),Zf(e)],r=Wo(t[0]);return(await F1(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Yf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Yf(c)}.`));if(!o)return!1;let i=`${Yf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&W1(a))}).sort().map(s=>bs(r,s))}function W1(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function mv(e,t,r){try{let n=await Sv(t);for(let s of rm(n))await kv(e,s,r,!1)}finally{await _v(t,{force:!0})}}async function kv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Qf(e,{correction_id:Ho(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Qf(e,{correction_id:Ho(),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 Sv(e){let t="";for(let r=0;r<5;r++){let n=await wv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function ws(e){try{let t=JSON.parse(e);return!ys(t)||t.collection!==We&&t.collection!==Ve&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function hv(e){return je().push(z1(e))}function Qf(e,t,r=!0){try{let n=Mc(e);if(!n)return;let s=em(n);yv(Wo(s),{recursive:!0});let o=gv(t),i=vv(s,o,St["rsp-telemetry-corrections"],Ov,gv);C1(s,o,{encoding:"utf8",mode:384}),r&&i>0&&Rv(n,"telemetry corrections retention",i,!1)}catch{}}function Rv(e,t,r,n=!0){let s=Ho();Qf(e,{correction_id:Ho(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Tt,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function gv(e){return je().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function vv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!FE(e,o,r))return 0;let i;try{i=N1(e,"utf8")}catch(f){if(f.code==="ENOENT")return 0;throw f}let a=r.maxBytes;if(a===void 0)return 0;let c=Math.max(0,Math.floor(a*(r.targetRatio??et))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),g=Buffer.byteLength(m);if(d+g>c)break;u.unshift(m),d+=g}let p=u.join("");return ME(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function Tv(e){let t=lr(e),r=[t,Zf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await M1(s,o),s===t&&await Ev(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function V1(e){await Ev(lr(e),"",{flag:"a"}).catch(()=>{})}async function J1(e){let t=[];for(let r of e)t.push(...rm(await Sv(r)));return t}async function xv(e){let t=await wv(em(e),"utf8").catch(()=>""),r=new Map;for(let n of Ov(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:ws(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function rm(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(ys(o)){let i=ws(JSON.stringify(o));t.push(i?{spool_id:Fc(JSON.stringify(o)),event:i}:{spool_id:Fc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Fc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
|
|
90
|
+
}`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>mR(i,"pullRequests").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,draft:a.isDraft===!0,user:a.author,base:{ref:a.baseRefName},head:{ref:a.headRefName},labels:xf(a.labels)}))}:null}function mR(e,t){let r=Nt(e.repository),n=Nt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Nt).filter(s=>s!==null):[]}function xf(e){let t=Nt(e);return Array.isArray(t?.nodes)?t.nodes.map(Nt).filter(r=>r!==null):[]}function Nt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Fo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function wM(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function _M(e,t){let r=Fo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function No(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function hR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function EM(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function kM(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var Of=_(()=>{"use strict";xc();Ze()});import{spawn as SM}from"node:child_process";async function Tr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=ot(t).rootDir;if(De(n,r).enabled&&!bR.has(n)){let s=await ct(e);if(!vM(s))return s;bR.add(n)}return await ct({...e,residentRead:async s=>await(await RM(n,r,e.signal)).read(s)})}async function RM(e,t,r){let n=yR.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await Af(["auth","token"],e,r??AbortSignal.timeout(6e4));if(a.status!==0)throw new Error(a.stderr||"rsp wait could not obtain a GitHub credential");s=a.stdout.trim()}if(!s)throw new Error("rsp wait could not obtain a GitHub credential");let o=String(t.GITHUB_API_URL??"").trim()||void 0,i=Ac({rootDir:e,token:s,balance:Oc(s,o),...o?{baseUrl:o}:{}});return yR.set(e,i),i}function vM(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function hn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await wR(t,async r=>await Af(e,t.cwd,r)):await wR(t,async r=>{let n=await TM(e,t.cwd,r);return n||await Af(e,t.cwd,r)})}async function wR(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 Af(e,t,r){return r.aborted?{status:1,stdout:"",stderr:"gh call cancelled"}:await new Promise(n=>{let s=!1,o=u=>{s||(s=!0,r.removeEventListener("abort",a),n(u))},i=SM("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ma(u).then(d=>Fa(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],l=[];i.stdout.on("data",u=>c.push(Buffer.from(u))),i.stderr.on("data",u=>l.push(Buffer.from(u))),i.once("error",u=>o({status:1,stdout:"",stderr:u.message})),i.once("close",u=>{o({status:u??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(l).toString("utf8").trim()})})})}async function TM(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await xM(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"database_id")||pn(s,"id"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),workflowName:oe(s,"workflow_name")||oe(s,"name"),headBranch:oe(s,"head_branch"),url:oe(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"id"),name:oe(s,"name"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),url:oe(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ha(e,"--branch"),s=Ha(e,"--limit")??"20",o=await Tr({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=dn(at(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:pn(a,"database_id")||pn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ha(e,"--limit")??"20",s=await Tr({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=dn(JSON.parse(s.stdout)).map(i=>({tagName:oe(i,"tag_name"),publishedAt:oe(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await Tr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=at(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:oe(o,"tag_name"),publishedAt:oe(o,"published_at"),isDraft:o.draft===!0})}}return null}async function xM(e,t,r){let n=await Tr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(at(s.head),"sha"),[i,a]=o?await Promise.all([Tr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),Tr({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?dn(at(JSON.parse(i.stdout)).statuses):[],l=a.status===0?dn(at(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
|
|
91
|
+
`),stdout:JSON.stringify({number:pn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:OM(s),statusCheckRollup:[...c.map(u=>({conclusion:oe(u,"state").toUpperCase()})),...l.map(u=>({status:oe(u,"status").toUpperCase(),conclusion:oe(u,"conclusion").toUpperCase()}))],url:oe(s,"html_url")})}}function OM(e){let t=oe(e,"mergeable_state").toUpperCase();return t==="CLEAN"?"MERGEABLE":t==="DIRTY"?"CONFLICTING":t&&t!=="UNKNOWN"?t:e.mergeable===!0?"MERGEABLE":e.mergeable===!1?"CONFLICTING":"UNKNOWN"}var yR,bR,_R=_(()=>{"use strict";Ue();Ao();Of();wt();Wa();or();yR=new Map,bR=new Set});function kR(e,t,r){let n=Date.now();return()=>AM(e,t,r,n)}async function AM(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await hn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=Ro(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(PM),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return it("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return it("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return it("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return sr(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?sr(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):it("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?sr(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):it("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function SR(e,t){if(!e)return ue("missing run id");let r=await hn(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ue(r.stderr||"gh run view failed");let n=Ro(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?sr(`run ${e} is ${s||"pending"}`):o==="success"?it("success",`run ${e} succeeded`,ER(n)):it("failure",`run ${e} concluded ${o||"unknown"}`,ER(n))}async function RR(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await hn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):CM(e,Ro(r.stdout))}function CM(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return sr(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?it("success",`job ${e} succeeded`,s):it("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function vR(e,t){let r=await hn(["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 ss(s)&&s.databaseId!=null?String(s.databaseId):""}async function TR(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await hn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return sr(`release ${e} is not published yet`);let c=Ro(a.stdout);return c.isDraft===!0?sr(`release ${e} is still a draft`):it("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await hn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=dn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||IM(e,c))&&(n||l>=t)});return i?it("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):sr("no matching release is published yet")}function PM(e){let t=ss(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 ER(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 IM(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var xR=_(()=>{"use strict";ln();_R();Wa()});function Mo(){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 job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--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 job 93919316178",' rsp wait release --tag "v2.*" --existing',' 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(`
|
|
92
|
+
`)}var Cf=_(()=>{"use strict"});var OR=_(()=>{"use strict";J()});var AR=_(()=>{"use strict"});function LM(e){return Object.keys(e)}function gs(e){return{...e,fields:LM(e.fields)}}var CR,PR,IR,GM,DM,$M,LR,Pf=_(()=>{"use strict";CR="red.castle.lane.v1",PR="red.castle.state.v1",IR="red.castle.history.v1",GM="red.castle.validation.v2",DM="red.castle.envelope.v1",$M="red.castle.hitl-card.v1",LR=[gs({schemaId:CR,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}}),gs({schemaId:PR,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}}),gs({schemaId:IR,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}}),gs({schemaId:GM,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}}),gs({schemaId:DM,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}}),gs({schemaId:$M,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 h7,Cc=_(()=>{"use strict";fn();J();Pf();h7=new Map(LR.map(e=>[e.schemaId,new Set(e.fields)]))});var GR=_(()=>{"use strict";AR();Cc()});var DR=_(()=>{"use strict"});var Pc=_(()=>{"use strict"});var If=_(()=>{"use strict";Pc()});var Ic=_(()=>{"use strict"});import{appendFile as MM,mkdir as BM,readFile as jM}from"node:fs/promises";import{dirname as qM,join as UM}from"node:path";function Lf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function $R(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:Lf(t.at,"at"),singleton:Lf(t.singleton,"singleton"),kind:Lf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function HM(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function WM(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function VM(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function JM(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=e.slice(-o);Buffer.byteLength(VM(i))+t<=r?n=o:s=o-1}return n}function KM(e){return UM(e.castleStateRoot,"singleton-events.toonl")}function Lc(e,t={}){let r=t.fs??{appendFile:MM,mkdir:BM,readFile:jM},n=t.clock??(()=>new Date().toISOString()),s=KM(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=$R({at:a.at??n(),...a}),l=je().push(HM(c)),u=Buffer.byteLength(l);if(await r.mkdir(qM(s),{recursive:!0}),await us(s,u,i)){let d=i.maxBytes;if(u>d)throw new Error(`singleton event exceeds its ${d}-byte lane ceiling`);let p=await r.readFile(s,"utf8"),f=Oe(p),m=Math.floor(d*o.targetRatio),g=Math.max(m,u),b=JM(f,u,g);await ds(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){WM(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Oe(c).map($R);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Gc=_(()=>{"use strict";fn();J()});var Dc=_(()=>{"use strict";J();Ic();Gc()});var NR=_(()=>{"use strict";Pc();If();Dc()});var FR=_(()=>{"use strict"});var eee,MR=_(()=>{"use strict";J();eee=24*60*60*1e3});var BR=_(()=>{"use strict";Cc()});var see,oee,jR=_(()=>{"use strict";see=15*6e4,oee=30*6e4});var qR=_(()=>{"use strict"});var YM,QM,cee,lee,UR=_(()=>{"use strict";YM=["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"],QM={pre_worktree:["cargo","gradle"]},cee=Object.values(QM).flat(),lee=new Set(YM)});var HR=_(()=>{"use strict"});var WR=_(()=>{"use strict";Dc()});var Gf=_(()=>{});var VR=_(()=>{"use strict";xc();Gf()});import{EventEmitter as ZM}from"node:events";import{spawn as e1}from"node:child_process";function jo(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 qo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var ys,$c,t1,r1,n1,s1,Bo,Nc=_(()=>{ys="github-webhook",$c="github.webhook.delivery";t1="pull_request,pull_request_review,check_run,check_suite,workflow_run",r1=3,n1=1e3,s1=/no extension matched|unknown command|command not found/i,Bo=class extends ZM{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,n1).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?jo(c,n):qo(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=e1(r,["webhook","forward",`--events=${t1}`],{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(`
|
|
93
|
+
`))>=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");s1.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>=r1)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as Ce}from"node:path";function Df(e){let t=Ce(e),r=Ce(t,"state"),n=Ce(r,"castle"),s=Ce(t,"tmp"),o=Ce(s,"supervisors"),i=Ce(s,"workers"),a=Ce(s,"monitors"),c=Ce(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:Ce(n,"history.toonl"),castleValidation:Ce(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>Ce(o,l),projectSupervisor:Ce(o,o1),workersRoot:i,worker:l=>Ce(i,l),workerSteerFile:l=>Ce(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>Ce(a,l),worktreesRoot:c,worktreeLane:l=>Ce(c,l)}}var o1,$f=_(()=>{"use strict";o1="default"});import{mkdir as i1,readFile as a1,rename as c1,rm as l1,writeFile as u1}from"node:fs/promises";import{dirname as d1,join as p1}from"node:path";function m1(e){if(!f1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function h1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function g1(e){return e.code==="ENOENT"}function y1(e){return e.code==="EEXIST"}function b1(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 Nf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Fc(e,t){return m1(t),p1(e.castleStateRoot,"singletons",t,"lease.toon")}function Ff(e,t={}){let r=t.fs??{mkdir:i1,readFile:a1,rename:c1,rm:l1,writeFile:u1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??h1;async function o(a){try{return b1(z(await r.readFile(a,"utf8")))}catch(c){if(g1(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Fc(e,a))},async acquire(a,c){let l=Fc(e,a);await r.mkdir(d1(l),{recursive:!0});let u=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(l,M(p),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:u,lease:p}}catch(m){if(!y1(m))throw m}let f=await o(l);if(f){if(Nf(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Fc(e,a),u=await o(l);if(!u||!Nf(u,c))throw new Mc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Fc(e,a),u=await o(l);if(!u)return!1;if(!Nf(u,c))throw new Mc(a);return await r.rm(l,{force:!0}),!0}}}var Mc,f1,Mf=_(()=>{"use strict";J();Mc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},f1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var JR=_(()=>{"use strict";Nc();Gf();ja();$f();Gc();Mf()});var KR=_(()=>{"use strict"});var zR=_(()=>{});var YR=_(()=>{"use strict";zR()});var QR=_(()=>{"use strict"});var XR=_(()=>{"use strict"});var ZR=_(()=>{"use strict";XR()});var Bf=_(()=>{"use strict"});var ev=_(()=>{"use strict";J();Bf()});var tv=_(()=>{"use strict";J()});var jf=_(()=>{"use strict"});var qf=_(()=>{"use strict"});var rv=_(()=>{"use strict";Ic()});var nv=_(()=>{"use strict"});var sv=_(()=>{"use strict";jf();qf()});var Uo,Uf=_(()=>{"use strict";Uo={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var mte,ov=_(()=>{"use strict";Uf();mte=Math.max(Uo.monologueMessages,Uo.repeatedActionObservationPairs*2,Uo.errorStreakPairs*2,Uo.alternatingPingPongCycles*4)});var Hf=_(()=>{"use strict"});var iv=_(()=>{"use strict"});var w1,_1,E1,bte,av=_(()=>{"use strict";w1={refreshCadenceS:270,tolerance:3},_1=270,E1=2700,bte={...w1,claimGraceS:_1,recentCommitProtectionS:E1}});var cv=_(()=>{"use strict"});var lv=_(()=>{Ja()});var uv=_(()=>{Ja();lv()});import{execFile as v1,execFileSync as Cte}from"node:child_process";import{promisify as T1}from"node:util";var Dte,dv=_(()=>{"use strict";xc();uv();Hf();Dte=T1(v1)});var pv=_(()=>{"use strict";OR();GR();DR();Pc();NR();FR();MR();BR();Cc();jR();qR();UR();HR();If();WR();VR();JR();KR();YR();QR();ZR();Dc();ev();tv();Pf();jf();qf();$f();rv();nv();sv();Ic();Bf();Gc();Mf();Uf();ov();Hf();iv();av();cv();dv()});var Bc,fv=_(()=>{"use strict";Nc();Nc();or();Bc=class extends Bo{constructor(t){super(t,Zn)}}});import{EventEmitter as x1}from"node:events";import{join as O1}from"node:path";function Vf(e){let t=Eo(e.cwd),r=Df(O1(t,".red"));return new Wf({...e,leases:e.leases??Ff(r),lane:e.lane??Lc(r),makeForwarder:e.makeForwarder??((n,s)=>new Bc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>es(n.pid,n.start_time))})}var Wf,mv=_(()=>{"use strict";pv();fv();or();ja();Wf=class extends x1{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(ys).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"?jo(a,n):qo(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===ys&&o.kind===$c&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(ys);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Jf={};se(Jf,{listWaits:()=>Ua,renderWaitHelp:()=>Mo,runWait:()=>P1});import{randomUUID as hv}from"node:crypto";import{mkdir as A1,rm as C1}from"node:fs/promises";async function P1(e,t=process.cwd()){let r;try{r=await H_(e)}catch(n){return await $1(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Mo()),0;if(r.kind==="ls"){let n={schema:$_,version:1,waits:await Ua(t)};return process.stdout.write(os(n,r.options.format)),0}return hp(r.kind)?await I1({...r,kind:r.kind},t):(process.stdout.write(Mo()),2)}async function I1(e,t){let r=e.kind,n=_p({id:hv(),kind:r,target:D1(e),reason:e.options.reason,pid:process.pid,pid_start_time:await bo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:fp[r],status:"running",attempts:0}),s=Q_(t,n.id),o=new AbortController,i,a=u=>{i=u,o.abort()},c=()=>a("SIGINT"),l=()=>a("SIGTERM");process.once("SIGINT",c),process.once("SIGTERM",l);try{await A1(rs(t),{recursive:!0}),await ns(s,n);let u=await L1(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await tE({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(os(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=vo(r,n,d,{status:"success"},new Date().toISOString());return await To(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(os(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await C1(s,{force:!0}).catch(()=>{})}}async function L1(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await vE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:K_(t),registryPath:r,entry:n,signal:s});case"pr":{let i=e.target??"";if(!/^[1-9][0-9]*$/.test(i))return{verdict:ue("missing PR number")};n.webhook_mode="polling";let a=Vf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Oo({probe:kR(i,o,{emptyChecksGraceMs:ts("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("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 G1(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=Vf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Oo({probe:()=>SR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await Oo({probe:()=>RR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await Oo({probe:()=>TR(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function G1(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 vR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await ns(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function D1(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 $1(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=hp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=_p({id:hv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:fp[o],status:"indeterminate",attempts:0}),c=vo(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await To(s,c,r).catch(()=>{}),process.stdout.write(os(c,r)),2}var Kf=_(()=>{"use strict";W_();nE();xE();ln();yp();xR();or();So();Cf();mv();So();Cf()});var zf,Yf,Qf,Ve,Je,lt,Tt,Ho,jc=_(()=>{"use strict";zf="rsp-telemetry.spool.toonl",Yf="rsp-telemetry.spool.jsonl",Qf="rsp-telemetry.spool.corrections.toonl",Ve="rsp_accounting_events_v1",Je="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",Ho="rsp_telemetry_index_v1"});function bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return xr(e)??0}function xr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var Xf=_(()=>{"use strict"});import{randomUUID as Wo,createHash as j1}from"node:crypto";import{appendFileSync as q1,closeSync as U1,existsSync as H1,fstatSync as W1,mkdirSync as Sv,openSync as V1,readFileSync as J1,statSync as K1,writeSync as z1}from"node:fs";import{mkdir as Rv,readdir as Y1,readFile as vv,rename as Q1,rm as Tv,writeFile as xv}from"node:fs/promises";import{basename as Zf,dirname as Vo,join as ws,resolve as bv}from"node:path";function Uc(e){if(!e)return null;let t=bv(e);for(;;){if(H1(ws(t,".red")))return t;let r=bv(ws(t,".."));if(r===t)break;t=r}return null}function cr(e){return ws(ce(e),zf)}function rm(e){return ws(ce(e),Yf)}function nm(e){return ws(ce(e),Qf)}async function gn(e,t,r=St["rsp-telemetry-spool"]){Or(e,t,r)}function Or(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Uc(e);if(!s)return;let o=cr(s);Sv(Vo(o),{recursive:!0});let i=Ev({spool_id:Wo(),event:eB(t)}),a=Pv(o,i,r,om,Ev);Z1(o,i,n),a>0&&Cv(s,"telemetry spool retention",a)}catch{}}function Z1(e,t,r){let n=0;for(;;){let s=V1(e,"a",384);try{z1(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=W1(s),i=K1(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{U1(s)}}}function eB(e){return wv(wv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function wv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=X1)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function tB(e){let t=Uc(e);if(!t)return[];let r=cr(t);await Rv(Vo(r),{recursive:!0}).catch(()=>{});let n=await Iv(t),s=[...await Lv(t),...await oB(n)];return await Promise.all(n.map(o=>Tv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function sm(e,t){let r=Uc(e);if(!r)return;let n=cr(r);await Rv(Vo(n),{recursive:!0}).catch(()=>{}),await sB(r);for(let s of await rB(r))await _v(r,s,t);for(let s of await Lv(r))await Ov(r,s,t,!0);for(let s of await Iv(r))await _v(r,s,t)}async function rB(e){let t=[cr(e),rm(e)],r=Vo(t[0]);return(await Y1(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Zf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Zf(c)}.`));if(!o)return!1;let i=`${Zf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&nB(a))}).sort().map(s=>ws(r,s))}function nB(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function _v(e,t,r){try{let n=await Av(t);for(let s of om(n))await Ov(e,s,r,!1)}finally{await Tv(t,{force:!0})}}async function Ov(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&em(e,{correction_id:Wo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}em(e,{correction_id:Wo(),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 Av(e){let t="";for(let r=0;r<5;r++){let n=await vv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function _s(e){try{let t=JSON.parse(e);return!bs(t)||t.collection!==Ve&&t.collection!==Je&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function Ev(e){return je().push(aB(e))}function em(e,t,r=!0){try{let n=Uc(e);if(!n)return;let s=nm(n);Sv(Vo(s),{recursive:!0});let o=kv(t),i=Pv(s,o,St["rsp-telemetry-corrections"],Gv,kv);q1(s,o,{encoding:"utf8",mode:384}),r&&i>0&&Cv(n,"telemetry corrections retention",i,!1)}catch{}}function Cv(e,t,r,n=!0){let s=Wo();em(e,{correction_id:Wo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Tt,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function kv(e){return je().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function Pv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!jE(e,o,r))return 0;let i;try{i=J1(e,"utf8")}catch(f){if(f.code==="ENOENT")return 0;throw f}let a=r.maxBytes;if(a===void 0)return 0;let c=Math.max(0,Math.floor(a*(r.targetRatio??tt))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),g=Buffer.byteLength(m);if(d+g>c)break;u.unshift(m),d+=g}let p=u.join("");return qE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function Iv(e){let t=cr(e),r=[t,rm(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await Q1(s,o),s===t&&await xv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function sB(e){await xv(cr(e),"",{flag:"a"}).catch(()=>{})}async function oB(e){let t=[];for(let r of e)t.push(...om(await Av(r)));return t}async function Lv(e){let t=await vv(nm(e),"utf8").catch(()=>""),r=new Map;for(let n of Gv(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:_s(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function om(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(bs(o)){let i=_s(JSON.stringify(o));t.push(i?{spool_id:qc(JSON.stringify(o)),event:i}:{spool_id:qc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:qc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
|
|
94
94
|
${s}
|
|
95
|
-
`))
|
|
95
|
+
`))tm(o)&&cB(o)&&t.push({spool_id:o.spool_id,event:Dv(o)})}catch{s.startsWith("{")&&t.push({spool_id:qc(s),raw_line:s})}}}return t}function Gv(e){return iB(e).map(lB).filter(t=>t!==null)}function iB(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);tm(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
|
|
96
96
|
${s}
|
|
97
|
-
`))
|
|
98
|
-
`,"utf8"),t]):null}function
|
|
99
|
-
`,"utf8"),await
|
|
97
|
+
`))tm(o)&&t.push(o)}catch{}}}return t}function qc(e){return`legacy:${j1("sha256").update(e).digest("hex").slice(0,24)}`}function aB(e){let t={spool_id:e.spool_id};for(let[r,n]of Object.entries(e.event??{}))r!=="spool_id"&&(typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null?t[r]=n:n!==void 0&&(t[r]=JSON.stringify(n)));return t}function Dv(e){let{spool_id:t,...r}=e;return _s(JSON.stringify(r))}function cB(e){return typeof e.spool_id=="string"&&Dv(e)!==null}function lB(e){return typeof e.correction_id=="string"&&typeof e.target_spool_id=="string"&&(e.action==="retry"||e.action==="resolved")&&typeof e.created_at=="string"&&(e.event_json===null||typeof e.event_json=="string")?{correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??void 0}:null}function tm(e){return bs(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var X1,$v=_(()=>{"use strict";Ze();fn();J();jc();Xf();X1=64*1024});function Hc(e){return e.trim().split(/\s+/).filter(Boolean)}function Jo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Ko(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Hc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:yn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:yn(t)&&t[1]?`gh ${t[1]} json-jq`:yn(t)?"gh json-jq":t[0]==="gh"&&t[1]&&t[2]?`gh ${t[1]} ${t[2]}`:t[0]==="gh"&&t[1]?`gh ${t[1]}`:t[0]==="cargo"&&t[1]?`cargo ${t[1]}`:t[0]==="vitest"?"vitest":t[0]}function yn(e){return e[0]==="gh"&&e.some(uB)}function uB(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function Es(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var zo=_(()=>{"use strict"});var Ee,Wc=_(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as Xo}from"node:child_process";import{createHash as cm}from"node:crypto";import{existsSync as dB}from"node:fs";import{mkdir as pB,readFile as fB,readdir as Nv,rename as mB,writeFile as hB}from"node:fs/promises";import{homedir as gB}from"node:os";import{basename as yB,dirname as bB,join as Yo}from"node:path";import{fileURLToPath as wB}from"node:url";import{gunzipSync as _B,gzipSync as EB}from"node:zlib";function Zo(e,t){return`el:${cm("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function Ar(e){return`record:${e.slice(3)}`}function wn(e){return`expired:${e.slice(3)}`}function Kc(){return"index:v1"}function kB(e){return`blob:${e}`}function Fv(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function lr(e){let t=Hc(e),r=t[0]??"";if(r==="cat")return"derivable";if(r==="git"){let n=t[1]??"";return n==="log"||n==="diff"||n==="blame"||n==="show"?"derivable":zc(t)?"re-executable":"ephemeral"}return"ephemeral"}function ei(e){return Zc(e.storage_class)?e.storage_class:lr(e.command)}function Mv(e){return Zc(e.storage_class)?e.storage_class:lr(e.command)}function lm(e){let t=vB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=Mv(n);if(t[s].records+=1,t[s].raw_bytes+=n.raw_bytes??n.bytes,n.blob_key){if(r[s].has(n.blob_key))continue;r[s].add(n.blob_key)}t[s].bytes+=n.bytes}return t}function um(e,t,r){let n=t.getTime();return[...e].sort((s,o)=>o.created_at.localeCompare(s.created_at)).slice(0,Math.max(0,r)).map(s=>{let o=Math.max(0,Math.floor((n-Date.parse(s.created_at))/1e3));return{handle:s.handle,command:s.command,created_at:s.created_at,expires_at:s.expires_at,age_seconds:o,age_display:SB(o),storage_class:Mv(s),recover:`rsp show ${s.handle}`}})}function SB(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function dm(e,t,r,n){let s=t==="ephemeral"?n*60*60*1e3:r*24*60*60*1e3;return new Date(e.getTime()+s).toISOString()}function _n(e){let t=0,r=new Set;for(let n of e){if(n.blob_key){if(r.has(n.blob_key))continue;r.add(n.blob_key)}t+=n.bytes}return t}function pm(e,t){let r=process.cwd(),n=Xo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Xo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:RB(r),original_bytes:e.length}:null}function RB(e){let t=im(e,["rev-parse","HEAD"])||"unborn",r=im(e,["write-tree"])||"no-index",n=im(e,["status","--porcelain=v1","-z"])||"";return cm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function im(e,t){let r=Xo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function fm(e,t){let r=Hc(t);if(!zc(r))return null;let n=Uv(process.cwd(),r,e.length);return!n||bn(n)!==bn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:bn(e)}}function zc(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function bn(e){return cm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function mm(e,t,r,n){return t?Buffer.byteLength(JSON.stringify(t),"utf8"):r?Buffer.byteLength(JSON.stringify(r),"utf8"):n?n.stored_bytes:e.length}function hm(e){return typeof e.stored_bytes=="number"?e.stored_bytes:e.derivation_recipe?Buffer.byteLength(JSON.stringify(e.derivation_recipe),"utf8"):e.reexecution_recipe?Buffer.byteLength(JSON.stringify(e.reexecution_recipe),"utf8"):e.blob_key?typeof e.stored_bytes=="number"?e.stored_bytes:0:e.original_bytes}function gm(e,t,r){let n=EB(e);return{key:kB(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Bv(e){try{let t=_B(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function jv(e){let t=e.object_ids[0];if(!t)return null;let r=Xo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function qv(e){if(!zc(e.argv))return null;let t=Uv(e.cwd,e.argv,e.original_bytes);return t?bn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
|
|
98
|
+
`,"utf8"),t]):null}function Uv(e,t,r){let n=t[0];if(!n)return null;let s=Xo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function vB(){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 ti(e){return/^el:[a-f0-9]{12}$/.test(e)}function Jc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Hv(e){if(!Qo(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Qo(e.scope)?e.scope:void 0,ranking:Qo(e.ranking)?e.ranking:void 0}}}function Wv(e){if(!Qo(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Qo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Vv(e,t,r){let n=[],s=new Set([".git","node_modules",".red",...r]);async function o(i){if(n.length>=t)return;let a=await Nv(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Yo(i,c.name);c.isDirectory()?await o(l):c.isFile()&&/\.(md|mdx|txt|ts|tsx|js|jsx|json|yaml|yml|toml|rs|go|py|sql)$/i.test(c.name)&&n.push(l)}}return await o(e),n}function Jv(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Qo(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Yc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ri(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=xB(e.derivation_recipe),n=OB(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Jc(s);return e.collection===Ee&&typeof e.handle=="string"&&ti(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||bm(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Jc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&TB(e.loss)&&(e.storage_class===void 0||Zc(e.storage_class))}function ym(e){return!pt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!pt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&ti(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||Zc(t.storage_class))&&(r===void 0||typeof r=="string"&&Jc(r))})}function Qc(e){return pt(e)&&typeof e.key=="string"&&Jc(e.key)&&bm(e.content_hash)&&e.encoding==="gzip+base64"&&typeof e.bytes=="string"&&typeof e.original_bytes=="number"&&typeof e.stored_bytes=="number"&&typeof e.created_at=="string"}function Xc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function TB(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Zc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function xB(e){return pt(e)&&e.kind==="git-blob"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.object_ids)&&e.object_ids.every(t=>typeof t=="string"&&/^[0-9a-f]{40,64}$/.test(t))&&typeof e.working_tree_fingerprint=="string"&&typeof e.original_bytes=="number"}function OB(e){return pt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&zc(e.argv)&&typeof e.original_bytes=="number"&&bm(e.content_hash)}function bm(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function pt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Kv(e){try{let n=(await fB(e,"utf8")).trim();if(n==="")return Vc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(AB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Vc();return await ks(e,s),s}let n=Vc();return await ks(e,n),n}let t=Vc();return await ks(e,t),t}async function zv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function Yv(e){return yB(e)==="red-skills.rdb"}async function el(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Yo(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Yo(gB(),".cache","red-skills","bundles")),t=Yo(e,"reddb"),r;try{r=await Nv(t)}catch{return}r.sort().reverse();for(let n of r){let s=Yo(t,n,process.platform==="win32"?"red.exe":"red");if(dB(s)){process.env.REDDB_BIN=s;return}}}async function ks(e,t){await pB(bB(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await hB(r,`${M(am(t))}
|
|
99
|
+
`,"utf8"),await mB(r,e)}function am(e){if(e==null)return null;if(typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e:null;if(Array.isArray(e))return e.map(t=>am(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=am(n));return t}return String(e)}function Vc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function AB(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(ri)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Qc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Xc)&&ym(e.index)}function Qv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return wB(e)}var tl=_(()=>{"use strict";J();zo();Wc()});async function Xv(e,t){return CB?LB(e,t):PB?DB(e,t):IB(e,t)}async function IB(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(s){return new Promise((o,i)=>{n.stdin.write(s,a=>a?i(a):o())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(s=>{n.on("exit",o=>s(o??0))})}}}function LB(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(s){n?await n.write(s):(r.stdin.write(s),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:GB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*GB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function DB(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),s=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(o){await s.write(o)},end(){try{s.close()}catch{}}},stdout:$B(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*$B(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var CB,PB,Zv=_(()=>{CB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",PB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as NB}from"node:fs";import{join as FB}from"node:path";function eT(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let s=process.env?.[n];if(typeof s=="string"&&s!=="")return s;let o=FB(r,"bin",t);if(NB(o))return o;throw new Error(`reddb: binary "${t}" not found.
|
|
100
100
|
expected at: ${o}
|
|
101
101
|
override: set ${n}=/path/to/${t}
|
|
102
102
|
fix: re-run \`pnpm install\` (the postinstall script downloads it),
|
|
103
|
-
or check the postinstall log for a download error.`)}var
|
|
104
|
-
`)).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(
|
|
103
|
+
or check the postinstall log for a download error.`)}var tT=_(()=>{});import{fileURLToPath as MB}from"node:url";import{dirname as BB,resolve as jB,join as Kne}from"node:path";function HB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function rT(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:eT({name:HB(),packageRoot:UB,envVar:"REDDB_BIN"})}var qB,UB,nT=_(()=>{tT();qB=BB(MB(import.meta.url)),UB=jB(qB,"..")});var WB,VB,j,rl,Cr=_(()=>{WB=new TextEncoder,VB=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},rl=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 j("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(WB.encode(s+`
|
|
104
|
+
`)).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(VB.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 j(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 j("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}}});function _m(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:/"?JB(e):KB(e)}function JB(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(u){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${u.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=zB(s),a=r.port?Number(r.port):wm(i),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:i,host:r.hostname,port:a,path:o||void 0,username:c,password:l,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 KB(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 j("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):wm(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 j("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):wm(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 j("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function zB(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 j("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function wm(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 Em=_(()=>{Cr()});function QB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return sT(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return sT(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function sT(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 XB(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 YB,ni,km=_(()=>{Cr();YB=new Set(["embedded"]),ni=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&YB.has(this._transport))throw new j("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:XB(n.value)}async put(t,r,n,s={}){this._guard("put");let o=QB(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 Sm(e,t){return`${Rm(e)}.${ZB(t)}`}function Rm(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new j("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function ZB(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function ej(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 oT(e){return`'${String(e).replace(/'/g,"''")}'`}var Ss,vm=_(()=>{Cr();Ss=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(oT).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Sm(s,t)} = ${ej(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 ${Sm(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 ${Sm(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 j("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 ${Rm(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(oT).join(", ")}] FROM ${Rm(n)}`});return s.affected??s.affected_rows??s.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new j("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 j("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
|
|
105
105
|
|
|
106
106
|
`)){let u=l.split(`
|
|
107
|
-
`).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function UB(e,t,r){let{waitMs:n,group:s=null,count:o=null}=r??{};if(!Number.isInteger(n)||n<0)throw new j("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let i=dr(e),a=dr(t),c=s!=null?` GROUP ${dr(s)}`:"",l=o!=null?Rm(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function dr(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function Rm(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new j("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function HB(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function WB(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new j("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${HB(e.priority)}`),e.key!=null&&(t+=` KEY ${vm(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${vm(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function VB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?vm(e):JSON.stringify(e)}function vm(e){return`'${String(e).replace(/'/g,"''")}'`}function Sm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ni,Tm=_(()=>{Ar();ni=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${dr(t)}`})}push(t,r,n={}){let s=WB(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${VB(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${Rm(r)}`});return Sm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${Rm(r)}`});return Sm(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${dr(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${dr(t)}`})}async readWait(t,r,n={}){let s=UB(t,r,n),o=await this.client.call("query",{sql:s});return Sm(o)}}});function eT(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function JB(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function Zc(e){return String(e).split(".").map(tT).join(".")}function tT(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function KB(e){return rT(JSON.stringify(e))}function zB(e){return JSON.stringify(e)}function YB(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?KB(e):rT(e)}function rT(e){return`'${String(e).replace(/'/g,"''")}'`}var si,xm=_(()=>{Ar();si=class{constructor(t){this.db=t}async insert(t,r){eT(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Zc(t)} DOCUMENT VALUES (${zB(r)}) RETURNING *`),s=n.rows?.[0];if(!s||s.rid==null)throw new j("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:s.rid,item:s}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=JB(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Zc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){eT(n,"documents.patch patch");let s=Object.entries(n);if(s.length===0)throw new j("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of s)if(c.includes("/"))throw new j("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let o=s.map(([c,l])=>`${tT(c)} = ${YB(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Zc(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${Zc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function QB(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Cr(r)}.${Cr(n)})`}return ZB(e)}function XB(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Cr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function ZB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):nT(e)}function nT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Om=_(()=>{oi=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){XB(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(nT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Cr(s)} ${Cr(t)} = ${QB(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Cr(n)} ${Cr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Cr(n)} ${Cr(t)}`})}}});function ej(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Ss(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function tj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):sT(e)}function sT(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Am=_(()=>{ii=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){ej(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(sT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Ss(s)}.${Ss(t)} = ${tj(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${Ss(n)}.${Ss(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${Ss(n)}.${Ss(t)}`})}}});async function iT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(rj)}async function aT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${sj(t)}`)).rows??[]).some(n=>n.name===String(t))}function rj(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function oT(e){return String(e).split(".").map(nj).join(".")}function nj(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function sj(e){return`'${String(e).replace(/'/g,"''")}'`}var ai,Cm=_(()=>{Ar();ai=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(oT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${oT(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function rl(e,t={}){let r=ym(e);if(mj(r),r.kind==="embedded"){let n=fj(r,t.auth);if(n.token||n.username)throw new j("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let s=pj(r),o=t.binary??Yv(),i=await Vv(o,s),a=new Xc(i);return await a.call("version",{}),new Im(a,{transport:"embedded"})}}function lT(e){return aj(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:lj(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&dj(e)?{$uuid:e}:e}function aj(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new j("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new j("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new j("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function cj(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(lT):e.map(lT)}function lj(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function uj(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function dj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function el(e){if(Array.isArray(e))return e.map(el);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return uj(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=el(s);return r}return e}function pj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function fj(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function mj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",oj)}function Lm(){return new j(cT,`${cT}: nested transactions are not supported on one connection`)}function dT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function hj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${uT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function gj(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new j("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${uT} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new j("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}var oj,ij,uT,cT,tl,Pm,Im,pT=_(()=>{Jv();Qv();Ar();bm();wm();km();Tm();xm();Om();Am();Cm();wm();km();Tm();xm();Om();Am();Cm();bm();oj="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",ij="1.0",uT="1.0.9",cT="NESTED_TX_NOT_SUPPORTED";tl=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw Lm()}},Pm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Lm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new tl(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){dT(r,n)}throw r}}},Im=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=ij,this.cache=new ri(t,this.transport),this.queue=new ni(t),this.queues=this.queue,this.documents=new si(this);let n=new ks(t);this.kv=Object.assign((s="kv_default")=>new ks(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new oi(t,s),this.vault=(s="red.vault")=>new ii(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=cj(r);return n==null?this.client.call("query",{sql:t}).then(el):this.client.call("query",{sql:t,params:n}).then(el)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return hj(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return gj(n,r.length)}tx(){return new Pm(this)}async transaction(t){if(this.inTransaction)throw Lm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new tl(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){dT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return aT(this,t)}list(){return iT(this)}from(t){return new ai(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as yj}from"node:crypto";import{existsSync as fT}from"node:fs";import{mkdir as bj,readFile as wj,rename as Gm,rm as ci,stat as Nm}from"node:fs/promises";import{basename as _j,dirname as Ej}from"node:path";async function mT(e){await(await _n.open({...e,allowResidentOpen:!0})).close()}var _n,hT=_(()=>{"use strict";pT();jc();Qc();_n=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=Wv(t.uri),n=await Uv(r),s=new e(n,{uri:t.uri,ttlDays:Vc(t.ttlDays,_t),ephemeralTtlHours:Vc(t.ephemeralTtlHours,Et),byteBudget:Vc(t.byteBudget,kt),now:t.now??(()=>new Date)});return Hv(n)?(await Yc(),await bj(Ej(n),{recursive:!0}),s.db=await rl(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await qv(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Xo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?lm(n,r.command):null,u=c==="re-executable"?um(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=cm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=yn(n),m=d==="ephemeral"?fm(n,f,o):null,g=dm(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};return delete this.document.tombstones[bn(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!ei(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Or(t)];if(!ti(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Or(n.handle),bytes:pm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Zo(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Zo(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:wn(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:im(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),am(this.readIndex().records,this.opts.now(),t))}readIndex(){return this.document.index}writeIndex(t){this.document.index=t}upsertIndex(t){let n=this.readIndex().records.filter(s=>s.handle!==t.handle);n.push(t),this.writeIndex({version:1,records:n}),this.dirty=!0}prune(){let t=this.opts.now().getTime(),r=new Date(t).toISOString(),n=this.readIndex(),s=[];for(let i of n.records)Date.parse(i.expires_at)<=t?this.expireEntry(i,i.expires_at):s.push(i);let o=wn(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=wn(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[bn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[bn(t)];return Kc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Nv(t.derivation_recipe);if(t.reexecution_recipe)return Dv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Jc(r)?Gv(r):null}return null}deleteUnreferencedLocalBlobs(t){let r=new Set(t.map(n=>n.blob_key).filter(n=>typeof n=="string"));for(let n of Object.keys(this.document.blobs))r.has(n)||(delete this.document.blobs[n],this.dirty=!0)}async flush(){this.dirty&&(await Es(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await Nm(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
|
|
108
|
-
`,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await
|
|
109
|
-
`),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Hc());return mm(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Hc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=wn(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=wn(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Nm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await ci(o,{force:!0}),await ci(i,{force:!0});let a=await rl(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Iv(l.name)}`);let u=a.kv(l.name);for(let d of l.items)await u.put(d.key,d.value)}}finally{await a.close()}let c=await Nm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ci(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Gm(this.path,i),await Gm(o,this.path),await ci(i,{force:!0})}catch(l){throw!fT(this.path)&&fT(i)&&await Gm(i,this.path),await ci(o,{force:!0}),l}finally{this.db=await rl(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Hc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(bn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Or(t));if(!ti(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var gT={};se(gT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>_n,contentHandle:()=>Xo,ensureReddbBinaryFromWarmCache:()=>Yc,provisionElisionStore:()=>mT,storageClassForCommand:()=>ur});var nl=_(()=>{"use strict";jc();Qc();Qc();hT()});async function sl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await wT(e,s),i=(await li(e,Ve)).filter(N=>vs(N)>=s),a=o.filter(N=>W(N.event_type)!=="show"&&W(N.degradation_reason)===""),c=o.filter(N=>W(N.event_type)==="show"),l=o.filter(N=>W(N.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,w=0,k=0;for(let N of a){N.elided===!0&&u++;let H=ut(N.raw_bytes),ye=ut(N.emitted_bytes),ht=Math.max(0,H-ye),me=Ts(N,"raw"),L=Ts(N,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=(N.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Vt=En(N).slice(0,10);Vt&&g.set(Vt,(g.get(Vt)??0)+U);let It=W(N.command)||"unknown",Fe=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Fe.invocations++,Fe.bytes_saved+=ht,Fe.tokens_saved+=U,b.set(It,Fe);let Me=Tr(N.wrapper_ms);Me!=null&&y.push(Me),E+=ut(N.store_open_count);let Jt=Tr(N.store_elapsed_ms);Jt!=null&&(w+=Jt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let N of l){let H=W(N.degradation_reason)||W(N.reason)||"unknown",ye=W(N.wrapper_family)||dt(W(N.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=En(N);C.push({timestamp:ht,family:ye,command:W(N.command)||"unknown",reason:H,exit_code:Tr(N.wrapper_exit_code),stderr_head:W(N.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W(N.command)||"unknown"})}let G=a.length+l.length,q=c.filter(N=>N.hit===!0).length,Q=tp(f,m),V=kj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([N],[H])=>N.localeCompare(H)).map(([N,H])=>({date:N,tokens_saved:H})),top_commands:[...b.values()].sort((N,H)=>H.bytes_saved-N.bytes_saved||H.tokens_saved-N.tokens_saved||N.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort((N,H)=>H[1]-N[1]||N[0].localeCompare(H[0])).map(([N,H])=>({reason:N,count:H})),by_family:[...T.entries()].sort((N,H)=>H[1]-N[1]||N[0].localeCompare(H[0])).map(([N,H])=>({family:N,count:H})),recent_failures:C.sort((N,H)=>H.timestamp.localeCompare(N.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Rs(y,.5),wrapper_ms_p95:Rs(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:V}}function kj(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=W(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,ut(a.saved_units))),c!=="contributed"){let d=W(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=W(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Pe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Pe(c.contributed/l)}})}}async function Dm(e,t,r=new Date){let s=(await li(e,We)).filter(o=>vs(o)<=r.getTime()||En(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=En(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:Pj(s)}}async function $m(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:28,s=r.toISOString(),o=new Date(r.getTime()-n*24*60*60*1e3).toISOString(),i=Date.parse(o),a=await wT(e,i),c=a.filter(L=>W(L.event_type)!=="show"&&W(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&W(L.degradation_reason)===""),l=a.filter(L=>W(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>W(L.event_type)==="show"),d=a.filter(L=>W(L.degradation_reason)!==""),p=[...c,...d].map(vs).filter(L=>Number.isFinite(L)&&L>0),f=p.length===0?null:Math.min(...p),m=f==null?0:Math.max(1,Math.min(n,Math.ceil((r.getTime()-f)/Bj()))),g=[],b=new Map,y=new Map,E=new Map,w=new Map,k=new Map,S=new Map,T=0,C=!1,O=0,G=null,q=0,Q=0;for(let L of c){let U=En(L),Vt=U.slice(0,10),It=U.slice(0,16),Fe=dt(W(L.command)),Me=Math.max(0,Ts(L,"raw").tokens-Ts(L,"emitted").tokens);T+=Me,C||=L.estimated===!0&&Me>0;let Jt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Dn=Tr(L.wrapper_ms);if(Dn!=null){g.push(Dn);let Ks=b.get(Fe)??[];Ks.push(Dn),b.set(Fe,Ks)}Vt&&y.set(Vt,(y.get(Vt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=Nj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Js=Fj(U);Js&&k.set(Js,(k.get(Js)??0)+Me);let zr=S.get(Fe)??{command_family:Fe,invocations:0,tokens_saved:0,bytes_saved:0};zr.invocations++,zr.tokens_saved+=Me,zr.bytes_saved+=Jt,S.set(Fe,zr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Me>0&&(!G||Me>G.tokens_saved||Me===G.tokens_saved&&Jt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Jt})}let V=d.map(L=>({timestamp:En(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),N=new Map;for(let L of V)N.set(L.reason,(N.get(L.reason)??0)+1);let H=Tj(V),ye=vj(u),ht=Oj([...S.values()],ye,H),me=[...E.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:bT(g),by_command_family:[...b.entries()].sort((L,U)=>U[1].length-L[1].length||L[0].localeCompare(U[0])).map(([L,U])=>({command_family:L,count:U.length,...bT(U)}))},throughput:{requests_per_day:[...y.entries()].sort(([L],[U])=>L.localeCompare(U)).map(([L,U])=>({date:L,requests:U})),active_minute_avg:E.size===0?null:Pe([...E.values()].reduce((L,U)=>L+U,0)/E.size),peak_minute:me?{minute:me[0],requests:me[1]}:null,hour_weekday_heatmap:Dj(w)},savings:{tokens:tp(T,C),measured_control_holdout:Sj(c,l),weekly_tokens_saved:Mj(k),elision_rate:c.length===0?0:Pe(O/c.length),top_commands_by_tokens_saved:[...S.values()].sort((L,U)=>U.tokens_saved-L.tokens_saved||U.bytes_saved-L.bytes_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),top_commands_by_invocation_count:[...S.values()].sort((L,U)=>U.invocations-L.invocations||U.tokens_saved-L.tokens_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),single_biggest_elision:G},health:{degradation_timeline:V,degradations_by_reason:[...N.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0])).map(([L,U])=>({reason:L,count:U})),cold_boots:q===0?null:Q,warm_hits:q===0?null:Math.max(0,q-Q)},mining:{recovery_usage_by_family:ye,degradation_clusters:H,threshold_tuning_suggestions:ht}}}async function wT(e,t){let r=(await li(e,We)).filter(i=>vs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await li(e,lt)).filter(i=>vs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await li(e,Tt)).filter(i=>vs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:W(i.reason)||"unknown"}));return[...r,...s,...o]}function Ts(e,t){let r=Tr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function Sj(e,t){let r=Cj(t.map(a=>Tr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(yT).filter(a=>a!=null),s=t.map(yT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(Aj(o));return{enabled:!0,holdout_share:Pe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:Rj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function yT(e){let t=Ts(e,"raw").tokens;if(t<=0)return null;let r=Ts(e,"emitted").tokens;return Math.max(0,t-r)/t}function Rj(e,t){if(e.length<=1)return{low:Pe(Math.max(0,t)),high:Pe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Pe(Math.max(0,t-n)),high:Pe(Math.min(1,t+n))}}function vj(e){let t=new Map;for(let r of e){let n=dt(W(r.recovered_command)||W(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Pe(r.show_hits/r.show_total)}))}function Tj(e){let t=new Map;for(let r of e){let n=`${r.command_family}\0${r.reason}`,s=t.get(n)??{command_family:r.command_family,reason:r.reason,count:0};s.count++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.count-r.count||r.command_family.localeCompare(n.command_family)||r.reason.localeCompare(n.reason)).map(r=>({...r,suggestion:xj(r)}))}function xj(e){return/unavailable|not provisioned|missing/i.test(e.reason)?`Investigate ${e.command_family} wrapper availability before changing thresholds`:/timeout|large|limit/i.test(e.reason)?`Review ${e.command_family} byte thresholds and timeout caps for ${e.count} matching degradations`:`Investigate ${e.command_family} ${e.reason} cluster before tuning compression thresholds`}function Oj(e,t,r){let n=[];for(let s of t.filter(o=>o.show_total>0))n.push({command_family:s.command_family,signal:`recovery_show_rate=${s.show_total}`,suggestion:s.show_hit_rate>=.5?"Consider preserving more context or raising terse thresholds for frequently recovered outputs":"Recovery misses dominate; inspect handle lifetime before threshold changes"});for(let s of r.filter(o=>o.count>1))n.push({command_family:s.command_family,signal:`degradation_cluster=${s.reason}:${s.count}`,suggestion:"Fix the repeated degradation before tightening compression"});for(let s of e.filter(o=>o.invocations>0&&o.tokens_saved===0))n.push({command_family:s.command_family,signal:"zero_token_savings",suggestion:"Consider bypassing or raising admission thresholds for this family"});return n.slice(0,10)}function Aj(e){return e.reduce((t,r)=>t+r,0)/e.length}function Cj(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function Pj(e){let t=Lj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Ij(r.storage_class)??ur(W(r.command));t[n].records+=1;let s=ut(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function Ij(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function Lj(){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}}}async function li(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>Gj(n.value)).filter(n=>ys(n))}function Gj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function vs(e){let t=Date.parse(En(e));return Number.isFinite(t)?t:0}function En(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function Rs(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Pe(r[n])}function bT(e){return{wrapper_ms_p50:Rs(e,.5),wrapper_ms_p90:Rs(e,.9),wrapper_ms_p95:Rs(e,.95),wrapper_ms_p99:Rs(e,.99)}}function Pe(e){return Math.round(e*100)/100}function Nj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${$j(t.getUTCDay())}:${t.getUTCHours()}`:null}function Dj(e){let t=[];for(let r of["sun","mon","tue","wed","thu","fri","sat"])for(let n=0;n<24;n++){let s=e.get(`${r}:${n}`)??0;s>0&&t.push({weekday:r,hour:n,requests:s})}return t}function $j(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Fj(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return null;let r=t.getUTCDay(),n=r===0?-6:1-r;return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+n)).toISOString().slice(0,10)}function Mj(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Pe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function Bj(){return 24*60*60*1e3}var _T=_(()=>{"use strict";Ko();nl();rp();$c();zf()});var ui={};se(ui,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>We,RSP_DECISIONS_COLLECTION:()=>Ve,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>Uo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Jf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Kf,RSP_TELEMETRY_SPOOL_FILE:()=>Vf,appendTelemetryEvent:()=>hn,appendTelemetryEventSync:()=>xr,drainTelemetrySpool:()=>tm,parseTelemetryEvent:()=>ws,readAccountingLaneStats:()=>Dm,readTelemetryGainsReport:()=>$m,readTelemetryStats:()=>sl,takeTelemetrySpool:()=>U1,telemetryLegacySpoolPath:()=>Zf,telemetrySpoolCorrectionsPath:()=>em,telemetrySpoolPath:()=>lr});var Ft=_(()=>{"use strict";$c();Cv();_T()});import{isUtf8 as jj}from"node:buffer";async function ET(e,t=r=>r){let r=[],n=[];return e.stdout?.on("data",s=>r.push(Buffer.from(s))),e.stderr?.on("data",s=>n.push(Buffer.from(s))),await new Promise(s=>{let o=!1,i=async(a,c)=>{if(o)return;o=!0;let l=Buffer.concat(r),u=l;if(l.length>0&&jj(l))try{u=await t(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(n)),c){process.kill(process.pid,c),s(128);return}s(a??0)};e.once("error",a=>{n.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
|
|
110
|
-
`)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var
|
|
111
|
-
`)}};
|
|
112
|
-
`)?
|
|
107
|
+
`).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function tj(e,t,r){let{waitMs:n,group:s=null,count:o=null}=r??{};if(!Number.isInteger(n)||n<0)throw new j("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let i=ur(e),a=ur(t),c=s!=null?` GROUP ${ur(s)}`:"",l=o!=null?xm(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function ur(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function xm(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new j("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function rj(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function nj(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new j("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${rj(e.priority)}`),e.key!=null&&(t+=` KEY ${Om(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Om(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function sj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Om(e):JSON.stringify(e)}function Om(e){return`'${String(e).replace(/'/g,"''")}'`}function Tm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var si,Am=_(()=>{Cr();si=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${ur(t)}`})}push(t,r,n={}){let s=nj(n);return this.client.call("query",{sql:`QUEUE PUSH ${ur(t)} ${sj(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${ur(t)}${xm(r)}`});return Tm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${ur(t)}${xm(r)}`});return Tm(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${ur(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${ur(t)}`})}async readWait(t,r,n={}){let s=tj(t,r,n),o=await this.client.call("query",{sql:s});return Tm(o)}}});function iT(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function oj(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function nl(e){return String(e).split(".").map(aT).join(".")}function aT(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function ij(e){return cT(JSON.stringify(e))}function aj(e){return JSON.stringify(e)}function cj(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?ij(e):cT(e)}function cT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Cm=_(()=>{Cr();oi=class{constructor(t){this.db=t}async insert(t,r){iT(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${nl(t)} DOCUMENT VALUES (${aj(r)}) RETURNING *`),s=n.rows?.[0];if(!s||s.rid==null)throw new j("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:s.rid,item:s}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=oj(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${nl(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){iT(n,"documents.patch patch");let s=Object.entries(n);if(s.length===0)throw new j("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of s)if(c.includes("/"))throw new j("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let o=s.map(([c,l])=>`${aT(c)} = ${cj(l)}`).join(", "),a=(await this.db.query(`UPDATE ${nl(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${nl(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function lj(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Pr(r)}.${Pr(n)})`}return dj(e)}function uj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Pr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function dj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):lT(e)}function lT(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Pm=_(()=>{ii=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){uj(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(lT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Pr(s)} ${Pr(t)} = ${lj(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Pr(n)} ${Pr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Pr(n)} ${Pr(t)}`})}}});function pj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Rs(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function fj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):uT(e)}function uT(e){return`'${String(e).replace(/'/g,"''")}'`}var ai,Im=_(()=>{ai=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){pj(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(uT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Rs(s)}.${Rs(t)} = ${fj(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${Rs(n)}.${Rs(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${Rs(n)}.${Rs(t)}`})}}});async function pT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(mj)}async function fT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${gj(t)}`)).rows??[]).some(n=>n.name===String(t))}function mj(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function dT(e){return String(e).split(".").map(hj).join(".")}function hj(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function gj(e){return`'${String(e).replace(/'/g,"''")}'`}var ci,Lm=_(()=>{Cr();ci=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(dT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${dT(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function il(e,t={}){let r=_m(e);if(Tj(r),r.kind==="embedded"){let n=vj(r,t.auth);if(n.token||n.username)throw new j("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let s=Rj(r),o=t.binary??rT(),i=await Xv(o,s),a=new rl(i);return await a.call("version",{}),new Dm(a,{transport:"embedded"})}}function hT(e){return wj(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:Ej(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&Sj(e)?{$uuid:e}:e}function wj(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new j("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new j("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new j("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function _j(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(hT):e.map(hT)}function Ej(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function kj(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function Sj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function sl(e){if(Array.isArray(e))return e.map(sl);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return kj(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=sl(s);return r}return e}function Rj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function vj(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function Tj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",yj)}function $m(){return new j(mT,`${mT}: nested transactions are not supported on one connection`)}function yT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function xj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${gT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function Oj(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new j("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${gT} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new j("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}var yj,bj,gT,mT,ol,Gm,Dm,bT=_(()=>{Zv();nT();Cr();Em();km();vm();Am();Cm();Pm();Im();Lm();km();vm();Am();Cm();Pm();Im();Lm();Em();yj="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",bj="1.0",gT="1.0.9",mT="NESTED_TX_NOT_SUPPORTED";ol=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw $m()}},Gm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw $m();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new ol(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){yT(r,n)}throw r}}},Dm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=bj,this.cache=new ni(t,this.transport),this.queue=new si(t),this.queues=this.queue,this.documents=new oi(this);let n=new Ss(t);this.kv=Object.assign((s="kv_default")=>new Ss(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ii(t,s),this.vault=(s="red.vault")=>new ai(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=_j(r);return n==null?this.client.call("query",{sql:t}).then(sl):this.client.call("query",{sql:t,params:n}).then(sl)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return xj(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return Oj(n,r.length)}tx(){return new Gm(this)}async transaction(t){if(this.inTransaction)throw $m();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new ol(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){yT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return fT(this,t)}list(){return pT(this)}from(t){return new ci(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as Aj}from"node:crypto";import{existsSync as wT}from"node:fs";import{mkdir as Cj,readFile as Pj,rename as Nm,rm as li,stat as Fm}from"node:fs/promises";import{basename as Ij,dirname as Lj}from"node:path";async function _T(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,ET=_(()=>{"use strict";bT();Wc();tl();En=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=Qv(t.uri),n=await zv(r),s=new e(n,{uri:t.uri,ttlDays:Yc(t.ttlDays,_t),ephemeralTtlHours:Yc(t.ephemeralTtlHours,Et),byteBudget:Yc(t.byteBudget,kt),now:t.now??(()=>new Date)});return Yv(n)?(await el(),await Cj(Lj(n),{recursive:!0}),s.db=await il(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Kv(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=lr(r.command),l=c==="derivable"?pm(n,r.command):null,u=c==="re-executable"?fm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=dm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?gm(n,f,o):null,g=mm(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};return delete this.document.tombstones[wn(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!ti(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Ar(t)];if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Ar(n.handle),bytes:hm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:_n(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:lm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),um(this.readIndex().records,this.opts.now(),t))}readIndex(){return this.document.index}writeIndex(t){this.document.index=t}upsertIndex(t){let n=this.readIndex().records.filter(s=>s.handle!==t.handle);n.push(t),this.writeIndex({version:1,records:n}),this.dirty=!0}prune(){let t=this.opts.now().getTime(),r=new Date(t).toISOString(),n=this.readIndex(),s=[];for(let i of n.records)Date.parse(i.expires_at)<=t?this.expireEntry(i,i.expires_at):s.push(i);let o=_n(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=_n(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[wn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[wn(t)];return Xc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return jv(t.derivation_recipe);if(t.reexecution_recipe)return qv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Qc(r)?Bv(r):null}return null}deleteUnreferencedLocalBlobs(t){let r=new Set(t.map(n=>n.blob_key).filter(n=>typeof n=="string"));for(let n of Object.keys(this.document.blobs))r.has(n)||(delete this.document.blobs[n],this.dirty=!0)}async flush(){this.dirty&&(await ks(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await Fm(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
|
|
108
|
+
`,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await ks(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(Ee)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===Ee);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${Ee}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${Ee}`),await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=lr(r.command),l=c==="derivable"?pm(n,r.command):null,u=c==="re-executable"?fm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=dm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?gm(n,f,o):null,g=mm(n,l,u,m);m&&!Qc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(wn(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(w=>w.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!ti(t))return null;let r=await this.kvGet(wn(t));if(Xc(r))return r;let n=await this.kvGet(Ar(t));if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:Ar(n.handle),bytes:hm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:_n(t.records),oldest:t.records.reduce((r,n)=>r==null||n.created_at<r?n.created_at:r,null),budget:this.opts.byteBudget,storage_classes:lm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return um(r.records,this.opts.now(),t)}async memory(t,r){if(!this.db)throw new Error("resident memory operations require the shared RedDB store");if(await this.ensureMemoryGraphStore(),t==="recall"){let n=Hv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Wv(r);return await this.memoryIngestRedDb(n)}throw new Error(`unsupported memory action: ${t}`)}async ensureMemoryGraphStore(){if(!this.db)throw new Error("rsp RedDB store is not open");await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_nodes"),await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_edges")}async memoryIngestRedDb(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Vv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await Pj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=Ij(s),c=Aj("sha256").update("resident-memory-v1\0").update(s).update("\0").update(i).digest("hex");if(await this.db.kv("memory_kv").get(`resident-node-hash:${c}`)!=null)continue;let l=Date.now(),u={title:a,content:i,source:s,confidence:"EXTRACTED",hash:c,project:"default",scope:"project",importance:1,tier:"durable",provenance_tier:"oracle",created_at:l,updated_at:l,accessed_at:l,access_count:0,provenance:{source_kind:"system",writer:"rsp-resident",confidence:"EXTRACTED",evidence:[s],created_at:l,updated_at:l}},d=await this.db.query("INSERT INTO memory_nodes NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *",a,"concept",c,u),p=Number(d.rows[0]?.red_entity_id??d.rows[0]?.rid);Number.isFinite(p)&&await this.db.kv("memory_kv").put(`resident-node-hash:${c}`,p),n+=1}return{files:r.length,nodes:n,edges:0,docs:r.length,added:n,updated:0,skipped:r.length-n,stale:0,semantic:{enabled:!1,nodes:0,edges:0,token_cost:{input:0,output:0}},durationMs:0}}async memoryRecallRedDb(t,r){if(!this.db)throw new Error("rsp RedDB store is not open");let n=await this.db.query("SELECT * FROM memory_nodes"),s=t.toLowerCase().split(/\s+/).filter(Boolean),o=n.rows.map(i=>Jv(i,s)).filter(i=>i!=null).sort((i,a)=>a.score-i.score).slice(0,Math.max(1,Math.min(100,r)));return{hits:o,context_md:o.map(i=>`- memory_nodes:${i.rid} ${i.label}: ${i.excerpt}`).join(`
|
|
109
|
+
`),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Kc());return ym(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Kc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=_n(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=_n(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Fm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await li(o,{force:!0}),await li(i,{force:!0});let a=await il(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Fv(l.name)}`);let u=a.kv(l.name);for(let d of l.items)await u.put(d.key,d.value)}}finally{await a.close()}let c=await Fm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await li(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Nm(this.path,i),await Nm(o,this.path),await li(i,{force:!0})}catch(l){throw!wT(this.path)&&wT(i)&&await Nm(i,this.path),await li(o,{force:!0}),l}finally{this.db=await il(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Kc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(wn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Ar(t));if(!ri(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var kT={};se(kT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>En,contentHandle:()=>Zo,ensureReddbBinaryFromWarmCache:()=>el,provisionElisionStore:()=>_T,storageClassForCommand:()=>lr});var al=_(()=>{"use strict";Wc();tl();tl();ET()});async function cl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await vT(e,s),i=(await ui(e,Je)).filter(D=>Ts(D)>=s),a=o.filter(D=>W(D.event_type)!=="show"&&W(D.degradation_reason)===""),c=o.filter(D=>W(D.event_type)==="show"),l=o.filter(D=>W(D.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,w=0,k=0;for(let D of a){D.elided===!0&&u++;let H=ut(D.raw_bytes),ye=ut(D.emitted_bytes),ht=Math.max(0,H-ye),me=xs(D,"raw"),L=xs(D,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=(D.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Vt=kn(D).slice(0,10);Vt&&g.set(Vt,(g.get(Vt)??0)+U);let It=W(D.command)||"unknown",Fe=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Fe.invocations++,Fe.bytes_saved+=ht,Fe.tokens_saved+=U,b.set(It,Fe);let Me=xr(D.wrapper_ms);Me!=null&&y.push(Me),E+=ut(D.store_open_count);let Jt=xr(D.store_elapsed_ms);Jt!=null&&(w+=Jt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let D of l){let H=W(D.degradation_reason)||W(D.reason)||"unknown",ye=W(D.wrapper_family)||dt(W(D.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn(D);C.push({timestamp:ht,family:ye,command:W(D.command)||"unknown",reason:H,exit_code:xr(D.wrapper_exit_code),stderr_head:W(D.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W(D.command)||"unknown"})}let G=a.length+l.length,q=c.filter(D=>D.hit===!0).length,Q=op(f,m),V=Gj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([D],[H])=>D.localeCompare(H)).map(([D,H])=>({date:D,tokens_saved:H})),top_commands:[...b.values()].sort((D,H)=>H.bytes_saved-D.bytes_saved||H.tokens_saved-D.tokens_saved||D.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({reason:D,count:H})),by_family:[...T.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({family:D,count:H})),recent_failures:C.sort((D,H)=>H.timestamp.localeCompare(D.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:vs(y,.5),wrapper_ms_p95:vs(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:V}}function Gj(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=W(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,ut(a.saved_units))),c!=="contributed"){let d=W(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=W(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Pe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Pe(c.contributed/l)}})}}async function Mm(e,t,r=new Date){let s=(await ui(e,Ve)).filter(o=>Ts(o)<=r.getTime()||kn(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=kn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:Uj(s)}}async function Bm(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:28,s=r.toISOString(),o=new Date(r.getTime()-n*24*60*60*1e3).toISOString(),i=Date.parse(o),a=await vT(e,i),c=a.filter(L=>W(L.event_type)!=="show"&&W(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&W(L.degradation_reason)===""),l=a.filter(L=>W(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>W(L.event_type)==="show"),d=a.filter(L=>W(L.degradation_reason)!==""),p=[...c,...d].map(Ts).filter(L=>Number.isFinite(L)&&L>0),f=p.length===0?null:Math.min(...p),m=f==null?0:Math.max(1,Math.min(n,Math.ceil((r.getTime()-f)/Xj()))),g=[],b=new Map,y=new Map,E=new Map,w=new Map,k=new Map,S=new Map,T=0,C=!1,O=0,G=null,q=0,Q=0;for(let L of c){let U=kn(L),Vt=U.slice(0,10),It=U.slice(0,16),Fe=dt(W(L.command)),Me=Math.max(0,xs(L,"raw").tokens-xs(L,"emitted").tokens);T+=Me,C||=L.estimated===!0&&Me>0;let Jt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Nn=xr(L.wrapper_ms);if(Nn!=null){g.push(Nn);let zs=b.get(Fe)??[];zs.push(Nn),b.set(Fe,zs)}Vt&&y.set(Vt,(y.get(Vt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let fr=Jj(U);fr&&w.set(fr,(w.get(fr)??0)+1);let Ks=Yj(U);Ks&&k.set(Ks,(k.get(Ks)??0)+Me);let Yr=S.get(Fe)??{command_family:Fe,invocations:0,tokens_saved:0,bytes_saved:0};Yr.invocations++,Yr.tokens_saved+=Me,Yr.bytes_saved+=Jt,S.set(Fe,Yr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Me>0&&(!G||Me>G.tokens_saved||Me===G.tokens_saved&&Jt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Jt})}let V=d.map(L=>({timestamp:kn(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),D=new Map;for(let L of V)D.set(L.reason,(D.get(L.reason)??0)+1);let H=Fj(V),ye=Nj(u),ht=Bj([...S.values()],ye,H),me=[...E.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:RT(g),by_command_family:[...b.entries()].sort((L,U)=>U[1].length-L[1].length||L[0].localeCompare(U[0])).map(([L,U])=>({command_family:L,count:U.length,...RT(U)}))},throughput:{requests_per_day:[...y.entries()].sort(([L],[U])=>L.localeCompare(U)).map(([L,U])=>({date:L,requests:U})),active_minute_avg:E.size===0?null:Pe([...E.values()].reduce((L,U)=>L+U,0)/E.size),peak_minute:me?{minute:me[0],requests:me[1]}:null,hour_weekday_heatmap:Kj(w)},savings:{tokens:op(T,C),measured_control_holdout:Dj(c,l),weekly_tokens_saved:Qj(k),elision_rate:c.length===0?0:Pe(O/c.length),top_commands_by_tokens_saved:[...S.values()].sort((L,U)=>U.tokens_saved-L.tokens_saved||U.bytes_saved-L.bytes_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),top_commands_by_invocation_count:[...S.values()].sort((L,U)=>U.invocations-L.invocations||U.tokens_saved-L.tokens_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),single_biggest_elision:G},health:{degradation_timeline:V,degradations_by_reason:[...D.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0])).map(([L,U])=>({reason:L,count:U})),cold_boots:q===0?null:Q,warm_hits:q===0?null:Math.max(0,q-Q)},mining:{recovery_usage_by_family:ye,degradation_clusters:H,threshold_tuning_suggestions:ht}}}async function vT(e,t){let r=(await ui(e,Ve)).filter(i=>Ts(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ui(e,lt)).filter(i=>Ts(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await ui(e,Tt)).filter(i=>Ts(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:W(i.reason)||"unknown"}));return[...r,...s,...o]}function xs(e,t){let r=xr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function Dj(e,t){let r=qj(t.map(a=>xr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(ST).filter(a=>a!=null),s=t.map(ST).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(jj(o));return{enabled:!0,holdout_share:Pe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:$j(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function ST(e){let t=xs(e,"raw").tokens;if(t<=0)return null;let r=xs(e,"emitted").tokens;return Math.max(0,t-r)/t}function $j(e,t){if(e.length<=1)return{low:Pe(Math.max(0,t)),high:Pe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Pe(Math.max(0,t-n)),high:Pe(Math.min(1,t+n))}}function Nj(e){let t=new Map;for(let r of e){let n=dt(W(r.recovered_command)||W(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Pe(r.show_hits/r.show_total)}))}function Fj(e){let t=new Map;for(let r of e){let n=`${r.command_family}\0${r.reason}`,s=t.get(n)??{command_family:r.command_family,reason:r.reason,count:0};s.count++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.count-r.count||r.command_family.localeCompare(n.command_family)||r.reason.localeCompare(n.reason)).map(r=>({...r,suggestion:Mj(r)}))}function Mj(e){return/unavailable|not provisioned|missing/i.test(e.reason)?`Investigate ${e.command_family} wrapper availability before changing thresholds`:/timeout|large|limit/i.test(e.reason)?`Review ${e.command_family} byte thresholds and timeout caps for ${e.count} matching degradations`:`Investigate ${e.command_family} ${e.reason} cluster before tuning compression thresholds`}function Bj(e,t,r){let n=[];for(let s of t.filter(o=>o.show_total>0))n.push({command_family:s.command_family,signal:`recovery_show_rate=${s.show_total}`,suggestion:s.show_hit_rate>=.5?"Consider preserving more context or raising terse thresholds for frequently recovered outputs":"Recovery misses dominate; inspect handle lifetime before threshold changes"});for(let s of r.filter(o=>o.count>1))n.push({command_family:s.command_family,signal:`degradation_cluster=${s.reason}:${s.count}`,suggestion:"Fix the repeated degradation before tightening compression"});for(let s of e.filter(o=>o.invocations>0&&o.tokens_saved===0))n.push({command_family:s.command_family,signal:"zero_token_savings",suggestion:"Consider bypassing or raising admission thresholds for this family"});return n.slice(0,10)}function jj(e){return e.reduce((t,r)=>t+r,0)/e.length}function qj(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function Uj(e){let t=Wj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Hj(r.storage_class)??lr(W(r.command));t[n].records+=1;let s=ut(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function Hj(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function Wj(){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}}}async function ui(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>Vj(n.value)).filter(n=>bs(n))}function Vj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function Ts(e){let t=Date.parse(kn(e));return Number.isFinite(t)?t:0}function kn(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function vs(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Pe(r[n])}function RT(e){return{wrapper_ms_p50:vs(e,.5),wrapper_ms_p90:vs(e,.9),wrapper_ms_p95:vs(e,.95),wrapper_ms_p99:vs(e,.99)}}function Pe(e){return Math.round(e*100)/100}function Jj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${zj(t.getUTCDay())}:${t.getUTCHours()}`:null}function Kj(e){let t=[];for(let r of["sun","mon","tue","wed","thu","fri","sat"])for(let n=0;n<24;n++){let s=e.get(`${r}:${n}`)??0;s>0&&t.push({weekday:r,hour:n,requests:s})}return t}function zj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Yj(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return null;let r=t.getUTCDay(),n=r===0?-6:1-r;return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+n)).toISOString().slice(0,10)}function Qj(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Pe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function Xj(){return 24*60*60*1e3}var TT=_(()=>{"use strict";zo();al();ip();jc();Xf()});var di={};se(di,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>Ve,RSP_DECISIONS_COLLECTION:()=>Je,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>Ho,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Yf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Qf,RSP_TELEMETRY_SPOOL_FILE:()=>zf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>Or,drainTelemetrySpool:()=>sm,parseTelemetryEvent:()=>_s,readAccountingLaneStats:()=>Mm,readTelemetryGainsReport:()=>Bm,readTelemetryStats:()=>cl,takeTelemetrySpool:()=>tB,telemetryLegacySpoolPath:()=>rm,telemetrySpoolCorrectionsPath:()=>nm,telemetrySpoolPath:()=>cr});var Ft=_(()=>{"use strict";jc();$v();TT()});import{isUtf8 as Zj}from"node:buffer";async function xT(e,t=r=>r){let r=[],n=[];return e.stdout?.on("data",s=>r.push(Buffer.from(s))),e.stderr?.on("data",s=>n.push(Buffer.from(s))),await new Promise(s=>{let o=!1,i=async(a,c)=>{if(o)return;o=!0;let l=Buffer.concat(r),u=l;if(l.length>0&&Zj(l))try{u=await t(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(n)),c){process.kill(process.pid,c),s(128);return}s(a??0)};e.once("error",a=>{n.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
|
|
110
|
+
`)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var OT=_(()=>{"use strict"});var K=I(ke=>{"use strict";var jm=Symbol.for("yaml.alias"),AT=Symbol.for("yaml.document"),ll=Symbol.for("yaml.map"),CT=Symbol.for("yaml.pair"),qm=Symbol.for("yaml.scalar"),ul=Symbol.for("yaml.seq"),dr=Symbol.for("yaml.node.type"),eq=e=>!!e&&typeof e=="object"&&e[dr]===jm,tq=e=>!!e&&typeof e=="object"&&e[dr]===AT,rq=e=>!!e&&typeof e=="object"&&e[dr]===ll,nq=e=>!!e&&typeof e=="object"&&e[dr]===CT,PT=e=>!!e&&typeof e=="object"&&e[dr]===qm,sq=e=>!!e&&typeof e=="object"&&e[dr]===ul;function IT(e){if(e&&typeof e=="object")switch(e[dr]){case ll:case ul:return!0}return!1}function oq(e){if(e&&typeof e=="object")switch(e[dr]){case jm:case ll:case qm:case ul:return!0}return!1}var iq=e=>(PT(e)||IT(e))&&!!e.anchor;ke.ALIAS=jm;ke.DOC=AT;ke.MAP=ll;ke.NODE_TYPE=dr;ke.PAIR=CT;ke.SCALAR=qm;ke.SEQ=ul;ke.hasAnchor=iq;ke.isAlias=eq;ke.isCollection=IT;ke.isDocument=tq;ke.isMap=rq;ke.isNode=oq;ke.isPair=nq;ke.isScalar=PT;ke.isSeq=sq});var pi=I(Um=>{"use strict";var pe=K(),Ke=Symbol("break visit"),LT=Symbol("skip children"),Mt=Symbol("remove node");function dl(e,t){let r=GT(t);pe.isDocument(e)?Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):Os(null,e,r,Object.freeze([]))}dl.BREAK=Ke;dl.SKIP=LT;dl.REMOVE=Mt;function Os(e,t,r,n){let s=DT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return $T(e,n,s),Os(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=Os(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ke)return Ke;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=Os("key",t.key,r,n);if(o===Ke)return Ke;o===Mt&&(t.key=null);let i=Os("value",t.value,r,n);if(i===Ke)return Ke;i===Mt&&(t.value=null)}}return s}async function pl(e,t){let r=GT(t);pe.isDocument(e)?await As(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await As(null,e,r,Object.freeze([]))}pl.BREAK=Ke;pl.SKIP=LT;pl.REMOVE=Mt;async function As(e,t,r,n){let s=await DT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return $T(e,n,s),As(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=await As(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ke)return Ke;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await As("key",t.key,r,n);if(o===Ke)return Ke;o===Mt&&(t.key=null);let i=await As("value",t.value,r,n);if(i===Ke)return Ke;i===Mt&&(t.value=null)}}return s}function GT(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function DT(e,t,r,n){if(typeof r=="function")return r(e,t,n);if(pe.isMap(t))return r.Map?.(e,t,n);if(pe.isSeq(t))return r.Seq?.(e,t,n);if(pe.isPair(t))return r.Pair?.(e,t,n);if(pe.isScalar(t))return r.Scalar?.(e,t,n);if(pe.isAlias(t))return r.Alias?.(e,t,n)}function $T(e,t,r){let n=t[t.length-1];if(pe.isCollection(n))n.items[e]=r;else if(pe.isPair(n))e==="key"?n.key=r:n.value=r;else if(pe.isDocument(n))n.contents=r;else{let s=pe.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}Um.visit=dl;Um.visitAsync=pl});var Hm=I(FT=>{"use strict";var NT=K(),aq=pi(),cq={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},lq=e=>e.replace(/[!,[\]{}]/g,t=>cq[t]),fi=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[o,i]=n;return this.tags[o]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[o]=n;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let i=/^\d+\.\d+$/.test(o);return r(6,`Unsupported YAML version ${o}`,i),!1}}default:return r(0,`Unknown directive ${s}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let i=t.slice(2,-1);return i==="!"||i==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),i)}let[,n,s]=t.match(/^(.*!)([^!]*)$/s);s||r(`The ${t} tag has no suffix`);let o=this.tags[n];if(o)try{return o+decodeURIComponent(s)}catch(i){return r(String(i)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+lq(t.substring(n.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),s;if(t&&n.length>0&&NT.isNode(t.contents)){let o={};aq.visit(t.contents,(i,a)=>{NT.isNode(a)&&a.tag&&(o[a.tag]=!0)}),s=Object.keys(o)}else s=[];for(let[o,i]of n)o==="!!"&&i==="tag:yaml.org,2002:"||(!t||s.some(a=>a.startsWith(i)))&&r.push(`%TAG ${o} ${i}`);return r.join(`
|
|
111
|
+
`)}};fi.defaultYaml={explicit:!1,version:"1.2"};fi.defaultTags={"!!":"tag:yaml.org,2002:"};FT.Directives=fi});var fl=I(mi=>{"use strict";var MT=K(),uq=pi();function dq(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(r)}return!0}function BT(e){let t=new Set;return uq.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function jT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function pq(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=BT(e));let i=jT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(MT.isScalar(i.node)||MT.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:n}}mi.anchorIsValid=dq;mi.anchorNames=BT;mi.createNodeAnchors=pq;mi.findNewAnchor=jT});var Wm=I(qT=>{"use strict";function hi(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,o=n.length;s<o;++s){let i=n[s],a=hi(e,n,String(s),i);a===void 0?delete n[s]:a!==i&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let o=n.get(s),i=hi(e,n,s,o);i===void 0?n.delete(s):i!==o&&n.set(s,i)}else if(n instanceof Set)for(let s of Array.from(n)){let o=hi(e,n,s,s);o===void 0?n.delete(s):o!==s&&(n.delete(s),n.add(o))}else for(let[s,o]of Object.entries(n)){let i=hi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}qT.applyReviver=hi});var Ir=I(HT=>{"use strict";var fq=K();function UT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>UT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!fq.hasAnchor(e))return e.toJSON(t,r);let n={aliasCount:0,count:1,res:void 0};r.anchors.set(e,n),r.onCreate=o=>{n.res=o,delete r.onCreate};let s=e.toJSON(t,r);return r.onCreate&&r.onCreate(s),s}return typeof e=="bigint"&&!r?.keep?Number(e):e}HT.toJS=UT});var ml=I(VT=>{"use strict";var mq=Wm(),WT=K(),hq=Ir(),Vm=class{constructor(t){Object.defineProperty(this,WT.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:r,maxAliasCount:n,onAnchor:s,reviver:o}={}){if(!WT.isDocument(t))throw new TypeError("A document argument is required");let i={anchors:new Map,doc:t,keep:!0,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=hq.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?mq.applyReviver(o,{"":a},"",a):a}};VT.NodeBase=Vm});var gi=I(JT=>{"use strict";var gq=fl(),yq=pi(),Cs=K(),bq=ml(),wq=Ir(),Jm=class extends bq.NodeBase{constructor(t){super(Cs.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,r){if(r?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;r?.aliasResolveCache?n=r.aliasResolveCache:(n=[],yq.visit(t,{Node:(o,i)=>{(Cs.isAlias(i)||Cs.hasAnchor(i))&&n.push(i)}}),r&&(r.aliasResolveCache=n));let s;for(let o of n){if(o===this)break;o.anchor===this.source&&(s=o)}return s}toJSON(t,r){if(!r)return{source:this.source};let{anchors:n,doc:s,maxAliasCount:o}=r,i=this.resolve(s,r);if(!i){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=n.get(i);if(a||(wq.toJS(i,null,r),a=n.get(i)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=hl(s,i,n)),a.count*a.aliasCount>o)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(t,r,n){let s=`*${this.source}`;if(t){if(gq.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function hl(e,t,r){if(Cs.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Cs.isCollection(t)){let n=0;for(let s of t.items){let o=hl(e,s,r);o>n&&(n=o)}return n}else if(Cs.isPair(t)){let n=hl(e,t.key,r),s=hl(e,t.value,r);return Math.max(n,s)}return 1}JT.Alias=Jm});var le=I(Km=>{"use strict";var _q=K(),Eq=ml(),kq=Ir(),Sq=e=>!e||typeof e!="function"&&typeof e!="object",Lr=class extends Eq.NodeBase{constructor(t){super(_q.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:kq.toJS(this.value,t,r)}toString(){return String(this.value)}};Lr.BLOCK_FOLDED="BLOCK_FOLDED";Lr.BLOCK_LITERAL="BLOCK_LITERAL";Lr.PLAIN="PLAIN";Lr.QUOTE_DOUBLE="QUOTE_DOUBLE";Lr.QUOTE_SINGLE="QUOTE_SINGLE";Km.Scalar=Lr;Km.isScalarValue=Sq});var yi=I(zT=>{"use strict";var Rq=gi(),Sn=K(),KT=le(),vq="tag:yaml.org,2002:";function Tq(e,t,r){if(t){let n=r.filter(o=>o.tag===t),s=n.find(o=>!o.format)??n[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return r.find(n=>n.identify?.(e)&&!n.format)}function xq(e,t,r){if(Sn.isDocument(e)&&(e=e.contents),Sn.isNode(e))return e;if(Sn.isPair(e)){let d=r.schema[Sn.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:o,schema:i,sourceObjects:a}=r,c;if(n&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=s(e)),new Rq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=vq+t.slice(2));let l=Tq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new KT.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[Sn.MAP]:Symbol.iterator in Object(e)?i[Sn.SEQ]:i[Sn.MAP]}o&&(o(l),delete r.onTagObj);let u=l?.createNode?l.createNode(r.schema,e,r):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(r.schema,e,r):new KT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}zT.createNode=xq});var yl=I(gl=>{"use strict";var Oq=yi(),Bt=K(),Aq=ml();function zm(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return Oq.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var YT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Ym=class extends Aq.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Bt.isNode(n)||Bt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(YT(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Bt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,zm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(Bt.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...s]=t,o=this.get(n,!0);return s.length===0?!r&&Bt.isScalar(o)?o.value:o:Bt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Bt.isPair(r))return!1;let n=r.value;return n==null||t&&Bt.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let s=this.get(r,!0);return Bt.isCollection(s)?s.hasIn(n):!1}setIn(t,r){let[n,...s]=t;if(s.length===0)this.set(n,r);else{let o=this.get(n,!0);if(Bt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,zm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};gl.Collection=Ym;gl.collectionFromPath=zm;gl.isEmptyPath=YT});var bi=I(bl=>{"use strict";var Cq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Qm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Pq=(e,t,r)=>e.endsWith(`
|
|
112
|
+
`)?Qm(r,t):r.includes(`
|
|
113
113
|
`)?`
|
|
114
|
-
`+
|
|
115
|
-
`)r===
|
|
114
|
+
`+Qm(r,t):(e.endsWith(" ")?"":" ")+r;bl.indentComment=Qm;bl.lineComment=Pq;bl.stringifyComment=Cq});var XT=I(wi=>{"use strict";var Iq="flow",Xm="block",wl="quoted";function Lq(e,t,r="flow",{indentAtStart:n,lineWidth:s=80,minContentWidth:o=20,onFold:i,onOverflow:a}={}){if(!s||s<0)return e;s<o&&(o=0);let c=Math.max(1+o,1+s-t.length);if(e.length<=c)return e;let l=[],u={},d=s-t.length;typeof n=="number"&&(n>s-Math.max(2,o)?l.push(0):d=s-n);let p,f,m=!1,g=-1,b=-1,y=-1;r===Xm&&(g=QT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===wl&&w==="\\"){switch(b=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}y=g}if(w===`
|
|
115
|
+
`)r===Xm&&(g=QT(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(w===" "&&f&&f!==" "&&f!==`
|
|
116
116
|
`&&f!==" "){let k=e[g+1];k&&k!==" "&&k!==`
|
|
117
|
-
`&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===
|
|
118
|
-
${t}${e.slice(0,S)}`:(r===
|
|
119
|
-
${t}${e.slice(k+1,S)}`)}return E}function
|
|
120
|
-
`);n=t,s=t+1,o=e[s]}return n}
|
|
121
|
-
`){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function
|
|
117
|
+
`&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===wl){for(;f===" "||f===" ";)f=w,w=e[g+=1],m=!0;let k=g>y+1?g-2:b-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=w}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let w=0;w<l.length;++w){let k=l[w],S=l[w+1]||e.length;k===0?E=`
|
|
118
|
+
${t}${e.slice(0,S)}`:(r===wl&&u[k]&&(E+=`${e[k]}\\`),E+=`
|
|
119
|
+
${t}${e.slice(k+1,S)}`)}return E}function QT(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
|
|
120
|
+
`);n=t,s=t+1,o=e[s]}return n}wi.FOLD_BLOCK=Xm;wi.FOLD_FLOW=Iq;wi.FOLD_QUOTED=wl;wi.foldFlowLines=Lq});var Ei=I(ZT=>{"use strict";var xt=le(),Gr=XT(),El=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),kl=e=>/^(%|---|\.\.\.)/m.test(e);function Gq(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
|
|
121
|
+
`){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function _i(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(kl(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
|
|
122
122
|
|
|
123
123
|
`;r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"';)i+=`
|
|
124
|
-
`,c+=2;i+=o,r[c+2]===" "&&(i+="\\"),c+=1,a=c+1}break;default:c+=1}return i=a?i+r.slice(a):r,n?i:
|
|
125
|
-
`)||/[ \t]\n|\n[ \t]/.test(e))return
|
|
126
|
-
${r}`)+"'";return t.implicitKey?n:
|
|
124
|
+
`,c+=2;i+=o,r[c+2]===" "&&(i+="\\"),c+=1,a=c+1}break;default:c+=1}return i=a?i+r.slice(a):r,n?i:Gr.foldFlowLines(i,o,Gr.FOLD_QUOTED,El(t,!1))}function Zm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
|
|
125
|
+
`)||/[ \t]\n|\n[ \t]/.test(e))return _i(e,t);let r=t.indent||(kl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
126
|
+
${r}`)+"'";return t.implicitKey?n:Gr.foldFlowLines(n,r,Gr.FOLD_FLOW,El(t,!1))}function Ps(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=_i;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Zm:o&&!s?n=_i:n=r?Zm:_i}return n(e,t)}var eh;try{eh=new RegExp(`(^|(?<!
|
|
127
127
|
))
|
|
128
128
|
+(?!
|
|
129
|
-
|$)`,"g")}catch{
|
|
129
|
+
|$)`,"g")}catch{eh=/\n+(?!\n|$)/g}function _l({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Ps(r,n);let l=n.indent||(n.forceBlockIndent||kl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!Gq(r,c,l.length);if(!r)return u?`|
|
|
130
130
|
`:`>
|
|
131
131
|
`;let d,p;for(p=r.length;p>0;--p){let S=r[p-1];if(S!==`
|
|
132
132
|
`&&S!==" "&&S!==" ")break}let f=r.substring(p),m=f.indexOf(`
|
|
133
133
|
`);m===-1?d="-":r===f||m!==f.length-1?(d="+",o&&o()):d="",f&&(r=r.slice(0,-f.length),f[f.length-1]===`
|
|
134
|
-
`&&(f=f.slice(0,-1)),f=f.replace(
|
|
134
|
+
`&&(f=f.slice(0,-1)),f=f.replace(eh,`$&${l}`));let g=!1,b,y=-1;for(b=0;b<r.length;++b){let S=r[b];if(S===" ")g=!0;else if(S===`
|
|
135
135
|
`)y=b;else break}let E=r.substring(0,y<b?y+1:b);E&&(r=r.substring(E.length),E=E.replace(/\n+/g,`$&${l}`));let k=(g?l?"2":"1":"")+d;if(e&&(k+=" "+a(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!u){let S=r.replace(/\n+/g,`
|
|
136
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=
|
|
136
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=El(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Gr.foldFlowLines(`${E}${S}${f}`,l,Gr.FOLD_BLOCK,C);if(!T)return`>${k}
|
|
137
137
|
${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
|
|
138
|
-
${l}${E}${r}${f}`}function
|
|
139
|
-
`)||u&&/[[\]{},]/.test(o))return
|
|
140
|
-
`)?
|
|
141
|
-
`))return
|
|
142
|
-
${c}`);if(i){let p=g=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return
|
|
143
|
-
${t.indent}${a}`:a}
|
|
144
|
-
${a}:`):(b=`${b}:`,p&&(b+=
|
|
138
|
+
${l}${E}${r}${f}`}function Dq(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
|
|
139
|
+
`)||u&&/[[\]{},]/.test(o))return Ps(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
|
|
140
|
+
`)?Ps(o,t):_l(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
|
|
141
|
+
`))return _l(e,t,r,n);if(kl(o)){if(c==="")return t.forceBlockIndent=!0,_l(e,t,r,n);if(a&&c===l)return Ps(o,t)}let d=o.replace(/\n+/g,`$&
|
|
142
|
+
${c}`);if(i){let p=g=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return Ps(o,t)}return a?d:Gr.foldFlowLines(d,c,Gr.FOLD_FLOW,El(t,!1))}function $q(e,t,r,n){let{implicitKey:s,inFlow:o}=t,i=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==xt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=xt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case xt.Scalar.BLOCK_FOLDED:case xt.Scalar.BLOCK_LITERAL:return s||o?Ps(i.value,t):_l(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return _i(i.value,t);case xt.Scalar.QUOTE_SINGLE:return Zm(i.value,t);case xt.Scalar.PLAIN:return Dq(i,t,r,n);default:return null}},l=c(a);if(l===null){let{defaultKeyType:u,defaultStringType:d}=t.options,p=s&&u||d;if(l=c(p),l===null)throw new Error(`Unsupported default string type ${p}`)}return l}ZT.stringifyString=$q});var ki=I(th=>{"use strict";var Nq=fl(),Dr=K(),Fq=bi(),Mq=Ei();function Bq(e,t){let r=Object.assign({blockQuote:!0,commentString:Fq.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent=="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function jq(e,t){if(t.tag){let s=e.filter(o=>o.tag===t.tag);if(s.length>0)return s.find(o=>o.format===t.format)??s[0]}let r,n;if(Dr.isScalar(t)){n=t.value;let s=e.filter(o=>o.identify?.(n));if(s.length>1){let o=s.filter(i=>i.test);o.length>0&&(s=o)}r=s.find(o=>o.format===t.format)??s.find(o=>!o.format)}else n=t,r=e.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!r){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return r}function qq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Dr.isScalar(e)||Dr.isCollection(e))&&e.anchor;o&&Nq.anchorIsValid(o)&&(r.add(o),s.push(`&${o}`));let i=e.tag??(t.default?null:t.tag);return i&&s.push(n.directives.tagString(i)),s.join(" ")}function Uq(e,t,r,n){if(Dr.isPair(e))return e.toString(t,r,n);if(Dr.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s,o=Dr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=jq(t.doc.schema.tags,o));let i=qq(o,s,t);i.length>0&&(t.indentAtStart=(t.indentAtStart??0)+i.length+1);let a=typeof s.stringify=="function"?s.stringify(o,t,r,n):Dr.isScalar(o)?Mq.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Dr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
|
|
143
|
+
${t.indent}${a}`:a}th.createStringifyContext=Bq;th.stringify=Uq});var nx=I(rx=>{"use strict";var pr=K(),ex=le(),tx=ki(),Si=bi();function Hq({key:e,value:t},r,n,s){let{allNullValues:o,doc:i,indent:a,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=r,p=pr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(pr.isCollection(e)||!pr.isNode(e)&&typeof e=="object"){let C="With simple keys, collection cannot be used as a key value";throw new Error(C)}}let f=!d&&(!e||p&&t==null&&!r.inFlow||pr.isCollection(e)||(pr.isScalar(e)?e.type===ex.Scalar.BLOCK_FOLDED||e.type===ex.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!f&&(d||!o),indent:a+c});let m=!1,g=!1,b=tx.stringify(e,r,()=>m=!0,()=>g=!0);if(!f&&!r.inFlow&&b.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),b===""?"?":f?`? ${b}`:b}else if(o&&!d||t==null&&f)return b=`? ${b}`,p&&!m?b+=Si.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=Si.lineComment(b,r.indent,l(p))),b=`? ${b}
|
|
144
|
+
${a}:`):(b=`${b}:`,p&&(b+=Si.lineComment(b,r.indent,l(p))));let y,E,w;pr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,w=t.comment):(y=!1,E=null,w=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&pr.isScalar(t)&&(r.indentAtStart=b.length+1),g=!1,!u&&c.length>=2&&!r.inFlow&&!f&&pr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,S=tx.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
|
|
145
145
|
`:"",E){let C=l(E);T+=`
|
|
146
|
-
${
|
|
146
|
+
${Si.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
|
|
147
147
|
`&&w&&(T=`
|
|
148
148
|
|
|
149
149
|
`):T+=`
|
|
150
|
-
${r.indent}`}else if(!f&&
|
|
150
|
+
${r.indent}`}else if(!f&&pr.isCollection(t)){let C=S[0],O=S.indexOf(`
|
|
151
151
|
`),G=O!==-1,q=r.inFlow??t.flow??t.items.length===0;if(G||!q){let Q=!1;if(G&&(C==="&"||C==="!")){let V=S.indexOf(" ");C==="&"&&V!==-1&&V<O&&S[V+1]==="!"&&(V=S.indexOf(" ",V+1)),(V===-1||O<V)&&(Q=!0)}Q||(T=`
|
|
152
152
|
${r.indent}`)}}else(S===""||S[0]===`
|
|
153
|
-
`)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=
|
|
153
|
+
`)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=Si.lineComment(b,r.indent,l(w)):g&&s&&s(),b}rx.stringifyPair=Hq});var nh=I(rh=>{"use strict";var sx=sa("process");function Wq(e,...t){e==="debug"&&console.log(...t)}function Vq(e,t){(e==="debug"||e==="warn")&&(typeof sx.emitWarning=="function"?sx.emitWarning(t):console.warn(t))}rh.debug=Wq;rh.warn=Vq});var xl=I(Tl=>{"use strict";var vl=K(),ox=le(),Sl="<<",Rl={identify:e=>e===Sl||typeof e=="symbol"&&e.description===Sl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new ox.Scalar(Symbol(Sl)),{addToJSMap:ix}),stringify:()=>Sl},Jq=(e,t)=>(Rl.identify(t)||vl.isScalar(t)&&(!t.type||t.type===ox.Scalar.PLAIN)&&Rl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===Rl.tag&&r.default);function ix(e,t,r){let n=ax(e,r);if(vl.isSeq(n))for(let s of n.items)sh(e,t,s);else if(Array.isArray(n))for(let s of n)sh(e,t,s);else sh(e,t,n)}function sh(e,t,r){let n=ax(e,r);if(!vl.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,e,Map);for(let[o,i]of s)t instanceof Map?t.has(o)||t.set(o,i):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function ax(e,t){return e&&vl.isAlias(t)?t.resolve(e.doc,e):t}Tl.addMergeToJSMap=ix;Tl.isMergeKey=Jq;Tl.merge=Rl});var ih=I(ux=>{"use strict";var Kq=nh(),cx=xl(),zq=ki(),lx=K(),oh=Ir();function Yq(e,t,{key:r,value:n}){if(lx.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(cx.isMergeKey(e,r))cx.addMergeToJSMap(e,t,n);else{let s=oh.toJS(r,"",e);if(t instanceof Map)t.set(s,oh.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Qq(r,s,e),i=oh.toJS(n,o,e);o in t?Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0}):t[o]=i}}return t}function Qq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(lx.isNode(e)&&r?.doc){let n=zq.createStringifyContext(r.doc,{});n.anchors=new Set;for(let o of r.anchors.keys())n.anchors.add(o.anchor);n.inFlow=!0,n.inStringifyKey=!0;let s=e.toString(n);if(!r.mapKeyWarned){let o=JSON.stringify(s);o.length>40&&(o=o.substring(0,36)+'..."'),Kq.warn(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return s}return JSON.stringify(t)}ux.addPairToJSMap=Yq});var $r=I(ah=>{"use strict";var dx=yi(),Xq=nx(),Zq=ih(),Ol=K();function eU(e,t,r){let n=dx.createNode(e,void 0,r),s=dx.createNode(t,void 0,r);return new Al(n,s)}var Al=class e{constructor(t,r=null){Object.defineProperty(this,Ol.NODE_TYPE,{value:Ol.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Ol.isNode(r)&&(r=r.clone(t)),Ol.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return Zq.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?Xq.stringifyPair(this,t,r,n):JSON.stringify(this)}};ah.Pair=Al;ah.createPair=eU});var ch=I(fx=>{"use strict";var Rn=K(),px=ki(),Cl=bi();function tU(e,t,r){return(t.inFlow??e.flow?nU:rU)(e,t,r)}function rU({comment:e,items:t},r,{blockItemPrefix:n,flowChars:s,itemIndent:o,onChompKeep:i,onComment:a}){let{indent:c,options:{commentString:l}}=r,u=Object.assign({},r,{indent:o,type:null}),d=!1,p=[];for(let m=0;m<t.length;++m){let g=t[m],b=null;if(Rn.isNode(g))!d&&g.spaceBefore&&p.push(""),Pl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),Pl(r,p,E.commentBefore,d))}d=!1;let y=px.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=Cl.lineComment(y,o,l(b))),d&&b&&(d=!1),p.push(n+y)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let g=p[m];f+=g?`
|
|
154
154
|
${c}${g}`:`
|
|
155
155
|
`}}return e?(f+=`
|
|
156
|
-
`+
|
|
157
|
-
`)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,w)=>E+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=
|
|
156
|
+
`+Cl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function nU({items:e},t,{flowChars:r,itemIndent:n}){let{indent:s,indentStep:o,flowCollectionPadding:i,options:{commentString:a}}=t;n+=o;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let m=0;m<e.length;++m){let g=e[m],b=null;if(Rn.isNode(g))g.spaceBefore&&d.push(""),Pl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),Pl(t,d,E.commentBefore,!1),E.comment&&(l=!0));let w=Rn.isNode(g.value)?g.value:null;w?(w.comment&&(b=w.comment),w.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=px.stringify(g,c,()=>b=null);l||(l=d.length>u||y.includes(`
|
|
157
|
+
`)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,w)=>E+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Cl.lineComment(y,n,a(b))),d.push(y),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((g,b)=>g+b.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let g of d)m+=g?`
|
|
158
158
|
${o}${s}${g}`:`
|
|
159
159
|
`;return`${m}
|
|
160
|
-
${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function
|
|
161
|
-
`:" ")}return
|
|
160
|
+
${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function Pl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=Cl.indentComment(t(n),e);r.push(o.trimStart())}}fx.stringifyCollection=tU});var Fr=I(uh=>{"use strict";var sU=ch(),oU=ih(),iU=yl(),Nr=K(),Il=$r(),aU=le();function Ri(e,t){let r=Nr.isScalar(t)?t.value:t;for(let n of e)if(Nr.isPair(n)&&(n.key===t||n.key===r||Nr.isScalar(n.key)&&n.key.value===r))return n}var lh=class extends iU.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Nr.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:s,replacer:o}=n,i=new this(t),a=(c,l)=>{if(typeof o=="function")l=o.call(r,c,l);else if(Array.isArray(o)&&!o.includes(c))return;(l!==void 0||s)&&i.items.push(Il.createPair(c,l,n))};if(r instanceof Map)for(let[c,l]of r)a(c,l);else if(r&&typeof r=="object")for(let c of Object.keys(r))a(c,r[c]);return typeof t.sortMapEntries=="function"&&i.items.sort(t.sortMapEntries),i}add(t,r){let n;Nr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new Il.Pair(t,t?.value):n=new Il.Pair(t.key,t.value);let s=Ri(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Nr.isScalar(s.value)&&aU.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(o){let i=this.items.findIndex(a=>o(n,a)<0);i===-1?this.items.push(n):this.items.splice(i,0,n)}else this.items.push(n)}delete(t){let r=Ri(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=Ri(this.items,t)?.value;return(!r&&Nr.isScalar(s)?s.value:s)??void 0}has(t){return!!Ri(this.items,t)}set(t,r){this.add(new Il.Pair(t,r),!0)}toJSON(t,r,n){let s=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(s);for(let o of this.items)oU.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Nr.isPair(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),sU.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};uh.YAMLMap=lh;uh.findPair=Ri});var Is=I(hx=>{"use strict";var cU=K(),mx=Fr(),lU={collection:"map",default:!0,nodeClass:mx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return cU.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>mx.YAMLMap.from(e,t,r)};hx.map=lU});var Mr=I(gx=>{"use strict";var uU=yi(),dU=ch(),pU=yl(),Gl=K(),fU=le(),mU=Ir(),dh=class extends pU.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Ll(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Ll(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Gl.isScalar(s)?s.value:s}has(t){let r=Ll(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Ll(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Gl.isScalar(s)&&fU.isScalarValue(r)?s.value=r:this.items[n]=r}toJSON(t,r){let n=[];r?.onCreate&&r.onCreate(n);let s=0;for(let o of this.items)n.push(mU.toJS(o,String(s++),r));return n}toString(t,r,n){return t?dU.stringifyCollection(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:n,onComment:r}):JSON.stringify(this)}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r)){let i=0;for(let a of r){if(typeof s=="function"){let c=r instanceof Set?a:String(i++);a=s.call(r,c,a)}o.items.push(uU.createNode(a,void 0,n))}}return o}};function Ll(e){let t=Gl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}gx.YAMLSeq=dh});var Ls=I(bx=>{"use strict";var hU=K(),yx=Mr(),gU={collection:"seq",default:!0,nodeClass:yx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return hU.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>yx.YAMLSeq.from(e,t,r)};bx.seq=gU});var vi=I(wx=>{"use strict";var yU=Ei(),bU={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,r,n){return t=Object.assign({actualString:!0},t),yU.stringifyString(e,t,r,n)}};wx.string=bU});var Dl=I(kx=>{"use strict";var _x=le(),Ex={identify:e=>e==null,createNode:()=>new _x.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new _x.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&Ex.test.test(e)?e:t.options.nullStr};kx.nullTag=Ex});var ph=I(Rx=>{"use strict";var wU=le(),Sx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new wU.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&Sx.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};Rx.boolTag=Sx});var Gs=I(vx=>{"use strict";function _U({format:e,minFractionDigits:t,tag:r,value:n}){if(typeof n=="bigint")return String(n);let s=typeof n=="number"?n:Number(n);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let o=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!r||r==="tag:yaml.org,2002:float")&&/^-?\d/.test(o)&&!o.includes("e")){let i=o.indexOf(".");i<0&&(i=o.length,o+=".");let a=t-(o.length-i-1);for(;a-- >0;)o+="0"}return o}vx.stringifyNumber=_U});var mh=I($l=>{"use strict";var EU=le(),fh=Gs(),kU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:fh.stringifyNumber},SU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():fh.stringifyNumber(e)}},RU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new EU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:fh.stringifyNumber};$l.float=RU;$l.floatExp=SU;$l.floatNaN=kU});var gh=I(Fl=>{"use strict";var Tx=Gs(),Nl=e=>typeof e=="bigint"||Number.isInteger(e),hh=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function xx(e,t,r){let{value:n}=e;return Nl(n)&&n>=0?r+n.toString(t):Tx.stringifyNumber(e)}var vU={identify:e=>Nl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>hh(e,2,8,r),stringify:e=>xx(e,8,"0o")},TU={identify:Nl,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>hh(e,0,10,r),stringify:Tx.stringifyNumber},xU={identify:e=>Nl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>hh(e,2,16,r),stringify:e=>xx(e,16,"0x")};Fl.int=TU;Fl.intHex=xU;Fl.intOct=vU});var Ax=I(Ox=>{"use strict";var OU=Is(),AU=Dl(),CU=Ls(),PU=vi(),IU=ph(),yh=mh(),bh=gh(),LU=[OU.map,CU.seq,PU.string,AU.nullTag,IU.boolTag,bh.intOct,bh.int,bh.intHex,yh.floatNaN,yh.floatExp,yh.float];Ox.schema=LU});var Ix=I(Px=>{"use strict";var GU=le(),DU=Is(),$U=Ls();function Cx(e){return typeof e=="bigint"||Number.isInteger(e)}var Ml=({value:e})=>JSON.stringify(e),NU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Ml},{identify:e=>e==null,createNode:()=>new GU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Ml},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Ml},{identify:Cx,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:r})=>r?BigInt(e):parseInt(e,10),stringify:({value:e})=>Cx(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Ml}],FU={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},MU=[DU.map,$U.seq].concat(NU,FU);Px.schema=MU});var _h=I(Lx=>{"use strict";var Ti=sa("buffer"),wh=le(),BU=Ei(),jU={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Ti.Buffer=="function")return Ti.Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let s=0;s<r.length;++s)n[s]=r.charCodeAt(s);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:r},n,s,o){if(!r)return"";let i=r,a;if(typeof Ti.Buffer=="function")a=i instanceof Ti.Buffer?i.toString("base64"):Ti.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=wh.Scalar.BLOCK_LITERAL),t!==wh.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(a.length/c),u=new Array(l);for(let d=0,p=0;d<l;++d,p+=c)u[d]=a.substr(p,c);a=u.join(t===wh.Scalar.BLOCK_LITERAL?`
|
|
161
|
+
`:" ")}return BU.stringifyString({comment:e,type:t,value:a},n,s,o)}};Lx.binary=jU});var ql=I(jl=>{"use strict";var Bl=K(),Eh=$r(),qU=le(),UU=Mr();function Gx(e,t){if(Bl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Bl.isPair(n)){if(Bl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new Eh.Pair(new qU.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
|
|
162
162
|
${s.key.commentBefore}`:n.commentBefore),n.comment){let o=s.value??s.key;o.comment=o.comment?`${n.comment}
|
|
163
|
-
${o.comment}`:n.comment}n=s}e.items[r]=Dl.isPair(n)?n:new bh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Ax(e,t,r){let{replacer:n}=r,s=new PU.YAMLSeq(e);s.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let i of t){typeof n=="function"&&(i=n.call(t,String(o++),i));let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let l=Object.keys(i);if(l.length===1)a=l[0],c=i[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=i;s.items.push(bh.createPair(a,c,r))}return s}var IU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ox,createNode:Ax};$l.createPairs=Ax;$l.pairs=IU;$l.resolvePairs=Ox});var Eh=I(_h=>{"use strict";var Cx=K(),wh=Pr(),Ti=$r(),LU=Fr(),Px=Fl(),Rn=class e extends LU.YAMLSeq{constructor(){super(),this.add=Ti.YAMLMap.prototype.add.bind(this),this.delete=Ti.YAMLMap.prototype.delete.bind(this),this.get=Ti.YAMLMap.prototype.get.bind(this),this.has=Ti.YAMLMap.prototype.has.bind(this),this.set=Ti.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if(Cx.isPair(s)?(o=wh.toJS(s.key,"",r),i=wh.toJS(s.value,o,r)):o=wh.toJS(s,"",r),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,i)}return n}static from(t,r,n){let s=Px.createPairs(t,r,n),o=new this;return o.items=s.items,o}};Rn.tag="tag:yaml.org,2002:omap";var GU={collection:"seq",identify:e=>e instanceof Map,nodeClass:Rn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Px.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Cx.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new Rn,r)},createNode:(e,t,r)=>Rn.from(e,t,r)};_h.YAMLOMap=Rn;_h.omap=GU});var Dx=I(kh=>{"use strict";var Ix=le();function Lx({value:e,source:t},r){return t&&(e?Gx:Nx).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Gx={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Ix.Scalar(!0),stringify:Lx},Nx={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Ix.Scalar(!1),stringify:Lx};kh.falseTag=Nx;kh.trueTag=Gx});var $x=I(Ml=>{"use strict";var NU=le(),Sh=Ls(),DU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Sh.stringifyNumber},$U={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Sh.stringifyNumber(e)}},FU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new NU.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:Sh.stringifyNumber};Ml.float=FU;Ml.floatExp=$U;Ml.floatNaN=DU});var Mx=I(Oi=>{"use strict";var Fx=Ls(),xi=e=>typeof e=="bigint"||Number.isInteger(e);function Bl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function Rh(e,t,r){let{value:n}=e;if(xi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Fx.stringifyNumber(e)}var MU={identify:xi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Bl(e,2,2,r),stringify:e=>Rh(e,2,"0b")},BU={identify:xi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Bl(e,1,8,r),stringify:e=>Rh(e,8,"0")},jU={identify:xi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Bl(e,0,10,r),stringify:Fx.stringifyNumber},qU={identify:xi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Bl(e,2,16,r),stringify:e=>Rh(e,16,"0x")};Oi.int=jU;Oi.intBin=MU;Oi.intHex=qU;Oi.intOct=BU});var Th=I(vh=>{"use strict";var Ul=K(),jl=Nr(),ql=$r(),vn=class e extends ql.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Ul.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new jl.Pair(t.key,null):r=new jl.Pair(t,null),ql.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=ql.findPair(this.items,t);return!r&&Ul.isPair(n)?Ul.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=ql.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new jl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(jl.createPair(i,null,n));return o}};vn.tag="tag:yaml.org,2002:set";var UU={collection:"map",identify:e=>e instanceof Set,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>vn.from(e,t,r),resolve(e,t){if(Ul.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new vn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};vh.YAMLSet=vn;vh.set=UU});var Oh=I(Hl=>{"use strict";var HU=Ls();function xh(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,s=i=>t?BigInt(i):Number(i),o=n.replace(/_/g,"").split(":").reduce((i,a)=>i*s(60)+s(a),s(0));return r==="-"?s(-1)*o:o}function Bx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return HU.stringifyNumber(e);let n="";t<0&&(n="-",t*=r(-1));let s=r(60),o=[t%s];return t<60?o.unshift(0):(t=(t-o[0])/s,o.unshift(t%s),t>=60&&(t=(t-o[0])/s,o.unshift(t))),n+o.map(i=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var WU={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>xh(e,r),stringify:Bx},VU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>xh(e,!1),stringify:Bx},jx={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(jx.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,s,o,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,l=Date.UTC(r,n-1,s,o||0,i||0,a||0,c),u=t[8];if(u&&u!=="Z"){let d=xh(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Hl.floatTime=VU;Hl.intTime=WU;Hl.timestamp=jx});var Hx=I(Ux=>{"use strict";var JU=Ps(),KU=Pl(),zU=Is(),YU=Ri(),QU=yh(),qx=Dx(),Ah=$x(),Wl=Mx(),XU=Sl(),ZU=Eh(),eH=Fl(),tH=Th(),Ch=Oh(),rH=[JU.map,zU.seq,YU.string,KU.nullTag,qx.trueTag,qx.falseTag,Wl.intBin,Wl.intOct,Wl.int,Wl.intHex,Ah.floatNaN,Ah.floatExp,Ah.float,QU.binary,XU.merge,ZU.omap,eH.pairs,tH.set,Ch.intTime,Ch.floatTime,Ch.timestamp];Ux.schema=rH});var e0=I(Lh=>{"use strict";var Kx=Ps(),nH=Pl(),zx=Is(),sH=Ri(),oH=lh(),Ph=dh(),Ih=fh(),iH=Sx(),aH=Tx(),Yx=yh(),Ai=Sl(),Qx=Eh(),Xx=Fl(),Wx=Hx(),Zx=Th(),Vl=Oh(),Vx=new Map([["core",iH.schema],["failsafe",[Kx.map,zx.seq,sH.string]],["json",aH.schema],["yaml11",Wx.schema],["yaml-1.1",Wx.schema]]),Jx={binary:Yx.binary,bool:oH.boolTag,float:Ph.float,floatExp:Ph.floatExp,floatNaN:Ph.floatNaN,floatTime:Vl.floatTime,int:Ih.int,intHex:Ih.intHex,intOct:Ih.intOct,intTime:Vl.intTime,map:Kx.map,merge:Ai.merge,null:nH.nullTag,omap:Qx.omap,pairs:Xx.pairs,seq:zx.seq,set:Zx.set,timestamp:Vl.timestamp},cH={"tag:yaml.org,2002:binary":Yx.binary,"tag:yaml.org,2002:merge":Ai.merge,"tag:yaml.org,2002:omap":Qx.omap,"tag:yaml.org,2002:pairs":Xx.pairs,"tag:yaml.org,2002:set":Zx.set,"tag:yaml.org,2002:timestamp":Vl.timestamp};function lH(e,t,r){let n=Vx.get(t);if(n&&!e)return r&&!n.includes(Ai.merge)?n.concat(Ai.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Vx.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(Ai.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?Jx[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(Jx).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}Lh.coreKnownTags=cH;Lh.getTags=lH});var Dh=I(t0=>{"use strict";var Gh=K(),uH=Ps(),dH=Is(),pH=Ri(),Jl=e0(),fH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Nh=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Jl.getTags(t,"compat"):t?Jl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Jl.coreKnownTags:{},this.tags=Jl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Gh.MAP,{value:uH.map}),Object.defineProperty(this,Gh.SCALAR,{value:pH.string}),Object.defineProperty(this,Gh.SEQ,{value:dH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?fH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};t0.Schema=Nh});var n0=I(r0=>{"use strict";var mH=K(),$h=Ei(),Ci=yi();function hH(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=$h.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Ci.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(mH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Ci.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=$h.stringify(e.contents,s,()=>a=null,c);a&&(l+=Ci.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push($h.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
|
|
164
|
-
`)?(r.push("..."),r.push(
|
|
163
|
+
${o.comment}`:n.comment}n=s}e.items[r]=Bl.isPair(n)?n:new Eh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Dx(e,t,r){let{replacer:n}=r,s=new UU.YAMLSeq(e);s.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let i of t){typeof n=="function"&&(i=n.call(t,String(o++),i));let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let l=Object.keys(i);if(l.length===1)a=l[0],c=i[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=i;s.items.push(Eh.createPair(a,c,r))}return s}var HU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Gx,createNode:Dx};jl.createPairs=Dx;jl.pairs=HU;jl.resolvePairs=Gx});var Rh=I(Sh=>{"use strict";var $x=K(),kh=Ir(),xi=Fr(),WU=Mr(),Nx=ql(),vn=class e extends WU.YAMLSeq{constructor(){super(),this.add=xi.YAMLMap.prototype.add.bind(this),this.delete=xi.YAMLMap.prototype.delete.bind(this),this.get=xi.YAMLMap.prototype.get.bind(this),this.has=xi.YAMLMap.prototype.has.bind(this),this.set=xi.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if($x.isPair(s)?(o=kh.toJS(s.key,"",r),i=kh.toJS(s.value,o,r)):o=kh.toJS(s,"",r),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,i)}return n}static from(t,r,n){let s=Nx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};vn.tag="tag:yaml.org,2002:omap";var VU={collection:"seq",identify:e=>e instanceof Map,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Nx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)$x.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new vn,r)},createNode:(e,t,r)=>vn.from(e,t,r)};Sh.YAMLOMap=vn;Sh.omap=VU});var qx=I(vh=>{"use strict";var Fx=le();function Mx({value:e,source:t},r){return t&&(e?Bx:jx).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Bx={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Fx.Scalar(!0),stringify:Mx},jx={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Fx.Scalar(!1),stringify:Mx};vh.falseTag=jx;vh.trueTag=Bx});var Ux=I(Ul=>{"use strict";var JU=le(),Th=Gs(),KU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Th.stringifyNumber},zU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Th.stringifyNumber(e)}},YU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new JU.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:Th.stringifyNumber};Ul.float=YU;Ul.floatExp=zU;Ul.floatNaN=KU});var Wx=I(Ai=>{"use strict";var Hx=Gs(),Oi=e=>typeof e=="bigint"||Number.isInteger(e);function Hl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function xh(e,t,r){let{value:n}=e;if(Oi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Hx.stringifyNumber(e)}var QU={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Hl(e,2,2,r),stringify:e=>xh(e,2,"0b")},XU={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Hl(e,1,8,r),stringify:e=>xh(e,8,"0")},ZU={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Hl(e,0,10,r),stringify:Hx.stringifyNumber},eH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Hl(e,2,16,r),stringify:e=>xh(e,16,"0x")};Ai.int=ZU;Ai.intBin=QU;Ai.intHex=eH;Ai.intOct=XU});var Ah=I(Oh=>{"use strict";var Jl=K(),Wl=$r(),Vl=Fr(),Tn=class e extends Vl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Jl.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Wl.Pair(t.key,null):r=new Wl.Pair(t,null),Vl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Vl.findPair(this.items,t);return!r&&Jl.isPair(n)?Jl.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=Vl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Wl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Wl.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var tH={collection:"map",identify:e=>e instanceof Set,nodeClass:Tn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Tn.from(e,t,r),resolve(e,t){if(Jl.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Tn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};Oh.YAMLSet=Tn;Oh.set=tH});var Ph=I(Kl=>{"use strict";var rH=Gs();function Ch(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,s=i=>t?BigInt(i):Number(i),o=n.replace(/_/g,"").split(":").reduce((i,a)=>i*s(60)+s(a),s(0));return r==="-"?s(-1)*o:o}function Vx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return rH.stringifyNumber(e);let n="";t<0&&(n="-",t*=r(-1));let s=r(60),o=[t%s];return t<60?o.unshift(0):(t=(t-o[0])/s,o.unshift(t%s),t>=60&&(t=(t-o[0])/s,o.unshift(t))),n+o.map(i=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var nH={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>Ch(e,r),stringify:Vx},sH={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>Ch(e,!1),stringify:Vx},Jx={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(Jx.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,s,o,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,l=Date.UTC(r,n-1,s,o||0,i||0,a||0,c),u=t[8];if(u&&u!=="Z"){let d=Ch(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Kl.floatTime=sH;Kl.intTime=nH;Kl.timestamp=Jx});var Yx=I(zx=>{"use strict";var oH=Is(),iH=Dl(),aH=Ls(),cH=vi(),lH=_h(),Kx=qx(),Ih=Ux(),zl=Wx(),uH=xl(),dH=Rh(),pH=ql(),fH=Ah(),Lh=Ph(),mH=[oH.map,aH.seq,cH.string,iH.nullTag,Kx.trueTag,Kx.falseTag,zl.intBin,zl.intOct,zl.int,zl.intHex,Ih.floatNaN,Ih.floatExp,Ih.float,lH.binary,uH.merge,dH.omap,pH.pairs,fH.set,Lh.intTime,Lh.floatTime,Lh.timestamp];zx.schema=mH});var i0=I($h=>{"use strict";var e0=Is(),hH=Dl(),t0=Ls(),gH=vi(),yH=ph(),Gh=mh(),Dh=gh(),bH=Ax(),wH=Ix(),r0=_h(),Ci=xl(),n0=Rh(),s0=ql(),Qx=Yx(),o0=Ah(),Yl=Ph(),Xx=new Map([["core",bH.schema],["failsafe",[e0.map,t0.seq,gH.string]],["json",wH.schema],["yaml11",Qx.schema],["yaml-1.1",Qx.schema]]),Zx={binary:r0.binary,bool:yH.boolTag,float:Gh.float,floatExp:Gh.floatExp,floatNaN:Gh.floatNaN,floatTime:Yl.floatTime,int:Dh.int,intHex:Dh.intHex,intOct:Dh.intOct,intTime:Yl.intTime,map:e0.map,merge:Ci.merge,null:hH.nullTag,omap:n0.omap,pairs:s0.pairs,seq:t0.seq,set:o0.set,timestamp:Yl.timestamp},_H={"tag:yaml.org,2002:binary":r0.binary,"tag:yaml.org,2002:merge":Ci.merge,"tag:yaml.org,2002:omap":n0.omap,"tag:yaml.org,2002:pairs":s0.pairs,"tag:yaml.org,2002:set":o0.set,"tag:yaml.org,2002:timestamp":Yl.timestamp};function EH(e,t,r){let n=Xx.get(t);if(n&&!e)return r&&!n.includes(Ci.merge)?n.concat(Ci.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Xx.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(Ci.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?Zx[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(Zx).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}$h.coreKnownTags=_H;$h.getTags=EH});var Mh=I(a0=>{"use strict";var Nh=K(),kH=Is(),SH=Ls(),RH=vi(),Ql=i0(),vH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Fh=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Ql.getTags(t,"compat"):t?Ql.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Ql.coreKnownTags:{},this.tags=Ql.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Nh.MAP,{value:kH.map}),Object.defineProperty(this,Nh.SCALAR,{value:RH.string}),Object.defineProperty(this,Nh.SEQ,{value:SH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?vH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};a0.Schema=Fh});var l0=I(c0=>{"use strict";var TH=K(),Bh=ki(),Pi=bi();function xH(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=Bh.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Pi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(TH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Pi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Bh.stringify(e.contents,s,()=>a=null,c);a&&(l+=Pi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Bh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
|
|
164
|
+
`)?(r.push("..."),r.push(Pi.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&i&&(c=c.replace(/^\n+/,"")),c&&((!i||a)&&r[r.length-1]!==""&&r.push(""),r.push(Pi.indentComment(o(c),"")))}return r.join(`
|
|
165
165
|
`)+`
|
|
166
|
-
`}
|
|
166
|
+
`}c0.stringifyDocument=xH});var Ii=I(u0=>{"use strict";var OH=gi(),Ds=yl(),ft=K(),AH=$r(),CH=Ir(),PH=Mh(),IH=l0(),jh=fl(),LH=Wm(),GH=yi(),qh=Hm(),Uh=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ft.NODE_TYPE,{value:ft.DOC});let s=null;typeof r=="function"||Array.isArray(r)?s=r:n===void 0&&r&&(n=r,r=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=o;let{version:i}=o;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new qh.Directives({version:i}),this.setSchema(i,n),this.contents=t===void 0?null:this.createNode(t,s,n)}clone(){let t=Object.create(e.prototype,{[ft.NODE_TYPE]:{value:ft.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=ft.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){$s(this.contents)&&this.contents.add(t)}addIn(t,r){$s(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=jh.anchorNames(this);t.anchor=!r||n.has(r)?jh.findNewAnchor(r||"a",n):r}return new OH.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let b=E=>typeof E=="number"||E instanceof String||E instanceof Number,y=r.filter(b).map(String);y.length>0&&(r=r.concat(y)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=jh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=GH.createNode(t,u,m);return a&&ft.isCollection(g)&&(g.flow=!0),p(),g}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new AH.Pair(s,o)}delete(t){return $s(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ds.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):$s(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ft.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return Ds.isEmptyPath(t)?!r&&ft.isScalar(this.contents)?this.contents.value:this.contents:ft.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ft.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return Ds.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ds.collectionFromPath(this.schema,[t],r):$s(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ds.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ds.collectionFromPath(this.schema,Array.from(t),r):$s(this.contents)&&this.contents.setIn(t,r)}setSchema(t,r={}){typeof t=="number"&&(t=String(t));let n;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new qh.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new qh.Directives({version:t}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(r.schema instanceof Object)this.schema=r.schema;else if(n)this.schema=new PH.Schema(Object.assign(n,r));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:r,mapAsMap:n,maxAliasCount:s,onAnchor:o,reviver:i}={}){let a={anchors:new Map,doc:this,keep:!t,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},c=CH.toJS(this.contents,r??"",a);if(typeof o=="function")for(let{count:l,res:u}of a.anchors.values())o(u,l);return typeof i=="function"?LH.applyReviver(i,{"":c},"",c):c}toJSON(t,r){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:r})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let r=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${r}`)}return IH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}u0.Document=Uh});var Di=I(Gi=>{"use strict";var Li=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Hh=class extends Li{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Wh=class extends Li{constructor(t,r,n){super("YAMLWarning",t,r,n)}},DH=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(a=>t.linePos(a));let{line:n,col:s}=r.linePos[0];r.message+=` at line ${n}, column ${s}`;let o=s-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(o>=60&&i.length>80){let a=Math.min(o-39,i.length-79);i="\u2026"+i.substring(a),o-=a-1}if(i.length>80&&(i=i.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(i.substring(0,o))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
|
|
167
167
|
`),i=a+i}if(/[^ ]/.test(i)){let a=1,c=r.linePos[1];c?.line===n&&c.col>s&&(a=Math.max(1,Math.min(c.col-s,80-o)));let l=" ".repeat(o)+"^".repeat(a);r.message+=`:
|
|
168
168
|
|
|
169
169
|
${i}
|
|
170
170
|
${l}
|
|
171
|
-
`}};
|
|
172
|
-
`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(
|
|
173
|
-
`+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||
|
|
174
|
-
`+w.comment:E.comment=w.comment);let k=new
|
|
175
|
-
`+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&
|
|
176
|
-
`+C:O.comment=C,T.comment=T.comment.substring(C.length+1)}}if(!i&&!k&&!T.found){let C=S?e(r,S,T,s):t(r,T.end,k,null,T,s);l.items.push(C),d=C.range[2],
|
|
177
|
-
`+G.comment:O.comment=G.comment);let Q=new
|
|
178
|
-
`+b.comment:l.comment=b.comment),l.range=[n.offset,g,b.offset]}else l.range=[n.offset,g,g];return l}
|
|
171
|
+
`}};Gi.YAMLError=Li;Gi.YAMLParseError=Hh;Gi.YAMLWarning=Wh;Gi.prettifyError=DH});var $i=I(d0=>{"use strict";function $H(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,g=null,b=null,y=null,E=null,w=null,k=null,S=null;for(let O of e)switch(m&&(O.type!=="space"&&O.type!=="newline"&&O.type!=="comma"&&o(O.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(l&&O.type!=="comment"&&O.type!=="newline"&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),O.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&O.source.includes(" ")&&(g=O),u=!0;break;case"comment":{u||o(O,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G=O.source.substring(1)||" ";d?d+=p+G:d=G,p="",l=!1;break}case"newline":l?d?d+=O.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=O.source,l=!0,f=!0,(b||y)&&(E=O),u=!0;break;case"anchor":b&&o(O,"MULTIPLE_ANCHORS","A node can have at most one anchor"),O.source.endsWith(":")&&o(O.offset+O.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),b=O,S??(S=O.offset),l=!1,u=!1,m=!0;break;case"tag":{y&&o(O,"MULTIPLE_TAGS","A node can have at most one tag"),y=O,S??(S=O.offset),l=!1,u=!1,m=!0;break}case r:(b||y)&&o(O,"BAD_PROP_ORDER",`Anchors and tags must be after the ${O.source} indicator`),k&&o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.source} in ${t??"collection"}`),k=O,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){w&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),w=O,l=!1,u=!1;break}default:o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.type} token`),l=!1,u=!1}let T=e[e.length-1],C=T?T.offset+T.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:w,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}d0.resolveProps=$H});var Xl=I(p0=>{"use strict";function Vh(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
172
|
+
`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(Vh(t.key)||Vh(t.value))return!0}return!1;default:return!0}}p0.containsNewline=Vh});var Jh=I(f0=>{"use strict";var NH=Xl();function FH(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&NH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}f0.flowIndentCheck=FH});var Kh=I(h0=>{"use strict";var m0=K();function MH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||m0.isScalar(o)&&m0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}h0.mapIncludes=MH});var E0=I(_0=>{"use strict";var g0=$r(),BH=Fr(),y0=$i(),jH=Xl(),b0=Jh(),qH=Kh(),w0="All mapping items must start at the same column";function UH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??BH.YAMLMap,a=new i(r.schema);r.atRoot&&(r.atRoot=!1);let c=n.offset,l=null;for(let u of n.items){let{start:d,key:p,sep:f,value:m}=u,g=y0.resolveProps(d,{indicator:"explicit-key-ind",next:p??f?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),b=!g.found;if(b){if(p&&(p.type==="block-seq"?s(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==n.indent&&s(c,"BAD_INDENT",w0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
|
|
173
|
+
`+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||jH.containsNewline(p))&&s(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else g.found?.indent!==n.indent&&s(c,"BAD_INDENT",w0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&b0.flowIndentCheck(n.indent,p,s),r.atKey=!1,qH.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=y0.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:E.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){b&&(m?.type==="block-map"&&!w.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<w.found.offset-1024&&s(E.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,w,s):t(r,c,f,null,w,s);r.schema.compat&&b0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new g0.Pair(E,k);r.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}else{b&&s(E.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),w.comment&&(E.comment?E.comment+=`
|
|
174
|
+
`+w.comment:E.comment=w.comment);let k=new g0.Pair(E);r.options.keepSourceTokens&&(k.srcToken=u),a.items.push(k)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}_0.resolveBlockMap=UH});var S0=I(k0=>{"use strict";var HH=Mr(),WH=$i(),VH=Jh();function JH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??HH.YAMLSeq,a=new i(r.schema);r.atRoot&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let c=n.offset,l=null;for(let{start:u,value:d}of n.items){let p=WH.resolveProps(u,{indicator:"seq-item-ind",next:d,offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||d)d?.type==="block-seq"?s(p.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{l=p.end,p.comment&&(a.comment=p.comment);continue}let f=d?e(r,d,p,s):t(r,p.end,u,null,p,s);r.schema.compat&&VH.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}k0.resolveBlockSeq=JH});var Ns=I(R0=>{"use strict";function KH(e,t,r,n){let s="";if(e){let o=!1,i="";for(let a of e){let{source:c,type:l}=a;switch(l){case"space":o=!0;break;case"comment":{r&&!o&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let u=c.substring(1)||" ";s?s+=i+u:s=u,i="";break}case"newline":s&&(i+=c),o=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=c.length}}return{comment:s,offset:t}}R0.resolveEnd=KH});var O0=I(x0=>{"use strict";var zH=K(),YH=$r(),v0=Fr(),QH=Mr(),XH=Ns(),T0=$i(),ZH=Xl(),eW=Kh(),zh="Block collections are not allowed within flow collections",Yh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function tW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?v0.YAMLMap:QH.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let b=0;b<n.items.length;++b){let y=n.items[b],{start:E,key:w,sep:k,value:S}=y,T=T0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:w??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!T.found){if(!T.anchor&&!T.tag&&!k&&!S){b===0&&T.comma?s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):b<n.items.length-1&&s(T.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),T.comment&&(l.comment?l.comment+=`
|
|
175
|
+
`+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&ZH.containsNewline(w)&&s(w,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(b===0)T.comma&&s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(T.comma||s(T.start,"MISSING_CHAR",`Missing , between ${a} items`),T.comment){let C="";e:for(let O of E)switch(O.type){case"comma":case"space":break;case"comment":C=O.source.substring(1);break e;default:break e}if(C){let O=l.items[l.items.length-1];zH.isPair(O)&&(O=O.value??O.key),O.comment?O.comment+=`
|
|
176
|
+
`+C:O.comment=C,T.comment=T.comment.substring(C.length+1)}}if(!i&&!k&&!T.found){let C=S?e(r,S,T,s):t(r,T.end,k,null,T,s);l.items.push(C),d=C.range[2],Yh(S)&&s(C.range,"BLOCK_IN_FLOW",zh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,E,null,T,s);Yh(w)&&s(O.range,"BLOCK_IN_FLOW",zh),r.atKey=!1;let G=T0.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:S,offset:O.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(G.found){if(!i&&!T.found&&r.options.strict){if(k)for(let V of k){if(V===G.found)break;if(V.type==="newline"){s(V,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}T.start<G.found.offset-1024&&s(G.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else S&&("source"in S&&S.source?.[0]===":"?s(S,"MISSING_CHAR",`Missing space after : in ${a}`):s(G.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let q=S?e(r,S,G,s):G.found?t(r,G.end,k,null,G,s):null;q?Yh(S)&&s(q.range,"BLOCK_IN_FLOW",zh):G.comment&&(O.comment?O.comment+=`
|
|
177
|
+
`+G.comment:O.comment=G.comment);let Q=new YH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let V=l;eW.mapIncludes(r,V.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),V.items.push(Q)}else{let V=new v0.YAMLMap(r.schema);V.flow=!0,V.items.push(Q);let D=(q??O).range;V.range=[O.range[0],D[1],D[2]],l.items.push(V)}d=q?q.range[2]:G.end}}let p=i?"}":"]",[f,...m]=n.end,g=d;if(f?.source===p)g=f.offset+f.source.length;else{let b=a[0].toUpperCase()+a.substring(1),y=u?`${b} must end with a ${p}`:`${b} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",y),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let b=XH.resolveEnd(m,g,r.options.strict,s);b.comment&&(l.comment?l.comment+=`
|
|
178
|
+
`+b.comment:l.comment=b.comment),l.range=[n.offset,g,b.offset]}else l.range=[n.offset,g,g];return l}x0.resolveFlowCollection=tW});var C0=I(A0=>{"use strict";var rW=K(),nW=le(),sW=Fr(),oW=Mr(),iW=E0(),aW=S0(),cW=O0();function Qh(e,t,r,n,s,o){let i=r.type==="block-map"?iW.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?aW.resolveBlockSeq(e,t,r,n,o):cW.resolveFlowCollection(e,t,r,n,o),a=i.constructor;return s==="!"||s===a.tagName?(i.tag=a.tagName,i):(s&&(i.tag=s),i)}function lW(e,t,r,n,s){let o=n.tag,i=o?t.directives.tagName(o.source,p=>s(o,"TAG_RESOLVE_FAILED",p)):null;if(r.type==="block-seq"){let{anchor:p,newlineAfterProp:f}=n,m=p&&o?p.offset>o.offset?p:o:p??o;m&&(!f||f.offset<m.offset)&&s(m,"MISSING_CHAR","Missing newline after block sequence props")}let a=r.type==="block-map"?"map":r.type==="block-seq"?"seq":r.start.source==="{"?"map":"seq";if(!o||!i||i==="!"||i===sW.YAMLMap.tagName&&a==="map"||i===oW.YAMLSeq.tagName&&a==="seq")return Qh(e,t,r,s,i);let c=t.schema.tags.find(p=>p.tag===i&&p.collection===a);if(!c){let p=t.schema.knownTags[i];if(p?.collection===a)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?s(o,"BAD_COLLECTION_TYPE",`${p.tag} used for ${a} collection, but expects ${p.collection??"scalar"}`,!0):s(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0),Qh(e,t,r,s,i)}let l=Qh(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=rW.isNode(u)?u:new nW.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}A0.composeCollection=lW});var Zh=I(P0=>{"use strict";var Xh=le();function uW(e,t,r){let n=t.offset,s=dW(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Xh.Scalar.BLOCK_FOLDED:Xh.Scalar.BLOCK_LITERAL,i=t.source?pW(t.source):[],a=i.length;for(let g=i.length-1;g>=0;--g){let b=i[g][1];if(b===""||b==="\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&i.length>0?`
|
|
179
179
|
`.repeat(Math.max(1,i.length-1)):"",b=n+s.length;return t.source&&(b+=t.source.length),{value:g,type:o,comment:s.comment,range:[n,b,b]}}let c=t.indent+s.indent,l=t.offset+s.length,u=0;for(let g=0;g<a;++g){let[b,y]=i[g];if(y===""||y==="\r")s.indent===0&&b.length>c&&(c=b.length);else{b.length<c&&r(l+b.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=b.length),u=g,c===0&&!e.atRoot&&r(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=b.length+y.length+1}for(let g=i.length-1;g>=a;--g)i[g][0].length>c&&(a=g+1);let d="",p="",f=!1;for(let g=0;g<u;++g)d+=i[g][0].slice(c)+`
|
|
180
|
-
`;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===
|
|
180
|
+
`;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===Xh.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
|
|
181
181
|
`):b.length>c||y[0]===" "?(p===" "?p=`
|
|
182
182
|
`:!f&&p===`
|
|
183
183
|
`&&(p=`
|
|
@@ -190,132 +190,132 @@ ${l}
|
|
|
190
190
|
`+i[g][0].slice(c);d[d.length-1]!==`
|
|
191
191
|
`&&(d+=`
|
|
192
192
|
`);break;default:d+=`
|
|
193
|
-
`}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function
|
|
193
|
+
`}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function dW({offset:e,props:t},r,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:s}=t[0],o=s[0],i=0,a="",c=-1;for(let p=1;p<s.length;++p){let f=s[p];if(!a&&(f==="-"||f==="+"))a=f;else{let m=Number(f);!i&&m?i=m:c===-1&&(c=e+p)}}c!==-1&&n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let l=!1,u="",d=s.length;for(let p=1;p<t.length;++p){let f=t[p];switch(f.type){case"space":l=!0;case"newline":d+=f.source.length;break;case"comment":r&&!l&&n(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=f.source.length,u=f.source.substring(1);break;case"error":n(f,"UNEXPECTED_TOKEN",f.message),d+=f.source.length;break;default:{let m=`Unexpected token in block scalar header: ${f.type}`;n(f,"UNEXPECTED_TOKEN",m);let g=f.source;g&&typeof g=="string"&&(d+=g.length)}}}return{mode:o,indent:i,chomp:a,comment:u,length:d}}function pW(e){let t=e.split(/\n( *)/),r=t[0],n=r.match(/^( *)/),o=[n?.[1]?[n[1],r.slice(n[1].length)]:["",r]];for(let i=1;i<t.length;i+=2)o.push([t[i],t[i+1]]);return o}P0.resolveBlockScalar=uW});var tg=I(L0=>{"use strict";var eg=le(),fW=Ns();function mW(e,t,r){let{offset:n,type:s,source:o,end:i}=e,a,c,l=(p,f,m)=>r(n+p,f,m);switch(s){case"scalar":a=eg.Scalar.PLAIN,c=hW(o,l);break;case"single-quoted-scalar":a=eg.Scalar.QUOTE_SINGLE,c=gW(o,l);break;case"double-quoted-scalar":a=eg.Scalar.QUOTE_DOUBLE,c=yW(o,l);break;default:return r(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[n,n+o.length,n+o.length]}}let u=n+o.length,d=fW.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function hW(e,t){let r="";switch(e[0]){case" ":r="a tab character";break;case",":r="flow indicator character ,";break;case"%":r="directive indicator character %";break;case"|":case">":{r=`block scalar indicator ${e[0]}`;break}case"@":case"`":{r=`reserved character ${e[0]}`;break}}return r&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${r}`),I0(e)}function gW(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),I0(e.slice(1,-1)).replace(/''/g,"'")}function I0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
194
194
|
`,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
195
195
|
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let s=n[1],o=" ",i=t.lastIndex;for(r.lastIndex=i;n=r.exec(e);)n[1]===""?o===`
|
|
196
196
|
`?s+=o:o=`
|
|
197
|
-
`:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function
|
|
197
|
+
`:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function yW(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
|
|
198
198
|
`))if(s===`
|
|
199
|
-
`){let{fold:o,offset:i}=
|
|
199
|
+
`){let{fold:o,offset:i}=bW(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=wW[o];if(i)r+=i;else if(o===`
|
|
200
200
|
`)for(o=e[n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="\r"&&e[n+1]===`
|
|
201
|
-
`)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=
|
|
201
|
+
`)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=_W(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(s===" "||s===" "){let o=n,i=e[n+1];for(;i===" "||i===" ";)i=e[++n+1];i!==`
|
|
202
202
|
`&&!(i==="\r"&&e[n+2]===`
|
|
203
|
-
`)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function
|
|
203
|
+
`)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function bW(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
|
|
204
204
|
`||n==="\r")&&!(n==="\r"&&e[t+2]!==`
|
|
205
205
|
`);)n===`
|
|
206
206
|
`&&(r+=`
|
|
207
|
-
`),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var
|
|
208
|
-
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function
|
|
207
|
+
`),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var wW={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
208
|
+
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function _W(e,t,r,n){let s=e.substr(t,r),i=s.length===r&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;try{return String.fromCodePoint(i)}catch{let a=e.substr(t-2,r+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}L0.resolveFlowScalar=mW});var $0=I(D0=>{"use strict";var xn=K(),G0=le(),EW=Zh(),kW=tg();function SW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?EW.resolveBlockScalar(e,t,n):kW.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,d=>n(r,"TAG_RESOLVE_FAILED",d)):null,l;e.options.stringKeys&&e.atKey?l=e.schema[xn.SCALAR]:c?l=RW(e.schema,s,c,r,n):t.type==="scalar"?l=vW(e,s,t,n):l=e.schema[xn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=xn.isScalar(d)?d:new G0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new G0.Scalar(s)}return u.range=a,u.source=s,o&&(u.type=o),c&&(u.tag=c),l.format&&(u.format=l.format),i&&(u.comment=i),u}function RW(e,t,r,n,s){if(r==="!")return e[xn.SCALAR];let o=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)o.push(a);else return a;for(let a of o)if(a.test?.test(t))return a;let i=e.knownTags[r];return i&&!i.collection?(e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[xn.SCALAR])}function vW({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[xn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[xn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),l=t.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;o(s,"TAG_RESOLVE_FAILED",u,!0)}}return i}D0.composeScalar=SW});var F0=I(N0=>{"use strict";function TW(e,t,r){if(t){r??(r=t.length);for(let n=r-1;n>=0;--n){let s=t[n];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++n];s?.type==="space";)e+=s.source.length,s=t[++n];break}}return e}N0.emptyScalarPosition=TW});var j0=I(ng=>{"use strict";var xW=gi(),OW=K(),AW=C0(),M0=$0(),CW=Ns(),PW=F0(),IW={composeNode:B0,composeEmptyNode:rg};function B0(e,t,r,n){let s=e.atKey,{spaceBefore:o,comment:i,anchor:a,tag:c}=r,l,u=!0;switch(t.type){case"alias":l=LW(e,t,n),(a||c)&&n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=M0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=AW.composeCollection(IW,e,t,r,n),a&&(l.anchor=a.source.substring(1))}catch(d){let p=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",p)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),u=!1}}return l??(l=rg(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!OW.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function rg(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:PW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=M0.composeScalar(e,u,a,l);return i&&(d.anchor=i.source.substring(1),d.anchor===""&&l(i,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(d.spaceBefore=!0),o&&(d.comment=o,d.range[2]=c),d}function LW({options:e},{offset:t,source:r,end:n},s){let o=new xW.Alias(r.substring(1));o.source===""&&s(t,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&s(t+r.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=t+r.length,a=CW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}ng.composeEmptyNode=rg;ng.composeNode=B0});var H0=I(U0=>{"use strict";var GW=Ii(),q0=j0(),DW=Ns(),$W=$i();function NW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new GW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=$W.resolveProps(n,{indicator:"doc-start",next:s??o?.[0],offset:r,onError:i,parentIndent:0,startOnNewline:!0});u.found&&(c.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!u.hasNewline&&i(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=s?q0.composeNode(l,s,u,i):q0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=DW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}U0.composeDoc=NW});var og=I(J0=>{"use strict";var FW=sa("process"),MW=Hm(),BW=Ii(),Ni=Di(),W0=K(),jW=H0(),qW=Ns();function Fi(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function V0(e){let t="",r=!1,n=!1;for(let s=0;s<e.length;++s){let o=e[s];switch(o[0]){case"#":t+=(t===""?"":n?`
|
|
209
209
|
|
|
210
210
|
`:`
|
|
211
|
-
`)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var
|
|
212
|
-
${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(
|
|
211
|
+
`)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var sg=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Fi(r);o?this.warnings.push(new Ni.YAMLWarning(i,n,s)):this.errors.push(new Ni.YAMLParseError(i,n,s))},this.directives=new MW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=V0(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
|
|
212
|
+
${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(W0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];W0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
|
|
213
213
|
${a}`:n}else{let i=o.commentBefore;o.commentBefore=i?`${n}
|
|
214
|
-
${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
215
|
-
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new
|
|
214
|
+
${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:V0(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,r=!1,n=-1){for(let s of t)yield*this.next(s);yield*this.end(r,n)}*next(t){switch(FW.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Fi(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=jW.composeDoc(this.options,this.directives,t,this.onError);this.atDirectives&&!r.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(r,!1),this.doc&&(yield this.doc),this.doc=r,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let r=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,n=new Ni.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new Ni.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=qW.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),r.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
|
|
215
|
+
${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Ni.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),s=new BW.Document(void 0,n);this.atDirectives&&this.onError(r,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,r,r],this.decorate(s,!1),yield s}}};J0.Composer=sg});var Y0=I(Zl=>{"use strict";var UW=Zh(),HW=tg(),WW=Di(),K0=Ei();function VW(e,t=!0,r){if(e){let n=(s,o,i)=>{let a=typeof s=="number"?s:Array.isArray(s)?s[0]:s.offset;if(r)r(a,o,i);else throw new WW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return HW.resolveFlowScalar(e,t,n);case"block-scalar":return UW.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function JW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=K0.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
|
|
216
216
|
`}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
|
|
217
217
|
`),u=a.substring(0,l),d=a.substring(l+1)+`
|
|
218
|
-
`,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return
|
|
219
|
-
`}),{type:"block-scalar",offset:o,indent:n,props:p,source:d}}case'"':return{type:"double-quoted-scalar",offset:o,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:o,indent:n,source:a,end:c};default:return{type:"scalar",offset:o,indent:n,source:a,end:c}}}function
|
|
218
|
+
`,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return z0(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
|
|
219
|
+
`}),{type:"block-scalar",offset:o,indent:n,props:p,source:d}}case'"':return{type:"double-quoted-scalar",offset:o,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:o,indent:n,source:a,end:c};default:return{type:"scalar",offset:o,indent:n,source:a,end:c}}}function KW(e,t,r={}){let{afterKey:n=!1,implicitKey:s=!1,inFlow:o=!1,type:i}=r,a="indent"in e?e.indent:null;if(n&&typeof a=="number"&&(a+=2),!i)switch(e.type){case"single-quoted-scalar":i="QUOTE_SINGLE";break;case"double-quoted-scalar":i="QUOTE_DOUBLE";break;case"block-scalar":{let l=e.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");i=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:i="PLAIN"}let c=K0.stringifyString({type:i,value:t},{implicitKey:s||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":zW(e,c);break;case'"':ig(e,c,"double-quoted-scalar");break;case"'":ig(e,c,"single-quoted-scalar");break;default:ig(e,c,"scalar")}}function zW(e,t){let r=t.indexOf(`
|
|
220
220
|
`),n=t.substring(0,r),s=t.substring(r+1)+`
|
|
221
|
-
`;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];
|
|
222
|
-
`});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:s})}}function
|
|
223
|
-
`};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}
|
|
221
|
+
`;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];z0(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
|
|
222
|
+
`});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:s})}}function z0(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function ig(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(let o of n)o.offset+=s;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
|
|
223
|
+
`};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}Zl.createScalarToken=JW;Zl.resolveAsScalar=VW;Zl.setScalarValue=KW});var X0=I(Q0=>{"use strict";var YW=e=>"type"in e?tu(e):eu(e);function tu(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=tu(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=eu(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=eu(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=eu(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function eu({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=tu(t)),r)for(let o of r)s+=o.source;return n&&(s+=tu(n)),s}Q0.stringify=YW});var rO=I(tO=>{"use strict";var ag=Symbol("break visit"),QW=Symbol("skip children"),Z0=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),eO(Object.freeze([]),e,t)}On.BREAK=ag;On.SKIP=QW;On.REMOVE=Z0;On.itemAtPath=(e,t)=>{let r=e;for(let[n,s]of t){let o=r?.[n];if(o&&"items"in o)r=o.items[s];else return}return r};On.parentCollection=(e,t)=>{let r=On.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],s=r?.[n];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function eO(e,t,r){let n=r(t,e);if(typeof n=="symbol")return n;for(let s of["key","value"]){let o=t[s];if(o&&"items"in o){for(let i=0;i<o.items.length;++i){let a=eO(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===ag)return ag;a===Z0&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}tO.visit=On});var ru=I(ze=>{"use strict";var cg=Y0(),XW=X0(),ZW=rO(),lg="\uFEFF",ug="",dg="",pg="",eV=e=>!!e&&"items"in e,tV=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function rV(e){switch(e){case lg:return"<BOM>";case ug:return"<DOC>";case dg:return"<FLOW_END>";case pg:return"<SCALAR>";default:return JSON.stringify(e)}}function nV(e){switch(e){case lg:return"byte-order-mark";case ug:return"doc-mode";case dg:return"flow-error-end";case pg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
224
224
|
`:case`\r
|
|
225
|
-
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}
|
|
226
|
-
`:case"\r":case" ":return!0;default:return!1}}var
|
|
227
|
-
\r `),
|
|
225
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}ze.createScalarToken=cg.createScalarToken;ze.resolveAsScalar=cg.resolveAsScalar;ze.setScalarValue=cg.setScalarValue;ze.stringify=XW.stringify;ze.visit=ZW.visit;ze.BOM=lg;ze.DOCUMENT=ug;ze.FLOW_END=dg;ze.SCALAR=pg;ze.isCollection=eV;ze.isScalar=tV;ze.prettyToken=rV;ze.tokenType=nV});var hg=I(sO=>{"use strict";var Mi=ru();function Ot(e){switch(e){case void 0:case" ":case`
|
|
226
|
+
`:case"\r":case" ":return!0;default:return!1}}var nO=new Set("0123456789ABCDEFabcdef"),sV=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),nu=new Set(",[]{}"),oV=new Set(` ,[]{}
|
|
227
|
+
\r `),fg=e=>!e||oV.has(e),mg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
|
|
228
228
|
`?!0:r==="\r"?this.buffer[t+1]===`
|
|
229
229
|
`:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let r=this.buffer[t];if(this.indentNext>0){let n=0;for(;r===" ";)r=this.buffer[++n+t];if(r==="\r"){let s=this.buffer[n+t+1];if(s===`
|
|
230
230
|
`||!s&&!this.atEnd)return t+n+1}return r===`
|
|
231
231
|
`||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&Ot(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
|
|
232
|
-
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===
|
|
232
|
+
`,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Mi.BOM&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let r=t.length,n=t.indexOf("#");for(;n!==-1;){let o=t[n-1];if(o===" "||o===" "){r=n-1;break}else n=t.indexOf("#",n+1)}for(;;){let o=t[r-1];if(o===" "||o===" ")r-=1;else break}let s=(yield*this.pushCount(r))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){let r=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-r),yield*this.pushNewline(),"stream"}return yield Mi.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&Ot(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Ot(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Ot(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(fg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&Ot(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Mi.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(fg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||Ot(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
|
|
233
233
|
`,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
|
|
234
234
|
`,o)}s!==-1&&(r=s-(n[s-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pushToIndex(r+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){let r=this.buffer[++t];if(r==="+")this.blockScalarKeep=!0;else if(r>"0"&&r<="9")this.blockScalarIndent=Number(r)-1;else if(r!=="-")break}return yield*this.pushUntil(r=>Ot(r)||r==="#")}*parseBlockScalar(){let t=this.pos-1,r=0,n;e:for(let o=this.pos;n=this.buffer[o];++o)switch(n){case" ":r+=1;break;case`
|
|
235
235
|
`:t=o,r=0;break;case"\r":{let i=this.buffer[o+1];if(!i&&!this.atEnd)return this.setNext("block-scalar");if(i===`
|
|
236
236
|
`)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(r>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=r:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let o=this.continueScalar(t+1);if(o===-1)break;t=this.buffer.indexOf(`
|
|
237
237
|
`,o)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let s=t+1;for(n=this.buffer[s];n===" ";)n=this.buffer[++s];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
|
|
238
238
|
`;)n=this.buffer[++s];t=s-1}else if(!this.blockScalarKeep)do{let o=t-1,i=this.buffer[o];i==="\r"&&(i=this.buffer[--o]);let a=o;for(;i===" ";)i=this.buffer[--o];if(i===`
|
|
239
|
-
`&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield
|
|
239
|
+
`&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Mi.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(Ot(o)||t&&nu.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
|
|
240
240
|
`?(n+=1,s=`
|
|
241
|
-
`,o=this.buffer[n+1]):r=n),o==="#"||t&&
|
|
242
|
-
`){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&
|
|
241
|
+
`,o=this.buffer[n+1]):r=n),o==="#"||t&&nu.has(o))break;if(s===`
|
|
242
|
+
`){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&nu.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Mi.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(fg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&nu.has(n)){r?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!Ot(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(sV.has(r))r=this.buffer[++t];else if(r==="%"&&nO.has(this.buffer[t+1])&&nO.has(this.buffer[t+2]))r=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===`
|
|
243
243
|
`?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
|
|
244
|
-
`?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};
|
|
244
|
+
`?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};sO.Lexer=mg});var yg=I(oO=>{"use strict";var gg=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let r=0,n=this.lineStarts.length;for(;r<n;){let o=r+n>>1;this.lineStarts[o]<t?r=o+1:n=o}if(this.lineStarts[r]===t)return{line:r+1,col:1};if(r===0)return{line:0,col:t};let s=this.lineStarts[r-1];return{line:r,col:t-s+1}}}};oO.LineCounter=gg});var wg=I(uO=>{"use strict";var iV=sa("process"),iO=ru(),aV=hg();function Br(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function aO(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function lO(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function su(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Fs(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function ou(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function cO(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Br(t.start,"explicit-key-ind")&&!Br(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,lO(t.value)?t.value.end?ou(t.value.end,t.sep):t.value.end=t.sep:ou(t.start,t.sep),delete t.sep)}var bg=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new aV.Lexer,this.onNewLine=t}*parse(t,r=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(t,r))yield*this.next(n);r||(yield*this.end())}*next(t){if(this.source=t,iV.env.LOG_TOKENS&&console.log("|",iO.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=iO.tokenType(t);if(r)if(r==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=r,yield*this.step(),r){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let n=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&t?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let r=t??this.stack.pop();if(!r)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield r;else{let n=this.peek(1);switch(r.type==="block-scalar"?r.indent="indent"in n?n.indent:0:r.type==="flow-collection"&&n.type==="document"&&(r.indent=0),r.type==="flow-collection"&&cO(r),n.type){case"document":n.value=r;break;case"block-scalar":n.props.push(r);break;case"block-map":{let s=n.items[n.items.length-1];if(s.value){n.items.push({start:[],key:r,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=r;else{Object.assign(s,{key:r,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=n.items[n.items.length-1];s.value?n.items.push({start:[],value:r}):s.value=r;break}case"flow-collection":{let s=n.items[n.items.length-1];!s||s.value?n.items.push({start:[],key:r,sep:[]}):s.sep?s.value=r:Object.assign(s,{key:r,sep:[]});return}default:yield*this.pop(),yield*this.pop(r)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(r.type==="block-map"||r.type==="block-seq")){let s=r.items[r.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&aO(s.start)===-1&&(r.indent===0||s.start.every(o=>o.type!=="comment"||o.indent<r.indent))&&(n.type==="document"?n.end=s.start:n.items.push({start:s.start}),r.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{aO(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=su(this.peek(2)),n=Fs(r),s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];let o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:n,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let r=this.source.indexOf(`
|
|
245
245
|
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
|
|
246
|
-
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){
|
|
246
|
+
`,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Br(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(lO(r.key)&&!Br(r.sep,"newline")){let i=Fs(r.start),a=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:a,sep:c}]})}else o.length>0?r.sep=r.sep.concat(o,this.sourceToken):r.sep.push(this.sourceToken);else if(Br(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Fs(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:o,key:null,sep:[this.sourceToken]}):Br(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);s||r.value?(t.items.push({start:o,key:i,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(i):(Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{let i=this.startBlockValue(t);if(i){if(i.type==="block-seq"){if(!r.explicitKey&&r.sep&&!Br(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||Br(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=su(n),o=Fs(s);cO(t);let i=t.end.splice(1,t.end.length);i.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:o,key:t,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let r=this.source.indexOf(`
|
|
247
247
|
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
|
|
248
|
-
`,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=
|
|
249
|
-
`),lossy:!0,handle:y,bytesElided:e.length}}let a
|
|
250
|
-
`),lossy:!0,handle:p,bytesElided:e.length}}function EV(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function mO(e,t){try{let r=await t.store?.mint(e,{command:t.command,loss:{level:t.level==="automatic"?"brief":t.level,bytes_elided:e.length}})??"";return r.startsWith("el:")?r:""}catch{return""}}function kV(e){let t=e.toString("utf8").split(/\r?\n/).filter(Boolean);if(t.length===0)return;let r=[];for(let n of t){let s=/^(\d+)\s+(.+)$/.exec(n);if(!s||!s[2]?.includes("target"))return;r.push({size_kib:Number(s[1]),path:s[2]})}return r}function SV(e){try{return z(e.toString("utf8"))}catch{return}}function _g(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function RV(e){if(Array.isArray(e)&&e.every(_g))return{rows:e};if(!_g(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(_g)).sort((i,a)=>a[1].length-i[1].length||i[0].localeCompare(a[0]))[0];if(!r)return;let[n,s]=r,o=Object.fromEntries(Object.entries(e).filter(([i])=>i!==n));return{rows:s,sourcePath:n,context:o}}function vV(e){let t=new Map;for(let r of e){let n=Object.keys(r).sort((s,o)=>s.localeCompare(o)).join("\0");t.set(n,(t.get(n)??0)+1)}return Math.max(0,...t.values())}function TV(e){let t=[...new Set(e.flatMap(n=>Object.keys(n)))].sort((n,s)=>n.localeCompare(s)),r={};for(let n of t){let s=e.map(o=>o[n]).filter(o=>typeof o=="number"&&Number.isFinite(o));s.length===e.length&&(r[n]={min:Math.min(...s),max:Math.max(...s),sum:xV(s.reduce((o,i)=>o+i,0))})}return r}function xV(e){return Number(e.toPrecision(15))}function Eg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Sg=_(()=>{"use strict";J();wg()});import{existsSync as OV}from"node:fs";import{join as AV}from"node:path";function CV(){for(let e of(process.env.PATH??"").split(":"))if(e&&OV(AV(e,"rsp")))return!0;return!1}function ji(){return CV()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var Rg=_(()=>{"use strict"});var nu={};se(nu,{parseProxyCommandLine:()=>yO,rewriteProxyCommandLine:()=>gO,runProxy:()=>LV});import{spawn as PV}from"node:child_process";function IV(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function LV(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=yO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=gO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await GV(t.telemetryRoot,r,c),await hO(r,t.level??"lossless");throw c}for(let c of s)await NV(t.telemetryRoot,c);let i=await hO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await hn(t.telemetryRoot,{collection:lt,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function gO(e,t="lossless",r=ji()){let n=jV(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||BV(n,a)==="|")return i.text;let c=DV(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function yO(e){if(e[0]!=="proxy")throw new Error("expected rsp proxy -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp proxy -- <command line>");return n}async function GV(e,t,r){await hn(e,{collection:Ve,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:dt(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function NV(e,t){await hn(e,{collection:Ve,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t.command,command_family:t.commandFamily,decision:t.decision,reason:t.reason,capability_id:t.capabilityId})}async function hO(e,t,r=e){let n=PV(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=Ze();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await ET(n,i=>kg(i,r,o))}function DV(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=UV(o);if(!i)return null;let a=MV(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(gn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=$V(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(IV),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function $V(e){let t=e.map(n=>n.value),r=e.map(n=>n.raw);return t[0]==="git"&&["status","log","diff","show","blame"].includes(t[1]??"")?{capabilityId:`git:${t[1]}`,wrapperWords:r}:t[0]==="git"&&t[1]==="branch"&&t[2]==="-av"?{capabilityId:"git:branch:av",wrapperWords:r}:t[0]==="gh"&&["pr","issue","run"].includes(t[1]??"")&&["list","view"].includes(t[2]??"")?{capabilityId:`gh:${t[1]}:${t[2]}`,wrapperWords:r}:t[0]==="vitest"?{capabilityId:t[1]==="run"?"vitest:run":"vitest",wrapperWords:r}:t[0]==="cargo"&&t[1]==="test"?{capabilityId:"cargo:test",wrapperWords:r}:FV(t,r)}function FV(e,t){return e[0]==="cat"&&e.length===2&&vg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&vg(e[1])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,"10",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===4&&e[1]==="-n"&&/^[1-9][0-9]*$/.test(e[2])&&vg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function vg(e){return!!e&&!e.startsWith("-")}function MV(e){let t=0;for(;t<e.length&&_s(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&_s(e[t].value);)t+=1;return t}function BV(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function jV(e){let t=[],r=0,n,s=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(s){s=!1;continue}if(i==="\\"){s=!0;continue}if(n){i===n&&(n=void 0);continue}if(i==="'"||i==='"'){n=i;continue}let a=qV(e,o);a&&(o>r&&t.push({kind:"segment",text:e.slice(r,o)}),t.push({kind:"operator",text:a}),o+=a.length-1,r=o+1)}return r<e.length&&t.push({kind:"segment",text:e.slice(r)}),t}function qV(e,t){let r=e.slice(t,t+2);if(r==="&&"||r==="||")return r;let n=e[t];return n===";"||n==="|"?n:void 0}function UV(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var su=_(()=>{"use strict";we();kT();Sg();Ko();Rg();Ft()});function _O(e,t={}){let r=HV(e);if(r.length<12)return[];let n=new Map,s=new Map;for(let p of r){s.set(p.signature,(s.get(p.signature)??0)+1);for(let f of new Set(p.tokens))n.set(f,(n.get(f)??0)+1)}let o=r.map(p=>p.length),i=r.map(p=>p.tokens.length),a=r.map(p=>p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs))),c=Tg(o),l=Tg(i),u=Tg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>YV(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:xg(p.length,c)+xg(p.tokens.length,l)+xg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+KV(p.tokens,n,r.length)+zV(p.signature,s,r.length)})).filter(p=>p.score>=(t.minScore??7)).sort((p,f)=>f.score-p.score||p.line.index-f.line.index).slice(0,t.maxOutliers??3).sort((p,f)=>p.line.index-f.line.index).map(p=>({lineNumber:p.line.index+1,score:Math.round(p.score*100)/100,text:p.line.text}))}function HV(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(bO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(bO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function bO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:WV(n),tokens:VV(n),numbers:JV(n),length:n.length}}function WV(e){return e.replace(/[A-Z]+/g,"A").replace(/[a-z]+/g,"a").replace(/\d+(?:\.\d+)?/g,"0").replace(/\s+/g," ").slice(0,160)}function VV(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function JV(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function KV(e,t,r){let n=[...new Set(e)];if(n.length===0)return 0;let s=n.map(o=>Math.log2(r/Math.max(1,t.get(o)??r))).sort((o,i)=>i-o).slice(0,6);return s.reduce((o,i)=>o+i,0)/Math.max(1,s.length)}function zV(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Tg(e){let t=wO(e),r=wO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function xg(e,t){return Math.abs(e-t.median)/t.mad}function wO(e){let t=[...e].sort((n,s)=>n-s),r=Math.floor(t.length/2);return t.length===0?0:t.length%2===1?t[r]:((t[r-1]??0)+(t[r]??0))/2}function YV(e,t,r,n){return e<n&&r<t}var EO=_(()=>{"use strict"});var Og={};se(Og,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>SO,StructuredUsageError:()=>ou,cleanStatusPayload:()=>xO,recoveryInstruction:()=>At,renderGitContract:()=>RO,runGitWrapper:()=>XV});import{spawn as QV}from"node:child_process";async function XV(e,t){let r=vO(e),n=TO(r.argv),s=await rJ(n,r.argv.slice(1));return RO(e,s,t)}async function RO(e,t,r){let n=vO(e);if((t.status??0)!==0||t.signal){let d=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=TO(n.argv),o;try{o=nJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof iu)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(ZV(s,i,n.full,r))return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let a=EJ(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
|
|
248
|
+
`,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=su(t),n=Fs(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=su(t),n=Fs(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,r){return this.type!=="comment"||this.indent<=r?!1:t.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};uO.Parser=bg});var hO=I(ji=>{"use strict";var dO=og(),cV=Ii(),Bi=Di(),lV=nh(),uV=K(),dV=yg(),pO=wg();function fO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new dV.LineCounter||null,prettyErrors:t}}function pV(e,t={}){let{lineCounter:r,prettyErrors:n}=fO(t),s=new pO.Parser(r?.addNewLine),o=new dO.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Bi.prettifyError(e,r)),a.warnings.forEach(Bi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function mO(e,t={}){let{lineCounter:r,prettyErrors:n}=fO(t),s=new pO.Parser(r?.addNewLine),o=new dO.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Bi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Bi.prettifyError(e,r)),i.warnings.forEach(Bi.prettifyError(e,r))),i}function fV(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=mO(e,r);if(!s)return null;if(s.warnings.forEach(o=>lV.warn(s.options.logLevel,o)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},r))}function mV(e,t,r){let n=null;if(typeof t=="function"||Array.isArray(t)?n=t:r===void 0&&t&&(r=t),typeof r=="string"&&(r=r.length),typeof r=="number"){let s=Math.round(r);r=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){let{keepUndefined:s}=r??t??{};if(!s)return}return uV.isDocument(e)&&!n?e.toString(r):new cV.Document(e,n,r).toString(r)}ji.parse=fV;ji.parseAllDocuments=pV;ji.parseDocument=mO;ji.stringify=mV});var yO=I(X=>{"use strict";var hV=og(),gV=Ii(),yV=Mh(),_g=Di(),bV=gi(),jr=K(),wV=$r(),_V=le(),EV=Fr(),kV=Mr(),SV=ru(),RV=hg(),vV=yg(),TV=wg(),iu=hO(),gO=pi();X.Composer=hV.Composer;X.Document=gV.Document;X.Schema=yV.Schema;X.YAMLError=_g.YAMLError;X.YAMLParseError=_g.YAMLParseError;X.YAMLWarning=_g.YAMLWarning;X.Alias=bV.Alias;X.isAlias=jr.isAlias;X.isCollection=jr.isCollection;X.isDocument=jr.isDocument;X.isMap=jr.isMap;X.isNode=jr.isNode;X.isPair=jr.isPair;X.isScalar=jr.isScalar;X.isSeq=jr.isSeq;X.Pair=wV.Pair;X.Scalar=_V.Scalar;X.YAMLMap=EV.YAMLMap;X.YAMLSeq=kV.YAMLSeq;X.CST=SV;X.Lexer=RV.Lexer;X.LineCounter=vV.LineCounter;X.Parser=TV.Parser;X.parse=iu.parse;X.parseAllDocuments=iu.parseAllDocuments;X.parseDocument=iu.parseDocument;X.stringify=iu.stringify;X.visit=gO.visit;X.visitAsync=gO.visitAsync});import{isUtf8 as xV}from"node:buffer";import{spawnSync as OV}from"node:child_process";import{isDeepStrictEqual as bO}from"node:util";function Eg(e,t={}){if(e.length===0||!xV(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=AV(n,t.decode??z,t.runTq??CV)??PV(n,t.decode??z);if(!s)return e;let{value:o}=s;try{let i=(t.encode??M)(o),a=(t.decode??z)(i);return!bO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function AV(e,t,r){if(!e.startsWith("<"))return;let n=r(e,"xml","toon");if(n===void 0)return;let s=r(n,"toon","xml");if(s===void 0)return;let o=r(s,"xml","toon");if(o!==void 0)try{let i=t(n);return bO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function CV(e,t,r){let n=OV("tq",["-p",t,"-o",r,"."],{input:e,encoding:"utf8",maxBuffer:Math.max(16777216,e.length*32),timeout:5e3});if(!(n.error||n.status!==0||n.signal||n.stdout===""))return n.stdout}function PV(e,t){try{return{value:JSON.parse(e),source:"json"}}catch{}if(e.startsWith("{")&&!e.endsWith("}")||/^["']/.test(e)&&e.at(-1)!==e[0])return;if(/^\s*\[(?:~|\t|\|)?\]\{[^}]+\}:/.test(e))try{return{value:Oe(e),source:"toonl"}}catch{return}let r=e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||/^["']/.test(e)&&e.at(-1)===e[0],n=/(?:^|\n)\s*(?:[^\s:#][^\n:]*:|\[(?:\d+)?\](?:\{[^}]+\})?:)/.test(e);if(n&&!r)try{return{value:t(e),source:"toon"}}catch{}if(e.startsWith("---")||n||r||/(?:^|\n)\s*-\s+\S/.test(e))try{let s=(0,wO.parseAllDocuments)(e,{prettyErrors:!1,strict:!0,uniqueKeys:!0});return s.length!==1||s[0].errors.length>0||s[0].warnings.length>0?void 0:{value:s[0].toJS({maxAliasCount:100}),source:"yaml"}}catch{return}}var wO,kg=_(()=>{"use strict";J();wO=oa(yO(),1)});async function vg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),Ap)),Promise.resolve().then(()=>(nr(),Qn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await IV(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function IV(e,t){let r=LV(t.command)?e:Eg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=Rg(t.sizeThresholdBytes,8*1024),s=Rg(t.repetitionThresholdRows,20),o=Rg(t.topRows,t.level==="terse"?5:12),i=GV(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await _O(e,t);if(!y)return{stdout:r,lossy:!1};let E=[...i].sort((T,C)=>C.size_kib-T.size_kib||T.path.localeCompare(C.path)),w=Math.min(o,E.length),k=E.length-w,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:w,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${w}; ${k} omitted`]},summary:{total_size_kib:E.reduce((T,C)=>T+C.size_kib,0),largest_size_kib:E[0]?.size_kib??0},rows:E.slice(0,w),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${y}`}};return{stdout:Buffer.from(`${M(S)}
|
|
249
|
+
`),lossy:!0,handle:y,bytesElided:e.length}}let a=$V(DV(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=NV(c),u=e.length>n&&l>=s&&l/c.length>=.8;if(!(c.length>o&&(t.level==="terse"||u)))return{stdout:r,lossy:!1};let p=await _O(e,t);if(!p)return{stdout:r,lossy:!1};let f=Math.min(o,c.length),m=c.length-f,g={family:"automatic-output",content:"structured-array",...a.sourcePath?{source_path:a.sourcePath,context:a.context}:{},reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",input_bytes:e.length,size_threshold_bytes:n,repeated_shape_rows:l,repetition_threshold_rows:s,rows_total:c.length,rows_kept:f,rows_omitted:m,changes:[a.sourcePath?`rows at ${a.sourcePath} capped to first ${f}; ${m} omitted`:`rows capped to first ${f}; ${m} omitted`]},summary:{numeric:FV(c)},rows:c.slice(0,f),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${p}`}};return{stdout:Buffer.from(`${M(g)}
|
|
250
|
+
`),lossy:!0,handle:p,bytesElided:e.length}}function LV(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function _O(e,t){try{let r=await t.store?.mint(e,{command:t.command,loss:{level:t.level==="automatic"?"brief":t.level,bytes_elided:e.length}})??"";return r.startsWith("el:")?r:""}catch{return""}}function GV(e){let t=e.toString("utf8").split(/\r?\n/).filter(Boolean);if(t.length===0)return;let r=[];for(let n of t){let s=/^(\d+)\s+(.+)$/.exec(n);if(!s||!s[2]?.includes("target"))return;r.push({size_kib:Number(s[1]),path:s[2]})}return r}function DV(e){try{return z(e.toString("utf8"))}catch{return}}function Sg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $V(e){if(Array.isArray(e)&&e.every(Sg))return{rows:e};if(!Sg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(Sg)).sort((i,a)=>a[1].length-i[1].length||i[0].localeCompare(a[0]))[0];if(!r)return;let[n,s]=r,o=Object.fromEntries(Object.entries(e).filter(([i])=>i!==n));return{rows:s,sourcePath:n,context:o}}function NV(e){let t=new Map;for(let r of e){let n=Object.keys(r).sort((s,o)=>s.localeCompare(o)).join("\0");t.set(n,(t.get(n)??0)+1)}return Math.max(0,...t.values())}function FV(e){let t=[...new Set(e.flatMap(n=>Object.keys(n)))].sort((n,s)=>n.localeCompare(s)),r={};for(let n of t){let s=e.map(o=>o[n]).filter(o=>typeof o=="number"&&Number.isFinite(o));s.length===e.length&&(r[n]={min:Math.min(...s),max:Math.max(...s),sum:MV(s.reduce((o,i)=>o+i,0))})}return r}function MV(e){return Number(e.toPrecision(15))}function Rg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Tg=_(()=>{"use strict";J();kg()});import{existsSync as BV}from"node:fs";import{join as jV}from"node:path";function qV(){for(let e of(process.env.PATH??"").split(":"))if(e&&BV(jV(e,"rsp")))return!0;return!1}function qi(){return qV()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var xg=_(()=>{"use strict"});var au={};se(au,{parseProxyCommandLine:()=>SO,rewriteProxyCommandLine:()=>kO,runProxy:()=>WV});import{spawn as UV}from"node:child_process";function HV(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function WV(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=SO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=kO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await VV(t.telemetryRoot,r,c),await EO(r,t.level??"lossless");throw c}for(let c of s)await JV(t.telemetryRoot,c);let i=await EO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await gn(t.telemetryRoot,{collection:lt,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function kO(e,t="lossless",r=qi()){let n=ZV(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||XV(n,a)==="|")return i.text;let c=KV(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function SO(e){if(e[0]!=="proxy")throw new Error("expected rsp proxy -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp proxy -- <command line>");return n}async function VV(e,t,r){await gn(e,{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:dt(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function JV(e,t){await gn(e,{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t.command,command_family:t.commandFamily,decision:t.decision,reason:t.reason,capability_id:t.capabilityId})}async function EO(e,t,r=e){let n=UV(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=et();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await xT(n,i=>vg(i,r,o))}function KV(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=tJ(o);if(!i)return null;let a=QV(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(yn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=zV(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(HV),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function zV(e){let t=e.map(n=>n.value),r=e.map(n=>n.raw);return t[0]==="git"&&["status","log","diff","show","blame"].includes(t[1]??"")?{capabilityId:`git:${t[1]}`,wrapperWords:r}:t[0]==="git"&&t[1]==="branch"&&t[2]==="-av"?{capabilityId:"git:branch:av",wrapperWords:r}:t[0]==="gh"&&["pr","issue","run"].includes(t[1]??"")&&["list","view"].includes(t[2]??"")?{capabilityId:`gh:${t[1]}:${t[2]}`,wrapperWords:r}:t[0]==="vitest"?{capabilityId:t[1]==="run"?"vitest:run":"vitest",wrapperWords:r}:t[0]==="cargo"&&t[1]==="test"?{capabilityId:"cargo:test",wrapperWords:r}:YV(t,r)}function YV(e,t){return e[0]==="cat"&&e.length===2&&Og(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Og(e[1])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,"10",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===4&&e[1]==="-n"&&/^[1-9][0-9]*$/.test(e[2])&&Og(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Og(e){return!!e&&!e.startsWith("-")}function QV(e){let t=0;for(;t<e.length&&Es(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&Es(e[t].value);)t+=1;return t}function XV(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function ZV(e){let t=[],r=0,n,s=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(s){s=!1;continue}if(i==="\\"){s=!0;continue}if(n){i===n&&(n=void 0);continue}if(i==="'"||i==='"'){n=i;continue}let a=eJ(e,o);a&&(o>r&&t.push({kind:"segment",text:e.slice(r,o)}),t.push({kind:"operator",text:a}),o+=a.length-1,r=o+1)}return r<e.length&&t.push({kind:"segment",text:e.slice(r)}),t}function eJ(e,t){let r=e.slice(t,t+2);if(r==="&&"||r==="||")return r;let n=e[t];return n===";"||n==="|"?n:void 0}function tJ(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var cu=_(()=>{"use strict";we();OT();Tg();zo();xg();Ft()});function TO(e,t={}){let r=rJ(e);if(r.length<12)return[];let n=new Map,s=new Map;for(let p of r){s.set(p.signature,(s.get(p.signature)??0)+1);for(let f of new Set(p.tokens))n.set(f,(n.get(f)??0)+1)}let o=r.map(p=>p.length),i=r.map(p=>p.tokens.length),a=r.map(p=>p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs))),c=Ag(o),l=Ag(i),u=Ag(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>cJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Cg(p.length,c)+Cg(p.tokens.length,l)+Cg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+iJ(p.tokens,n,r.length)+aJ(p.signature,s,r.length)})).filter(p=>p.score>=(t.minScore??7)).sort((p,f)=>f.score-p.score||p.line.index-f.line.index).slice(0,t.maxOutliers??3).sort((p,f)=>p.line.index-f.line.index).map(p=>({lineNumber:p.line.index+1,score:Math.round(p.score*100)/100,text:p.line.text}))}function rJ(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(RO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(RO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function RO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:nJ(n),tokens:sJ(n),numbers:oJ(n),length:n.length}}function nJ(e){return e.replace(/[A-Z]+/g,"A").replace(/[a-z]+/g,"a").replace(/\d+(?:\.\d+)?/g,"0").replace(/\s+/g," ").slice(0,160)}function sJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function oJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function iJ(e,t,r){let n=[...new Set(e)];if(n.length===0)return 0;let s=n.map(o=>Math.log2(r/Math.max(1,t.get(o)??r))).sort((o,i)=>i-o).slice(0,6);return s.reduce((o,i)=>o+i,0)/Math.max(1,s.length)}function aJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Ag(e){let t=vO(e),r=vO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Cg(e,t){return Math.abs(e-t.median)/t.mad}function vO(e){let t=[...e].sort((n,s)=>n-s),r=Math.floor(t.length/2);return t.length===0?0:t.length%2===1?t[r]:((t[r-1]??0)+(t[r]??0))/2}function cJ(e,t,r,n){return e<n&&r<t}var xO=_(()=>{"use strict"});var Pg={};se(Pg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>AO,StructuredUsageError:()=>lu,cleanStatusPayload:()=>LO,recoveryInstruction:()=>At,renderGitContract:()=>CO,runGitWrapper:()=>uJ});import{spawn as lJ}from"node:child_process";async function uJ(e,t){let r=PO(e),n=IO(r.argv),s=await mJ(n,r.argv.slice(1));return CO(e,s,t)}async function CO(e,t,r){let n=PO(e);if((t.status??0)!==0||t.signal){let d=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=IO(n.argv),o;try{o=hJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof uu)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(dJ(s,i,n.full,r))return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let a=LJ(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
|
|
251
251
|
`;return{stdout:Buffer.from(`${M(a.payload)}
|
|
252
|
-
${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function At(e){return e.startsWith("el:")?`rsp show ${e}`:e}function
|
|
253
|
-
`)[0]??"",n=/^\[([^ ]+) ([0-9a-f]+)\] (.+)$/.exec(r),s=/(\d+) files? changed/.exec(t),o=/(\d+) insertions?\(\+\)/.exec(t),i=/(\d+) deletions?\(-\)/.exec(t),a=n?.[1]??"",c=n?.[2]??"",l=Number(s?.[1]??0),u=Number(o?.[1]??0),d=Number(i?.[1]??0);return{command:e.join(" "),branch:a,commit:c,subject:n?.[3]??"",files_changed:l,insertions:u,deletions:d,summary:`commit ${c} on ${a}: ${l} files, +${u} -${d}`}}function
|
|
254
|
-
`).filter(Boolean),n=r.find(c=>c.startsWith("To "))?.slice(3)??"",s=r.filter(c=>c.includes(" ")).map(c=>{let[l,u,d=""]=c.split(" "),[p,f]=(u??"").split(":");return{flag:l??"",from:p??"",to:f??"",summary:d}}),o=s.find(c=>c.flag!=="=")??s[0],i=o?.to.startsWith("refs/heads/")?o.to.slice(11):o?.to??"",a=o?.summary.includes("..")?1:0;return s.length>0&&s.every(c=>c.flag==="=")?{command:e.join(" "),category:"no-op",exit_code:0,noop:!0,remote:n,refs:s,summary:`push already satisfied for ${i} -> ${n}`,help:["rsp gh pr list --query <branch>"]}:{command:e.join(" "),remote:n,refs:s,summary:`pushed ${i} -> ${n} +${a} commits`}}function
|
|
255
|
-
`),s=[],o=null;for(let c of n){let l=/^([0-9a-f]{8,40}) \d+ (\d+)(?: \d+)?$/.exec(c);if(l){o={commit:l[1]??"",finalLine:Number(l[2]??0),author:"",path:""};continue}if(!o)continue;if(c.startsWith("author ")){o.author=c.slice(7);continue}if(c.startsWith("filename ")){o.path=c.slice(9);continue}if(!c.startsWith(" "))continue;let u=s.at(-1),d=o.commit.slice(0,12);u&&u.commit===d&&u.author===o.author&&u.path===o.path&&u.line_end+1===o.finalLine?u.line_end=o.finalLine:s.push({line_start:o.finalLine,line_end:o.finalLine,author:o.author,commit:d,path:o.path}),o=null}let i=Le(s,r),a=
|
|
256
|
-
`).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Le(n,r),o=s.find(i=>i.current)?.name??"";return
|
|
257
|
-
`)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(E);if(!w)continue;let k=w[3]??"";f.push({path:(w[1]??"").trim(),changed:Number(w[2]??0),added:[...k].filter(S=>S==="+").length,deleted:[...k].filter(S=>S==="-").length,binary:k.startsWith("Bin")})}let m=Le(f,r),g=0,b=0,y=0;for(let E of m)g+=typeof E.changed=="number"?E.changed:0,b+=typeof E.added=="number"?E.added:0,y+=typeof E.deleted=="number"?E.deleted:0;return
|
|
258
|
-
`).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${g} changed, +${b} -${y}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function
|
|
259
|
-
`),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function
|
|
252
|
+
${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function At(e){return e.startsWith("el:")?`rsp show ${e}`:e}function PO(e){let{argv:t,query:r,full:n}=Pw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new lu(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function dJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!pJ(e)||n.level!=="lossless")return!0;let s=IJ(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function pJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function IO(e){if(e[0]!=="git")throw new Error("expected rsp git <subcommand>");let t=e[1];if(t==="status"||t==="log"||t==="diff"||t==="commit"||t==="push"||t==="blame"||t==="branch"||t==="show")return t;throw new Error(`unsupported git subcommand: ${t??""}`)}function fJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${AO.join("%x1f")}`,"-z",...r];case"diff":return["diff","--numstat","-z",...r];case"commit":return["commit",...r];case"push":return["push","--porcelain",...r];case"blame":return["blame","--line-porcelain",...r];case"branch":return["branch","--format=%(HEAD)%00%(refname:short)%00%(objectname:short)%00%(upstream:short)%00%(worktreepath)%00%(contents:subject)",...r];case"show":return["show","--format=%x1e%H%x1f%h%x1f%an%x1f%aI%x1f%s%x1f%b%x1e","--stat",...r]}}async function mJ(e,t){let r=lJ("git",fJ(e,t),{stdio:["ignore","pipe","pipe"]}),n=et();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function hJ(e,t,r,n){switch(e){case"status":return gJ(t,r,n);case"log":return RJ(t,r,n);case"diff":return vJ(t,r,n);case"commit":return qr(TJ(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return qr(xJ(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return OJ(t,r,n);case"branch":return AJ(t,r,n);case"show":return CJ(t,r,n)}}function gJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of yJ(t)){if(!l)continue;if(i=!0,l.startsWith("# branch.head ")){n=l.slice(14),o=!0;continue}if(l.startsWith("# ")){o=!0;continue}if(l.startsWith("## ")){n=_J(l),o=!0;continue}let u=bJ(l);if(u){o=!0,s.push(u);continue}let d=wJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return LO(e.join(" "),n);throw new uu("git-status-unparseable")}let a=Le(s,r),c=GO(a,"state");return qr({command:e.join(" "),branch:n,rows:a,summary:SJ(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function yJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function bJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Ui(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(10).join(" "),r)}return e.startsWith("? ")?Ui(e.slice(2),"??"):null}function wJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Ui(EJ(e.slice(3),t),t):null}function Ui(e,t){let r=OO(t[0]??"."),n=OO(t[1]??".");return{path:kJ(e),index:r,worktree:n,state:PJ(`${r}${n}`)}}function OO(e){return e===" "?".":e}function _J(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function EJ(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function kJ(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function SJ(e,t,r,n){let s=[];return r.renamed&&s.push(`${r.renamed} renamed`),r.untracked&&s.push(`${r.untracked} untracked`),r.changed&&s.push(`${r.changed} changed`),`${n?`${e}/${t}`:e} changes: ${r.added??0} added, ${r.modified??0} modified, ${r.deleted??0} deleted${s.length?`, ${s.join(", ")}`:""}`}function LO(e="git status",t=""){return{command:e,category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:t,rows:[],summary:"git status clean: 0 changes"}}function RJ(e,t,r){let n=t.split("\0").filter(Boolean).map(o=>{let i=o.replace(/^\x1e/,"").split("");return{short:i[0]??"",author:i[1]??"",date:i[2]??"",subject:i[3]??""}}),s=Le(n,r);return qr({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function vJ(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Le(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return qr({command:e.join(" "),files:o,summary:`${r?`${o.length}/${s.length}`:o.length} files, +${i.added} -${i.deleted}`},r,["rsp git status --query <path>","rsp git log --query <subject>"])}function TJ(e,t){let r=t.split(`
|
|
253
|
+
`)[0]??"",n=/^\[([^ ]+) ([0-9a-f]+)\] (.+)$/.exec(r),s=/(\d+) files? changed/.exec(t),o=/(\d+) insertions?\(\+\)/.exec(t),i=/(\d+) deletions?\(-\)/.exec(t),a=n?.[1]??"",c=n?.[2]??"",l=Number(s?.[1]??0),u=Number(o?.[1]??0),d=Number(i?.[1]??0);return{command:e.join(" "),branch:a,commit:c,subject:n?.[3]??"",files_changed:l,insertions:u,deletions:d,summary:`commit ${c} on ${a}: ${l} files, +${u} -${d}`}}function xJ(e,t){let r=t.split(`
|
|
254
|
+
`).filter(Boolean),n=r.find(c=>c.startsWith("To "))?.slice(3)??"",s=r.filter(c=>c.includes(" ")).map(c=>{let[l,u,d=""]=c.split(" "),[p,f]=(u??"").split(":");return{flag:l??"",from:p??"",to:f??"",summary:d}}),o=s.find(c=>c.flag!=="=")??s[0],i=o?.to.startsWith("refs/heads/")?o.to.slice(11):o?.to??"",a=o?.summary.includes("..")?1:0;return s.length>0&&s.every(c=>c.flag==="=")?{command:e.join(" "),category:"no-op",exit_code:0,noop:!0,remote:n,refs:s,summary:`push already satisfied for ${i} -> ${n}`,help:["rsp gh pr list --query <branch>"]}:{command:e.join(" "),remote:n,refs:s,summary:`pushed ${i} -> ${n} +${a} commits`}}function OJ(e,t,r){let n=t.split(`
|
|
255
|
+
`),s=[],o=null;for(let c of n){let l=/^([0-9a-f]{8,40}) \d+ (\d+)(?: \d+)?$/.exec(c);if(l){o={commit:l[1]??"",finalLine:Number(l[2]??0),author:"",path:""};continue}if(!o)continue;if(c.startsWith("author ")){o.author=c.slice(7);continue}if(c.startsWith("filename ")){o.path=c.slice(9);continue}if(!c.startsWith(" "))continue;let u=s.at(-1),d=o.commit.slice(0,12);u&&u.commit===d&&u.author===o.author&&u.path===o.path&&u.line_end+1===o.finalLine?u.line_end=o.finalLine:s.push({line_start:o.finalLine,line_end:o.finalLine,author:o.author,commit:d,path:o.path}),o=null}let i=Le(s,r),a=GO(i,"author");return qr({command:e.join(" "),ranges:i,authors:a,summary:`${r?`${i.length}/${s.length}`:i.length} ranges, ${Object.keys(a).length} authors`},r,["rsp git show --query <commit>","rsp git log --query <author>"])}function AJ(e,t,r){let n=t.split(`
|
|
256
|
+
`).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Le(n,r),o=s.find(i=>i.current)?.name??"";return qr({command:e.join(" "),branches:s,summary:`${r?`${s.length}/${n.length}`:s.length} branches${o?`, current ${o}`:""}`},r,["rsp git log --query <branch>","rsp gh pr list --query <branch>"])}function CJ(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let E of i.split(`
|
|
257
|
+
`)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(E);if(!w)continue;let k=w[3]??"";f.push({path:(w[1]??"").trim(),changed:Number(w[2]??0),added:[...k].filter(S=>S==="+").length,deleted:[...k].filter(S=>S==="-").length,binary:k.startsWith("Bin")})}let m=Le(f,r),g=0,b=0,y=0;for(let E of m)g+=typeof E.changed=="number"?E.changed:0,b+=typeof E.added=="number"?E.added:0,y+=typeof E.deleted=="number"?E.deleted:0;return qr({command:e.join(" "),commit:a??"",short:c??"",author:l??"",date:u??"",subject:d??"",body_lines:p.trim()?p.trim().split(`
|
|
258
|
+
`).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${g} changed, +${b} -${y}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function qr(e,t,r){return t?Xt(e,r):e}function PJ(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function GO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function IJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function LJ(e){for(let t of["rows","commits","files","refs","ranges","branches"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}var AO,lu,uu,An=_(()=>{"use strict";we();J();Ue();ao();bt();Ue();AO=["%h","%an","%as","%s"];lu=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return uw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},uu=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var Dg={};se(Dg,{NORMALIZATION_ALLOWLIST:()=>jO,NORMALIZE_ANSI:()=>pu,NORMALIZE_BLANK_LINES:()=>hu,NORMALIZE_CR_PROGRESS:()=>fu,NORMALIZE_JSON_TOON:()=>BO,NORMALIZE_TRAILING_WHITESPACE:()=>mu,crushJsonArrayItems:()=>Hi,formatCodexNormalizeDecision:()=>VO,formatNormalizeDecision:()=>WO,hookDecisionFromClaudePostExecJson:()=>qO,hookDecisionFromCodexPostExecJson:()=>UO,normalizeOutput:()=>gu,renderGenericJsonLane:()=>Lg,runClaudePostExecHook:()=>$J,runCodexPostExecHook:()=>NJ,transcodeJsonToToon:()=>MO});import{readFileSync as du}from"node:fs";function MO(e,t){let r=t?.encode??M,n=t?.decode??z,s=e.trimEnd();if(!s)return e;let o;try{o=JSON.parse(s)}catch{return e}let i;try{i=r(o)}catch{return e}let a;try{a=n(i)}catch{return e}return Ig(o,a)?i.trimEnd():e}async function Lg(e,t={}){let r=jJ(e);if(!r)return{output:e,detected:!1,lossy:!1};let n=r.value;if(!Array.isArray(n))return{output:M(n).trimEnd(),detected:!0,lossy:!1};let s=n.length,o=FO(t.minTokens,GJ),i=FO(t.maxItems,DJ);if(!(s>i&&VJ(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Hi)(n,i)}catch(g){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:JJ(g)}}}let l=c.items,u={items:l},d=`items: ${c.kept} kept, ${c.dropped} dropped (shape outliers: ${c.shapeOutliers}, value outliers: ${c.valueOutliers})`,p;t.level&&t.level!=="lossless"&&(p=await t.store?.mint(Buffer.from(e),{command:t.command??"rsp json",loss:{level:t.level,bytes_elided:Buffer.byteLength(e)}}));let f=p?`original: rsp show ${p}`:`original: unavailable - re-run: ${t.command??"command"}`,m=M(u).trimEnd();return{output:[d,f,m].filter(Boolean).join(`
|
|
259
|
+
`),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Hi(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=qJ(e),s=new Set;n&&e.forEach((a,c)=>{Gg(a)!==n&&s.add(c)});let o=UJ(e,n);for(let a of s)r.add(a);for(let a of o)r.add(a);let i=[...r].sort((a,c)=>a-c).slice(0,Math.max(2,t));return{items:i.map(a=>e[a]),total:e.length,kept:i.length,dropped:e.length-i.length,shapeOutliers:[...s].filter(a=>i.includes(a)).length,valueOutliers:[...o].filter(a=>i.includes(a)).length}}function gu(e){let t=e;for(let r of jO)t=r.apply(t);return t}async function qO(e,t){return await HO(e,t)}async function UO(e,t){return await HO(e,t)}async function HO(e,t){let r=BJ(e),n=KJ(r,["cwd"])||t.cwd;if(!await(t.isEnabled??MJ)(n))return{kind:"passthrough",reason:"disabled"};let o=zJ(r,"tool_response");if(!o)return{kind:"passthrough",reason:"missing-output"};if(typeof o.output!="string")return{kind:"passthrough",reason:"missing-output"};let i=o.output,c=(t.normalize??gu)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function WO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function VO(e){return{stdout:"",status:0}}async function $J(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await qO(t,{cwd:process.cwd()}),n=WO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function NJ(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await UO(t,{cwd:process.cwd()}),n=VO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function FJ(e){let t="",r=0;for(;r<e.length;){let n=e.charCodeAt(r);if(n===27){let s=e.charCodeAt(r+1);if(s===93){for(r+=2;r<e.length;){let o=e.charCodeAt(r);if(o===7){r++;break}if(o===27&&e.charCodeAt(r+1)===92){r+=2;break}r++}continue}if(s===91){for(r+=2;r<e.length&&DO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&DO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function DO(e){return e>=32&&e<=63}function MJ(e){return De(e,process.env).enabled}function BJ(e){try{let t=JSON.parse(e);return Ms(t)?t:{}}catch{return{}}}function jJ(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Ms(n)||Array.isArray(n)?{value:n}:null}catch{}let r=[];for(let n of e.split(/\r?\n/))if(n.trim())try{r.push(JSON.parse(n))}catch{return null}return r.length>0?{value:r}:null}function qJ(e){let t=new Map;for(let s of e){let o=Gg(s);t.set(o,(t.get(o)??0)+1)}let[r,n]=[...t.entries()].sort((s,o)=>o[1]-s[1]||s[0].localeCompare(o[0]))[0]??[];return typeof r=="string"&&typeof n=="number"&&n>e.length/2?r:null}function Gg(e){return Array.isArray(e)?"array":Ms(e)?Object.keys(e).sort().map(t=>`${t}:${$O(e[t])}`).join("|"):$O(e)}function UJ(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Gg(s)!==t))for(let[i,a]of JO(s)){let c=n.get(i)??[];c.push({index:o,value:a}),n.set(i,c)}});for(let s of n.values()){for(let o of HJ(s))r.add(o);for(let o of WJ(s))r.add(o)}return r}function HJ(e){let t=e.filter(a=>typeof a.value=="number"&&Number.isFinite(a.value));if(t.length<5||t.length!==e.length)return[];let r=t.map(a=>a.value).sort((a,c)=>a-c),n=NO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=NO(s);if(o===0)return t.filter(c=>c.value===n).length/t.length<.8?[]:t.filter(c=>c.value!==n).map(c=>c.index);let i=o*8;return t.filter(a=>Math.abs(a.value-n)>i).map(a=>a.index)}function WJ(e){if(e.length<5)return[];if(!e.every(s=>typeof s.value=="string"||typeof s.value=="boolean"||s.value===null))return[];let t=new Map;for(let s of e)t.set(String(s.value),(t.get(String(s.value))??0)+1);if(Math.max(...t.values())/e.length<.8)return[];let n=Math.max(2,Math.floor(e.length*.05));return e.filter(s=>(t.get(String(s.value))??0)<=n).map(s=>s.index)}function JO(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Ms(e)?Object.entries(e).flatMap(([r,n])=>JO(n,t?`${t}.${r}`:r)):[]}function $O(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function NO(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]??0:((e[t-1]??0)+(e[t]??0))/2}function VJ(e){return Math.ceil(e.length/4)}function FO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function JJ(e){let r=(e instanceof Error?e.message:String(e??"unknown crusher failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown crusher failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function KJ(e,t){let r=e;for(let n of t){if(!Ms(r))return"";r=r[n]}return typeof r=="string"?r:""}function zJ(e,t){let r=e[t];return Ms(r)?r:null}function Ms(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ig(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>Ig(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&Ig(r[i],n[i]))}var pu,fu,mu,hu,BO,GJ,DJ,jO,Wi=_(()=>{"use strict";J();Ue();pu={id:"ansi",apply:FJ},fu={id:"cr-progress",apply:e=>e.split(`
|
|
260
260
|
`).map(t=>{let r=t.endsWith("\r")?t.slice(0,-1):t,n=r.lastIndexOf("\r");return n>=0?r.slice(n+1):r}).join(`
|
|
261
|
-
`)},
|
|
261
|
+
`)},mu={id:"trailing-whitespace",apply:e=>e.split(`
|
|
262
262
|
`).map(t=>t.replace(/[ \t]+$/,"")).join(`
|
|
263
|
-
`)},
|
|
263
|
+
`)},hu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
|
|
264
264
|
|
|
265
|
-
`)};
|
|
266
|
-
`}function
|
|
267
|
-
`,status:0}}async function
|
|
265
|
+
`)};BO={id:"json-to-toon",apply:e=>MO(e)},GJ=200,DJ=15;jO=[pu,fu,mu,hu,BO]});var Ki={};se(Ki,{parseExecCommandLine:()=>ZO,renderExecContract:()=>XO,runExecWrapper:()=>e2});import{isUtf8 as YJ}from"node:buffer";import{spawn as QJ}from"node:child_process";async function e2(e,t){let r=ZO(e),n=await t2(r);return await XO(r,n,t)}async function XO(e,t,r){let n=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let p=qe(e,t.stdout,t.stderr);return{stdout:ee(p),stderr:s,status:p.exitCode??1,signal:t.signal,rawOutput:n}}if(n.length===0)return{stdout:n,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let o=r2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=k2(r.heavyByteThreshold,XJ);if(i.length<=a&&r.level!=="terse")return{stdout:i,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let c=n.length,l=r.level==="lossless"?"terse":r.level,u=await r.store?.mint(n,{command:e,loss:{level:l,bytes_elided:c}});if(!u)throw new Error("rsp exec output elision requires an elision store");let d=o.kind==="text"?s2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):o2(n,n.length,u,e);return{stdout:Buffer.from(d.text),stderr:s,status:t.status,signal:t.signal,mintedHandle:u,bytesElided:c,rawOutput:n,degradation:d.degradation}}function ZO(e){if(e[0]!=="exec")throw new Error("expected rsp exec -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp exec -- <command line>");return n}async function t2(e){let t=QJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=et();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("binary"),stderr:Buffer.concat(s).toString("binary"),status:a,signal:c})})})}function r2(e){return YJ(e)?{kind:"text",text:n2(e.toString("utf8"))}:{kind:"bytes"}}function n2(e){let t=e;for(let r of[pu,fu,mu,hu])t=r.apply(t);return t}function s2(e,t,r,n,s,o=h2,i=Hi){let c=Math.max(1,Math.floor((n==="terse"?QO:ZJ)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=m2(e,c,u,o),p=i2(e),f=a2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=eA(s,p,t,E2(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:iA(d.error)}:f.degradation;return{text:oA(m),degradation:g}}function o2(e,t,r,n){let s=Math.max(1,Math.floor(QO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:oA(eA(n,"bytes",t,0,r,o))}}function eA(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function i2(e){let t=e.trim();return t?rA(t)?"json":nA(e)?"jsonl":g2(e)?"unified-diff":sA(e)?"tabular":y2(e)?"log-like":b2(e)?"prose":"untyped":"untyped"}function a2(e,t,r,n,s,o,i=Hi){switch(e){case"json":return c2(t,i);case"jsonl":return{summary:l2(t)};case"unified-diff":return{summary:u2(t)};case"tabular":return{summary:d2(t)};case"log-like":return{summary:p2(t,o)};case"prose":return{summary:f2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:tA(r,n,s,o)}}}function c2(e,t){let r=rA(e);if(Array.isArray(r)){if(r.length>15)try{let n=t(r,15);return{summary:{root_type:"array",total:n.total,kept:n.kept,dropped:n.dropped,shape_outliers:n.shapeOutliers,value_outliers:n.valueOutliers,items:n.items.map(Ur),item_keys:Ng(r)}}}catch(n){return{summary:zO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:iA(n)}}}return{summary:zO(r)}}if(Ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Ur(o)]))}}}return{summary:{root_type:typeof r,value:Ur(r)}}}function zO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Ur),item_keys:Ng(e)}}function l2(e){let t=nA(e)??[],r=w2(t,"level");return{records:t.length,keys:Ng(t),levels:r,first:Ur(t[0]),last:Ur(t.at(-1))}}function u2(e){let t=new Map,r="",n=0,s=0,o=0;for(let i of e.split(/\r?\n/)){let a=/^diff --git a\/(.+?) b\/(.+)$/.exec(i);if(a){r=a[2]??a[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0});continue}if(!r){let c=/^\+\+\+ b\/(.+)$/.exec(i);c&&(r=c[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0}))}i.startsWith("@@")?(o++,r&&t.get(r).hunks++):i.startsWith("+")&&!i.startsWith("+++")?(n++,r&&t.get(r).added++):i.startsWith("-")&&!i.startsWith("---")&&(s++,r&&t.get(r).deleted++)}return{files:[...t.values()].slice(0,12),file_count:t.size,hunks:o,added_lines:n,deleted_lines:s}}function d2(e){let t=sA(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:tA(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function p2(e,t){let r=Vi(e);return{entries:r.length,levels:_2(r),first:Cn(r[0]??""),last:Cn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:Cn(n.text)}))}}function f2(e){let t=e.trim().split(/\n\s*\n/).filter(n=>n.trim()),r=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:r.length,opening:Cn(t[0]??""),closing:Cn(t.at(-1)??"")}}function tA(e,t,r,n){let s=YO(e.subarray(0,t)),o=YO(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:Cn(i.text)}))}}function m2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function h2(e,t){return TO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function rA(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Ji(r)||Array.isArray(r)?r:null}catch{return null}}function nA(e){let t=Vi(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function g2(e){let t=Vi(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function sA(e){let t=Vi(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function y2(e){let t=Vi(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function b2(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Vi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Ng(e){let t=new Map;for(let r of e)if(Ji(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function w2(e,t){let r=new Map;for(let n of e){if(!Ji(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function _2(e){let t=new Map;for(let r of e){let n=/\blevel=([A-Za-z]+)\b/.exec(r)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(r);if(!n)continue;let s=(n[1]??n[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}function Ur(e){return typeof e=="string"?Cn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Ur):Ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Ur(r)])):String(e)}function Cn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=KO?t:`${t.slice(0,KO-1)}\u2026`}function oA(e){let t=M(e).trimEnd(),r=z(t);if(!$g(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
|
|
266
|
+
`}function $g(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>$g(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&$g(r[i],n[i]))}function Ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function iA(e){let r=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function YO(e){return e.toString("utf8").replace(/�$/g,"")}function E2(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function k2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var XJ,ZJ,QO,KO,zi=_(()=>{"use strict";we();J();xO();An();Wi();bt();XJ=8*1024,ZJ=2*1024,QO=1024,KO=240});var xu={};se(xu,{RSP_WRAPPER_CAPABILITIES:()=>Xi,_testOnlyResetBinaryState:()=>L2,formatCodexHookDecision:()=>wA,formatHookDecision:()=>bA,hookDecisionFromClaudePreExecJson:()=>j2,hookDecisionFromCodexPreExecJson:()=>q2,rewriteCommand:()=>gA,rewriteTableFromCapabilities:()=>hA,runClaudePreExecHook:()=>U2,runCodexPreExecHook:()=>H2});import{accessSync as A2,constants as C2,existsSync as P2,readFileSync as Ru}from"node:fs";import{fileURLToPath as I2}from"node:url";function L2(){Su=void 0,Fg=!1}function G2(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return A2(`${t}/rsp`,C2.X_OK),!0}catch{}return!1}function D2(e){return Su===void 0&&(Su=e()),Su}function $2(){Fg||(Fg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function hA(e){let t=new Map;for(let r of e)t.set(cK(r.command),["rsp",...r.wrapper]);return t}function gA(e,t=qi()){let r=M2(e,t);if(r)return r;let n=Z2(e);if(n)return n;let s=Q2(e);if(!s)return ku(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&Es(o[0]))return ku(e,t);let i=B2(s,t);if(i)return i;let a=F2(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return ku(e,t);let c=[...Xi].sort((d,p)=>p.command.length-d.command.length).find(d=>X2(o,d.command));if(!c)return ku(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=RA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function F2(e,t){let r=e.tokens.map(s=>s.text);if(r[0]!=="gh"||r[1]!=="api"||!r[2]||r.some(s=>["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(s)))return null;let n=r.findIndex(s=>s==="--method"||s==="-X");return n>=0&&(r[n+1]??"").toUpperCase()!=="GET"||r[2]==="graphql"?null:{kind:"rewrite",command:[...t,...r].map(Pt).join(" "),capabilityId:"gh:api:read"}}function M2(e,t){let r=t.map(Pt).join(" "),n=Tu(e.trim()).map(a=>a.text);if(n[0]==="gh"&&n[1]==="run"&&n[2]==="watch"&&/^[1-9][0-9]*$/.test(n[3]??""))return{kind:"rewrite",command:`${r} wait run ${n[3]}`,capabilityId:"wait:github-run"};if(!/\b(?:for|while)\b/.test(e)||!/\bsleep\b/.test(e))return null;let s=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/jobs\/([1-9][0-9]*)/.exec(e);if(s)return{kind:"rewrite",command:`${r} wait job ${s[1]}`,capabilityId:"wait:github-job"};let o=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/runs\/([1-9][0-9]*)/.exec(e);if(o)return{kind:"rewrite",command:`${r} wait run ${o[1]}`,capabilityId:"wait:github-run"};let i=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/releases\/tags\/([^\s'";|]+)/.exec(e);return i?{kind:"rewrite",command:`${r} wait release --tag ${Pt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function B2(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=RA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&Eu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&Eu(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Pt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&Eu(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Pt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&Eu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function Eu(e){return!!e&&!e.startsWith("-")}async function j2(e,t){return await yA(e,t)}async function q2(e,t){return await yA(e,t)}async function yA(e,t){return(await Bg(e,t,"pre-exec")).decision}async function Bg(e,t,r){let n=OA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Bs({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=Ct(s,["cwd"])||Ct(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??W2)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:Mg(s),decision:m,reason:"disabled"})}}let a=Mg(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??qi();if(!D2(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||G2()))){$2();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=De(o,process.env).proxyEnabled?eK(a,c):(t.rewrite??(m=>gA(m,c)))(a),f=Number(process.hrtime.bigint()-u)/1e6;if(p.kind!=="rewrite"){let m=p.reason?p:{...p,reason:"unsupported-command"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await J2(o,t.wakeResident??V2),{decision:p,telemetryRoot:o,event:Bs({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function bA(e){return e.kind==="rewrite"?_A(e.command):{stdout:"",status:0}}function wA(e){return e.kind==="rewrite"?_A(e.command):{stdout:"",status:0}}function _A(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
|
|
267
|
+
`,status:0}}async function U2(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await Bg(t,{cwd:process.cwd()},"claude-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;kA("claude-pre-exec",n);let s=bA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),EA("claude-pre-exec",t,r)),SA("claude-pre-exec",r),0}}async function H2(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await Bg(t,{cwd:process.cwd()},"codex-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;kA("codex-pre-exec",n);let s=wA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),EA("codex-pre-exec",t,r)),SA("codex-pre-exec",r),0}}function vu(e,t){gn(e,t).catch(()=>{})}function Bs(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:e.hook,command:t||"unknown",command_family:dt(t),decision:r?"contributed":"passed",reason:e.reason,capability_id:r,decision_ms:e.decisionMs}}function EA(e,t,r){let n=OA(t),s=n.ok?Mg(n.payload):"";return{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:dt(s),decision:"failed-open",reason:"hook-exception",error:jg(r)}}function W2(e){return De(e,process.env).enabled}async function V2(e){let t=De(e,process.env);if(!t.enabled||!Y2(t))return;let r=ot(e);await La(r,z2(t))}async function J2(e,t){try{await Promise.resolve(t(e))}catch(r){K2(r)}}function kA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
|
|
268
268
|
`);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
|
|
269
|
-
`)}}function
|
|
270
|
-
`)}function
|
|
271
|
-
`)}function
|
|
272
|
-
`)}function
|
|
269
|
+
`)}}function SA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${jg(t)}
|
|
270
|
+
`)}function K2(e){ap(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${jg(e)}
|
|
271
|
+
`)}function jg(e){return e instanceof Error?e.name||"Error":typeof e}function z2(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 Y2(e){if(!e.storeUri.startsWith("file://"))return!0;try{return P2(I2(e.storeUri))}catch{return!1}}function Mg(e){return Ct(e,["tool_input","command"])||Ct(e,["tool_input","cmd"])||Ct(e,["tool_input","args","command"])||Ct(e,["input","command"])||Ct(e,["input","cmd"])||Ct(e,["arguments","command"])||Ct(e,["arguments","cmd"])||Ct(e,["command"])||Ct(e,["cmd"])}function Q2(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=Tu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&Es(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 Tu(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 X2(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function Z2(e){let t=Tu(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:N2}:null}function RA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?qg(e):e}function eK(e,t){let r=rK(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${qg(e.trim())}`,capabilityId:"proxy:universal"}}function tK(e){if(!process.argv[1])return!1;let t=Tu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function rK(e){let t=e.trim();if(!t)return"missing-command";if(TA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Ko(Jo(t)[0]??"")[0];if(r==="rsp"||tK(t))return"opt-out";if(r&&vA.has(r))return"interactive"}function ku(e,t){let r=e.trim();return nK(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${qg(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function nK(e){return!(!e||!sK(e)||!oK(e)||TA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||iK(e,"rsp")||xA(e,vA)||aK(e))}function sK(e){return/&&|[;|]/.test(e)}function TA(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 oK(e){return Jo(e).some(t=>{let r=Ko(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 xA(e,t){return Jo(e).some(r=>{let n=Ko(r)[0];return n?t.has(n):!1})}function iK(e,t){return xA(e,new Set([t]))}function aK(e){return Jo(e).some(t=>{let r=Ko(t);return r[0]==="grep"&&r.includes("-q")})}function qg(e){return`'${e.replace(/'/g,"'\\''")}'`}function cK(e){return e.join("\0")}function OA(e){try{let t=JSON.parse(e);return AA(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function Ct(e,t){let r=e;for(let n of t){if(!AA(r))return"";r=r[n]}return typeof r=="string"?r:""}function AA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Su,Fg,Xi,mae,N2,vA,Zi=_(()=>{"use strict";zo();Ue();wt();nr();xg();Ft();Fg=!1;Xi=[{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"]}],mae=hA(Xi),N2="lossless-gh-json-jq";vA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var $A={};se($A,{fastTelemetryRoot:()=>Hg,isFastGitStatus:()=>Ou,runFastGitStatus:()=>Au});import{spawnSync as GA}from"node:child_process";import{existsSync as DA,readdirSync as yK}from"node:fs";function Ou(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Au(){if(bK(process.cwd()))return{stdout:Ug(),stderr:Buffer.alloc(0),status:0,signal:null};if(GA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Ug(),stderr:Buffer.alloc(0),status:0,signal:null};let t=GA("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?Ug():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Hg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function Ug(){return Buffer.from(`${ge({command:"git status",category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:"",rows:[],summary:"git status clean: 0 changes"})}
|
|
272
|
+
`)}function bK(e){try{return!DA(`${e}/.git`)||DA(`${e}/.git/index`)?!1:yK(e).every(t=>t===".git")}catch{return!1}}var Wg=_(()=>{"use strict";Qt()});async function qs(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 MA(e,t,r,n={}){DK(t);let s=e==="issue"?"i":"p",o=t.map((p,f)=>({alias:`${s}${f}`,number:p})),i=(n.labelNames??[]).map((p,f)=>({alias:`l${f}`,name:p})),c=$K(["id","number",...r]).map(p=>NK(GK[p],6)).join(`
|
|
273
273
|
`),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
|
|
274
274
|
`)),u=i.map(({alias:p,name:f})=>` ${p}: label(name: ${JSON.stringify(f)}) { id name }`),d=["query RspGitHubBatch($owner: String!, $repo: String!) {"," repository(owner: $owner, name: $repo) {",...l,...u," }","}"].join(`
|
|
275
|
-
`);return{kind:e,query:d,aliases:o,labelAliases:i}}function
|
|
276
|
-
`)}}function
|
|
277
|
-
`)}}function
|
|
275
|
+
`);return{kind:e,query:d,aliases:o,labelAliases:i}}function BA(e,t){let r=js(t),n=js(r.data),s=js(n.repository),o=Array.isArray(r.errors)?r.errors.map(js):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(UA(c))return{number:a,value:c};let l=o.find(u=>{let d=u.path;return Array.isArray(d)&&d.includes(i)});return{number:a,error:HA(l?.message)||"not found"}})}function jA(e,t,r){let n=[],s=[];return e.forEach((o,i)=>{if(t.length>0){let a=`add${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: addLabelsToLabelable(input: { labelableId: ${Wr(o.nodeId)}, labelIds: ${FA(t)}, clientMutationId: ${Wr(String(o.number))} }) { clientMutationId }`)}if(r.length>0){let a=`remove${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: removeLabelsFromLabelable(input: { labelableId: ${Wr(o.nodeId)}, labelIds: ${FA(r)}, clientMutationId: ${Wr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
|
|
276
|
+
`)}}function qA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Wr(e.nodeId)}, subIssueId: ${Wr(s.nodeId)}, clientMutationId: ${Wr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
|
|
277
|
+
`)}}function Vg(e,t){let r=js(t),n=Array.isArray(r.errors)?r.errors.map(js):[],s=new Map;for(let{alias:o}of e){let i=n.find(a=>Array.isArray(a.path)&&a.path.includes(o));i&&s.set(o,HA(i.message)||"mutation failed")}return s}function DK(e){if(e.length===0)throw new Error("at least one GitHub number is required");if(e.length>100)throw new Error("GitHub batch exceeds 100 nodes");for(let t of e)if(!Number.isSafeInteger(t)||t<=0)throw new Error(`invalid GitHub number: ${t}`)}function $K(e){return[...new Set(e)]}function NK(e,t){let r=" ".repeat(t);return e.split(`
|
|
278
278
|
`).map(n=>`${r}${n}`).join(`
|
|
279
|
-
`)}function
|
|
280
|
-
`),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as
|
|
281
|
-
`))}async function
|
|
282
|
-
`),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function
|
|
279
|
+
`)}function Wr(e){return JSON.stringify(e)}function FA(e){return`[${e.map(Wr).join(", ")}]`}function js(e){return UA(e)?e:{}}function UA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function HA(e){return typeof e=="string"?e:""}var GK,WA=_(()=>{GK={id:"id",number:"number",title:"title",state:"state",labels:"labels(first: 100) { nodes { id name } }",body:"body",mergeable:"mergeable",checks:["commits(last: 1) {"," nodes { commit { statusCheckRollup {"," state"," contexts(first: 100) { nodes {"," __typename"," ... on CheckRun { name status conclusion detailsUrl }"," ... on StatusContext { context state targetUrl }"," } }"," } } }","}"].join(`
|
|
280
|
+
`),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as MK,spawnSync as BK}from"node:child_process";function zg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function KA(e,t={}){let r=ez(e),n=r.repo??t.repo??process.env.GH_REPO??rz();if(!n||!n.includes("/"))return Xg(e,"repository is required; pass --repo owner/repo");let s=t.exec??nz,o=Math.max(1,Math.floor(t.restConcurrency??JA));return r.verb==="issues"||r.verb==="prs"?await UK(r,n,s,o,e):r.verb==="edit-labels"?await WK(r,n,s,o,e):await JK(r,n,s,o,e)}async function UK(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=zA(e),a=[],c=[];for(let u of Qg(e.numbers,100)){let d=MA(o,u,i.query),p=await Yg(r,t,d.query);if(ey(p))return await HK(e,t,r,n,s);if(p.code!==0){c.push(p.stderr),a.push(...u.map(f=>({number:f,value:{error:mt(p)||`failed to read ${f}`},failed:!0})));continue}a.push(...BA(d,Vr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:zK(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return Pu({command:Iu(s),transport:"graphql",order:e.numbers,[e.verb]:ea(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
|
|
281
|
+
`))}async function HK(e,t,r,n,s){let o=zA(e),i=e.verb==="issues"?"issues":"pulls",a=await qs(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:mt(u)||"REST fallback failed"}};let d=qt(Vr(u.stdout));if(e.verb==="prs"&&o.output.some(YA)){let p=fe(qt(d.head).sha);if(!p)return{number:l,value:{error:"REST fallback pull response omitted head SHA"}};let f=await r(["api",`repos/${t}/commits/${p}/check-runs`]);if(f.code!==0)return{number:l,value:{error:mt(f)||"REST check-runs fallback failed"}};let m=await r(["api",`repos/${t}/commits/${p}/status`]);if(m.code!==0)return{number:l,value:{error:mt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:QK(qt(Vr(f.stdout)),qt(Vr(m.stdout)))}}return{number:l,value:YK(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return Pu({command:Iu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:ea(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function WK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Xg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([QA(e.numbers,t,r,n),qs(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(qt(Vr(f.stdout)).node_id),error:f.code===0?"":mt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Hs(s,e.numbers,Zg(e.numbers,()=>({error:`label not found: ${l.join(", ")}`})),"graphql");let u=new Map(i.filter(p=>p.error).map(p=>[p.number,{error:p.error}])),d=i.flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:[]);for(let p of Qg(d,100)){let f=jA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await Yg(r,t,f.query);if(ey(m))return await VK(e,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"label mutation failed"});continue}let g=Vg(f.aliases,Vr(m.stdout));for(let b of p){let E=f.aliases.filter(w=>w.number===b.number).map(w=>g.get(w.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Hs(s,e.numbers,XA(e.numbers,u),"graphql")}async function VK(e,t,r,n,s){let o=await qs(e.numbers,n,async i=>{for(let a of e.remove){let c=await r(["api","-X","DELETE",`repos/${t}/issues/${i}/labels/${encodeURIComponent(a)}`]);if(c.code!==0)return{number:i,value:{error:mt(c)||`failed to remove label ${a}`}}}if(e.add.length>0){let a=["api","-X","POST",`repos/${t}/issues/${i}/labels`];for(let l of e.add)a.push("-f",`labels[]=${l}`);let c=await r(a);if(c.code!==0)return{number:i,value:{error:mt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Hs(s,e.numbers,ea(o),"rest-fallback",n)}async function JK(e,t,r,n,s){if(e.numbers.length<2)return Xg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await QA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Hs(s,i,Zg(i,()=>({error:c?.error??"parent not found"})),"graphql");let u=new Map,d=a.slice(1).flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:(u.set(p.number,{error:p.error??"child not found"}),[]));for(let p of Qg(d,100)){let f=qA({number:o,nodeId:l},p),m=await Yg(r,t,f.query);if(ey(m))return await KK(o,i,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"sub-issue mutation failed"});continue}let g=Vg(f.aliases,Vr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Hs(s,i,XA(i,u),"graphql")}async function KK(e,t,r,n,s,o){let i=await qs(t,s,async a=>{let c=await n(["api",`repos/${r}/issues/${a}`,"--jq",".id"]),l=Number(c.stdout.trim());if(c.code!==0||!Number.isSafeInteger(l)||l<=0)return{number:a,value:{error:mt(c)||"REST id lookup failed"}};let u=await n(["api","-X","POST",`repos/${r}/issues/${e}/sub_issues`,"-F",`sub_issue_id=${l}`]);return{number:a,value:u.code===0?{ok:!0}:{error:mt(u)||"REST link failed"}}});return Hs(o,t,ea(i),"rest-fallback",s)}function Hs(e,t,r,n,s){let o=Object.values(r).filter(i=>Ws(i)&&"error"in i).length;return Pu({command:Iu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??JA}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function zA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return VA(r,jK),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return VA(t,qK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function VA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function zK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Jg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=ZK(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=ZA(t[s]));return"number"in n||(n.number=ty(t.number)),n}function YK(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Ws):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(YA(s))n[s]=qt(t.restCheckRollup);else if(s==="state")n.state=fe(t.state).toLowerCase();else if(s==="mergeable"){let o=t.mergeable;n.mergeable=typeof o=="boolean"?o?"mergeable":"conflicting":"unknown"}else n[s]=ZA(t[s]);return"number"in n||(n.number=ty(t.number)),n}function QK(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Ws):[],n=Array.isArray(t.statuses)?t.statuses.filter(Ws):[],s=[...r.map(o=>({name:fe(o.name),state:(fe(o.conclusion)||fe(o.status)).toLowerCase()})),...n.map(o=>({name:fe(o.context),state:fe(o.state).toLowerCase()}))];return{state:fe(t.state).toLowerCase()||XK(s.map(o=>o.state)),contexts:s}}function XK(e){return e.some(t=>["failure","error","cancelled","timed_out","action_required"].includes(t))?"failure":e.some(t=>["pending","queued","in_progress","requested","waiting"].includes(t))?"pending":e.length>0&&e.every(t=>["success","neutral","skipped"].includes(t))?"success":""}function YA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function ZK(e){let t=Jg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Jg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Yg(e,t,r){let[n,s]=tz(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function QA(e,t,r,n){return await qs(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=qt(Vr(o.stdout)),a=fe(i.node_id),c=ty(i.id);return o.code!==0||!a?{number:s,error:mt(o)||"REST issue lookup failed"}:{number:s,nodeId:a,databaseId:c>0?c:void 0}})}function Qg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function ez(e){if(!zg(e))throw new Error("unsupported rsp gh batch command");let t=e[1],r=[],n=[],s=[],o=[],i;for(let a=2;a<e.length;a++){let c=e[a];if(c==="--repo")i=e[++a];else if(c==="--json")n.push(...Us(e[++a]??""));else if(c.startsWith("--json="))n.push(...Us(c.slice(7)));else if(c==="--add")s.push(...Us(e[++a]??""));else if(c.startsWith("--add="))s.push(...Us(c.slice(6)));else if(c==="--remove")o.push(...Us(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Us(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function Pu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
|
|
282
|
+
`),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Xg(e,t){return Pu({command:Iu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Zg(e,t){return ea(e.map(r=>({number:r,value:t(r)})))}function ea(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function XA(e,t){return Zg(e,r=>t.get(r)??{error:"mutation skipped"})}function ey(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
|
|
283
283
|
${e.stdout}`)}function mt(e){return(e.stderr||e.stdout).trim().split(`
|
|
284
|
-
`)[0]?.slice(0,240)??""}function
|
|
284
|
+
`)[0]?.slice(0,240)??""}function Vr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Jg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Ws):[]}function ZA(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function ty(e){let t=Number(e);return Number.isFinite(t)?t:0}function Us(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function tz(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Iu(e){return`rsp ${e.join(" ")}`}function rz(){let e=BK("git",["config","--get","remote.origin.url"],{encoding:"utf8"});if(e.status!==0)return;let t=e.stdout.trim().match(/(?:github\.com[/:])([^/]+)\/([^/]+?)(?:\.git)?$/);return t?`${t[1]}/${t[2]}`:void 0}async function nz(e){let t=MK("gh",e,{stdio:["ignore","pipe","pipe"]}),r=et();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",a=>o({code:a??1,stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8")}))})}function qt(e){return Ws(e)?e:{}}function Ws(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var JA,jK,qK,eC=_(()=>{"use strict";we();J();WA();JA=4,jK=new Set(["number","title","state","labels","body"]),qK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function ry(e){if(e[0]!=="gh"||e[1]!=="api")return null;let t="",r="GET",n={};for(let s=2;s<e.length;s+=1){let o=e[s];if(o==="--method"||o==="-X")r=(e[++s]??"").toUpperCase();else if(o==="-f"||o==="--raw-field"||o==="-F"||o==="--field"){let i=e[++s]??"",a=i.indexOf("=");if(a<=0)return null;n[i.slice(0,a)]=o==="-F"||o==="--field"?sz(i.slice(a+1)):i.slice(a+1)}else{if(["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(o))return null;if(!o.startsWith("-")&&!t)t=o.replace(/^https:\/\/api\.github\.com\//,"");else return null}}return r==="GET"&&t!==""&&t!=="graphql"?{path:t,params:n}:null}async function tC(e,t=ct){let r=ry(e);if(!r){let s=qe(e.join(" "),"","rsp gh api accepts GET reads without --jq, --template, --paginate, or --input");return{stdout:ee(s),stderr:Buffer.alloc(0),status:2,signal:null}}let n=await t({...r,args:["api",r.path],command:e.join(" ")});if(n.status!==0){let s=qe(e.join(" "),n.stdout,n.stderr);return{stdout:ee(s),stderr:Buffer.from(n.stderr),status:s.exitCode??n.status,signal:null}}return{stdout:Buffer.from(M(JSON.parse(n.stdout))),stderr:Buffer.from(n.stderr),status:0,signal:null}}function sz(e){if(e==="true")return!0;if(e==="false")return!1;if(e!=="null")return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/.test(e)?Number(e):e}var ny=_(()=>{"use strict";J();Ao();bt()});var dy={};se(dy,{parseGhApiRead:()=>ry,renderGhContract:()=>aC,runGhWrapper:()=>uz});import{spawn as oz}from"node:child_process";async function uz(e,t){if(zg(e))return await KA(e);if(e[0]==="gh"&&e[1]==="api")return await tC(e);let r=cC(e),n=await pz(r);return aC(e,n,t)}async function aC(e,t,r){if((t.status??0)!==0||t.signal){let f=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=cC(e),s=ta(t.stdout),o=_z(n,e,s);if(typeof o=="string")return{stdout:Buffer.from(o),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal};let i=Oz(o);if(i){if(!r.store)throw new Error("truncated gh output requires an elision store");let f=await r.store.mint(Buffer.from(i.original),{command:e.join(" "),loss:{level:n.full?"brief":r.level,bytes_elided:i.bytes}});i.target.truncated.handle=f}let a=i?.target.truncated.handle||void 0,c=M(o);if(r.level!=="terse")return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let l=Az(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${At(d)}
|
|
285
285
|
`;return{stdout:Buffer.from(`${M(l.payload)}
|
|
286
|
-
${p}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:l.payload,mintedHandle:d,bytesElided:u,rowsElided:l.rowsElided,rawOutput:Buffer.from(c)}}function rC(e){let t=oo(e);if(t.argv[0]!=="gh")throw new Error("expected rsp gh <surface> <subcommand>");let r=t.argv[1],n=t.argv[2];if(!(r==="pr"||r==="issue"||r==="run"))throw new Error(`unsupported gh surface: ${r??""}`);let s=r==="pr"&&n&&n!=="list"&&n!=="view";if(!(n==="list"||n==="view"||s))throw new Error(`unsupported gh subcommand: ${n??""}`);let o=r,i=[],a=!1,c=!1,l=new Set,u=t.argv.slice(3);for(let f=0;f<u.length;f+=1){let m=u[f]??"";m==="--full"?a=!0:m==="--wide"?c=!0:m==="--fields"?l=QA(u[++f]??""):m.startsWith("--fields=")?l=QA(m.slice(9)):i.push(m)}let p={kind:o,action:s?"combined":n==="list"?"list":"view",target:s?n:void 0,full:a,wide:c,fields:l,passthrough:i,query:t.query};return ZK(p),p}function YA(e){if(e.action==="combined")throw new Error("combined gh command uses multiple machine calls");let t=`${e.kind}:${e.action}`,r=e.wide||e.fields.size>0?zK[t]:KK[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function QA(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function ZK(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Au(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=QK[t];for(let n of e.fields)if(!r.includes(n))throw new Au(e,`unknown field: ${n}`,r)}async function ez(e){if(e.action==="combined")return await tz(e);let t=rz(e);if(!t)return await az(YA(e));let r=await at({...t,command:["gh",...YA(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await nz(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function tz(e){let t=e.target??"",[r,n,s]=await Promise.all([at({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),at({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),at({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=sC(ea(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:tt(ea(s.stdout)).map(oz)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function rz(e){let t=oC(e.passthrough),r=iz(e.passthrough,"--limit")??30,n=Ut(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Ut(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function nz(e,t){let r=ea(t);switch(`${e.kind}:${e.action}`){case"pr:list":return tt(r).map(nC);case"pr:view":return sC(r);case"issue:list":return tt(r).filter(n=>!In(n.pull_request)).map(XA);case"issue:view":return XA(r);case"run:list":return{items:tt(ae(r).workflow_runs).map(ZA),total:ze(ae(r),"total_count")};case"run:view":{let n=ZA(r),s=oC(e.passthrough);if(!s)return n;let o=await at({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?tt(ae(ea(o.stdout)).jobs).map(sz):[]}}default:return r}}function nC(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:iy(t.user),labels:tt(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ae(t.base),"ref"),headRefName:B(ae(t.head),"ref")}}function sC(e){return nC(e)}function XA(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:tt(t.labels).map(r=>({name:B(r,"name")})),author:iy(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function ZA(e){let t=ae(e);return{databaseId:ze(t,"database_id")||ze(t,"id"),name:B(t,"name")||B(t,"display_title"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),event:B(t,"event"),headBranch:B(t,"head_branch"),workflowName:B(t,"workflow_name"),createdAt:B(t,"created_at"),url:B(t,"html_url"),jobs:[]}}function sz(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function oz(e){let t=ae(e);return{author:iy(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function iy(e){let t=ae(e);return{login:B(t,"login")}}function oC(e){return e.find(t=>!t.startsWith("-"))}function Ut(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function iz(e,t){let r=Ut(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function az(e){let t=JK("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function cz(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=ty(r,"prs"),o=s.rows.map(c=>iC(c,e)),i=Le(o,e.query),a=ry(i.length,o.length,s.total,e.query);return i.length===0?ny(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Ws({...n,prs:i,aggregate:a,summary:`${sy(i.length,o.length,e.query)} ${eC(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Ws({...n,pr:aC(ae(r),e),summary:`PR #${ze(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return lz(e,t,ae(r));case"issue:list":{let s=ty(r,"issues"),o=s.rows.map(c=>cC(c,e)),i=Le(o,e.query),a=ry(i.length,o.length,s.total,e.query);return i.length===0?ny(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Ws({...n,issues:i,aggregate:a,summary:`${sy(i.length,o.length,e.query)} ${eC(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Ws({...n,issue:mz(ae(r),e),summary:`issue #${ze(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=ty(r,"runs"),o=s.rows.map(c=>lC(c,e)),i=Le(o,e.query),a=ry(i.length,o.length,s.total,e.query);return i.length===0?ny(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Ws({...n,runs:i,aggregate:a,summary:`${sy(i.length,o.length,e.query)} runs`},e,["rsp gh run view <id>","rsp gh run list --query <workflow-or-status>"])}case"run:view":return Ws({...n,run:hz(ae(r),e),summary:`run ${ze(ae(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function lz(e,t,r){let n=aC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(tt(r.checks).map(uz),e.query),o=ae(r.comments).comments,i=Le(tt(o).map(dz).slice(-3),e.query);return Xt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${ze(ae(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function uz(e){return{name:B(e,"name"),state:ta(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function dz(e){return{author:dC(e.author),body:Cu(e,"body",oy,!1),created:B(e,"createdAt")}}function ty(e,t){if(Array.isArray(e))return{rows:tt(e)};let r=ae(e),n=ze(r,"total")||ze(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:tt(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:tt(r.workflow_runs),total:n}:{rows:[]}}function ry(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function ny(e,t,r,n,s){return Xt({...e,empty:!0,scope:pz(t),[r]:[],aggregate:n,summary:`0 ${fz(t)}`},s)}function pz(e){let t=Ut(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ut(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ut(e.passthrough,"--branch")??Ut(e.passthrough,"-b"),s=Ut(e.passthrough,"--workflow")??Ut(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function fz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function iC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:ta(e),draft:!!e.isDraft};return ay(r,e,t,["author","labels","url","updated"]),r}function aC(e,t){let r=iC(e,t);return r.body=Cu(e,"body",oy,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function cC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:ta(e),labels:uC(e.labels)};return ay(r,e,t,["author","url","updated"]),r}function mz(e,t){let r=cC(e,t);return r.body=Cu(e,"body",oy,t.full),r}function lC(e,t){let r={id:ze(e,"databaseId"),name:B(e,"name"),status:ta(e),conclusion:B(e,"conclusion")};return ay(r,e,t,["event","branch","workflow","created"]),r}function hz(e,t){let r=lC(e,t),n=tt(e.jobs).map(s=>({name:B(s,"name"),status:ta(s),conclusion:B(s,"conclusion"),log:Cu(s,"log",YK,t.full)}));return r.jobs=n,r}function Cu(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function gz(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(In(r)){if(In(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function yz(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function eC(e,t){return e.every(r=>r.state===t)?t:"returned"}function sy(e,t,r){return r?`${e}/${t}`:String(e)}function Ws(e,t,r){return t.query?Xt(e,r):e}function ta(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function ay(e,t,r,n){if(!(!r.wide&&r.fields.size===0))for(let s of n)!r.wide&&!r.fields.has(s)||(s==="author"?e.author=dC(t.author):s==="labels"?e.labels=uC(t.labels):s==="url"?e.url=B(t,"url"):s==="updated"?e.updated=B(t,"updatedAt"):s==="event"?e.event=B(t,"event"):s==="branch"?e.branch=B(t,"headBranch"):s==="workflow"?e.workflow=B(t,"workflowName"):s==="created"&&(e.created=B(t,"createdAt")))}function uC(e){return Array.isArray(e)?e.map(t=>In(t)?B(t,"name"):String(t)).filter(Boolean):[]}function dC(e){return In(e)?B(e,"login"):""}function ea(e){return e.trim()?JSON.parse(e):null}function tt(e){return Array.isArray(e)?e.filter(In):[]}function ae(e){return In(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function ze(e,t){let r=e[t];return typeof r=="number"?r:0}function In(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var KK,zK,oy,YK,QK,Au,ly=_(()=>{"use strict";we();J();Oo();KA();ey();On();io();bt();ey();KK={"pr:list":["number","title","state","isDraft"],"pr:view":["number","title","state","body"],"issue:list":["number","title","state","labels"],"issue:view":["number","title","state","body"],"run:list":["databaseId","name","status","conclusion"],"run:view":["databaseId","name","status","conclusion","jobs"]},zK={"pr:list":["number","title","state","isDraft","author","labels","url","updatedAt"],"pr:view":["number","title","state","body","author","labels","url","baseRefName","headRefName"],"issue:list":["number","title","state","labels","author","url","updatedAt"],"issue:view":["number","title","state","body","author","labels","url","updatedAt"],"run:list":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt"],"run:view":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt","jobs","url"]},oy=160,YK=160,QK={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};Au=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var py={};se(py,{renderTestContract:()=>pC,runTestWrapper:()=>kz});import{spawn as bz}from"node:child_process";async function kz(e,t){let r=oo(e),n=await xz(r.argv);return await pC(e,n,t)}async function pC(e,t,r){let n=oo(e),o=fC(n.argv)==="vitest"?Oz(t.stdout):Az(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${Iz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await Sz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await Cz(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:g.text}),u??=g.handle,d+=g.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Xt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:dy(t.status),signal:t.signal,payload:f,mintedHandle:u,bytesElided:d>0?d:void 0,rowsElided:l.length>0?Math.max(0,o.total-l.length):void 0}}async function Sz(e,t,r,n,s,o,i){let a=Rz(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Xt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((w,k)=>w.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:dy(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(w=>({suite:w.suite,name:w.name,excerpt:w.excerpt})));let m=M(f),g=Buffer.byteLength(m),b=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:g}});if(!b)throw new Error("terse test output requires an elision store");let E=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
|
|
287
|
-
${E}`),stderr:Buffer.from(t.stderr),status:
|
|
286
|
+
${p}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:l.payload,mintedHandle:d,bytesElided:u,rowsElided:l.rowsElided,rawOutput:Buffer.from(c)}}function cC(e){let t=io(e);if(t.argv[0]!=="gh")throw new Error("expected rsp gh <surface> <subcommand>");let r=t.argv[1],n=t.argv[2];if(!(r==="pr"||r==="issue"||r==="run"))throw new Error(`unsupported gh surface: ${r??""}`);let s=r==="pr"&&n&&n!=="list"&&n!=="view";if(!(n==="list"||n==="view"||s))throw new Error(`unsupported gh subcommand: ${n??""}`);let o=r,i=[],a=!1,c=!1,l=new Set,u=t.argv.slice(3);for(let f=0;f<u.length;f+=1){let m=u[f]??"";m==="--full"?a=!0:m==="--wide"?c=!0:m==="--fields"?l=nC(u[++f]??""):m.startsWith("--fields=")?l=nC(m.slice(9)):i.push(m)}let p={kind:o,action:s?"combined":n==="list"?"list":"view",target:s?n:void 0,full:a,wide:c,fields:l,passthrough:i,query:t.query};return dz(p),p}function rC(e){if(e.action==="combined")throw new Error("combined gh command uses multiple machine calls");let t=`${e.kind}:${e.action}`,r=e.wide||e.fields.size>0?az[t]:iz[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function nC(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function dz(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Lu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=lz[t];for(let n of e.fields)if(!r.includes(n))throw new Lu(e,`unknown field: ${n}`,r)}async function pz(e){if(e.action==="combined")return await fz(e);let t=mz(e);if(!t)return await wz(rC(e));let r=await ct({...t,command:["gh",...rC(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await hz(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function fz(e){let t=e.target??"",[r,n,s]=await Promise.all([ct({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),ct({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),ct({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=uC(ta(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:rt(ta(s.stdout)).map(yz)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function mz(e){let t=dC(e.passthrough),r=bz(e.passthrough,"--limit")??30,n=Ut(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Ut(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function hz(e,t){let r=ta(t);switch(`${e.kind}:${e.action}`){case"pr:list":return rt(r).map(lC);case"pr:view":return uC(r);case"issue:list":return rt(r).filter(n=>!Ln(n.pull_request)).map(sC);case"issue:view":return sC(r);case"run:list":return{items:rt(ae(r).workflow_runs).map(oC),total:Ye(ae(r),"total_count")};case"run:view":{let n=oC(r),s=dC(e.passthrough);if(!s)return n;let o=await ct({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?rt(ae(ta(o.stdout)).jobs).map(gz):[]}}default:return r}}function lC(e){let t=ae(e);return{number:Ye(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:ly(t.user),labels:rt(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ae(t.base),"ref"),headRefName:B(ae(t.head),"ref")}}function uC(e){return lC(e)}function sC(e){let t=ae(e);return{number:Ye(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:rt(t.labels).map(r=>({name:B(r,"name")})),author:ly(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function oC(e){let t=ae(e);return{databaseId:Ye(t,"database_id")||Ye(t,"id"),name:B(t,"name")||B(t,"display_title"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),event:B(t,"event"),headBranch:B(t,"head_branch"),workflowName:B(t,"workflow_name"),createdAt:B(t,"created_at"),url:B(t,"html_url"),jobs:[]}}function gz(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function yz(e){let t=ae(e);return{author:ly(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function ly(e){let t=ae(e);return{login:B(t,"login")}}function dC(e){return e.find(t=>!t.startsWith("-"))}function Ut(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function bz(e,t){let r=Ut(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function wz(e){let t=oz("gh",e,{stdio:["ignore","pipe","pipe"]}),r=et();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function _z(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=sy(r,"prs"),o=s.rows.map(c=>pC(c,e)),i=Le(o,e.query),a=oy(i.length,o.length,s.total,e.query);return i.length===0?iy(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Vs({...n,prs:i,aggregate:a,summary:`${ay(i.length,o.length,e.query)} ${iC(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Vs({...n,pr:fC(ae(r),e),summary:`PR #${Ye(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return Ez(e,t,ae(r));case"issue:list":{let s=sy(r,"issues"),o=s.rows.map(c=>mC(c,e)),i=Le(o,e.query),a=oy(i.length,o.length,s.total,e.query);return i.length===0?iy(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Vs({...n,issues:i,aggregate:a,summary:`${ay(i.length,o.length,e.query)} ${iC(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Vs({...n,issue:Tz(ae(r),e),summary:`issue #${Ye(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=sy(r,"runs"),o=s.rows.map(c=>hC(c,e)),i=Le(o,e.query),a=oy(i.length,o.length,s.total,e.query);return i.length===0?iy(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Vs({...n,runs:i,aggregate:a,summary:`${ay(i.length,o.length,e.query)} runs`},e,["rsp gh run view <id>","rsp gh run list --query <workflow-or-status>"])}case"run:view":return Vs({...n,run:xz(ae(r),e),summary:`run ${Ye(ae(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function Ez(e,t,r){let n=fC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(rt(r.checks).map(kz),e.query),o=ae(r.comments).comments,i=Le(rt(o).map(Sz).slice(-3),e.query);return Xt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${Ye(ae(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function kz(e){return{name:B(e,"name"),state:ra(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function Sz(e){return{author:yC(e.author),body:Gu(e,"body",cy,!1),created:B(e,"createdAt")}}function sy(e,t){if(Array.isArray(e))return{rows:rt(e)};let r=ae(e),n=Ye(r,"total")||Ye(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:rt(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:rt(r.workflow_runs),total:n}:{rows:[]}}function oy(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function iy(e,t,r,n,s){return Xt({...e,empty:!0,scope:Rz(t),[r]:[],aggregate:n,summary:`0 ${vz(t)}`},s)}function Rz(e){let t=Ut(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ut(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ut(e.passthrough,"--branch")??Ut(e.passthrough,"-b"),s=Ut(e.passthrough,"--workflow")??Ut(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function vz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function pC(e,t){let r={number:Ye(e,"number"),title:B(e,"title"),state:ra(e),draft:!!e.isDraft};return uy(r,e,t,["author","labels","url","updated"]),r}function fC(e,t){let r=pC(e,t);return r.body=Gu(e,"body",cy,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function mC(e,t){let r={number:Ye(e,"number"),title:B(e,"title"),state:ra(e),labels:gC(e.labels)};return uy(r,e,t,["author","url","updated"]),r}function Tz(e,t){let r=mC(e,t);return r.body=Gu(e,"body",cy,t.full),r}function hC(e,t){let r={id:Ye(e,"databaseId"),name:B(e,"name"),status:ra(e),conclusion:B(e,"conclusion")};return uy(r,e,t,["event","branch","workflow","created"]),r}function xz(e,t){let r=hC(e,t),n=rt(e.jobs).map(s=>({name:B(s,"name"),status:ra(s),conclusion:B(s,"conclusion"),log:Gu(s,"log",cz,t.full)}));return r.jobs=n,r}function Gu(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function Oz(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(Ln(r)){if(Ln(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function Az(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function iC(e,t){return e.every(r=>r.state===t)?t:"returned"}function ay(e,t,r){return r?`${e}/${t}`:String(e)}function Vs(e,t,r){return t.query?Xt(e,r):e}function ra(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function uy(e,t,r,n){if(!(!r.wide&&r.fields.size===0))for(let s of n)!r.wide&&!r.fields.has(s)||(s==="author"?e.author=yC(t.author):s==="labels"?e.labels=gC(t.labels):s==="url"?e.url=B(t,"url"):s==="updated"?e.updated=B(t,"updatedAt"):s==="event"?e.event=B(t,"event"):s==="branch"?e.branch=B(t,"headBranch"):s==="workflow"?e.workflow=B(t,"workflowName"):s==="created"&&(e.created=B(t,"createdAt")))}function gC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function yC(e){return Ln(e)?B(e,"login"):""}function ta(e){return e.trim()?JSON.parse(e):null}function rt(e){return Array.isArray(e)?e.filter(Ln):[]}function ae(e){return Ln(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Ye(e,t){let r=e[t];return typeof r=="number"?r:0}function Ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var iz,az,cy,cz,lz,Lu,py=_(()=>{"use strict";we();J();Ao();eC();ny();An();ao();bt();ny();iz={"pr:list":["number","title","state","isDraft"],"pr:view":["number","title","state","body"],"issue:list":["number","title","state","labels"],"issue:view":["number","title","state","body"],"run:list":["databaseId","name","status","conclusion"],"run:view":["databaseId","name","status","conclusion","jobs"]},az={"pr:list":["number","title","state","isDraft","author","labels","url","updatedAt"],"pr:view":["number","title","state","body","author","labels","url","baseRefName","headRefName"],"issue:list":["number","title","state","labels","author","url","updatedAt"],"issue:view":["number","title","state","body","author","labels","url","updatedAt"],"run:list":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt"],"run:view":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt","jobs","url"]},cy=160,cz=160,lz={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};Lu=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var hy={};se(hy,{renderTestContract:()=>bC,runTestWrapper:()=>Gz});import{spawn as Cz}from"node:child_process";async function Gz(e,t){let r=io(e),n=await Mz(r.argv);return await bC(e,n,t)}async function bC(e,t,r){let n=io(e),o=wC(n.argv)==="vitest"?Bz(t.stdout):jz(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${Hz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await Dz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await qz(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:g.text}),u??=g.handle,d+=g.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Xt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:my(t.status),signal:t.signal,payload:f,mintedHandle:u,bytesElided:d>0?d:void 0,rowsElided:l.length>0?Math.max(0,o.total-l.length):void 0}}async function Dz(e,t,r,n,s,o,i){let a=$z(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Xt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((w,k)=>w.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:my(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(w=>({suite:w.suite,name:w.name,excerpt:w.excerpt})));let m=M(f),g=Buffer.byteLength(m),b=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:g}});if(!b)throw new Error("terse test output requires an elision store");let E=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
|
|
287
|
+
${E}`),stderr:Buffer.from(t.stderr),status:my(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function my(e){return e===0||e===null?0:1}function $z(e){let t=[],r=Iz;for(let n of e.slice(0,Lz)){let s=Nz(n.excerpt,Math.min(Pz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function Nz(e,t){if(t<=0)return"";let r=e.split(`
|
|
288
288
|
`),n=r.length<=2?e:`${r[0]}
|
|
289
289
|
\u2026
|
|
290
|
-
${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function
|
|
291
|
-
`).filter(Boolean).map(c=>
|
|
292
|
-
`)}),o||=1,n||=1,s||=1),s||=r.length,o||=1,n||=Math.max(s,r.length),{failed:s,total:n,suites:o,durationSeconds:i,failures:r}}async function
|
|
293
|
-
\u2026 elided ${i} bytes (+${n.length}) \u2014 ${At(s)}`,handle:s,bytesElided:n.length}}function
|
|
294
|
-
`):""}function
|
|
295
|
-
`),status:1,signal:null}}return
|
|
296
|
-
`;if(!i&&Buffer.byteLength(c)<=
|
|
297
|
-
`;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function
|
|
298
|
-
`),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??
|
|
290
|
+
${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function wC(e){if(e[0]==="vitest")return"vitest";if(e[0]==="cargo"&&e[1]==="test")return"cargo";throw new Error(`unsupported test command: ${e.join(" ")}`)}function Fz(e){if(wC(e)==="vitest"){let s=e.slice(1);return{executable:"vitest",args:s.some(i=>i==="--reporter=json"||i==="--reporter"||i.startsWith("--reporter="))?s:["run","--reporter=json",...s]}}let r=e.slice(1);return{executable:"cargo",args:r.some(s=>s==="--message-format=json"||s.startsWith("--message-format="))?r:["test","--message-format=json",...r.slice(1)]}}async function Mz(e){let t=Fz(e),r=Cz(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=et();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function Bz(e){let t=_C(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Kr(t.numTotalTests),o=Kr(t.numFailedTests),i=Wz(Kr(t.startTime),Kr(t.endTime));for(let a of r){if(!Jr(a))continue;let c=Ht(a.name)||Ht(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Jr(u)&&u.status==="failed"&&n.push({suite:c,name:Ht(u.fullName)||Ht(u.title)||Ht(u.name),excerpt:Uz(u.failureMessages)||Ht(u.failureMessage)})}return s||=r.reduce((a,c)=>!Jr(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Jr(c)?a+Kr(c.perfStats&&Jr(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function jz(e){let t=e.split(`
|
|
291
|
+
`).filter(Boolean).map(c=>_C(c)).filter(Jr);if(t.length===0)return null;let r=[],n=0,s=0,o=0,i=0,a=[];for(let c of t){if(c.type==="suite"){c.event==="started"&&(o+=1,n+=Kr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Kr(c.failed),i+=Kr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Ht(c.name).split("::").slice(0,-1).join("::"),name:Ht(c.name),excerpt:Ht(c.stdout)});continue}if(c.reason==="compiler-message"&&Jr(c.message)){let l=Ht(c.message.rendered);l&&a.push(l)}}return r.length===0&&a.length>0&&(r.push({suite:"cargo check",name:"compile-error",excerpt:a.join(`
|
|
292
|
+
`)}),o||=1,n||=1,s||=1),s||=r.length,o||=1,n||=Math.max(s,r.length),{failed:s,total:n,suites:o,durationSeconds:i,failures:r}}async function qz(e,t,r){let n=Buffer.from(e);if(n.length<=fy)return{text:e,bytesElided:0};if(!r)throw new Error("over-limit test failure excerpt requires an elision store");let s=await r.mint(n,{command:t,loss:{level:"brief",bytes_elided:n.length}}),o=n.subarray(0,fy).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
|
|
293
|
+
\u2026 elided ${i} bytes (+${n.length}) \u2014 ${At(s)}`,handle:s,bytesElided:n.length}}function _C(e){try{return JSON.parse(e)}catch{return null}}function Uz(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
|
|
294
|
+
`):""}function Hz(e){return`${Number(e.toFixed(1))}s`}function Wz(e,t){return e>0&&t>e?(t-e)/1e3:0}function Kr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Ht(e){return typeof e=="string"?e:""}function Jr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fy,Pz,Iz,Lz,gy=_(()=>{"use strict";we();J();An();ao();bt();fy=320,Pz=160,Iz=fy,Lz=3});var wy={};se(wy,{parseCatCommand:()=>by,renderCatContract:()=>Zz,runCatWrapper:()=>Xz});import{isUtf8 as Vz}from"node:buffer";import{readFile as Jz}from"node:fs/promises";import{extname as Kz}from"node:path";async function Xz(e,t){let r=by(e),n;try{n=await Jz(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=qe(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
|
|
295
|
+
`),status:1,signal:null}}return TC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await vC(e,r,n,t)}async function Zz(e,t,r){if((t.status??0)!==0||t.signal){let i=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=by(e),s=Buffer.from(t.stdout,"utf8");return TC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await vC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function by(e){if(e[0]!=="cat")throw new Error("expected rsp cat <file>");let t=e.slice(1),r="full",n,s=!1,o=[];for(let i=0;i<t.length;i++){let a=t[i];if(a==="--full"){s=!0;continue}if(a==="--head"||a==="--tail"){r=a.slice(2),n=RC(t[++i],yy);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=RC(l,yy);continue}o.push(a)}if(o.length!==1)throw new Error("usage: rsp cat [--full] [--head N|--tail N] <file>");return{file:o[0],mode:r,...n?{limit:n}:{},...s?{inlineFull:s}:{}}}async function vC(e,t,r,n){let s=r.toString("utf8"),o=rY(s,t);if(t.inlineFull)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let i=n.level!=="lossless"||r.length>SC(n.heavyByteThreshold,EC)||o.truncated;if(!kC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=kC(t.file)?eY(e,t.file,r,s,n.level,o):tY(e,t.file,r,s,o),c=`${M(a)}
|
|
296
|
+
`;if(!i&&Buffer.byteLength(c)<=SC(n.heavyByteThreshold,EC))return{stdout:Buffer.from(c),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,rawOutput:r};let l=await n.store?.mint(r,{command:e.join(" "),loss:{level:n.level==="lossless"?"terse":n.level,bytes_elided:r.length}});if(!l)throw new Error("rsp cat elision requires an elision store");let u=`\u2026 elided file bytes (+${r.length}) \u2014 ${At(l)}
|
|
297
|
+
`;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function eY(e,t,r,n,s,o){let i=Du(n),a=s==="terse"?Yz:zz,c=Du(o.text),l=c.slice(0,a),u=c.slice(Math.max(l.length,c.length-a));return{command:e.join(" "),file:t,kind:"code",outline_source:"regex",bytes:r.length,lines:i.length,symbols:nY(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function tY(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Du(n).length,content:Du(s.text),truncated:s.truncated}}function rY(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
|
|
298
|
+
`),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??yy,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
|
|
299
299
|
`)}${n&&i.length>0?`
|
|
300
|
-
`:""}`,truncated:i.length<s.length}}function
|
|
301
|
-
`);return t.at(-1)===""?t.slice(0,-1):t}function
|
|
302
|
-
`),s=
|
|
300
|
+
`:""}`,truncated:i.length<s.length}}function nY(e){let t=[];for(let r=0;r<e.length;r++){let s=e[r].trim(),o=/^(?:export\s+)?(?:default\s+)?(?:abstract\s+)?(class|interface|type)\s+([A-Za-z_$][\w$]*)/.exec(s);if(o){t.push({kind:o[1],name:o[2],line:r+1,signature:s});continue}let i=/^(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?/.exec(s);if(i){t.push({kind:"function",name:i[1],line:r+1,signature:s});continue}let a=/^(?:public\s+|private\s+|protected\s+|static\s+|async\s+)*([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?\s*\{/.exec(s);a&&!sY(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Du(e){let t=e.split(`
|
|
301
|
+
`);return t.at(-1)===""?t.slice(0,-1):t}function TC(e){return e.includes(0)||!Vz(e)}function kC(e){return Qz.has(Kz(e).toLowerCase())}function sY(e){return["for","if","switch","while"].includes(e)}function SC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function RC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var EC,yy,zz,Yz,Qz,_y=_(()=>{"use strict";J();An();bt();EC=8*1024,yy=10,zz=8,Yz=2,Qz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var GC={};se(GC,{REPO_STORE_PATH:()=>Sy,mergeRspBlock:()=>PC,provisionRspRepoStore:()=>mY});import{constants as oY}from"node:fs";import{access as iY,copyFile as aY,mkdir as OC,readFile as cY,rename as lY,writeFile as AC}from"node:fs/promises";import{dirname as uY,join as na,resolve as dY}from"node:path";async function mY(e,t={}){let r=dY(e),n=na(r,".red"),s=na(n,"config.yaml"),o=na(r,Sy);await OC(n,{recursive:!0}),await OC(uY(o),{recursive:!0});let i="";try{i=await cY(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=PC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await AC(s,a,"utf8");let l=!await ky(o),u=!1,d=!1;if(l){let f=na(r,pY),m=na(r,fY);if(await ky(f))await lY(f,o),d=!0;else if(await ky(m))await aY(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(al(),kT)),b=process.env.REDDB_BIN;try{await g({uri:`file://${o}`,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt})}finally{b===void 0?delete process.env.REDDB_BIN:process.env.REDDB_BIN=b}}}let p=hY(a,Sy);return p!==a&&await AC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function PC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${$u(t.ttlDays,_t)}`,` ephemeralTtlHours: ${$u(t.ephemeralTtlHours,Et)}`,` byteBudget: ${$u(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${$u(t.heavyGitByteThreshold,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
|
|
302
|
+
`),s=IC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
|
|
303
303
|
`)}
|
|
304
|
-
`}let o=
|
|
304
|
+
`}let o=Ry(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
|
|
305
305
|
`)}
|
|
306
|
-
`}function
|
|
307
|
-
`),n=
|
|
306
|
+
`}function IC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Ty(n)&&vy(n)===0&&LC(n)===t)return r}return-1}function Ry(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Ty(e[s])&&vy(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function vy(e){return(e.match(/^ */)?.[0]??"").length}function Ty(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function LC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function $u(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function hY(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
|
|
307
|
+
`),n=IC(r,"plugins");if(n===-1)return e;let s=Ry(r,n,0),o=CC(r,"memory",n+1,s,2);if(o===-1)return e;let i=Ry(r,o,2),a=[...r],c=CC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
|
|
308
308
|
`)}
|
|
309
|
-
`}function
|
|
310
|
-
`}function
|
|
309
|
+
`}function CC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Ty(i)&&vy(i)===s&&LC(i)===t)return o}return-1}async function ky(e){try{return await iY(e,oY.F_OK),!0}catch{return!1}}var Sy,pY,fY,DC=_(()=>{"use strict";Ze();Ue();Sy=Op,pY=vw,fY=".red/memory/graph.rdb"});var jC={};se(jC,{runRspMcpServer:()=>yY});import{createInterface as gY}from"node:readline";async function yY(){let e=De(process.cwd(),process.env),t=gY({input:process.stdin,crlfDelay:1/0});for await(let r of t){if(!r.trim())continue;let n;try{n=JSON.parse(r);let s=await bY(n,e);FC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){FC({jsonrpc:"2.0",id:typeof MC(r)?.id>"u"?null:MC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function bY(e,t){if(e.method==="initialize")return{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:{name:"rsp",version:"0.1.0"}};if(e.method==="tools/list")return t.enabled?{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}},{name:"rsp_stats",description:"Read resident rsp accounting stats.",inputSchema:{type:"object",properties:{}}},{name:"rsp_show",description:"Read an rsp elision handle through the resident server.",inputSchema:{type:"object",properties:{handle:{type:"string"}},required:["handle"]}},{name:"rsp_compress",description:"Compress arbitrary text or JSON through rsp normalization, JSON selection, TOON rendering, and reversible elision.",inputSchema:{type:"object",properties:{payload:{description:"Text, JSON value, or JSON-serializable payload to compress."},level:{type:"string",enum:["brief","terse"],description:"Compression level. Defaults to brief."}},required:["payload"]}}]}:{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}}]};if(e.method==="tools/call"){let r=e.params;if(r?.name==="rsp_status")return{content:[{type:"text",text:NC(t)}]};if(!t.enabled)return{content:[{type:"text",text:NC(t)}],isError:!0};let n=TY(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Gn({tool:"rsp_stats",...await n.accountingStats(t.telemetryByteBudget)})}]};if(r?.name==="rsp_show"){let s=String(r.arguments?.handle??""),o=await n.get(s);return o?"status"in o?{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!1,category:"real-error",error:o.status,expired_at:o.expired_at,help:[o.command]})}],isError:!0}:{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Gn(wY(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await _Y(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
|
|
310
|
+
`}function wY(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function _Y(e,t){let r=kY(e?.payload);try{return await EY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return BC(r)}}async function EY(e,t,r){let n=SY(t?.level),s=await Lg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return BC(s.output);let o=gu(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:Buffer.byteLength(e),text:o});let i=Buffer.from(e),a=await r.mint(i,{command:"rsp mcp compress",loss:{level:n,bytes_elided:i.length}});return RY(o,i.length,a,n)}function kY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function SY(e){return e==="terse"?"terse":"brief"}function RY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=$C(o.subarray(0,i)),c=$C(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:vY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function BC(e){return e.endsWith(`
|
|
311
311
|
`)?e:`${e}
|
|
312
|
-
`}function
|
|
313
|
-
`)}function
|
|
314
|
-
`)}function
|
|
315
|
-
`)}function Lu(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Gu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Gu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>$C(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of bY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${_Y(l)}' ]`).join(" && ")).join(" || ");s.push(` ${$C(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function bY(e){let t=new Map;for(let[r,...n]of e){if(!r)continue;let s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function wY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Gu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Gu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function $C(e){return e.replace(/[\\|)&;]/g,"\\$&")}function _Y(e){return e.replace(/'/g,"'\\''")}function EY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var MC=_(()=>{"use strict";Xi()});function Ry(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&kY(t.chosenOption)&&SY(t.outcome)&&RY(t.cost)}function kY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function SY(e){return e==="success"||e==="failure"||e==="escalated"}function RY(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}var BC=_(()=>{});import{createHash as vY}from"node:crypto";function XC(e,t){return new Ty(e,t)}function jC(e){let t=Number(e.red_entity_id??e.rid),r=xy(e.properties??e.PROPERTIES),n=ZC(String(e.node_type??e.NODE_TYPE??r.kind??"note"));if(!Number.isFinite(t))return null;let s=String(r.id??e.label??e.LABEL??t),o=String(r.title??e.label??e.LABEL??s),i=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??s),kind:n,properties:{...r,id:s,title:o,content:i,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function qC(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),s=eP(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:xy(e.properties??e.PROPERTIES)}}function OY(e){let t=Number(e.red_entity_id??e.rid),r=xy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!Ry(r)?null:{rid:t,event:r}}function xy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Nu(e)?e:{}}function ZC(e){let t=e==="contact"?"person":e;if(TY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function eP(e){if(xY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function AY(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function UC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return Nu(e)?e:{}}function HC(e,t){return Nn(e)[t]}function WC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function VC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function JC(e){let t=Nn(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Ye(e){return typeof e=="string"&&e.length>0?e:void 0}function Nu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vy(e){return e!=null}function CY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function PY(e){return vY("sha256").update(JSON.stringify(e)).digest("hex")}function IY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function KC(e){return`artifact-hash:${e}`}function zC(e,t,r){return`connection:${e}:${t}:${r}`}function YC(){return"model-tier-bandit:v1"}function LY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function QC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function tP(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),s=e.properties.tags.map(i=>i.toLowerCase()),o=e.kind.toLowerCase();return{lexical:t.reduce((i,a)=>i+QC(r,a)*3+QC(n,a),0),tags:t.reduce((i,a)=>i+s.reduce((c,l)=>c+(l===a?4:l.includes(a)||a.includes(l)?2:0),0),0),kind:t.reduce((i,a)=>i+(o===a?3:o.includes(a)||a.includes(o)?1:0),0)}}function GY(e,t,r,n){let s=0;for(let o of r){let i=o.from_rid===e.rid?o.to_rid:o.to_rid===e.rid?o.from_rid:null;if(i==null)continue;let a=n.get(i);if(!a)continue;let c=rP({...tP(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return Gn(s)}function rP(e){return{...e,lexical:Gn(e.lexical),tags:Gn(e.tags),kind:Gn(e.kind),connections:Gn(e.connections),vector:Gn(e.vector),total:Gn(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Gn(e){return Math.round(e*1e3)/1e3}function NY(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(o=>r.indexOf(o)).filter(o=>o>=0).sort((o,i)=>o-i)[0]??0,s=Math.max(0,n-80);return`${s>0?"...":""}${e.slice(s,s+220)}${s+220<e.length?"...":""}`}function DY(e,t){let r=t.length===0?"none":t[0].score>=5?"high":t[0].score>=3?"medium":"low",n=t.length===0?[`No Brain artifacts matched "${e}".`]:[];return{answer:t.length===0?`Brain has no cited evidence for "${e}".`:`Brain found ${t.length} cited artifact${t.length===1?"":"s"} for "${e}".`,hits:t,citations:t.map((s,o)=>({ref:`B${o+1}`,rid:s.artifact.rid,id:s.artifact.properties.id,title:s.artifact.properties.title,kind:s.artifact.kind,score:s.score,score_breakdown:s.score_breakdown,excerpt:s.excerpt})),confidence:r,missing_evidence:n}}function $Y(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,TY,xY,Ty,nP=_(()=>{"use strict";BC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},TY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),xY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Ty=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture(Nn(r));if(t==="getArtifact")return await this.getArtifact(HC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(WC(n,"query"),VC(n,"limit")??10,JC(n.options))}if(t==="think"){let n=Nn(r);return await this.think(WC(n,"query"),VC(n,"limit")??8,JC(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(HC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis(Nn(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:$Y(t.map(n=>n.kind))}}async capture(t){let r=Ye(t.title)||"Untitled artifact",n=Ye(t.content);if(!n)throw new Error("brain capture requires content");let s=ZC(Ye(t.kind)||"note"),o=CY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=PY([s,r,n,o,Ye(t.sourcePath),Ye(t.sourceSession)]),c=await this.kv().get(KC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${IY(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Ye(t.sourceAgent),source_runner:Ye(t.sourceRunner),source_session:Ye(t.sourceSession),source_path:Ye(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:Nu(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${Wt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=jC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(KC(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${Wt.artifacts}`)).rows.map(jC).filter(vy)}async search(t,r,n={}){let s=LY(t),o=new Set(n.excludeRids??[]),i=await this.listArtifacts(),a=await this.listConnections(),c=new Map(i.map(l=>[l.rid,l]));return i.filter(l=>!o.has(l.rid)).map(l=>{let u=tP(l,s),d=rP({...u,connections:GY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:NY(l.properties.content,s)}}).filter(l=>l.score>0).sort((l,u)=>u.score-l.score||u.artifact.properties.updated_at-l.artifact.properties.updated_at).slice(0,Math.max(1,Math.min(100,r)))}async think(t,r,n={}){let s=(await this.search(t,Math.max(r*2,r+5),n)).slice(0,r);return DY(t,s)}async link(t){let r=await this.getArtifact(UC(t.from)),n=await this.getArtifact(UC(t.to));if(!r)throw new Error(`Brain artifact not found: ${String(t.from)}`);if(!n)throw new Error(`Brain artifact not found: ${String(t.to)}`);let s=eP(Ye(t.kind)||"related_to"),o=await this.findConnection(r.rid,n.rid,s);if(o!=null){let u=(await this.listConnections()).find(d=>d.rid===o);if(u)return u}let i={reason:Ye(t.reason),confidence:Ye(t.confidence)||"explicit",created_at:Date.now(),metadata:Nu(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${Wt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=qC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(zC(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${Wt.connections}`)).rows.map(qC).filter(vy)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=AY(Ye(t.interval)||"day"),s=Ye(t.timeField)==="ingested"?"ingested":"event";return{kind:"event",interval:n,timeField:s,range:{from:null,to:null},total:r.length,series:[{group:null,total:r.length,buckets:[]}]}}async appendOutcomeEvent(t){if(!Ry(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Wt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${Wt.outcomeEvents}`)).rows.map(OY).filter(vy).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(YC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(YC(),JSON.stringify(t)),t}async refreshModelTierBanditDocument(){let t=await this.loadModelTierBanditDocument();if(t!=null)return t;let r={schema_version:"brain.model-tier-bandit.v1",updated_at:new Date().toISOString(),arms:{}};return await this.saveModelTierBanditDocument(r),r}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async findConnection(t,r,n){let s=await this.kv().get(zC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var gP={};se(gP,{runResidentServer:()=>HY});import{randomUUID as Vs}from"node:crypto";import{execFileSync as uP,spawn as FY}from"node:child_process";import{existsSync as MY}from"node:fs";import{mkdir as dP,rename as BY,rm as sP,writeFile as pP}from"node:fs/promises";import{createServer as jY}from"node:net";import{dirname as Py,join as Du}from"node:path";import{fileURLToPath as qY,pathToFileURL as UY}from"node:url";async function HY(e){await dP(Py(e.socketPath),{recursive:!0});let t=n8();r8();let r=e.telemetryDrainTimeoutMs??fP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??p8(e.rootDir??process.cwd()),a=e.idleMs??ec,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=jY(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),u8(S,async(T,C)=>{g();let O=await d8(n,T,e.storeUri,e.residentVersion??"0.0.0-dev",i),G={id:T.id,ok:!0,value:O,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};C(G),T.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=t8(l),f.close();for(let S of d)S.destroy()}function g(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let y=["SIGINT","SIGTERM"].map(S=>{let T=()=>{$u(),f.close();for(let C of d)C.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(S,T),{signal:S,handler:T}});await new Promise((S,T)=>{f.once("error",T),f.listen(e.socketPath,()=>{f.off("error",T),S()})}),(async()=>{let S=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let T=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(T)&&T>0&&await new Promise(q=>setTimeout(q,T));let C=await _n.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new Cy(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Xa,byteBudget:e.telemetryByteBudget??e.byteBudget??Za});if(o){await C.close();return}if(await Oy(G,r),o){await C.close();return}n={kind:"ready",store:C,telemetry:G,storeOpenCount:1,storeElapsedMs:O},s=setInterval(()=>{let q=n.kind==="ready"?n:void 0;q&&Oy(q.telemetry,r)},p),s.unref(),g()})().catch(S=>{n={kind:"failed",error:S instanceof Error?S:new Error(String(S))},g()}),e.pidPath&&await pP(e.pidPath,`${process.pid}
|
|
316
|
-
`,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??
|
|
317
|
-
`,{encoding:"utf8",mode:384}),await
|
|
318
|
-
`)}}async function
|
|
312
|
+
`}function $C(e){return e.toString("utf8").replace(/�$/g,"")}function vY(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function TY(e){return yo(process.cwd(),e)}function NC(e){let t=e.enabled?br(process.cwd(),e.overhead):null;return Gn({tool:"rsp_status",enabled:e.enabled,status:e.enabled?"enabled":"disabled",message:e.enabled?"rsp is enabled in this directory":"rsp is not enabled in this directory",overhead_verdict:t?.verdict??"unknown",overhead_summary:t?.summary??"rsp is not enabled in this directory",overhead_disabled_families:t?.disabled_families.map(r=>r.family)??[],help:e.enabled?[]:["/red-setup"]})}function FC(e){process.stdout.write(`${JSON.stringify(e)}
|
|
313
|
+
`)}function MC(e){try{return JSON.parse(e)}catch{return null}}var qC=_(()=>{"use strict";Qt();Ue();we();Wi();nr()});var HC={};se(HC,{renderShellInit:()=>xY});function xY(e,t=Xi){if(e==="fish")return OY(t);if(e==="bash"||e==="zsh")return AY(e,t);throw new Error(`unsupported shell: ${e}`)}function OY(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Fu))].map(r=>` abbr --add --position command -- ${r} '${LY(`rsp ${r}`)}'`)," function rspx --description 'Run a shell pipeline through rsp exec'"," rsp exec -- $argv"," end","else"," # rsp is not on PATH; rsp abbreviations and rspx were not installed.","end",""].join(`
|
|
314
|
+
`)}function AY(e,t){let r=PY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Nu("git",r.get("git")??[]),...Nu("gh",r.get("gh")??[]),...Nu("vitest",r.get("vitest")??[]),...Nu("cargo",r.get("cargo")??[]),"rspx() {"," if command -v rsp >/dev/null 2>&1; then",' command rsp exec -- "$@"'," return"," fi"," printf '%s\\n' 'rspx requires rsp with exec support on PATH' >&2"," return 127","}",""].join(`
|
|
315
|
+
`)}function Nu(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Fu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Fu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>UC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of CY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${IY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${UC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function CY(e){let t=new Map;for(let[r,...n]of e){if(!r)continue;let s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function PY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Fu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Fu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function UC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function IY(e){return e.replace(/'/g,"'\\''")}function LY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var WC=_(()=>{"use strict";Zi()});function xy(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&GY(t.chosenOption)&&DY(t.outcome)&&$Y(t.cost)}function GY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function DY(e){return e==="success"||e==="failure"||e==="escalated"}function $Y(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}var VC=_(()=>{});import{createHash as NY}from"node:crypto";function sP(e,t){return new Ay(e,t)}function JC(e){let t=Number(e.red_entity_id??e.rid),r=Cy(e.properties??e.PROPERTIES),n=oP(String(e.node_type??e.NODE_TYPE??r.kind??"note"));if(!Number.isFinite(t))return null;let s=String(r.id??e.label??e.LABEL??t),o=String(r.title??e.label??e.LABEL??s),i=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??s),kind:n,properties:{...r,id:s,title:o,content:i,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function KC(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),s=iP(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Cy(e.properties??e.PROPERTIES)}}function BY(e){let t=Number(e.red_entity_id??e.rid),r=Cy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!xy(r)?null:{rid:t,event:r}}function Cy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Mu(e)?e:{}}function oP(e){let t=e==="contact"?"person":e;if(FY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function iP(e){if(MY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function jY(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function zC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function $n(e){return Mu(e)?e:{}}function YC(e,t){return $n(e)[t]}function QC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function XC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function ZC(e){let t=$n(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Qe(e){return typeof e=="string"&&e.length>0?e:void 0}function Mu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Oy(e){return e!=null}function qY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function UY(e){return NY("sha256").update(JSON.stringify(e)).digest("hex")}function HY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function eP(e){return`artifact-hash:${e}`}function tP(e,t,r){return`connection:${e}:${t}:${r}`}function rP(){return"model-tier-bandit:v1"}function WY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function nP(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function aP(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),s=e.properties.tags.map(i=>i.toLowerCase()),o=e.kind.toLowerCase();return{lexical:t.reduce((i,a)=>i+nP(r,a)*3+nP(n,a),0),tags:t.reduce((i,a)=>i+s.reduce((c,l)=>c+(l===a?4:l.includes(a)||a.includes(l)?2:0),0),0),kind:t.reduce((i,a)=>i+(o===a?3:o.includes(a)||a.includes(o)?1:0),0)}}function VY(e,t,r,n){let s=0;for(let o of r){let i=o.from_rid===e.rid?o.to_rid:o.to_rid===e.rid?o.from_rid:null;if(i==null)continue;let a=n.get(i);if(!a)continue;let c=cP({...aP(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return Dn(s)}function cP(e){return{...e,lexical:Dn(e.lexical),tags:Dn(e.tags),kind:Dn(e.kind),connections:Dn(e.connections),vector:Dn(e.vector),total:Dn(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Dn(e){return Math.round(e*1e3)/1e3}function JY(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(o=>r.indexOf(o)).filter(o=>o>=0).sort((o,i)=>o-i)[0]??0,s=Math.max(0,n-80);return`${s>0?"...":""}${e.slice(s,s+220)}${s+220<e.length?"...":""}`}function KY(e,t){let r=t.length===0?"none":t[0].score>=5?"high":t[0].score>=3?"medium":"low",n=t.length===0?[`No Brain artifacts matched "${e}".`]:[];return{answer:t.length===0?`Brain has no cited evidence for "${e}".`:`Brain found ${t.length} cited artifact${t.length===1?"":"s"} for "${e}".`,hits:t,citations:t.map((s,o)=>({ref:`B${o+1}`,rid:s.artifact.rid,id:s.artifact.properties.id,title:s.artifact.properties.title,kind:s.artifact.kind,score:s.score,score_breakdown:s.score_breakdown,excerpt:s.excerpt})),confidence:r,missing_evidence:n}}function zY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,FY,MY,Ay,lP=_(()=>{"use strict";VC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},FY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),MY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Ay=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture($n(r));if(t==="getArtifact")return await this.getArtifact(YC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=$n(r);return await this.search(QC(n,"query"),XC(n,"limit")??10,ZC(n.options))}if(t==="think"){let n=$n(r);return await this.think(QC(n,"query"),XC(n,"limit")??8,ZC(n.options))}if(t==="link")return await this.link($n(r));if(t==="backlinks")return await this.backlinks(YC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis($n(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:zY(t.map(n=>n.kind))}}async capture(t){let r=Qe(t.title)||"Untitled artifact",n=Qe(t.content);if(!n)throw new Error("brain capture requires content");let s=oP(Qe(t.kind)||"note"),o=qY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=UY([s,r,n,o,Qe(t.sourcePath),Qe(t.sourceSession)]),c=await this.kv().get(eP(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${HY(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Qe(t.sourceAgent),source_runner:Qe(t.sourceRunner),source_session:Qe(t.sourceSession),source_path:Qe(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:Mu(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${Wt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=JC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(eP(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${Wt.artifacts}`)).rows.map(JC).filter(Oy)}async search(t,r,n={}){let s=WY(t),o=new Set(n.excludeRids??[]),i=await this.listArtifacts(),a=await this.listConnections(),c=new Map(i.map(l=>[l.rid,l]));return i.filter(l=>!o.has(l.rid)).map(l=>{let u=aP(l,s),d=cP({...u,connections:VY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:JY(l.properties.content,s)}}).filter(l=>l.score>0).sort((l,u)=>u.score-l.score||u.artifact.properties.updated_at-l.artifact.properties.updated_at).slice(0,Math.max(1,Math.min(100,r)))}async think(t,r,n={}){let s=(await this.search(t,Math.max(r*2,r+5),n)).slice(0,r);return KY(t,s)}async link(t){let r=await this.getArtifact(zC(t.from)),n=await this.getArtifact(zC(t.to));if(!r)throw new Error(`Brain artifact not found: ${String(t.from)}`);if(!n)throw new Error(`Brain artifact not found: ${String(t.to)}`);let s=iP(Qe(t.kind)||"related_to"),o=await this.findConnection(r.rid,n.rid,s);if(o!=null){let u=(await this.listConnections()).find(d=>d.rid===o);if(u)return u}let i={reason:Qe(t.reason),confidence:Qe(t.confidence)||"explicit",created_at:Date.now(),metadata:Mu(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${Wt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=KC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(tP(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${Wt.connections}`)).rows.map(KC).filter(Oy)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=jY(Qe(t.interval)||"day"),s=Qe(t.timeField)==="ingested"?"ingested":"event";return{kind:"event",interval:n,timeField:s,range:{from:null,to:null},total:r.length,series:[{group:null,total:r.length,buckets:[]}]}}async appendOutcomeEvent(t){if(!xy(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Wt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${Wt.outcomeEvents}`)).rows.map(BY).filter(Oy).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(rP());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(rP(),JSON.stringify(t)),t}async refreshModelTierBanditDocument(){let t=await this.loadModelTierBanditDocument();if(t!=null)return t;let r={schema_version:"brain.model-tier-bandit.v1",updated_at:new Date().toISOString(),arms:{}};return await this.saveModelTierBanditDocument(r),r}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async findConnection(t,r,n){let s=await this.kv().get(tP(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var kP={};se(kP,{runResidentServer:()=>r8});import{randomUUID as Js}from"node:crypto";import{execFileSync as gP,spawn as YY}from"node:child_process";import{existsSync as QY}from"node:fs";import{mkdir as yP,rename as XY,rm as uP,writeFile as bP}from"node:fs/promises";import{createServer as ZY}from"node:net";import{dirname as Gy,join as Bu}from"node:path";import{fileURLToPath as e8,pathToFileURL as t8}from"node:url";async function r8(e){await yP(Gy(e.socketPath),{recursive:!0});let t=h8();m8();let r=e.telemetryDrainTimeoutMs??wP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??R8(e.rootDir??process.cwd()),a=e.idleMs??tc,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=ZY(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),k8(S,async(T,C)=>{g();let O=await S8(n,T,e.storeUri,e.residentVersion??"0.0.0-dev",i),G={id:T.id,ok:!0,value:O,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};C(G),T.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=f8(l),f.close();for(let S of d)S.destroy()}function g(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let y=["SIGINT","SIGTERM"].map(S=>{let T=()=>{ju(),f.close();for(let C of d)C.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(S,T),{signal:S,handler:T}});await new Promise((S,T)=>{f.once("error",T),f.listen(e.socketPath,()=>{f.off("error",T),S()})}),(async()=>{let S=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let T=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(T)&&T>0&&await new Promise(q=>setTimeout(q,T));let C=await En.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new Ly(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Za,byteBudget:e.telemetryByteBudget??e.byteBudget??ec});if(o){await C.close();return}if(await Py(G,r),o){await C.close();return}n={kind:"ready",store:C,telemetry:G,storeOpenCount:1,storeElapsedMs:O},s=setInterval(()=>{let q=n.kind==="ready"?n:void 0;q&&Py(q.telemetry,r)},p),s.unref(),g()})().catch(S=>{n={kind:"failed",error:S instanceof Error?S:new Error(String(S))},g()}),e.pidPath&&await bP(e.pidPath,`${process.pid}
|
|
316
|
+
`,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??Bu(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ga(w,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:E})}catch{}await new Promise(S=>f.once("close",S)),c&&clearTimeout(c),s&&clearInterval(s),await uP(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Py(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:S,handler:T}of y)process.off(S,T);t?.kill("SIGTERM"),ju(),e.pidPath&&await uP(e.pidPath,{force:!0}),await Da(w)}async function c8(e,t,r=new Date){let n=await cl(e,1,r),s=r.toISOString().slice(0,10),o=n.savings.daily_tokens_saved.find(u=>u.date===s)?.tokens_saved??0,i=n.savings.tokens_saved>0?o/n.savings.tokens_saved*n.savings.dollars_saved_estimate_usd:0,a=Bu(ce(t),i8),c=`${a}.${process.pid}.${Date.now()}.tmp`,l={version:1,tokens_saved_today:o,dollars_saved_today_usd:Math.round(i*1e6)/1e6,show_total_today:n.health.show_total,updated_at:r.toISOString()};n.health.show_total>0&&(l.show_hit_rate=n.health.show_hit_rate),n.decisions.seen>0&&(l.decisions={seen:n.decisions.seen,contributed:n.decisions.contributed}),await yP(Gy(a),{recursive:!0}),await bP(c,`${ge(l)}
|
|
317
|
+
`,{encoding:"utf8",mode:384}),await XY(c,a)}async function Py(e,t=wP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await EP(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
|
|
318
|
+
`)}}async function l8(e){let t=[];for(let r of a8){let n=await u8(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await d8(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${_P(r)}`))}return t}async function u8(e,t){try{return await e.kv(t).get("__rsp_telemetry_model_probe__"),{ok:!0}}catch(r){let n=r instanceof Error?r.message:String(r);if(/\bnot found\b/i.test(n))return{ok:!1,previousModel:null};let s=n.match(/model mismatch: expected kv, got ([A-Za-z_][A-Za-z0-9_]*)/i);if(s?.[1])return{ok:!1,previousModel:s[1].toLowerCase()};if(/does not allow 'kv' operations/i.test(n))return{ok:!1,previousModel:"collection"};let o=(await e.list()).find(i=>i.name===t);if(o&&o.model!=="kv")return{ok:!1,previousModel:o.model};throw r}}async function d8(e,t,r){let n=p8(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${_P(t)}`)}function p8(e){let t=e.toLowerCase();return t==="table"?"TABLE":t==="kv"?"KV":t==="graph"?"GRAPH":t==="queue"?"QUEUE":t==="document"||t==="documents"?"DOCUMENT":null}function _P(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function f8(e){return e&&clearTimeout(e),setTimeout(()=>{ju(),process.exit(0)},o8)}function m8(){dP||(dP=!0,process.on("exit",()=>ju()))}function h8(){if(process.platform==="win32")return;let t=YY(process.execPath,["-e",`
|
|
319
319
|
const { execFileSync } = require("node:child_process");
|
|
320
320
|
const parentPid = Number(process.argv[1]);
|
|
321
321
|
const known = new Set();
|
|
@@ -356,26 +356,26 @@ const timer = setInterval(() => {
|
|
|
356
356
|
clearInterval(timer);
|
|
357
357
|
process.exit(0);
|
|
358
358
|
}, 500);
|
|
359
|
-
`,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function $u(){for(let e of s8())try{process.kill(e,"SIGTERM")}catch{}}function s8(){if(process.platform==="win32")return[];let e="";try{e=uP("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 o8(e){if(e.collection!==lt)return e;let t=await iP(e.raw_text,cP(e.raw_bytes)),r=await iP(e.emitted_text,cP(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 iP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=WY)try{return await hP((async()=>({tokens:(await i8())("cl100k_base").encode(e).length,estimated:!1}))(),VY,"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 i8(){return aP??=import(UY(a8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await aP}function a8(){let e=Py(qY(import.meta.url)),r=[Du(e,"..","node_modules","js-tiktoken","dist","index.js"),Du(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>MY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function cP(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ie(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function Ay(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function hP(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 c8(e){try{return JSON.parse(e)}catch{return e}}function l8(e){return lP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>lP(t)&&(t.collection===We||t.collection===Ve||t.collection===lt||t.collection===Tt)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function lP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function u8(e,t){Yw(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Vs(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function d8(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 Dm(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 sl(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 $m(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return m8(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 f8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function p8(e){let t;return{async read(r){if(!t){let n=String(uP("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=vc({rootDir:e,token:n,balance:Rc(n)})}return await t.read(r)}}}async function f8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await XC(s,t).request(r,n)}function m8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var WY,VY,fP,JY,KY,zY,Cy,oP,aP,yP=_(()=>{"use strict";Xe();Na();uo();Qt();nl();nP();vf();Ft();Ue();WY=256*1024,VY=500,fP=2e3,JY=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),KY="rsp-status-summary.toon",zY=[We,Ve,lt,Tt,Uo],Cy=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 QY(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 tm(this.opts.rootDir,async a=>{let c=ws(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ie(c.command)||"unknown",source_id:Ie(c.id),source_collection:Ie(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await YY(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:Vs(),a={...await o8(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===We?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===We||r.accounting_recorded===!0?null:r.collection===lt?await this.writeEvent(t,{collection:We,id:`mirror:${Ie(r.id)||Vs()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ay(Ie(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===Tt?await this.writeEvent(t,{collection:We,id:`mirror:${Ie(r.id)||Vs()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ay(Ie(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ie(r.reason)||"unknown",wrapper_family:Ie(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ie(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Tt,id:Vs(),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:We,id:`mirror:${Vs()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Ay(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(Uo).get("index:v1"),n=typeof r=="string"?c8(r):r;return l8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Uo).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})}};oP=!1});Vu();bt();var cw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},mL={json:{kind:"boolean"}},hL={help:{kind:"boolean",aliases:["h"]}},gL={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 lw(e){let{command:t,args:r}=Wu(e,yL);return t==="--version"?{kind:"version",json:Qs(r,mL).values.json===!0}:bL(e)?{kind:"help"}:{kind:"command"}}var yL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function bL(e){return Qr(e,hL).values.help===!0}function uw(e){let{values:t,rest:r}=_L(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw ba.unknownFlag(n);let s=Wu(r,gL).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":t.full===!0?"full":"lossless",positional:o}}var ba=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:wL})}},wL=Object.keys(cw).map(e=>`--${e}`);function _L(e){try{return Qr(e,cw)}catch(t){throw new ba(t instanceof Error?t.message:String(t))}}function dw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function pw(e){return e instanceof Ys}function Wn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var EL={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:br},"ephemeral-ttl-hours":{kind:"value",coerce:br},"byte-budget":{kind:"value",coerce:br},"telemetry-ttl-days":{kind:"value",coerce:br},"telemetry-byte-budget":{kind:"value",coerce:br},"telemetry-drain-interval-ms":{kind:"value",coerce:br},"telemetry-drain-timeout-ms":{kind:"value",coerce:br},"idle-ms":{kind:"value",coerce:br}};function Ed(e){return Qs(e,EL).values}var fw={since:{kind:"value",coerce:SL},full:{kind:"boolean"}};function wa(e,t){return Qs(e,fw).values.since??t}function mw(e){return Qs(e,fw).values.full===!0}var kL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function hw(e){let{values:t,rest:r}=Qr(e,kL),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 br(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function SL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}kd();bt();import{existsSync as h8}from"node:fs";import{fileURLToPath as g8}from"node:url";Qt();io();we();wt();import{existsSync as v1}from"node:fs";import{fileURLToPath as T1}from"node:url";Qt();rp();we();import{existsSync as rN}from"node:fs";import{fileURLToPath as nN}from"node:url";async function Qn(e,t){let r={stats:sN(e.telemetryByteBudget),telemetry:ip(t)};if(!e.storeUri.startsWith("file://"))return r;let n=nN(e.storeUri);if(!rN(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),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:ip(t)}}catch{return r}finally{await o.close()}}function v_(e,t=ip(30),r=!1,n=x_()){return`${ge(ap(e,t,r,n))}
|
|
360
|
-
`}function
|
|
361
|
-
`}function
|
|
362
|
-
`}function
|
|
363
|
-
`)}function
|
|
364
|
-
`}async function
|
|
365
|
-
`;s+=Buffer.byteLength(a),process.stderr.write(a),o({stdoutBytes:n,stderrBytes:s,status:127,signal:null})}),r.on("close",(i,a)=>o({stdoutBytes:n,stderrBytes:s,status:i,signal:a}))})}function
|
|
366
|
-
`);let s=await
|
|
367
|
-
`),await
|
|
368
|
-
`),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function
|
|
369
|
-
`),2}let r=
|
|
370
|
-
`),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function
|
|
371
|
-
`}async function
|
|
359
|
+
`,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function ju(){for(let e of g8())try{process.kill(e,"SIGTERM")}catch{}}function g8(){if(process.platform==="win32")return[];let e="";try{e=gP("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 y8(e){if(e.collection!==lt)return e;let t=await pP(e.raw_text,mP(e.raw_bytes)),r=await pP(e.emitted_text,mP(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 pP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=n8)try{return await EP((async()=>({tokens:(await b8())("cl100k_base").encode(e).length,estimated:!1}))(),s8,"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 b8(){return fP??=import(t8(w8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await fP}function w8(){let e=Gy(e8(import.meta.url)),r=[Bu(e,"..","node_modules","js-tiktoken","dist","index.js"),Bu(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>QY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function mP(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ie(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function Iy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function EP(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 _8(e){try{return JSON.parse(e)}catch{return e}}function E8(e){return hP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>hP(t)&&(t.collection===Ve||t.collection===Je||t.collection===lt||t.collection===Tt)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function hP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function k8(e,t){Zw(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Js(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function S8(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 Mm(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 cl(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 Bm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return T8(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 v8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function R8(e){let t;return{async read(r){if(!t){let n=String(gP("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=Ac({rootDir:e,token:n,balance:Oc(n)})}return await t.read(r)}}}async function v8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await sP(s,t).request(r,n)}function T8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var n8,s8,wP,o8,i8,a8,Ly,dP,fP,SP=_(()=>{"use strict";Ze();$a();po();Qt();al();lP();Of();Ft();Ue();n8=256*1024,s8=500,wP=2e3,o8=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),i8="rsp-status-summary.toon",a8=[Ve,Je,lt,Tt,Ho],Ly=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 l8(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 sm(this.opts.rootDir,async a=>{let c=_s(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ie(c.command)||"unknown",source_id:Ie(c.id),source_collection:Ie(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await c8(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:Js(),a={...await y8(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===Ve?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===Ve||r.accounting_recorded===!0?null:r.collection===lt?await this.writeEvent(t,{collection:Ve,id:`mirror:${Ie(r.id)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Iy(Ie(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===Tt?await this.writeEvent(t,{collection:Ve,id:`mirror:${Ie(r.id)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Iy(Ie(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ie(r.reason)||"unknown",wrapper_family:Ie(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ie(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Tt,id:Js(),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:Ve,id:`mirror:${Js()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Iy(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(Ho).get("index:v1"),n=typeof r=="string"?_8(r):r;return E8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Ho).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})}};dP=!1});Yu();bt();var dw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},_L={json:{kind:"boolean"}},EL={help:{kind:"boolean",aliases:["h"]}},kL={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 pw(e){let{command:t,args:r}=zu(e,SL);return t==="--version"?{kind:"version",json:Xs(r,_L).values.json===!0}:RL(e)?{kind:"help"}:{kind:"command"}}var SL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function RL(e){return Xr(e,EL).values.help===!0}function fw(e){let{values:t,rest:r}=TL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw wa.unknownFlag(n);let s=zu(r,kL).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":t.full===!0?"full":"lossless",positional:o}}var wa=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:vL})}},vL=Object.keys(dw).map(e=>`--${e}`);function TL(e){try{return Xr(e,dw)}catch(t){throw new wa(t instanceof Error?t.message:String(t))}}function mw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function hw(e){return e instanceof Qs}function Vn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var xL={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:yr},"ephemeral-ttl-hours":{kind:"value",coerce:yr},"byte-budget":{kind:"value",coerce:yr},"telemetry-ttl-days":{kind:"value",coerce:yr},"telemetry-byte-budget":{kind:"value",coerce:yr},"telemetry-drain-interval-ms":{kind:"value",coerce:yr},"telemetry-drain-timeout-ms":{kind:"value",coerce:yr},"idle-ms":{kind:"value",coerce:yr}};function vd(e){return Xs(e,xL).values}var gw={since:{kind:"value",coerce:AL},full:{kind:"boolean"}};function _a(e,t){return Xs(e,gw).values.since??t}function yw(e){return Xs(e,gw).values.full===!0}var OL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function bw(e){let{values:t,rest:r}=Xr(e,OL),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 yr(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function AL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}Td();bt();import{existsSync as x8}from"node:fs";import{fileURLToPath as O8}from"node:url";Qt();ao();we();wt();import{existsSync as N1}from"node:fs";import{fileURLToPath as F1}from"node:url";Qt();ip();we();import{existsSync as cD}from"node:fs";import{fileURLToPath as lD}from"node:url";async function Xn(e,t){let r={stats:uD(e.telemetryByteBudget),telemetry:up(t)};if(!e.storeUri.startsWith("file://"))return r;let n=lD(e.storeUri);if(!cD(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Qn)),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:up(t)}}catch{return r}finally{await o.close()}}function O_(e,t=up(30),r=!1,n=C_()){return`${ge(dp(e,t,r,n))}
|
|
360
|
+
`}function A_(e,t){return`${ge({...e,overhead:P_(t)})}
|
|
361
|
+
`}function C_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:Zt,breaching_families:[],disabled_families:[],families:[]}}function P_(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 dp(e,t,r,n=C_()){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??Na(),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:dD(t.savings),dollars_saved_estimate_usd_display:pD(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:P_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:lp(t.health.degradation_rate),show_hit_rate_display:lp(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:lp(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:cp(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:cp(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:cp(t.latency.store_elapsed_ms_avg)}}}function I_(e){return`${ge(e)}
|
|
362
|
+
`}function up(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 uD(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Na()}}function Na(){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 L_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
|
|
363
|
+
`)}function dD(e){return e.tokens_saved_estimated?`${e.tokens_saved_low}-${e.tokens_saved_high} (estimate_midpoint: ${e.tokens_saved}, range_pct: ${e.token_estimate_range_pct})`:String(e.tokens_saved)}function pD(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?go(e.dollars_saved_estimate_usd):`${go(e.dollars_saved_low_usd)}-${go(e.dollars_saved_high_usd)} (estimate_midpoint: ${go(e.dollars_saved_estimate_usd)})`}function cp(e){return e==null?"none":String(e)}function lp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function gv(e){let{stats:t,telemetry:r}=await Xn(e,30),[n,s]=await Promise.all([M1(e),Promise.resolve().then(()=>(Kf(),Jf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:br(ot(process.cwd()).rootDir,e.overhead)}}function yv(e){let t=dp(e.stats,e.telemetry,!1,e.overhead),r=Cd({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??Na()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},B1(e));return`${ge(r)}
|
|
364
|
+
`}async function M1(e){if(!e.storeUri.startsWith("file://"))return[];let t=F1(e.storeUri);if(!N1(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(nr(),Qn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function B1(e){return[e.recoveryHandles.length>0?"rsp show <handle>":"rsp <wrapped-command> --terse",e.waits.length>0?"rsp wait ls":'rsp wait cmd -- "<command>"',"rsp stats --since <days>d"]}Qt();we();bt();import{existsSync as lK}from"node:fs";import{fileURLToPath as uK}from"node:url";Ft();import{spawn as yu}from"node:child_process";async function cA(e,t,r){let n=process.hrtime.bigint(),s=await lA(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return S2(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function lA(e){let t=e[0];if(!t)return{stdoutBytes:0,stderrBytes:0,status:2,signal:null};let r;if(t==="exec"||t==="proxy"){let o=t==="proxy"?await Promise.resolve().then(()=>(cu(),au)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(zi(),Ki)).then(i=>i.parseExecCommandLine(e));r=yu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=yu(t,e.slice(1),{stdio:["inherit","pipe","pipe"]});let n=0,s=0;return r.stdout?.on("data",o=>{n+=o.length,process.stdout.write(o)}),r.stderr?.on("data",o=>{s+=o.length,process.stderr.write(o)}),await new Promise(o=>{r.on("error",i=>{let a=`${i instanceof Error?i.message:String(i)}
|
|
365
|
+
`;s+=Buffer.byteLength(a),process.stderr.write(a),o({stdoutBytes:n,stderrBytes:s,status:127,signal:null})}),r.on("close",(i,a)=>o({stdoutBytes:n,stderrBytes:s,status:i,signal:a}))})}function uA(e){return e>0&&Math.random()<e}async function Qi(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
|
|
366
|
+
`);let s=await mA(t);if(n){let o=R2(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),di));wu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:bu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),wu(i(n,{collection:c,ts:new Date().toISOString(),command:bu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function dA(e,t,r){let n=await lA(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),di)),a={ts:new Date().toISOString(),command:bu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return wu(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),wu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function pA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${_u()}, passing through
|
|
367
|
+
`),await mA(e)}function _u(){return"rsp is not enabled in this directory; run /red-setup"}function fA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return bu(e.positional)}function bu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Yi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function S2(e,t,r,n,s){let o=r.stdoutBytes+r.stderrBytes,i={event_type:"control_holdout",control_holdout:!0,holdout_share:s,ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Or(e,{collection:"rsp_accounting_events_v1",...i}),Or(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function R2(e,t,r){let n=t[0]??"unknown",s=v2(r)||e;return{reason:aA(r)==="ENOENT"||aA(r)==="MODULE_NOT_FOUND"||/(?:command not found|cannot find package|cannot find module|module not found|not provisioned)/i.test(s)?"wrapper-unavailable":"wrapper-crash",family:n,exitCode:x2(r)??1,stderrHead:T2(s,240)}}function v2(e){return e instanceof Error?Yi(e.message):Yi(String(e??""))}function T2(e,t){let r=Yi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function aA(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function x2(e){if(typeof e!="object"||e===null)return null;for(let t of["status","exitCode","exit_code"]){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r}return null}function wu(e){e.catch(()=>{})}async function mA(e){if(e[0]==="exec"||e[0]==="proxy")return await O2(e);let t=e[0];if(!t)return 2;let r=yu(t,e.slice(1),{stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
|
|
368
|
+
`),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function O2(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(cu(),au));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(zi(),Ki));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
|
|
369
|
+
`),2}let r=yu(t,{shell:!0,stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
|
|
370
|
+
`),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function PA(e,t,r){let n=[],s=!e.enabled;if(n.push(s?Se("config_gate_resolution","rsp disabled in this directory; run /red-setup to opt in"):Se("config_gate_resolution","rsp.enabled resolved true for this directory")),s)return n.push(Se("hook_wiring","skipped because rsp is disabled"),Se("proxy_mode","skipped because rsp is disabled"),Se("resident_liveness","skipped because rsp is disabled"),Se("store_provisioning","skipped because rsp is disabled"),Se("recent_degradation_rate","skipped because rsp is disabled"),Se("overhead_budget","skipped because rsp is disabled")),CA("disabled",n,r);n.push(await dK(e)),n.push(e.proxyEnabled?Se("proxy_mode","proxy routing enabled for pre-exec rewrites"):Pn("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(wt(),cn));if(n.push(pK(await o(t))),n.push(fK(e)),LA(e)){let{telemetry:i}=await Xn(e,r);n.push(mK(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(hK(br(process.cwd(),e.overhead))),CA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function IA(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
|
|
371
|
+
`}async function dK(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Zi(),xu)),r=t("git status");return r.kind==="rewrite"?Se("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):Pn("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return Pn("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Yi(t.message):"unknown error"}`,"rsp setup")}}function pK(e){return e.state==="registered-alive-socket-healthy"?Se("resident_liveness","resident registry points at a healthy socket"):Pn("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function fK(e){return e.storeUri.startsWith("file://")?LA(e)?Se("store_provisioning","rsp store exists for this directory"):Pn("store_provisioning","rsp store is not provisioned","rsp setup"):Se("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function mK(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Se("recent_degradation_rate",`0 degradations in the recent ${t}d window`);let n=e.health.degradations,s=r?.reason??e.health.most_recent?.reason??"unknown",o=r?.count??n;return Pn("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,gK(s,t))}function hK(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function gK(e,t){return/unavailable|not provisioned|missing/i.test(e)?"rsp setup":/resident|socket|registry/i.test(e)?"rsp warm-resident":`rsp stats --since ${t}d --full`}function LA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return lK(uK(e.storeUri))}catch{return!1}}function Se(e,t){return{name:e,pass:!0,finding:t}}function Pn(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:Rd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function CA(e,t,r){return{schema_version:"red.rsp.doctor.v1",status:e,exitCode:e==="fail"?1:0,window_days:r,probes:t,errors:t.map(n=>n.error).filter(n=>!!n)}}Wg();function NA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${wK(t).join(`
|
|
372
372
|
`)}
|
|
373
|
-
`}function aK(e){switch(e){case"stats":return ie("rsp stats [--since <days>d] [--full]",["Defaults: --since 30d, --full false","--since <days>d telemetry window, default 30d","--full include wider daily/top-command/failure lists, default false","--store-uri <uri> read a non-default store"],["rsp stats","rsp stats --since 7d --full"]);case"gains":return ie("rsp gains [--since <days>d]",["--since <days>d gains window, default 28d","--store-uri <uri> read a non-default shared RedDB store"],["rsp gains","rsp gains --since 14d"]);case"show":return ie("rsp show <handle>",["<handle> elision handle such as el:<id>","--store-uri <uri> read a non-default store"],["rsp show el:<id>","rsp show <handle>"]);case"git":return ie("rsp git <status|log|diff|show|blame|branch|commit|push> [options]",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail"],["rsp git status --brief","rsp git log --terse","rsp git diff --query <path>"]);case"gh":return ie("rsp gh <pr|issue|run> <list|view> [options] | api <REST-path> | <issues|prs|edit-labels|link-sub-issues> ...",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail","--json <fields> select fields for batched issues/prs","--repo <slug> owner/repo override for batched operations","api GET reads use the resident ETag/rate-aware client and emit canonical TOON"],["rsp gh issues 42 43 --json state,title,labels,body","rsp gh prs 12 13 --json state,mergeable,statusCheckRollup","rsp gh edit-labels --add ready-for-agent --remove blocked:crashed 42 43","rsp gh link-sub-issues 100 101 102","rsp gh api repos/owner/repo/actions/runs/123"]);case"vitest":return ie("rsp vitest [run] [vitest-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp vitest run","rsp vitest run --query <suite-or-test>"]);case"cargo":return ie("rsp cargo test [cargo-test-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp cargo test","rsp cargo test --query <test-name>"]);case"cat":return ie("rsp cat [--head <n>|--tail <n>|--full] <file>",["--head <n> show first n lines, default slice 10","--tail <n> show last n lines, default slice 10","--full emit full text even when it is large","--brief/--terse reduce large text context"],["rsp cat <file>","rsp cat --head 20 <file>","rsp cat --tail 20 <file>"]);case"exec":return ie('rsp exec -- "<command line>"',["--brief compact recognized stdout, default lossless","--terse summarize large stdout and mint recovery handles","--query <text> filter supported structured summaries"],['rsp exec -- "pnpm -C apps/rsp build"','rsp exec -- "git status --short"']);case"proxy":return ie("rsp proxy -- <command line>",["--brief compact recognized stdout, default lossless","--terse summarize recognized large stdout"],["rsp proxy -- git status","rsp proxy -- pnpm test"]);case"wait":return["usage: rsp wait <subcommand> [options]","","Flags and defaults:"," --timeout <duration> default 30m for cmd, 45m for pr/run/job, 2h for release"," --reason <text> default empty"," --signal-pid <pid> optional completion signal target"," --signal <signal> default USR1"," --notify-cmd <cmd> optional completion command","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate."];case"doctor":return ie("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return ie("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return ie("rsp sweep",["No flags. Removes stale resident registry entries, reclaims orphan state temps,","re-bounds the gh ETag cache, and prints TOON status."],["rsp sweep"]);case"setup":return ie("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return ie("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return ie("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return ie("rsp server [options]",["--socket <path> default resident socket","--pid-file <path> default resident pid file","--store-uri <uri> default repo store","--ttl-days <days> default from config","--ephemeral-ttl-hours <hours> default from config","--byte-budget <bytes> default from config","--idle-ms <ms> default from config"],["rsp server","rsp server --socket <path> --store-uri <uri>"]);case"warm-resident":return ie("rsp warm-resident [options]",["--socket <path> default resident socket","--wake-lock <path> default resident wake lock","--store-uri <uri> default repo store","--idle-ms <ms> default from config"],["rsp warm-resident","rsp warm-resident --store-uri <uri>"]);case"gh-api-json":return ie("rsp gh-api-json <path> [-f name=value ...]",["-f name=value string GitHub API field","-F name=value typed GitHub API field"],["rsp gh-api-json repos/{owner}/{repo}","rsp gh-api-json repos/{owner}/{repo}/pulls -f state=open"]);case"dashboard":return ie("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return ie("rsp hook <claude-pre-exec|codex-pre-exec|claude-post-exec|codex-post-exec>",["Reads hook payload from stdin. Defaults come from the calling host."],["rsp hook codex-pre-exec","rsp hook claude-pre-exec"]);case void 0:return["usage: rsp <subcommand> [options]","","Bare invocation:"," rsp"," renders a live TOON dashboard with recovery handles, active waits, savings, and health.","","Subcommands:"," 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","","Global flags:"," --store-uri <uri> default repo store"," --brief compact summaries"," --terse aggressive summaries with recovery handles"," --full suppress automatic reduction"," --query <text> filter supported rendered output"," --help, -h scoped help"," --version, -v build version; add --json for structured build info","","Examples:"," rsp"," rsp stats --since 7d"," rsp git log --terse"," rsp --full -- <command> <args...>"," rsp show el:<id>"];default:return ie(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function ie(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}Xe();we();Ft();import{spawn as cK}from"node:child_process";import{createHash as lK}from"node:crypto";import{existsSync as uK,readFileSync as dK,statSync as pK}from"node:fs";import{tmpdir as fK}from"node:os";import{dirname as mK,join as Ur}from"node:path";async function $e(e,t,r,n,s=process.cwd(),o,i=o?.overhead??Zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&gK(s,o);let c=hK(e,t,a);return Pd(s,c,i),n?Pn(_K(s,e,t,c,i,n.lastResponseMetrics())):EK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function hK(e,t,r){let n=Gd(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function Pn(e){e.catch(()=>{})}async function Tu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),ui));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function gK(e,t){try{let r=lr(e),n=pK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!wK(r,Date.now()-s))return;let o=yK(e),i=bK(o),a=Ur(i,"rsp.sock"),c=Ur(i,"rsp.pid"),l=Ur(ce(o),"rsp-resident.pid.toon"),u=Ur(o,".red","tmp","rsp","wake.lock");cK(process.execPath,[...process.execArgv,process.argv[1]??"","warm-resident","--socket",a,"--pid-file",c,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays),"--telemetry-byte-budget",String(t.telemetryByteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs),"--idle-ms",String(t.idleMs),"--registry",l,"--wake-lock",u],{cwd:o,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref()}catch{}}function yK(e){let t=e;for(;;){if(uK(Ur(t,".git")))return t;let r=mK(t);if(r===t)return e;t=r}}function bK(e){let t=lK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Ur(r,"red-skills",t);if(Ur(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Ur(fK(),`red-skills-${n}`,t)}function wK(e,t){try{let r=dK(e,"utf8");co(Buffer.byteLength(r));for(let n of r.split(/\r?\n/))if(n.trim())try{let s=JSON.parse(n),o=typeof s.created_at=="string"?s.created_at:s.ts;if(typeof o=="string"){let i=Date.parse(o);if(Number.isFinite(i)&&i<=t)return!0}}catch{}}catch{}return!1}async function _K(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ta(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),ui));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:jt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function EK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ta(n,s);xr(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),xr(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var Kr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},by=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function EC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new by,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(qg(),CA));if(i(e.positional))return await $e(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(On(),Og)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await $e(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(ly(),cy)),a=await i(e.positional,{level:e.level,store:s});return await $e(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(fy(),py)),a=await i(e.positional,{level:e.level,store:s});return await $e(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(yy(),gy)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await $e(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ki(),Ji)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await $e(e,a,o,s)}}catch(i){return Wn(i)?(process.stdout.write(i.render()),2):await Yi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Yi("wrapper failed",e.positional,n,r)}async function y8(e=process.argv.slice(2)){let t=_a("rsp"),r=lw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
|
|
374
|
-
`:`${
|
|
375
|
-
`),0;if(r.kind==="help")return process.stdout.write(
|
|
376
|
-
`),0);if(n.command==="git"&&
|
|
377
|
-
`),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=
|
|
378
|
-
`),w.status}if(n.command==="dashboard"){let y=await
|
|
373
|
+
`}function wK(e){switch(e){case"stats":return ie("rsp stats [--since <days>d] [--full]",["Defaults: --since 30d, --full false","--since <days>d telemetry window, default 30d","--full include wider daily/top-command/failure lists, default false","--store-uri <uri> read a non-default store"],["rsp stats","rsp stats --since 7d --full"]);case"gains":return ie("rsp gains [--since <days>d]",["--since <days>d gains window, default 28d","--store-uri <uri> read a non-default shared RedDB store"],["rsp gains","rsp gains --since 14d"]);case"show":return ie("rsp show <handle>",["<handle> elision handle such as el:<id>","--store-uri <uri> read a non-default store"],["rsp show el:<id>","rsp show <handle>"]);case"git":return ie("rsp git <status|log|diff|show|blame|branch|commit|push> [options]",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail"],["rsp git status --brief","rsp git log --terse","rsp git diff --query <path>"]);case"gh":return ie("rsp gh <pr|issue|run> <list|view> [options] | api <REST-path> | <issues|prs|edit-labels|link-sub-issues> ...",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail","--json <fields> select fields for batched issues/prs","--repo <slug> owner/repo override for batched operations","api GET reads use the resident ETag/rate-aware client and emit canonical TOON"],["rsp gh issues 42 43 --json state,title,labels,body","rsp gh prs 12 13 --json state,mergeable,statusCheckRollup","rsp gh edit-labels --add ready-for-agent --remove blocked:crashed 42 43","rsp gh link-sub-issues 100 101 102","rsp gh api repos/owner/repo/actions/runs/123"]);case"vitest":return ie("rsp vitest [run] [vitest-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp vitest run","rsp vitest run --query <suite-or-test>"]);case"cargo":return ie("rsp cargo test [cargo-test-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp cargo test","rsp cargo test --query <test-name>"]);case"cat":return ie("rsp cat [--head <n>|--tail <n>|--full] <file>",["--head <n> show first n lines, default slice 10","--tail <n> show last n lines, default slice 10","--full emit full text even when it is large","--brief/--terse reduce large text context"],["rsp cat <file>","rsp cat --head 20 <file>","rsp cat --tail 20 <file>"]);case"exec":return ie('rsp exec -- "<command line>"',["--brief compact recognized stdout, default lossless","--terse summarize large stdout and mint recovery handles","--query <text> filter supported structured summaries"],['rsp exec -- "pnpm -C apps/rsp build"','rsp exec -- "git status --short"']);case"proxy":return ie("rsp proxy -- <command line>",["--brief compact recognized stdout, default lossless","--terse summarize recognized large stdout"],["rsp proxy -- git status","rsp proxy -- pnpm test"]);case"wait":return["usage: rsp wait <subcommand> [options]","","Flags and defaults:"," --timeout <duration> default 30m for cmd, 45m for pr/run/job, 2h for release"," --reason <text> default empty"," --signal-pid <pid> optional completion signal target"," --signal <signal> default USR1"," --notify-cmd <cmd> optional completion command","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate."];case"doctor":return ie("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return ie("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return ie("rsp sweep",["No flags. Removes stale resident registry entries, reclaims orphan state temps,","re-bounds the gh ETag cache, and prints TOON status."],["rsp sweep"]);case"setup":return ie("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return ie("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return ie("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return ie("rsp server [options]",["--socket <path> default resident socket","--pid-file <path> default resident pid file","--store-uri <uri> default repo store","--ttl-days <days> default from config","--ephemeral-ttl-hours <hours> default from config","--byte-budget <bytes> default from config","--idle-ms <ms> default from config"],["rsp server","rsp server --socket <path> --store-uri <uri>"]);case"warm-resident":return ie("rsp warm-resident [options]",["--socket <path> default resident socket","--wake-lock <path> default resident wake lock","--store-uri <uri> default repo store","--idle-ms <ms> default from config"],["rsp warm-resident","rsp warm-resident --store-uri <uri>"]);case"gh-api-json":return ie("rsp gh-api-json <path> [-f name=value ...]",["-f name=value string GitHub API field","-F name=value typed GitHub API field"],["rsp gh-api-json repos/{owner}/{repo}","rsp gh-api-json repos/{owner}/{repo}/pulls -f state=open"]);case"dashboard":return ie("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return ie("rsp hook <claude-pre-exec|codex-pre-exec|claude-post-exec|codex-post-exec>",["Reads hook payload from stdin. Defaults come from the calling host."],["rsp hook codex-pre-exec","rsp hook claude-pre-exec"]);case void 0:return["usage: rsp <subcommand> [options]","","Bare invocation:"," rsp"," renders a live TOON dashboard with recovery handles, active waits, savings, and health.","","Subcommands:"," 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","","Global flags:"," --store-uri <uri> default repo store"," --brief compact summaries"," --terse aggressive summaries with recovery handles"," --full suppress automatic reduction"," --query <text> filter supported rendered output"," --help, -h scoped help"," --version, -v build version; add --json for structured build info","","Examples:"," rsp"," rsp stats --since 7d"," rsp git log --terse"," rsp --full -- <command> <args...>"," rsp show el:<id>"];default:return ie(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function ie(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}Ze();we();Ft();import{spawn as _K}from"node:child_process";import{createHash as EK}from"node:crypto";import{existsSync as kK,readFileSync as SK,statSync as RK}from"node:fs";import{tmpdir as vK}from"node:os";import{dirname as TK,join as Hr}from"node:path";async function Ne(e,t,r,n,s=process.cwd(),o,i=o?.overhead??Zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&OK(s,o);let c=xK(e,t,a);return Dd(s,c,i),n?In(IK(s,e,t,c,i,n.lastResponseMetrics())):LK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function xK(e,t,r){let n=Fd(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function In(e){e.catch(()=>{})}async function Cu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),di));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function OK(e,t){try{let r=cr(e),n=RK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!PK(r,Date.now()-s))return;let o=AK(e),i=CK(o),a=Hr(i,"rsp.sock"),c=Hr(i,"rsp.pid"),l=Hr(ce(o),"rsp-resident.pid.toon"),u=Hr(o,".red","tmp","rsp","wake.lock");_K(process.execPath,[...process.execArgv,process.argv[1]??"","warm-resident","--socket",a,"--pid-file",c,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays),"--telemetry-byte-budget",String(t.telemetryByteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs),"--idle-ms",String(t.idleMs),"--registry",l,"--wake-lock",u],{cwd:o,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref()}catch{}}function AK(e){let t=e;for(;;){if(kK(Hr(t,".git")))return t;let r=TK(t);if(r===t)return e;t=r}}function CK(e){let t=EK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Hr(r,"red-skills",t);if(Hr(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Hr(vK(),`red-skills-${n}`,t)}function PK(e,t){try{let r=SK(e,"utf8");lo(Buffer.byteLength(r));for(let n of r.split(/\r?\n/))if(n.trim())try{let s=JSON.parse(n),o=typeof s.created_at=="string"?s.created_at:s.ts;if(typeof o=="string"){let i=Date.parse(o);if(Number.isFinite(i)&&i<=t)return!0}}catch{}}catch{}return!1}async function IK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=xa(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),di));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:jt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function LK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=xa(n,s);Or(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Or(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var zr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},Ey=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function xC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new Ey,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Wg(),$A));if(i(e.positional))return await Ne(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Pg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Ne(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(py(),dy)),a=await i(e.positional,{level:e.level,store:s});return await Ne(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(gy(),hy)),a=await i(e.positional,{level:e.level,store:s});return await Ne(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(_y(),wy)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Ne(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(zi(),Ki)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Ne(e,a,o,s)}}catch(i){return Vn(i)?(process.stdout.write(i.render()),2):await Qi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Qi("wrapper failed",e.positional,n,r)}async function A8(e=process.argv.slice(2)){let t=Ea("rsp"),r=pw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
|
|
374
|
+
`:`${ww(t)}
|
|
375
|
+
`),0;if(r.kind==="help")return process.stdout.write(NA(e)),0;let n;try{n=fw(e)}catch(y){if(hw(y))return process.stdout.write(mw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Zi(),xu));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Zi(),xu));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(Wi(),Dg));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(Wi(),Dg));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(DC(),GC)),E=await y(process.cwd());return process.stdout.write(L_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(qC(),jC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(Kf(),Jf));return await y(n.positional)}if(n.command==="shell-init"){let y=n.positional[1];if(y!=="fish"&&y!=="bash"&&y!=="zsh")return process.stdout.write(ee({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(()=>(WC(),HC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),Ap)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),cn)),E=y(process.cwd()),w=await PA(o,E,_a(n.positional,1));return process.stdout.write(IA(w)),w.exitCode}let i=fA(n.command);if(!o.enabled)return i?await pA(n.positional):(process.stdout.write(`${_u()}
|
|
376
|
+
`),0);if(n.command==="git"&&Ou(n.positional)){let y=process.hrtime.bigint();return await Ne(n,await Au(),y,void 0,await Hg(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(wt(),cn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:y}=await Promise.resolve().then(()=>(we(),Aa)),E=y(l.rootDir,n.command);if(E)return await dA(n.positional,l.rootDir,E)}if(i&&uA(o.measurementHoldoutShare))return await cA(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(SP(),kP)),E=a(process.cwd()),w=vd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:w.socket??E.socketPath,pidPath:w["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:w["ttl-days"]??k.ttlDays,ephemeralTtlHours:w["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:w["byte-budget"]??k.byteBudget,telemetryTtlDays:w["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:w["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:w["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:w["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:w["idle-ms"]??k.idleMs,residentVersion:w["resident-version"]??t.version,registryPath:w.registry??E.registryPath}),0):(process.stdout.write(`${_u()}
|
|
377
|
+
`),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=vd(n.positional),w=s(process.cwd(),process.env,n.storeUri);if(!w.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),cn));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:w.storeUri,ttlDays:E["ttl-days"]??w.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??w.ephemeralTtlHours,byteBudget:E["byte-budget"]??w.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??w.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??w.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??w.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??w.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??w.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(cu(),au));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(wt(),cn)),w=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Xa(),gE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),Aa)),S=k(l.rootDir,o.overhead);return process.stdout.write(A_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(Ao(),OE)),E=bw(n.positional);if(!E)return process.stdout.write(ee({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 w=await y({path:E.path,params:E.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(w.stdout),w.stderr&&process.stderr.write(`${w.stderr}
|
|
378
|
+
`),w.status}if(n.command==="dashboard"){let y=await gv(o);return process.stdout.write(yv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!x8(O8(o.storeUri)))return i?await xC(n,o,l.rootDir):(process.stdout.write(ee({command:jt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(nr(),Qn)),f=(y=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:y,paths:l})),m=()=>c(l,u(o,t.version)).catch(y=>void p(y)),g=()=>f(),b;try{if(n.command==="stats"){let{stats:y,telemetry:E}=await Xn(o,_a(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),Aa));return process.stdout.write(O_(y,E,yw(n.positional),w(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(_a(n.positional,28))}catch(w){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:w instanceof Error?w.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(I_(E)),0}if(n.command==="git"){if(In(m()),Ou(n.positional)){let S=process.hrtime.bigint();return await Ne(n,await Au(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Pg)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Ne(n,k,w,E,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(py(),dy)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Ne(n,k,w,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(gy(),hy)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Ne(n,k,w,E,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(_y(),wy)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Ne(n,k,w,E,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(zi(),Ki)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Ne(n,k,w,E,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let E=await y.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await Cu(l.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(k),await Cu(l.rootDir,n.handle,!1,k.length),1}let w=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(w),await Cu(l.rootDir,n.handle,!1,w.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(y){if(Vn(y))return process.stdout.write(y.render()),2;if(i)return await Qi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();kg();Tg();function mle(e){return Vn(e)?{output:e.render(),status:2}:{output:ee({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"}),status:1}}export{A8 as main,vg as renderAutomaticCommandOutput,mle as renderCliFailure,Eg as renderStructuredBoundary};
|
|
379
379
|
/*! Bundled license information:
|
|
380
380
|
|
|
381
381
|
content-type/dist/index.js:
|