@reddb-io/red-skills 3.18.0 → 3.18.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/dist/brain.bundle.min.mjs +1 -1
- package/dist/code-nav.bundle.min.mjs +1 -1
- package/dist/dev.bundle.min.mjs +694 -690
- package/dist/memory.bundle.min.mjs +50 -50
- package/dist/redskilled-mcp.bundle.min.mjs +446 -443
- package/dist/redskilled.bundle.min.mjs +188 -188
- package/dist/rsp-core.bundle.min.mjs +196 -196
- package/dist/rsp.bundle.min.mjs +1 -1
- package/package.json +1 -1
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
|
-
var
|
|
2
|
+
var yP=Object.create;var ju=Object.defineProperty;var bP=Object.getOwnPropertyDescriptor;var wP=Object.getOwnPropertyNames;var _P=Object.getPrototypeOf,EP=Object.prototype.hasOwnProperty;var ta=(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)ju(e,r,{get:t[r],enumerable:!0})},kP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of wP(t))!EP.call(e,s)&&s!==r&&ju(e,s,{get:()=>t[s],enumerable:!(n=bP(t,s))||n.enumerable});return e};var ra=(e,t,r)=>(r=e!=null?yP(_P(e)):{},kP(t||!e||!e.__esModule?ju(r,"default",{value:e,enumerable:!0}):r,e));function RP(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 vP(e=Fy){return Object.entries(e).map(([t,r])=>RP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function TP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!TP(e))}function na(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 My(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=>My(r.trim())):e}function Yr(e,t){switch(t){case"boolean":return xP(e);case"number":return OP(e);case"array":return e.split(",").map(r=>na(r.trim()));case"string":default:return e}}function xP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function OP(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 hr(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function AP(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 CP(e){let t=[],r=IP(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 Ky(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=Ky(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=Ky(e,s+1,r)}return-1}function XP(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function ZP(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function eI(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 eI(e);if(typeof e=="string")return rI(e,t);throw F(0,"not a primitive")}function tI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return tI(e)?e:sa(e)}function rI(e,t){return Ju(e,t)?sa(e):e}function Ju(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||ZP(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function sa(e){return`"${zy(e)}"`}function zy(e){let t="",r=0;Wy.lastIndex=0;let n;for(;(n=Wy.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,Hy,Wy,rn=E(()=>{Kt();Xs();zt=",";Hy=/["\\\u0000-\u0008\u000a-\u001f]/g;Wy=/["\\\u0000-\u001f]/g});var Yy,nI,eo,Qy,nn,Xy,to=E(()=>{Yy={comma:",",tab:" ",pipe:"|"},nI=Yy.comma,eo=1e3,Qy=["type","kind","event"],nn="|",Xy=new Set(["order","discriminator","rows","common"])});function*eb(e,t,r,n,s,o,i){yield*tb(r,e,n,t,{index:0},s,i,!0,o)}function*tb(e,t,r,n,s,o,i,a,c){let l=sb(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(!oa(p.content,r,p.number))break;let f=en(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ia(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*nb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*rb(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 aI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&oa(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*rb(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*sI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*sI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*nb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=Zy(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=ia(e.children),d=r[o.cellIndex],p=ib(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+iI(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 _={index:o.nextIndex};yield*tb(p,e.children,a,s,_,i,c,!1,n.number),o.nextIndex=_.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*rb(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=Zy(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*nb(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 Zy(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function sb(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=ob(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 ob(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||!oa(p.content,n,p.number))return;let f=oI(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&&oa(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function oI(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=ib(r[c]);if(p===void 0)return;c++;let f=sb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=ob(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=ia(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function ib(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function ia(e){return e.reduce((t,r)=>t+ab(r),0)}function ab(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ia(e.children):1}function iI(e){return e.reduce((t,r)=>t+(r.children===void 0?ab(r):1),0)}function oa(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 aI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var cb=E(()=>{Kt();rn()});function cI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*lI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*uI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Qu(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(!dI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=ub(d,t);p=pI(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=$t(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 ub(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 pI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return aa(e,",",t,r);try{return aa(e,t,t,r)}catch(n){if(t===",")throw n;return aa(e,",",t,r)}}function aa(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(fI(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 fI(e,t,r,n){let s=$t(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?mI(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=ub(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=aa(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function mI(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 Xu(e){let t=0;for(let r of e)t+=r.children===void 0?1:Xu(r.children);return t}function Zu(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&&Zu(s.children,t,r)}}function $t(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 ed(e,t,r){if($t(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($t(e.slice(s,i))),s=i+1)}return n.push($t(e.slice(s))),n}function db(e,t){return gt(e,":",t)!==-1}function pb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function fb(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*mb(e){let t=new Ku,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*Vu(t,e);return}let n=null,s=!1;try{n=Qu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&la(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*bb(t,r,n,e):yield*rd(t,r,n,e),yield*Vu(t,e);return}if((n===null||s)&&!db(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be($t(r.content),r.number),line:r.number};return}yield*hb(t,0,r.number,e),yield*Vu(t,e)}function*Vu(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*hb(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*zu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*zu(e,t,r,n,s,o){let i=null;try{i=Qu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(la(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{Yu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*bb(e,{...t,depth:n},i,s):yield*rd(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=pb($t(r.slice(0,a)),t.number),l=$t(r.slice(a+1));if(Yu(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*hb(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 Yu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*rd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(Zu(r.fields,t.number,n),gb(r.fields,n)){if(!n.objectArrayColumns&&yb(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*eb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*gI(e,t,r,n);return}if(r.inline!==void 0){let i=ed(r.inline,r.delimiter,t.number);sd(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*hI(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 gb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&gb(r.children,t))}function yb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&yb(t.children))}function*hI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=$t(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=Qu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(la(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*rd(e,t,s,r);return}if(s!=null&&s.key!==void 0||db(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*zu(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*zu(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*gI(e,t,r,n){let s=r.fields,o=Xu(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(!yI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=ed(l.content,r.delimiter,l.number);sd(u.length,o,l.number,"row cells",n),yield*nd(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 yI(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*nd(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*nd(s.children,t,r,n);yield{type:"endObject",line:n}}function*bb(e,t,r,n){let s=r.fields;Zu(s,t.number,n);let o=Xu(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=pb($t(u.content.slice(0,d)),u.number);Yu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=ed(u.content.slice(d+1),r.delimiter,u.number);sd(f.length,o,u.number,"entry row cells",n),yield*nd(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 sd(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function wb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function la(e,t,r,n=1){if(e!==void 0){wb(n,t,r);for(let s of e)s.children!==void 0&&la(s.children,t,r,n+1)}}function*_b(e,t){let r=fb(t),n=new ca(r),s=lI(e,n),o=mb(r),i=o.next();try{for(;!i.done;)if(i.value===td){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw kb(a,n)}finally{o.return(),s.return(void 0)}}async function*Eb(e,t){let r=fb(t),n=new ca(r),s=uI(e,n),o=mb(r),i=o.next();try{for(;!i.done;)if(i.value===td){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw kb(a,n)}finally{o.return(),await s.return(void 0)}}function kb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Mn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function od(e,t){return Symbol.asyncIterator in e?Eb(e,t):_b(e,t)}var ca,dI,td,lb,Ku,ua=E(()=>{Kt();rn();to();cb();ca=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(cI(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,wb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};dI=/^(0|[1-9]\d*)$/;td=Symbol("need line"),lb=2,Ku=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=lb)throw new Error(`decoder lookahead exceeds ${lb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield td;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 Sb(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)jn(t,String(r),Qe(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Sb(r,"object key"),jn(t,r,Qe(e[r]));return t}return null}function Sb(e,t){if(bI.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 jn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var bI,qn=E(()=>{Xs();bI=/[\uD800-\uDFFF]/});function Tb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=wI(n,1);if(s===void 0)return e;tn(t,r,s)}return t}function wI(e,t){if(!ne(e)||!_I(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=EI(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 xb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Xy.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 id(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw id(t);return l.set(d,m+1),kI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw id(t);return u}function _I(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function EI(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=>TI(u,r));if(a.some(u=>u===""))throw xe(r);let c=vI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw xb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function kI(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(SI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}return o}function SI(e,t){let r={};for(let[n,s]of Object.entries(e))RI(r,n.split("."),s,t);return da(r,t)}function RI(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 da(e,t){return Array.isArray(e)?e.map(r=>da(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 da(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,da(n,t)])):e}function vI(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 TI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Rb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function xb(e){return F(e,"cyclic array length mismatch")}function id(e){return F(e,"cyclic array group length mismatch")}function Ob(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=xI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)PI(n,s,o);return n.join("")}function xI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=OI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=AI(r);if(n===void 0)return;let s=CI(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)&&!ad(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=LI(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 OI(e){return Qy.find(t=>e.every(r=>typeof r[t]=="string"))}function AI(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(Rb).join(","),o=`cycle(${r.map(Rb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function CI(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(!II(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Zs(i[o])))break;r.push(o)}return r}function PI(e,t,r){e.push(Te(t),`:
|
|
9
|
+
`));let n=LP(e.options);t.push(...n)}return t}function PP(e,t){let r=CP(e);return AP(r,t)}function IP(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 LP(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 By(e){let t=BP(e.options??{},e.autoShort??!1),r=vP(e.separators??Fy);return{schema:e,parse(n){return GP(n,e,t,r)},help(){return PP(e,e.formatter)}}}function GP(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?Yr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Yr(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=FP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!WP(u)){c=MP(u,c,e,s,r,t);continue}let d=$P(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?My(f):hr(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?Yr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Yr(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 qP(s,t,r),UP(s,t,a),HP(s,t,r),s}function $P(e,t){if(SP.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(NP(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(DP(s,o,r))return{key:s,value:o,config:r}}}return null}function NP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function DP(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 FP(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 sa(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)?sa(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 MP(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=qu(c,s);return u?sa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=na(hr(l))),t+1)}if(i.length===1){let a=qu(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?sa(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]=na(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=qu(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 sa(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Yr(hr(t),i.type):hr(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Yr(hr(t),i.type):hr(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]=na(hr(t)));return r}function BP(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=jP(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 jP(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 qu(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function qP(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?Yr(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 UP(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 HP(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 WP(e){return/^-\d+(\.\d+)?$/.test(e)}var Fy,SP,jy=_(()=>{Fy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},SP=/^[a-z][a-z0-9+.-]*:\/\//i});function JP(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 VP(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 Qs(e,t,r={}){let s=By({options:JP(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=VP(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 Uu(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 YP(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 Qr(e,t,r={}){let n=YP(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=KP.exec(c)??zP.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 Hu(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 Ys(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Uu,KP,zP,Ys,Wu=_(()=>{jy();Uu=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}};KP=/^--([^=]+)(?:=([\s\S]*))?$/,zP=/^-([^-=])(?:=([\s\S]*))?$/;Ys=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 Uy(e){return QP.test(e)}var QP,qy,Hy=_(()=>{QP=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,qy="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new gr(e,t,r)}function Y(e,t){return new Xr(e,t)}function Bn(e){return e instanceof Xr?e:e instanceof gr?new Xr(e.line,e.reason):new Xr(0,String(e&&e.message?e.message:e))}var Mn,gr,Xr,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}},gr=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}},Xr=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 Zr(e){return e instanceof Ju}var XP,Ju,Xs=_(()=>{XP=/(?:^\uFEFF?|\n) *#/,Ju=class{value;constructor(t){if(XP.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function Vy(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 Ky(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(ZP(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function yr(e,t){let r=e.trim();if(r.startsWith('"'))return[Ky(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Ky(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){Wy.lastIndex=n;let s=Wy.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 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 ZP(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function eI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function tI(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 tI(e);if(typeof e=="string")return nI(e,t);throw F(0,"not a primitive")}function rI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return rI(e)?e:oa(e)}function nI(e,t){return Vu(e,t)?oa(e):e}function Vu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||eI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function oa(e){return`"${Yy(e)}"`}function Yy(e){let t="",r=0;Jy.lastIndex=0;let n;for(;(n=Jy.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,Wy,Jy,rn=_(()=>{Kt();Xs();zt=",";Wy=/["\\\u0000-\u0008\u000a-\u001f]/g;Jy=/["\\\u0000-\u001f]/g});var Qy,sI,eo,Xy,nn,Zy,to=_(()=>{Qy={comma:",",tab:" ",pipe:"|"},sI=Qy.comma,eo=1e3,Xy=["type","kind","event"],nn="|",Zy=new Set(["order","discriminator","rows","common"])});function*tb(e,t,r,n,s,o,i){yield*rb(r,e,n,t,{index:0},s,i,!0,o)}function*rb(e,t,r,n,s,o,i,a,c){let l=ob(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(!ia(p.content,r,p.number))break;let f=en(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:aa(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*sb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*nb(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 cI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&ia(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*nb(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*oI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*oI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*sb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=eb(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=aa(e.children),d=r[o.cellIndex],p=ab(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+aI(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*rb(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*nb(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=eb(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*sb(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 eb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function ob(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=ib(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 ib(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||!ia(p.content,n,p.number))return;let f=iI(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&&ia(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function iI(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=ab(r[c]);if(p===void 0)return;c++;let f=ob(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=ib(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=aa(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function ab(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function aa(e){return e.reduce((t,r)=>t+cb(r),0)}function cb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?aa(e.children):1}function aI(e){return e.reduce((t,r)=>t+(r.children===void 0?cb(r):1),0)}function ia(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 cI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var lb=_(()=>{Kt();rn()});function lI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*uI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*dI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Xu(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(!pI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=db(d,t);p=fI(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=$t(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 db(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 fI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return ca(e,",",t,r);try{return ca(e,t,t,r)}catch(n){if(t===",")throw n;return ca(e,",",t,r)}}function ca(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(mI(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 mI(e,t,r,n){let s=$t(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?hI(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=db(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=ca(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function hI(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 Zu(e){let t=0;for(let r of e)t+=r.children===void 0?1:Zu(r.children);return t}function ed(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&&ed(s.children,t,r)}}function $t(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 td(e,t,r){if($t(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($t(e.slice(s,i))),s=i+1)}return n.push($t(e.slice(s))),n}function pb(e,t){return gt(e,":",t)!==-1}function fb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function mb(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*hb(e){let t=new zu,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*Ku(t,e);return}let n=null,s=!1;try{n=Xu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&ua(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*wb(t,r,n,e):yield*nd(t,r,n,e),yield*Ku(t,e);return}if((n===null||s)&&!pb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be($t(r.content),r.number),line:r.number};return}yield*gb(t,0,r.number,e),yield*Ku(t,e)}function*Ku(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*gb(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*Yu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Yu(e,t,r,n,s,o){let i=null;try{i=Xu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(ua(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{Qu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*wb(e,{...t,depth:n},i,s):yield*nd(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=fb($t(r.slice(0,a)),t.number),l=$t(r.slice(a+1));if(Qu(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*gb(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 Qu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*nd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(ed(r.fields,t.number,n),yb(r.fields,n)){if(!n.objectArrayColumns&&bb(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*tb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*yI(e,t,r,n);return}if(r.inline!==void 0){let i=td(r.inline,r.delimiter,t.number);od(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*gI(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 yb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&yb(r.children,t))}function bb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&bb(t.children))}function*gI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=$t(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=Xu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(ua(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*nd(e,t,s,r);return}if(s!=null&&s.key!==void 0||pb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Yu(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*Yu(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*yI(e,t,r,n){let s=r.fields,o=Zu(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(!bI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=td(l.content,r.delimiter,l.number);od(u.length,o,l.number,"row cells",n),yield*sd(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 bI(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*sd(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*sd(s.children,t,r,n);yield{type:"endObject",line:n}}function*wb(e,t,r,n){let s=r.fields;ed(s,t.number,n);let o=Zu(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=fb($t(u.content.slice(0,d)),u.number);Qu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=td(u.content.slice(d+1),r.delimiter,u.number);od(f.length,o,u.number,"entry row cells",n),yield*sd(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 od(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function _b(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function ua(e,t,r,n=1){if(e!==void 0){_b(n,t,r);for(let s of e)s.children!==void 0&&ua(s.children,t,r,n+1)}}function*Eb(e,t){let r=mb(t),n=new la(r),s=uI(e,n),o=hb(r),i=o.next();try{for(;!i.done;)if(i.value===rd){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Sb(a,n)}finally{o.return(),s.return(void 0)}}async function*kb(e,t){let r=mb(t),n=new la(r),s=dI(e,n),o=hb(r),i=o.next();try{for(;!i.done;)if(i.value===rd){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Sb(a,n)}finally{o.return(),await s.return(void 0)}}function Sb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Mn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function id(e,t){return Symbol.asyncIterator in e?kb(e,t):Eb(e,t)}var la,pI,rd,ub,zu,da=_(()=>{Kt();rn();to();lb();la=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(lI(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,_b(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};pI=/^(0|[1-9]\d*)$/;rd=Symbol("need line"),ub=2,zu=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=ub)throw new Error(`decoder lookahead exceeds ${ub} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield rd;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 Rb(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)jn(t,String(r),Qe(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Rb(r,"object key"),jn(t,r,Qe(e[r]));return t}return null}function Rb(e,t){if(wI.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 jn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var wI,qn=_(()=>{Xs();wI=/[\uD800-\uDFFF]/});function xb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=_I(n,1);if(s===void 0)return e;tn(t,r,s)}return t}function _I(e,t){if(!ne(e)||!EI(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=kI(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 Ob(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Zy.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 ad(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw ad(t);return l.set(d,m+1),SI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw ad(t);return u}function EI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function kI(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=>xI(u,r));if(a.some(u=>u===""))throw xe(r);let c=TI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Ob(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function SI(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(RI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}return o}function RI(e,t){let r={};for(let[n,s]of Object.entries(e))vI(r,n.split("."),s,t);return pa(r,t)}function vI(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 pa(e,t){return Array.isArray(e)?e.map(r=>pa(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 pa(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,pa(n,t)])):e}function TI(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 xI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function vb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Ob(e){return F(e,"cyclic array length mismatch")}function ad(e){return F(e,"cyclic array group length mismatch")}function Ab(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=OI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)II(n,s,o);return n.join("")}function OI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=AI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=CI(r);if(n===void 0)return;let s=PI(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)&&!cd(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=GI(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 AI(e){return Xy.find(t=>e.every(r=>typeof r[t]=="string"))}function CI(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(vb).join(","),o=`cycle(${r.map(vb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function PI(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(!LI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Zs(i[o])))break;r.push(o)}return r}function II(e,t,r){e.push(Te(t),`:
|
|
13
13
|
`),e.push(" order: ",ve(r.order.encoded,nn),`
|
|
14
14
|
`),e.push(" discriminator: ",ve(r.discriminator,nn),`
|
|
15
15
|
`),e.push(" rows: ",String(r.rows.length),`
|
|
16
|
-
`),r.common.length>0&&
|
|
16
|
+
`),r.common.length>0&&Tb(e,"common",r.common,r.commonRows);for(let n of r.groups)Tb(e,n.label,n.fields,n.rows)}function Tb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),nn,"]{",r.map(Te).join(nn),`}:
|
|
17
17
|
`);for(let s of n)e.push(" ",r.map(o=>ve(s[o],nn)).join(nn),`
|
|
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
|
|
26
|
-
`},end(){return d?"":(d=!0,f())}}}var
|
|
27
|
-
`)}function
|
|
28
|
-
`).trim()}var bt=
|
|
29
|
-
`,{encoding:"utf8",mode:384}),
|
|
30
|
-
`||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n
|
|
18
|
+
`)}function LI(e){return e!==""&&ld(e)}function cd(e,t,r,n=new Set){if(!ld(t))return!1;if(Zs(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)=>cd(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(".")&&cd(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function GI(e){let t=Object.keys(e[0]??{});if(e.every(r=>$I(Object.keys(r),t)))return t.every(ld)?t:void 0}function $I(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function ld(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var ud=_(()=>{to();qn();Kt();rn()});function dd(e,t){let r=pd(e,t,[]),n=t("",r,[]);return n===void 0?r:Qe(n)}function pd(e,t,r){return Array.isArray(e)?DI(e,t,r):ne(e)?NI(e,t,r):e}function NI(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,pd(o,t,i),i);a!==void 0&&jn(n,s,Qe(a))}return n}function DI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),pd(e[s],t,o),o);i!==void 0&&n.push(Qe(i))}return n}var Cb=_(()=>{qn()});function Ib(e){let t=[],r,n=Pb,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===Pb?{}:n}function Lb(e,t){let r=Ib(id(e,t));return t?.reviver?dd(r,t.reviver):r}function fd(e,t){let{reviver:r,...n}=t??{},s=Lb(FI(e),n),o=t?.cyclicDiscriminatedArrays===!0?xb(s):s;return r?dd(o,r):o}function*FI(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 Pb,fa=_(()=>{da();ud();Cb();Pb=Symbol("unset")});function Gb(e,t){let r=t("",e,[]);return r===void 0?md(e,t,[]):hd(e,r,t,[])}function hd(e,t,r,n){return Zr(t)&&(Array.isArray(e)||ne(e))?md(e,r,n):md(Qe(t),r,n)}function md(e,t,r){return Array.isArray(e)?BI(e,t,r):ne(e)?MI(e,t,r):e}function MI(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,hd(o,a,t,i))}return n}function BI(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(hd(e[s],i,t,o))}return n}var $b=_(()=>{qn();Xs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=Nb(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(rt)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(rt))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=Nb(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 ma(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 Nb(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(rt))?t:void 0}var Db=_(()=>{qn()});function M(e,t={}){return Array.from(Fb(e,t)).join(`
|
|
20
|
+
`)}function Fb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??eo,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Qe(e),a=t.replacer?Gb(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=Ab(a);if(l!==void 0)return l.trimEnd().split(`
|
|
21
|
+
`)}return jI(a,c)}function jI(e,t){if(rt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Bb(void 0,e,0,t);let r=ma(e,t);return r===void 0?ha(e,0,t):Mb(void 0,e,r,0,t)}function ha(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>qI(n,s,t,r))}function qI(e,t,r,n){let s=he(r,n)+Te(e);if(rt(t))return[`${s}: ${ve(t,n.delimiter)}`];if(Array.isArray(t))return Bb(e,t,r,n);let o=ma(t,n);if(o!==void 0)return Mb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ha(t,r+1,n)),i}function Mb(e,t,r,n,s){Wn(n,s);let o=Object.entries(t);ro(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 Bb(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(rt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+yd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return UI(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...gd(a,r+1,n));return i}function UI(e,t,r,n,s){ro(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 gd(e,t,r){Wn(t,r);let n=he(t,r)+"-";if(rt(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(rt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${yd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...gd(o,t+1,r));return s}return HI(e,t,r)}function HI(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=WI(s,o,t,r),c;if(a!==void 0)c=a;else if(rt(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(...gd(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ha(o,t+2,r));return i.length>0&&c.push(...ha(Object.fromEntries(i),t+1,r)),c}function WI(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(rt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+yd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Un(t,n);if(s!==void 0){ro(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=ma(t,n);if(s!==void 0){ro(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?"":`{${jb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function jb(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?"":`{${jb(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=>JI(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 JI(e,t,r){return typeof e!="string"?ve(e,t):Vu(e,t)||e.includes(r)?oa(e):e}function yd(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 ro(e,t,r){Wn(t,r);for(let n of e)n.children!==void 0&&ro(n.children,t+1,r)}var no=_(()=>{rn();Kt();to();qn();$b();Db();ud()});var qb=_(()=>{});var Ub=_(()=>{Kt();da()});var Hb=_(()=>{no()});function KI(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 tw(e,t){if(!ew.test(e))throw Y(t,"invalid tag")}function zI(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!ew.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 YI(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(!Xb.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),tw(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=en(u,a,t).map(p=>yr(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 QI(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 Wb(e,t,r,n){let s;try{s=en(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 XI(e,t,r){let n={};return e.forEach((s,o)=>{try{tn(n,s,Be(t[o],r))}catch(i){throw Bn(i)}}),n}function ZI(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=KI(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=YI(e,t);if(s!==null)return s.continuation?(QI(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=zI(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:Wb(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:Wb(e,r.delimiter,r.fields.length,t)}}function eL(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>=Zb)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(Vy(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=ZI(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 eL(e).flatMap(t=>t.rows.map(r=>XI(t.fields,r,0)))}function tL(e){if(!Xb.includes(e))throw Y(0,"invalid header delimiter")}function Jb(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
|
|
22
|
+
`}function Vb(e,t){return`[]<${e}>{${t}}:
|
|
23
|
+
`}function bd(e,t){return t.map(Te).join(e)}function rL(e){if(!Array.isArray(e)||e.length===0)throw Y(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=yr(String(t),0)}catch(n){throw Bn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function Kb(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function zb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function nL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function Yb(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=>!Zs(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function sL(e){return JSON.stringify([...e].sort())}function Qb(e,t){let r=sL(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}={}){tL(e),zb(r),zb(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=()=>nL(p,c,l)?(c=0,l=0,Jb(e,o,!0)):"",g=b=>{tw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=Zb)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=Qb(Yb(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=bd(e,s),a=0,c=0,l=0,E+=Jb(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=rL(y),w=bd(zt,E),k=g(b);return Kb(k.fields,E)?"":(k.fields=E,Vb(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),w=Qb(Yb(y),E.fieldsByShape),k=bd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return Kb(E.fields,w)||(E.fields=w,T+=Vb(b,k)),`${T}${b}:${S.join(zt)}
|
|
26
|
+
`},end(){return d?"":(d=!0,f())}}}var Xb,Zb,ew,d4,p4,rw=_(()=>{Kt();fa();no();rn();Xb=[zt,"|"," "],Zb=8,ew=/^[A-Za-z0-9_-]+$/,d4=new TextEncoder,p4=new TextDecoder});var z,V=_(()=>{fa();no();qb();Kt();to();Ub();no();Xs();rn();da();fa();Hb();rw();z=fd});function iL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(wd(e))}
|
|
27
|
+
`)}function wd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??iL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=aL(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)&&Uy(s)?{command:e,category:"transient",error:so(s)||"GitHub API rate limit exceeded",help:qy,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:so(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:so(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:so(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:so(s)||"command failed",help:`${e} --help`,diagnostics:s}}function nw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function so(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function aL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
|
|
28
|
+
`).trim()}var bt=_(()=>{"use strict";Hy();V()});function ba(e){let t={app:e,version:bL(Vn("__RED_BUILD_VERSION__",()=>"3.18.2")??"0.0.0-dev"),gitSha:Vn("__RED_BUILD_GIT_SHA__",()=>"303b09c61e893e90c283f0a42888f0e2df3abc44")??"unknown",buildTime:Vn("__RED_BUILD_TIME__",()=>"2026-08-13T03:47:23-03:00")??"unknown",bundleAsset:Vn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Vn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Vn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function bL(e){return e.startsWith("v")?e.slice(1):e}function pw(e){return`${e.app} ${e.version} ${e.gitSha}`}function Vn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var Ed=_(()=>{});import{isAbsolute as wL,join as Yt,resolve as kd}from"node:path";function kL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function mw(e){return Yt(kL(e),fw)}function hw(e){return Yt(mw(e),"state")}function gw(e){return Yt(mw(e),"tmp")}function ce(e){return Yt(hw(e),"rsp")}function SL(e){return Yt(hw(e),"red-skills.rdb")}function RL(e){return Yt(gw(e),"red-skills.rdb")}function ww(e,t){let r=SL(e);if(t(r))return r;let n=RL(e);if(t(n))throw vL();return r}function vL(){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 _w(e){return Yt(gw(e),"waits")}function Ew(e){let t=e.overrideEnvVars??Sd;for(let n of t){let s=e.env[n];if(s)return wL(s)?s:kd(e.startDir,s)}let r=kd(e.startDir);for(;;){if(e.exists(Yt(r,fw)))return r;let n=Yt(r,".."),s=kd(n);if(s===r)break;r=s}return e.startDir}var fw,_L,EL,Sd,yw,bw,Xe=_(()=>{fw=".red",_L="MEMORY_ROOT",EL="RED_BRAIN_ROOT",Sd=[_L,EL];yw=".red/state/red-skills.rdb";bw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var TL,xL,s3,Qt=_(()=>{V();Xe();TL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],xL=[{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"}],s3=[...TL,...xL]});function oo(e){let{values:t,rest:r}=Qr(e,{query:kw.query},Sw);return{argv:r,query:t.query?.trim()||void 0}}function Rw(e){let{values:t,rest:r}=Qr(e,kw,Sw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function OL(e,t){if(!t)return!0;let r=Rd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>OL(r,t)):[...e]}function Xt(e,t){return vd(e,t,{includeLegacyHelp:!0})}function vd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Rd(e){return Array.isArray(e)?e.map(Rd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Rd).join(" "):String(e??"")}var kw,Sw,io=_(()=>{"use strict";Wu();kw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Sw={stopAtSeparator:!1}});var Ta={};se(Ta,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>wa,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>_a,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>ka,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Sa,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ea,RSP_OVERHEAD_FAMILIES:()=>$L,RSP_OVERHEAD_LEDGER_FILE:()=>xw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Ow,classifyOverheadSample:()=>Od,noteChildProcessMs:()=>Cw,noteSelfStateBytesRead:()=>co,overheadCounters:()=>Ld,overheadFamilyDisabled:()=>NL,overheadHealth:()=>wr,overheadLedgerPath:()=>Ad,overheadMsOf:()=>Aw,overheadTelemetryFields:()=>Ra,readOverheadLedger:()=>ao,readSelfStateFile:()=>va,readSelfStateFileSync:()=>ML,recordOverheadSample:()=>Cd,resetOverheadCounters:()=>FL,resetOverheadLedger:()=>DL,startChildProcessTimer:()=>Ze});import{existsSync as AL,mkdirSync as CL,readFileSync as vw,renameSync as PL,writeFileSync as IL}from"node:fs";import{readFile as LL}from"node:fs/promises";import{dirname as GL,join as Tw}from"node:path";function Aw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,xd(t)):0}function Od(e,t=Zt){let r=Aw(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 Ra(e,t=Zt){let r=Od(e,t);return{wrapper_ms:xd(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:xd(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 Ad(e){return Tw(ce(e),xw)}function ao(e){try{let t=vw(Ad(e),"utf8"),r=UL(t);if(HL(r))return r}catch{}return{version:1,families:{}}}function Cd(e,t,r=Zt,n=Date.now()){let s=ao(e),o=Od(t,r),i=s.families[t.family]??qL(t.family,n),a=Gd(i,n)?Pw(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=BL(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,Iw(e,s),l}function NL(e,t,r=Date.now()){let n=ao(e).families[t];return!n?.disabled||Gd(n,r)?null:n}function DL(e,t){let r=ao(e);return t?delete r.families[t]:r.families={},Iw(e,r),r}function wr(e,t=Zt,r=Date.now()){let n=Object.values(ao(e).families).map(a=>Gd(a,r)?Pw(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:Ow,verdict:i,summary:jL(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function co(e){Number.isFinite(e)&&e>0&&(Pd+=e)}function Cw(e){Number.isFinite(e)&&e>0&&(Id+=e)}function Ld(){return{selfStateBytesRead:Pd,childMs:Id}}function FL(){Pd=0,Id=0}function Ze(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Cw(Number(process.hrtime.bigint()-e)/1e6))}}async function va(e){let t=await LL(e,"utf8");return co(Buffer.byteLength(t)),t}function ML(e){let t=vw(e,"utf8");return co(Buffer.byteLength(t)),t}function BL(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 jL(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 Gd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Pw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function qL(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 Iw(e,t){try{let r=Ad(e);if(!AL(Tw(e,".red")))return;CL(GL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;IL(n,`${M(t)}
|
|
29
|
+
`,{encoding:"utf8",mode:384}),PL(n,r)}catch{}}function UL(e){try{return JSON.parse(e)}catch{return z(e)}}function HL(e){return!Td(e)||e.version!==1||!Td(e.families)?!1:Object.values(e.families).every(WL)}function WL(e){return Td(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Td(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xd(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var xw,Ow,wa,_a,Ea,ka,Sa,$L,Zt,Pd,Id,we=_(()=>{"use strict";Xe();V();xw="overhead-budget.toon",Ow="red.rsp.overhead.v1",wa=250,_a=1024*1024,Ea=64*1024,ka=3,Sa=6*60*60*1e3,$L=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:wa,maxSelfStateBytes:_a,netLossFloorBytes:Ea,consecutiveBreaches:ka,cooldownMs:Sa};Pd=0,Id=0});function $w(e){return e.trimStart().startsWith("{")?"json":"toon"}function Nd(e){let t=0;for(;e[t]===`
|
|
30
|
+
`||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=$w(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 Dd(e){let t=$w(e)==="json"?$d:Lw,r=t===$d?Lw:$d;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function $d(e){return JSON.parse(e)}function Lw(e){return z(e)}function Fd(e,t){if(t==="toon"){let r=VL(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(
|
|
38
|
+
`}function VL(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 Nw(e,t){return!Gw(e)||!Gw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Gw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fw(e){return Dw.has(e)?"json":JL}function Mw(e){Dw.add(e)}var JL,Dw,Bw=_(()=>{V();JL="toon";Dw=new Set});import{createHash as KL}from"node:crypto";import{constants as Md}from"node:fs";import{mkdir as qw,open as zL,readFile as YL,rm as Uw,stat as QL}from"node:fs/promises";import{createConnection as XL}from"node:net";import{tmpdir as ZL}from"node:os";import{dirname as Hw,join as lo}from"node:path";async function Ww(e,t,r="resident server"){let n=e.wire,s=n??Fw(e.socketPath),o=await jw(e,t,r,s);return n||s==="json"||!Nw(t,o)?o:(Mw(e.socketPath),await jw(e,t,r,"json"))}async function jw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=XL(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(Fd(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Nd(l);f&&(l=f.rest,d(()=>{try{o(Dd(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 Jw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Nd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Fd(a,o.dialect))}catch{}};(async()=>{let a;try{a=Dd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Bd(e){await qw(Hw(e),{recursive:!0,mode:448});try{return await zL(e,Md.O_CREAT|Md.O_EXCL|Md.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Kw(e,t={}){let r=t.maxAgeMs??tG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await qw(Hw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Bd(e);if(c)return await c.writeFile(`${Vw} pid=${s} taken=${new Date(n()).toISOString()}
|
|
39
|
+
`).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await sG(e),u=await iG(e,l,n());if(a>=rG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=nG(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 Uw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function zw(e){await e.handle.close().catch(()=>{}),await Uw(e.lockPath,{force:!0})}function nG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Yw(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 sG(e){try{return oG(await YL(e,"utf8"))}catch{return null}}function oG(e){let t=e.split(`
|
|
40
|
+
`,1)[0]?.trim()??"";if(!t.startsWith(Vw))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 iG(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 QL(e)).mtimeMs)}catch{return null}}function _r(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function jd(e,t=1e3){if(!_r(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function Qw(e){let t=e.env??process.env,r=KL("sha256").update(e.key).digest("hex").slice(0,20),n=c=>lo(c,e.socketFileName).length<eG,s=t.XDG_RUNTIME_DIR;if(s){let c=lo(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=lo(`red-skills-${o}`,r),a=lo(ZL(),i);return n(a)||process.platform==="win32"?a:lo(aG,i)}var eG,tG,Vw,rG,aG,xa=_(()=>{Bw();eG=108;tG=6e4,Vw="resident-spawn-lock v1",rG=3;aG="/tmp"});async function Kn(e,t){return await Ww(e,t,"resident rsp server")}var qd=_(()=>{xa()});var Xw=_(()=>{"use strict";qd()});import{existsSync as cG,readdirSync as lG}from"node:fs";import{homedir as uG}from"node:os";import{basename as Hd,dirname as Ud,join as nt,resolve as Oa}from"node:path";function dG(e){return"command"in e}function Aa(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??cG,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&&mG(i))return a(Oa(i),"caller-entry");let c=[];for(let[l,u]of gG(i,t.rootDir,r,t.listDir??_G))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:Oa(i)}:{}}}function e_(e={},t={}){let r=Aa(e,t);if(dG(r))return r;throw new zn(r)}function mG(e){let t=Hd(e);return t===sn||Wd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:hG(Oa(e))}function hG(e){let t=Ud(e);for(let r=0;r<4;r++){if(Hd(t)==="rsp")return!0;let n=Ud(t);if(n===t)return!1;t=n}return!1}function*gG(e,t,r,n){if(e){let o=Ud(Oa(e));yield[nt(o,sn),"caller-sibling-bundle"];let i=pG.exec(Hd(e));i&&(yield[nt(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[nt(o,"..","dist",sn),"caller-sibling-bundle"]}for(let o of fG){let i=r[o];i&&(yield[nt(i,"dist",sn),"plugin-root-bundle"],yield[nt(i,"..","..","dist",sn),"plugin-root-bundle"])}t&&(yield[nt(t,"dist",sn),"repo-bundle"],yield[nt(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[nt(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=yG(r);yield[nt(s,sn),"bundle-cache"];for(let o of bG(s,n))yield[nt(s,o),"bundle-cache"]}function yG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||nt(e.HOME||uG(),".cache");return nt(t,"red-skills","bundles")}function bG(e,t){return t(e).filter(r=>Wd.test(r)).sort((r,n)=>wG(Zw(n),Zw(r)))}function Zw(e){return Wd.exec(e)?.[1]??""}function wG(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 _G(e){try{return lG(e)}catch{return[]}}var er,zn,sn,pG,Wd,fG,Jd=_(()=>{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})`:""}
|
|
41
41
|
searched:
|
|
42
42
|
${t.searched.map(r=>` ${r}`).join(`
|
|
43
|
-
`)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},sn="rsp.bundle.min.mjs",
|
|
44
|
-
`)});if(r.acquired)try{if(await
|
|
45
|
-
`,{encoding:"utf8",mode:384}),await
|
|
43
|
+
`)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},sn="rsp.bundle.min.mjs",pG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Wd=/^rsp-(.+)\.bundle\.min\.mjs$/,fG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as o_}from"node:crypto";import{spawn as i_}from"node:child_process";import{readFileSync as EG}from"node:fs";import{mkdir as zd,readFile as a_,rename as kG,rm as rr,stat as SG,writeFile as RG}from"node:fs/promises";import{dirname as on,join as tr,resolve as Yd}from"node:path";import{fileURLToPath as vG}from"node:url";function st(e){let t=DG(e)??Yd(e),r=NG(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 Ca(e,t){if(await zd(on(e.socketPath),{recursive:!0,mode:448}),await n_(e.socketPath,t))return;await r_(e,t);let r=await Kw(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)
|
|
44
|
+
`)});if(r.acquired)try{if(await n_(e.socketPath,t))return;await r_(e,t),await OG(e.socketPath);let n=CG(e,t);await t_(e.socketPath,n);return}finally{await zw(r)}try{await t_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Yw(r)}`)}}async function an(e,t=200){try{return await l_(e,t)!=null}catch{return!1}}async function l_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:o_(),op:"ping"});return r.ok?m_(r.value)?{version:jG(r.value.version)}:{}:null}async function Pa(e,t){if(await zd(on(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await AG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=p_(e,t);return i_(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 u_(e,t){try{await Ca(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function po(e){try{let t=LG(await a_(e,"utf8"));return qG(t)?t:null}catch{return null}}async function Ia(e,t){let r={version:c_,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 zd(on(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await RG(n,`${M(r)}
|
|
45
|
+
`,{encoding:"utf8",mode:384}),await kG(n,e)}async function La(e,t=process.pid){try{let r=await po(e);if(r&&r.pid!==t)return;await rr(e,{force:!0})}catch{}}async function uo(e){let t=await po(e.registryPath);if(!t)try{return await a_(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!_r(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await an(t.socket_path,100);return r&&await $G(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 d_(e){let t=await uo(e);return t.state==="registered-dead"||t.state==="invalid"?(await rr(e.registryPath,{force:!0}),await uo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await jd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await uo(e)):t}async function t_(e,t){let r=Date.now()+xG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Vd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Vd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Vd("resident rsp server did not start",t):"resident rsp server did not start")}function xG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:TG}async function OG(e){await rr(e,{force:!0})}function CG(e,t){let[r,n]=p_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=i_(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=IG(`${i}${c}`,PG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Vd(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 IG(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function LG(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function r_(e,t){try{let r=await po(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!_r(r.pid)){await rr(e.registryPath,{force:!0});return}if(await an(r.socket_path,100))return;if(f_(t.clientVersion,r.resident_version)&&(await GG(r.pid,1500),!_r(r.pid))){await rr(e.registryPath,{force:!0});return}await jd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function GG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function $G(e){if(!e.startsWith("file://"))return!1;try{return await SG(vG(e)),!1}catch(t){return t.code==="ENOENT"}}function p_(e,t){let r=e_(t,{rootDir:e.rootDir});return[r.command,r.args]}function NG(e){return Qw({key:e,socketFileName:"rsp.sock"})}function DG(e){let t=Yd(e);for(let r=0;r<32;r++){try{let s=Kd(tr(t,".git"));if(s!=null)return FG(t,s)??t;if(Kd(tr(t,".git","HEAD"))!=null||Kd(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=on(t);if(n===t)return null;t=n}return null}function FG(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Yd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?on(on(on(n))):null}function Kd(e){try{return EG(e,"utf8")}catch{return null}}async function n_(e,t){let r=await l_(e).catch(()=>null);return r?f_(t.clientVersion,r.version)?(await MG(e,t.clientVersion),await UG(e),!1):!0:!1}async function MG(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:o_(),op:"handover",clientVersion:t})}catch{}}function f_(e,t){return!e||!t?!1:BG(e,t)>0}function BG(e,t){let r=s_(e),n=s_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function s_(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 m_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jG(e){return typeof e=="string"&&e.length>0?e:void 0}function qG(e){return m_(e)&&e.version===c_&&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 UG(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var c_,TG,AG,PG,Ga=_(()=>{V();Xe();xa();qd();Jd();Jd();c_=1,TG=5e3;AG=Bd;PG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>fo,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Ca,kickResidentServer:()=>Pa,pingResident:()=>an,readResidentRegistry:()=>po,removeResidentRegistry:()=>La,residentRegistryStatus:()=>uo,resolveResidentPaths:()=>st,resolveRspEntry:()=>Aa,sweepResidentRegistry:()=>d_,warmResidentServer:()=>u_,writeResidentRegistry:()=>Ia});import{randomUUID as HG}from"node:crypto";function h_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fo,wt=_(()=>{"use strict";Xw();Ga();fo=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?h_(r)&&r.status==="expired"?r:!h_(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 Ca(this.paths,this.config);let r=await Kn(this.paths,{...t,id:HG()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Xd(e,t,r=g_){let n=Math.max(0,Math.floor(e)),s=r in y_?r:g_,o=y_[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:Qd(n,o),dollars_saved_low_usd:i==null?null:Qd(i,o),dollars_saved_high_usd:a==null?null:Qd(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:WG}}function Qd(e,t){return JG(Math.max(0,e)/1e6*t)}function mo(e){return`$${e.toFixed(6)}`}function JG(e){return Math.round(e*1e6)/1e6}var g_,y_,WG,Zd=_(()=>{"use strict";g_="gpt-5",y_={"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},WG="estimate derived from byte-based token estimate when token counts are estimated"});var Yn={};se(Yn,{isResidentEntryUnresolved:()=>__,reportResidentEntryDiagnostic:()=>ep,residentConfigFor:()=>w_,residentElisionStore:()=>ho});function w_(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 ho(e,t,r={}){let n=r.paths??st(e);return new fo(n,w_(t,ba("rsp").version),{ensureResident:r.ensureResident})}function ep(e){return __(e)?(b_||(b_=!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 __(e){return typeof e=="object"&&e!==null&&e.code===er}var b_,nr=_(()=>{"use strict";Ed();wt();b_=!1});function ap(e){return e==="success"?0:e==="failure"?1:2}function cp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function ot(e,t,r){return{status:e,exitCode:ap(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 x_,O_,A_,op,C_,P_,I_,L_,ip,ln=_(()=>{"use strict";x_="rsp.wait.result",O_="rsp.wait.registry",A_="rsp.wait.list",op={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},C_=16*1024,P_=1e4,I_=2e3,L_=6e4,ip={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 XG,readFile as ZG}from"node:fs/promises";async function Xn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Da(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(G_(e,"SIGTERM"),Na(n,"SIGTERM"),await $_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Da(r)])];G_(e,"SIGKILL"),Na(o,"SIGKILL");let i=Math.max(1e3,t);await e$(e,i);let a=await $_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function G_(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 Na(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function e$(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 $_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await t$(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Da(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await XG("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await N_(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 go(e){return(await N_(e))?.[19]}async function Zn(e,t){if(!un(e))return!1;if(!t)return!0;let r=await go(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 N_(e){if(process.platform!=="linux")return null;try{let t=await ZG(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function t$(e){await new Promise(t=>setTimeout(t,e))}var or=_(()=>{"use strict"});import{constants as r$}from"node:os";async function D_(e){let t=e[1],r={timeoutMs:op.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:P_,terminateGraceMs:I_,probeTimeoutMs:L_,format:"toon",captureBytes:C_},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=op[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=yo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=o$(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=yo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=yo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=yo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=s$(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 n$(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function n$(e){if(!(e.signal in r$.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 go(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function yo(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 es(e,t,r=process.env){let n=r[e];if(!n)return t;try{return yo(n)}catch{return t}}function s$(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function o$(e){return e.startsWith("SIG")?e:`SIG${e}`}var F_=_(()=>{"use strict";ln();or()});import{existsSync as lp,readFileSync as i$,statSync as a$}from"node:fs";import{basename as M_,dirname as Fa,isAbsolute as c$,join as B_,resolve as bo}from"node:path";function wo(e,t=process.env){let r=bo(e);if(Sd.map(i=>t[i]).find(Boolean))return Ew({startDir:r,env:t,exists:lp});let s=u$(r),o=l$(r,s);return o||(s??r)}function l$(e,t){let r=e;for(;;){if(lp(B_(r,".red")))return r;if(t&&r===t)return null;let n=bo(r,"..");if(n===r)return null;r=n}}function u$(e){let t=e;for(;;){let r=B_(t,".git");if(lp(r))return f$(r)?t:d$(r)??t;let n=bo(t,"..");if(n===t)return null;t=n}}function d$(e){let t=p$(e);if(!t)return null;let r=Fa(t),n=Fa(r);return M_(r)!=="worktrees"||M_(n)!==".git"?null:Fa(n)}function p$(e){let t;try{t=i$(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return c$(n)?bo(n):bo(Fa(e),n)}function f$(e){try{return a$(e).isDirectory()}catch{return!1}}var Ma=_(()=>{Xe()});import{join as m$}from"node:path";function g$(e,t=process.env){return wo(e,t)}function ts(e,t=process.env){return _w(g$(e,t))}function j_(e,t=process.env){return m$(ts(e,t),h$)}var h$,up=_(()=>{"use strict";Xe();Ma();h$="spool"});import{randomUUID as y$}from"node:crypto";import{existsSync as b$}from"node:fs";import{mkdir as w$,readdir as _$,readFile as E$,rename as k$,rm as dp,writeFile as S$}from"node:fs/promises";import{dirname as R$,join as U_}from"node:path";function H_(e,t,r=process.env){return U_(ts(e,r),`${t}${v$}`)}async function rs(e,t){await pp(e,`${ge(t)}
|
|
50
|
+
`)}async function Ba(e,t,r){t.status=r,await rs(e,t)}async function ja(e,t=process.env){let r=ts(e,t);if(!b$(r))return[];let n=await _$(r).catch(()=>[]),s=[];for(let o of n.filter(i=>T$.some(a=>i.endsWith(a)))){let i=U_(r,o),a=await x$(i);if(!a){await dp(i,{force:!0});continue}if(!await O$(a)){await dp(i,{force:!0});continue}s.push(a)}return s}async function x$(e){let t;try{t=await E$(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=A$(r);return n&&Object.keys(n).length>0?n:null}async function O$(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 Zn(t,r)}function A$(e){try{let t=z(e);if(q_(t))return t}catch{}try{let t=JSON.parse(e);if(q_(t))return t}catch{}return null}async function pp(e,t){await w$(R$(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${y$()}`;try{await S$(r,t,"utf8"),await k$(r,e)}finally{await dp(r,{force:!0})}}function fp(e){return{schema:O_,version:1,...e}}function q_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var v$,T$,Eo=_(()=>{"use strict";V();Qt();ln();up();or();v$=".toon",T$=[".toon",".json"]});function ns(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function it(e){return ns(e)?e:{}}function dn(e){return Array.isArray(e)?e.filter(ns):[]}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 ko(e){let t=JSON.parse(e);if(!ns(t))throw new Error("expected JSON object");return t}function qa(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ua=_(()=>{"use strict"});import{spawn as C$}from"node:child_process";import{resolve as P$}from"node:path";async function W_(e,t,r){let n=[];if(e.signalPid){let s=await I$(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await L$(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function I$(e){let t=e.signalPid;if(!await Zn(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:J_(r),pid:t,signal:e.signal}}}async function L$(e,t,r){let n=it(t.wait),s=it(t.verdict);return await G$(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?P$(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 G$(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=C$(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,Xn(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:J_(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 J_(e){return e instanceof Error?e.message:String(e)}var V_=_(()=>{"use strict";Ua();or()});import{resolve as $$}from"node:path";async function K_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=N$(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=So(t,r,o,{status:"pending"},i);await Ro(n.resultFile,a,n.format);let c=await W_(n,a,s),l=So(t,r,o,c,i);return await Ro(n.resultFile,l,n.format),{result:l,exitCode:z_(o,c)}}function z_(e,t){return t.status!=="success"||e.status==="running"?2:ap(e.status)}function N$(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 So(e,t,r,n,s){return{schema:x_,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:z_(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function Ro(e,t,r){e&&await pp($$(e),ss(t,r))}function ss(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 Y$(r,e)}catch(n){throw await Z_(r,{force:!0}),n}}function oN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function aE(e){try{return JSON.parse(e)}catch{return z(e)}}function iN(e){return hp(e)&&e.version===1&&hp(e.entries)&&Object.values(e.entries).every(Ka)}function Ka(e){return hp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function hp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var rE,nE,sE,is,mp,za=E(()=>{"use strict";Xe();V();we();rE="gh-etag",nE="gh-etag-cache.toon",sE="gh-etag-cache.json",is=4*1024*1024;mp=new Set});var Ep={};se(Ep,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>Xa,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>fE,DEFAULT_RSP_STORE_PATH:()=>_p,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Qa,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>uE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>dE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Ya,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>pE,resolveRspConfig:()=>$e});import{existsSync as aN,readFileSync as cN}from"node:fs";import{join as lN,resolve as lE}from"node:path";function $e(e,t,r){let n=fp(lE(e),lN(".red","config.yaml")),s=n?cN(n,"utf8"):"",o=vo(s,"rsp.enabled")==="true",i=vo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge(Nt(t.RSP_EPHEMERAL_TTL_HOURS)??_e(s,"rsp.ephemeralTtlHours"),Et),u=Ge(_e(s,"rsp.byteBudget"),kt),d=Ge(_e(s,"rsp.telemetryTtlDays"),Ya),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),Qa),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),uE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),dE),g=uN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),Xa,pE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=dN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),fE),_=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),is),w={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),ba),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),wa),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),_a),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),Ea),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),ka)},k=st(e).rootDir,S=r??t.RSP_STORE_URI??`file://${bw(lE(k),aN)}`;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:_,overhead:w}}function _e(e,t){let r=vo(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 uN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function dN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function Nt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,_p,_t,Et,kt,Ya,Qa,uE,dE,Xa,pE,fE,Ue=E(()=>{"use strict";Ha();Xe();La();we();za();ir=8*1024,_p=gw,_t=7,Et=6,kt=64*1024*1024,Ya=90,Qa=4*1024*1024,uE=3e4,dE=2e3,Xa=5*6e4,pE=5e3,fE=0});function mE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),o=s(e,$e(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var hE=E(()=>{"use strict";Ue()});import{spawn as pN}from"node:child_process";async function yE(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??mE(n),c=Q_(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 Ma(s,o,y.verdict.status).catch(()=>{}),l(y))},f=pN(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,_)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Xn(f,r.terminateGraceMs),k=await gE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:_,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 ${bE(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,_)=>{if(clearTimeout(b),u||d)return;let w=y===0;gE(y,_,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${_??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function To(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:fN(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=kp(u),await rs(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await Ma(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 mN(f,i,m)}return await Ma(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${bE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:kp(l)}:{attempts:c}}}}async function gE(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 kp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function fN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:kp(e)}:{}})}async function mN(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 bE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var wE=E(()=>{"use strict";X_();hE();ln();or();Eo()});var _E={};se(_E,{readGhConditionalJson:()=>at,readGhEtagCache:()=>Va,sweepGhEtagCache:()=>bp});import{execFileSync as hN}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=bN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??yN(e.path),path:e.path,actor:gN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=$e(t,r),c=ho(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 gN(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function yN(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 bN(e){let t="";try{t=String(hN("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 xo=E(()=>{"use strict";Ue();nr();za()});function EE(e){return e==="single-object"?"rest":"graphql"}function kE(e,t){return e==="stable-poll"?"rest":EE(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??kE(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 RE(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 Sp(e){let t=RE(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 vE(e){return wN.get(Sp(e))??null}function Rp(e){let t=vE(e);if(!t)throw new Za(e);return t}var SE,wN,Za,TE=E(()=>{SE=[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")],wN=new Map(SE.map(e=>[e.key,e]));Za=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Sp(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 xE(e){return e instanceof as}function ec(e=process.env){let t=e[vp];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 Oo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??ec();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(n);try{return await cs(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw xE(l)?l:o.aborted&&i?.aborted!==!0?new as(c,r,{cause:l}):l}}}function _N(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 vp,as,Tp=E(()=>{vp="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 ${vp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function AE(e){if(e===!0)return"on";if(typeof e!="string")return tc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":tc}function xp(e){return(e??tc)==="on"}function Op(e=process.env){return AE(e[OE])}var tc,OE,Ap=E(()=>{tc="off",OE="RED_GITHUB_BUDGET_GATE"});import{execFile as EN}from"node:child_process";import{renameSync as kN,rmSync as SN,statSync as RN,writeFileSync as vN}from"node:fs";import{readdir as v6,readFile as TN,rename as xN,rm as ON,stat as AN,writeFile as CN}from"node:fs/promises";import{promisify as PN}from"node:util";function PE(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 IE(e){return e.code==="ENOENT"}async function ls(e,t,r,n=AN){let s=PE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!IE(i))throw i}return o+t>s}function LE(e,t,r,n=RN){let s=PE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!IE(i))throw i}return o+t>s}async function GN(e,t,r){try{return await IN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function $N(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function NN(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function DN(e,t){let r=`${e}.retaining-${process.pid}`;try{await CN(r,t,{encoding:"utf8",mode:384}),await xN(r,e)}finally{await ON(r,{force:!0})}}function GE(e,t){let r=`${e}.retaining-${process.pid}`;try{vN(r,t,{encoding:"utf8",mode:384}),kN(r,e)}finally{SN(r,{force:!0})}}async function us(e,t,r={}){$N(t);let n=r.timeoutMs??LN;if(await(r.runTq??GN)(e,t,n))return"tq";let o=await TN(e,"utf8"),i=o.endsWith(`
|
|
52
|
+
`}var Y_=_(()=>{"use strict";Qt();ln();Eo();V_()});import{createWriteStream as D$,mkdirSync as F$}from"node:fs";import{readFile as M$,rm as B$}from"node:fs/promises";import{dirname as j$}from"node:path";import{join as Q_}from"node:path";function X_(e,t,r){return{stdout:new Ha(r,Q_(e,`${t}.stdout.bin`)),stderr:new Ha(r,Q_(e,`${t}.stderr.bin`))}}function q$(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!U$(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function U$(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ha,Z_=_(()=>{"use strict";Ha=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,...q$(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 M$(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{F$(j$(this.spoolPath),{recursive:!0}),t=D$(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 B$(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as H$,readFileSync as W9}from"node:fs";import{dirname as W$,join as J$}from"node:path";function mp(e,t){let r=e;for(let n=0;n<16;n++){let s=J$(r,t);if(H$(s))return s;let o=W$(r);if(o===r)break;r=o}return null}function V$(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function vo(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 V$(l)}}var Wa=_(()=>{});var lE={};se(lE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>is,GH_ETAG_CACHE_DIR_NAME:()=>nE,LEGACY_GH_ETAG_CACHE_FILE:()=>sE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>oE,enforceGhEtagCacheCeiling:()=>bp,ghEtagCacheDir:()=>Ja,ghEtagEntryPath:()=>Va,isCacheEntry:()=>za,legacyGhEtagCachePaths:()=>yp,migrateLegacyGhEtagCache:()=>_p,readGhEtagCache:()=>Ka,readGhEtagEntry:()=>eN,resetGhEtagCacheMigrationMemo:()=>rN,sweepGhEtagCache:()=>wp,writeGhEtagEntry:()=>tN});import{existsSync as K$}from"node:fs";import{mkdir as z$,readdir as Y$,rename as Q$,rm as eE,stat as tE,unlink as rE,writeFile as X$}from"node:fs/promises";import{dirname as Z$,join as os}from"node:path";function Ja(e){return os(ce(e),nE)}function Va(e,t){return os(Ja(e),`${iN(t)}.toon`)}function yp(e){let t=ce(e);return[os(t,sE),os(t,oE)]}async function eN(e,t){await _p(e);try{let r=cE(await va(Va(e,t)));return za(r)?r:void 0}catch{return}}async function tN(e,t,r={}){return await aE(Va(e,t.key),t),await bp(e,r.maxBytes??is)}async function bp(e,t=is){let r=await sN(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 rE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function wp(e,t={}){let r=await _p(e,{force:!0}),n=await nN(e);return{...await bp(e,t.maxBytes??is),reclaimedTmp:n,migratedEntries:r}}async function Ka(e){for(let t of yp(e))try{let r=cE(await va(t));if(aN(r))return r}catch{}return{version:1,entries:{}}}async function _p(e,t={}){if(!t.force&&hp.has(e))return 0;hp.add(e);let r=yp(e).filter(o=>K$(o));if(r.length===0)return 0;let n=await Ka(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!za(i))continue;let a=Va(e,o);await oN(a)||(await aE(a,{...i,key:o}),s+=1)}for(let o of r)await eE(o,{force:!0});return s}function rN(){hp.clear()}async function nN(e){let t=0;for(let r of[ce(e),Ja(e)])for(let n of await iE(r))if(n.endsWith(".tmp"))try{await rE(os(r,n)),t+=1}catch{}return t}async function sN(e){let t=Ja(e),r=[];for(let n of await iE(t)){if(!n.endsWith(".toon"))continue;let s=os(t,n);try{let o=await tE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function iE(e){try{return await Y$(e)}catch{return[]}}async function oN(e){try{return await tE(e),!0}catch{return!1}}async function aE(e,t){await z$(Z$(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await X$(r,`${M(t)}
|
|
54
|
+
`,{encoding:"utf8",mode:384}),await Q$(r,e)}catch(n){throw await eE(r,{force:!0}),n}}function iN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function cE(e){try{return JSON.parse(e)}catch{return z(e)}}function aN(e){return gp(e)&&e.version===1&&gp(e.entries)&&Object.values(e.entries).every(za)}function za(e){return gp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function gp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var nE,sE,oE,is,hp,Ya=_(()=>{"use strict";Xe();V();we();nE="gh-etag",sE="gh-etag-cache.toon",oE="gh-etag-cache.json",is=4*1024*1024;hp=new Set});var kp={};se(kp,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>Za,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>mE,DEFAULT_RSP_STORE_PATH:()=>Ep,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Xa,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>dE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>pE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Qa,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>fE,resolveRspConfig:()=>$e});import{existsSync as cN,readFileSync as lN}from"node:fs";import{join as uN,resolve as uE}from"node:path";function $e(e,t,r){let n=mp(uE(e),uN(".red","config.yaml")),s=n?lN(n,"utf8"):"",o=vo(s,"rsp.enabled")==="true",i=vo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge(Nt(t.RSP_EPHEMERAL_TTL_HOURS)??_e(s,"rsp.ephemeralTtlHours"),Et),u=Ge(_e(s,"rsp.byteBudget"),kt),d=Ge(_e(s,"rsp.telemetryTtlDays"),Qa),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),Xa),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),dE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),pE),g=dN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),Za,fE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=pN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),mE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),is),w={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),wa),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),_a),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Ea),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),ka),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Sa)},k=st(e).rootDir,S=r??t.RSP_STORE_URI??`file://${ww(uE(k),cN)}`;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=vo(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 dN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function pN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function Nt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,Ep,_t,Et,kt,Qa,Xa,dE,pE,Za,fE,mE,Ue=_(()=>{"use strict";Wa();Xe();Ga();we();Ya();ir=8*1024,Ep=yw,_t=7,Et=6,kt=64*1024*1024,Qa=90,Xa=4*1024*1024,dE=3e4,pE=2e3,Za=5*6e4,fE=5e3,mE=0});function hE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),o=s(e,$e(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var gE=_(()=>{"use strict";Ue()});import{spawn as fN}from"node:child_process";async function bE(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??hE(n),c=X_(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 Ba(s,o,y.verdict.status).catch(()=>{}),l(y))},f=fN(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 yE(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 ${wE(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;yE(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 To(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:mN(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=Sp(u),await rs(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await Ba(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 hN(f,i,m)}return await Ba(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${wE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Sp(l)}:{attempts:c}}}}async function yE(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 Sp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function mN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Sp(e)}:{}})}async function hN(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 wE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var _E=_(()=>{"use strict";Z_();gE();ln();or();Eo()});var EE={};se(EE,{readGhConditionalJson:()=>at,readGhEtagCache:()=>Ka,sweepGhEtagCache:()=>wp});import{execFileSync as gN}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=wN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??bN(e.path),path:e.path,actor:yN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=$e(t,r),c=ho(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 yN(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function bN(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 wN(e){let t="";try{t=String(gN("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 xo=_(()=>{"use strict";Ue();nr();Ya()});function kE(e){return e==="single-object"?"rest":"graphql"}function SE(e,t){return e==="stable-poll"?"rest":kE(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??SE(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 vE(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 Rp(e){let t=vE(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 TE(e){return _N.get(Rp(e))??null}function vp(e){let t=TE(e);if(!t)throw new ec(e);return t}var RE,_N,ec,xE=_(()=>{RE=[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")],_N=new Map(RE.map(e=>[e.key,e]));ec=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Rp(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 OE(e){return e instanceof as}function tc(e=process.env){let t=e[Tp];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 Oo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??tc();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=EN(n);try{return await cs(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw OE(l)?l:o.aborted&&i?.aborted!==!0?new as(c,r,{cause:l}):l}}}function EN(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 Tp,as,xp=_(()=>{Tp="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 ${Tp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function CE(e){if(e===!0)return"on";if(typeof e!="string")return rc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":rc}function Op(e){return(e??rc)==="on"}function Ap(e=process.env){return CE(e[AE])}var rc,AE,Cp=_(()=>{rc="off",AE="RED_GITHUB_BUDGET_GATE"});import{execFile as kN}from"node:child_process";import{renameSync as SN,rmSync as RN,statSync as vN,writeFileSync as TN}from"node:fs";import{readdir as x6,readFile as xN,rename as ON,rm as AN,stat as CN,writeFile as PN}from"node:fs/promises";import{promisify as IN}from"node:util";function IE(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 LE(e){return e.code==="ENOENT"}async function ls(e,t,r,n=CN){let s=IE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!LE(i))throw i}return o+t>s}function GE(e,t,r,n=vN){let s=IE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!LE(i))throw i}return o+t>s}async function $N(e,t,r){try{return await LN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function NN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function DN(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function FN(e,t){let r=`${e}.retaining-${process.pid}`;try{await PN(r,t,{encoding:"utf8",mode:384}),await ON(r,e)}finally{await AN(r,{force:!0})}}function $E(e,t){let r=`${e}.retaining-${process.pid}`;try{TN(r,t,{encoding:"utf8",mode:384}),SN(r,e)}finally{RN(r,{force:!0})}}async function us(e,t,r={}){NN(t);let n=r.timeoutMs??GN;if(await(r.runTq??$N)(e,t,n))return"tq";let o=await xN(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 FN(e,DN(c)),"js"}var LN,et,GN,C6,Er,PE,St,fn=_(()=>{V();LN=IN(kN),et=.5,GN=5e3,C6=256*1024*1024,Er=1024*1024,PE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*Er,maxAgeMs:PE,targetRatio:et},"github-spend":{maxBytes:8*Er,targetRatio:et},"github-balance":{maxBytes:64*1024,targetRatio:et},"github-balance-history":{maxBytes:2*Er,targetRatio:et},"castle-singleton-events":{maxBytes:2*Er,targetRatio:et},"rsp-telemetry-spool":{maxBytes:8*Er,targetRatio:et},"rsp-telemetry-corrections":{maxBytes:Er,targetRatio:et},"death-attributions":{maxBytes:Er,maxAgeMs:PE,targetRatio:et},"worker-log":{maxLines:5e4,targetRatio:et},"worker-liveness":{maxBytes:Er,targetRatio:et},"castle-history":{maxLines:1e4,targetRatio:et}}});import{appendFile as MN,mkdir as BN,readFile as NE}from"node:fs/promises";import{dirname as jN}from"node:path";function Ip(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=WN(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(VN(i)),c=s.then(async()=>{await BN(jN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await ls(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 qN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await us(e.path,UN(d,l,p))}await MN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Pp(o.from,"report window start"),a=Pp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await JN(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 qN(e){try{let t=await NE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(DE(t)&&t.code==="ENOENT")return[];throw t}}function UN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=HN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function HN(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function WN(e,t,r,n,s){if(Pp(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 JN(e){let t;try{t=await NE(e,"utf8")}catch(o){if(DE(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)+kr(y)+": "):u.push(kr(y)+":");let S=k!==null&&typeof k=="object",T=
|
|
62
|
-
`+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},sk=(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"&&sc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(ZE,"$1$2$3").replace(ek,"$1$2$3"):kr(e,t,r)}catch(n){if(n instanceof RangeError){let s=bD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(ZE,"$1$2$3").replace(ek,"$1$2$3")}throw n}},nc=new Map,wD=()=>{let e=JSON.parse.toString();if(nc.has(e))return nc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return nc.set(e,t),t}catch{return nc.set(e,!1),!1}},_D=(e,t,r,n)=>typeof t=="string"&&nk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&sc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,ED=(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&&yD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),ok=Number.MAX_SAFE_INTEGER.toString(),tk=ok.length,kD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,SD=/^"-?\d+n+"$/,RD=(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"&&(nk.test(a)?a=BigInt(a.slice(0,-1)):sc.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[""]},rk=e=>e.replace(kD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&SD.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<tk||r.length===tk&&r<=ok);return o||a||c?t:'"'+t+'n"'}),ik=(e,t)=>{if(!e)return Dp(e,t);try{if(wD())return ED(e,t);let r=rk(e);return Dp(r,(n,s,o)=>_D(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=rk(e),s=Dp(n);return RD(s,t)}throw r}}});var Rt,oc=E(()=>{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 xD(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 lk(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=xD(e.body)||Array.isArray(e.body)?sk(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 Bp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Bp(i),new Rt(AD(u.data),a,{response:u,request:e});return u.data=n?await Bp(i):i.body,u}async function Bp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(ck);let r=(0,uk.parse)(t);if(OD(r)){let n="";try{return n=await e.text(),ik(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(ck):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function OD(e){return e.type==="application/json"||e.type==="application/scim+json"}function AD(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 jp(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 lk(r.parse(i));let a=(c,l)=>lk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:jp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:jp.bind(null,r)})}var uk,vD,TD,ck,te,Ne=E(()=>{WE();ar();uk=ta(XE(),1);ak();oc();vD="10.0.13",TD={headers:{"user-agent":`octokit-request.js/${vD} ${Ae()}`}};ck=()=>"";te=jp(HE,TD);});function CD(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 ic(e,t,r){let n={baseUrl:CD(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 mk(e){let t=e.request||te,r=await ic(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=dk(s,r.data.expires_in),n.refreshTokenExpiresAt=dk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function dk(e,t){return new Date(e+t*1e3).toISOString()}async function hk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),ic(t,"POST /login/device/code",r)}async function qp(e){let t=e.request||te,r=await ic(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=pk(s,r.data.expires_in),n.refreshTokenExpiresAt=pk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function pk(e,t){return new Date(e+t*1e3).toISOString()}async function gk(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 yk(e){let t=e.request||te,r=await ic(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:fk(n,r.data.expires_in),refreshTokenExpiresAt:fk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function fk(e,t){return new Date(e+t*1e3).toISOString()}async function bk(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 wk(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 _k(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 ac=E(()=>{oc();Ne();Ne();Ne();Ne();Ne();Ne();Ne();Ne();});async function kk(e,t){let r=PD(e,t.auth);if(r)return r;let{data:n}=await hk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Up(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function PD(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 Ek(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Up(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await qp({...s,clientType:"oauth-app"}):await qp({...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 Ek(n.interval),Up(e,t,r,n);if(o==="slow_down")return await Ek(n.interval+7),Up(e,t,r,n);throw s}}async function ID(e,t){return kk(e,{auth:t})}async function LD(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 kk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Sk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${GD} ${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(ID.bind(null,s),{hook:LD.bind(null,s)})}var GD,Rk=E(()=>{ar();Ne();ac();GD="0.0.0-development";});async function vk(e){if("code"in e.strategyOptions){let{authentication:t}=await mk({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 Sk({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 Hp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await vk(e):await vk(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 yk({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"?gk:bk;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"?wk:_k;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 Co(e){return e&&$D.test(e)}async function ND(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(Co(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 Hp({...e,request:t}):await Hp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function cc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Tk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Hp.bind(null,i),{hook:ND.bind(null,i)})}var Tk,$D,lc=E(()=>{ar();Ne();Rk();ac();ac();Tk="0.0.0-development";$D=/\/applications\/[^/]+\/(token|grant)s?/;cc.VERSION=Tk;});async function DD(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 cc({...r,clientType:e.clientType}):await cc({...r,clientType:e.clientType}))()}async function FD(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"&&!Co(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 xk(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${MD} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(DD.bind(null,t),{hook:FD.bind(null,t)})}var MD,Ok=E(()=>{ar();Ne();lc();lc();MD="0.0.0-development";});function uc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Ck(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Wp(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 Pk(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 Dk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Mk=E(()=>{Fk()});function jD(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 dc,Bk=E(()=>{dc=class{constructor(t=1e3,r=0){jD(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 fc({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 Kp(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 qD(){return new dc(15e3,1e3*60*59)}async function UD(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 HD(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 jk({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 qk(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 WD(e,{...t,installationId:n},s)}function WD(e,t,r){let n=zp(t);if(pc.has(n))return pc.get(n);let s=JD(e,t,r).finally(()=>pc.delete(n));return pc.set(n,s),s}async function JD(e,t,r){if(!t.refresh){let _=await UD(e.cache,t);if(_){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=_;return jk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await fc(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(_=>_.id):void 0,m=a?a.map(_=>_.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 HD(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}),jk(y)}async function VD(e,t){switch(t.type){case"app":return fc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return qk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function zD(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function QD(e){return!!e&&YD.test(e.split("?")[0])}function ZD(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 eF(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(QD(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await fc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(ZD(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 fc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Co(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await qk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Uk(e,t,s,a)}async function Uk(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>=XD)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)),Uk(e,t,r,n,s)}}function Hk(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/${tF} ${Ae()}`}}),n=Object.assign({request:r,cache:qD()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:xk({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(VD.bind(null,n),{hook:eF.bind(null,n)})}var pc,KD,YD,XD,tF,Wk=E(()=>{ar();Ne();Ok();Mk();Bk();lc();pc=new Map;KD=["/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"];YD=zD(KD);XD=5*1e3;tF="8.3.0";});var Xp=I((Yp,Qp)=>{(function(e,t){typeof Yp=="object"&&typeof Qp<"u"?Qp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Yp,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(D){return D&&D.default||D}var r=function(D,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=D[v])!=null?x:A;return h},n=function(D,R,h={}){var v,x;for(v in D)x=D[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,N;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return N=typeof A.cb=="function"?A.cb(...h):void 0,typeof N?.then=="function"?await N:N}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,_,w;_=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,N,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=N,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>_-1?_-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,N;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(N=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(N)}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,N;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,h),this.retryCount++,x(N)):(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,J,$;J=i,$=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await N(...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,N){return A=P,x=N}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=$,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."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Vt,Dn,mr;mr=s,It=c,Vt=L,Me=U,Dn=Jt,Fe=function(){class D{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=$y,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Vt(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,N,Z,be,Re;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],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],N.push(P.slice(Re,-v));return N}_startAutoCleanup(){var h;return clearInterval(this.interval),typeof(h=this.interval=setInterval(async()=>{var v,x,A,P,N,Z;N=Date.now(),A=this.instances,P=[];for(x in A){Z=A[x];try{await Z._store.__groupCheck__(N)?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 D.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},D}.call(e);var Vs=Fe,zr,Ks,xy;xy=s,Ks=c,zr=function(){class D{constructor(h={}){this.options=h,xy.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 D.prototype.defaults={maxTime:null,maxSize:null,Promise},D}.call(e);var dP=zr,pP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),fP=t(me),Oy,Ay,Nu,Du,Cy,Fu,Py,Iy,Ly,Mu,Lt,Gy=[].splice;Fu=10,Ay=5,Lt=s,Py=p,Du=k,Cy=O,Iy=pP,Nu=c,Ly=Q,Mu=H,Oy=function(){class D{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 Py(Fu),this._scheduled={},this._states=new Ly(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Nu(this),this._submitLock=new Mu("submit",this.Promise),this._registerLock=new Mu("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 Iy(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Cy(this,A,x);throw new D.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 D.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,N;try{if({running:N}=await this._store.__free__(h,x.weight),this.Events.trigger("debug",`Freed ${x.id}`,A),N===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,N;return v.doRun(),A=this._clearGlobalState.bind(this,h),N=this._run.bind(this,h,v),P=this._free.bind(this,h,v),this._scheduled[h]={timeout:setTimeout(()=>v.doExecute(this._limiter,A,N,P),x),expiration:v.options.expiration!=null?setTimeout(function(){return v.doExpire(A,N,P)},x+v.options.expiration):void 0,job:v}}_drainOne(h){return this._registerLock.schedule(()=>{var v,x,A,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:v}=A=N.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?(N.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 N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===A},new this.Promise((N,Z)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},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,N;P=this._scheduled;for(A in P)N=P[A],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:h.dropErrorMessage}));return this._dropAllQueued(h.dropErrorMessage),x(0)}))):this.schedule({priority:Fu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new D.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new D.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,N,Z,be;({args:v,options:P}=h);try{({reachedHWM:N,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):N&&(Z=be===D.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===D.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===D.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===D.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),N):(h.doQueue(N,x),this._queues.push(h),await this._drainAll(),N)}_receive(h){return this._states.jobStatus(h.options.id)!=null?(h._reject(new D.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,N,Z,be;return typeof h[0]=="function"?(N=h,[x,...h]=N,[v]=Gy.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=Gy.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(zs,hP){return x(...Re,function(...Ny){return(Ny[0]!=null?hP:zs)(Ny)})}),A=new Du(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 Du(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 D.default=D,D.Events=Nu,D.version=D.prototype.version=fP.version,D.strategy=D.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},D.BottleneckError=D.prototype.BottleneckError=m,D.Group=D.prototype.Group=Vs,D.RedisConnection=D.prototype.RedisConnection=L,D.IORedisConnection=D.prototype.IORedisConnection=U,D.Batcher=D.prototype.Batcher=dP,D.prototype.jobDefaults={priority:Ay,weight:1,expiration:null,id:"<no-id>"},D.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:D.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},D.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},D.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},D.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},D.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},D}.call(e);var $y=Oy,mP=$y;return mP})});function nF(e){return e.request!==void 0}async function Jk(e,t,r,n){if(!nF(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 sF(e,t,r,n){let s=new Vk.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(oF.bind(null,e,t,r),n)}async function oF(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 Jk(e,t,o,n)}return s}function Zp(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",Jk.bind(null,r,n)),e.hook.wrap("request",sF.bind(null,r,n))),n}var Vk,rF,Kk=E(()=>{Vk=ta(Xp(),1);oc();rF="0.0.0-development";Zp.VERSION=rF});import{readFileSync as iF}from"node:fs";function ef(e){try{return iF(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 tf=E(()=>{});function cF(e,t,r){return e.retryLimiter.schedule(lF,e,t,r)}async function lF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=uF(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,rf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,rf),i&&await e.search.key(e.id).schedule(l,rf);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 uF(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 pF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function mc(e,t){let{enabled:r=!0,Bottleneck:n=Yk.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:Qk,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(!KN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function VN(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 KN(e){return zN(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 Pp(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 zN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function DE(e){return e instanceof Error&&"code"in e}var FE=_(()=>{fn();V()});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 ZN(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function eD(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 jE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{eD(t[n])?n in e?r[n]=jE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function ME(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Gp(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=ZN(r.headers),ME(r),ME(r.headers);let n=jE(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 tD(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 nD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function sD(e){let t=e.match(rD);return t?t.map(nD).reduce((r,n)=>r.concat(n),[]):[]}function BE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function qE(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 ps(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Ao(e,t,r){return t=e==="+"||e==="#"?qE(t):ps(t),r?ps(r)+"="+t:t}function ds(e){return e!=null}function Lp(e){return e===";"||e==="&"||e==="?"}function oD(e,t,r,n){var s=e[r],o=[];if(ds(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(Ao(t,s,Lp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ds).forEach(function(i){o.push(Ao(t,i,Lp(t)?r:""))}):Object.keys(s).forEach(function(i){ds(s[i])&&o.push(Ao(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(ds).forEach(function(a){i.push(Ao(t,a))}):Object.keys(s).forEach(function(a){ds(s[a])&&(i.push(ps(a)),i.push(Ao(t,s[a].toString())))}),Lp(t)?o.push(ps(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?ds(s)&&o.push(ps(r)):s===""&&(t==="&"||t==="?")?o.push(ps(r)+"="):s===""&&o.push("");return o}function iD(e){return{expand:aD.bind(null,e)}}function aD(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(oD(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 qE(o)}),e==="/"?e:e.replace(/\/$/,"")}function UE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=BE(e,["method","baseUrl","url","headers","request","mediaType"]),i=sD(r);r=iD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=BE(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=tD(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 cD(e,t,r){return UE(Gp(e,t,r))}function HE(e,t){let r=Gp(e,t),n=cD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:HE.bind(null,r),merge:Gp.bind(null,r),parse:UE})}var YN,QN,XN,rD,WE,JE=_(()=>{ar();YN="0.0.0-development",QN=`octokit-endpoint.js/${YN} ${Ae()}`,XN={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":QN},mediaType:{format:""}};rD=/\{[^{}}]+\}/g;WE=HE(null,XN)});var ZE=I(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.format=pD;nc.parse=fD;var lD=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,KE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,uD=/[\\"]/g,dD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,zE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function pD(e){let{type:t,parameters:r}=e;if(!t||!dD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!KE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${yD(r[s])}`}return n}function fD(e,t){let r=e.length,n=Np(e,0,r),s=n;n=$p(e,n,r);let o=Dp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new zE:gD(e,n,r);return{type:i,parameters:a}}var YE=32,QE=9,XE=59,mD=61,VE=34,hD=92;function gD(e,t,r){let n=new zE;e:for(;t<r;){t=Np(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===XE)continue e;if(o===mD){let i=Dp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Np(e,t+1,r),t<r&&e.charCodeAt(t)===VE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===VE){t=$p(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===hD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=$p(e,t,r),n[a]===void 0){let l=Dp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function $p(e,t,r){for(;t<r&&e.charCodeAt(t)!==XE;)t++;return t}function Np(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==YE&&n!==QE)break;t++}return t}function Dp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==YE&&n!==QE)break;r--}return r}function yD(e){if(KE.test(e))return e;if(lD.test(e))return`"${e.replace(uD,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var bD,oc,kr,Fp,sk,ek,tk,Mp,Bp,wD,ok,sc,_D,ED,kD,ik,rk,SD,RD,vD,nk,ak,ck=_(()=>{bD=/^-?\d+$/,oc=/^-?\d+n+$/,kr=JSON.stringify,Fp=JSON.parse,sk=/^-?\d+n$/,ek=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,tk=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Mp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Bp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",wD=(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"&&oc.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(Mp(a))return;let c=a===null||typeof a!="object",l=Bp(a);if(c||l)return kr(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(Mp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",w=Bp(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(kr(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(Mp(k))continue;m.first||u.push(","),n?u.push(`
|
|
61
|
+
`+n.repeat(d)+kr(y)+": "):u.push(kr(y)+":");let S=k!==null&&typeof k=="object",T=Bp(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(kr(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("")},ok=(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"&&oc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(ek,"$1$2$3").replace(tk,"$1$2$3"):kr(e,t,r)}catch(n){if(n instanceof RangeError){let s=wD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(ek,"$1$2$3").replace(tk,"$1$2$3")}throw n}},sc=new Map,_D=()=>{let e=JSON.parse.toString();if(sc.has(e))return sc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return sc.set(e,t),t}catch{return sc.set(e,!1),!1}},ED=(e,t,r,n)=>typeof t=="string"&&sk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&oc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,kD=(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&&bD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),ik=Number.MAX_SAFE_INTEGER.toString(),rk=ik.length,SD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,RD=/^"-?\d+n+"$/,vD=(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"&&(sk.test(a)?a=BigInt(a.slice(0,-1)):oc.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[""]},nk=e=>e.replace(SD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&RD.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<rk||r.length===rk&&r<=ik);return o||a||c?t:'"'+t+'n"'}),ak=(e,t)=>{if(!e)return Fp(e,t);try{if(_D())return kD(e,t);let r=nk(e);return Fp(r,(n,s,o)=>ED(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=nk(e),s=Fp(n);return vD(s,t)}throw r}}});var Rt,ic=_(()=>{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 OD(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 uk(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=OD(e.body)||Array.isArray(e.body)?ok(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 jp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await jp(i),new Rt(CD(u.data),a,{response:u,request:e});return u.data=n?await jp(i):i.body,u}async function jp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(lk);let r=(0,dk.parse)(t);if(AD(r)){let n="";try{return n=await e.text(),ak(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(lk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function AD(e){return e.type==="application/json"||e.type==="application/scim+json"}function CD(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 qp(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 uk(r.parse(i));let a=(c,l)=>uk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:qp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:qp.bind(null,r)})}var dk,TD,xD,lk,te,Ne=_(()=>{JE();ar();dk=ra(ZE(),1);ck();ic();TD="10.0.13",xD={headers:{"user-agent":`octokit-request.js/${TD} ${Ae()}`}};lk=()=>"";te=qp(WE,xD);});function PD(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 ac(e,t,r){let n={baseUrl:PD(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 hk(e){let t=e.request||te,r=await ac(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=pk(s,r.data.expires_in),n.refreshTokenExpiresAt=pk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function pk(e,t){return new Date(e+t*1e3).toISOString()}async function gk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),ac(t,"POST /login/device/code",r)}async function Up(e){let t=e.request||te,r=await ac(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=fk(s,r.data.expires_in),n.refreshTokenExpiresAt=fk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function fk(e,t){return new Date(e+t*1e3).toISOString()}async function yk(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 bk(e){let t=e.request||te,r=await ac(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:mk(n,r.data.expires_in),refreshTokenExpiresAt:mk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function mk(e,t){return new Date(e+t*1e3).toISOString()}async function wk(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 _k(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 Ek(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 cc=_(()=>{ic();Ne();Ne();Ne();Ne();Ne();Ne();Ne();Ne();});async function Sk(e,t){let r=ID(e,t.auth);if(r)return r;let{data:n}=await gk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Hp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function ID(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 kk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Hp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Up({...s,clientType:"oauth-app"}):await Up({...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 kk(n.interval),Hp(e,t,r,n);if(o==="slow_down")return await kk(n.interval+7),Hp(e,t,r,n);throw s}}async function LD(e,t){return Sk(e,{auth:t})}async function GD(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 Sk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Rk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${$D} ${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(LD.bind(null,s),{hook:GD.bind(null,s)})}var $D,vk=_(()=>{ar();Ne();cc();$D="0.0.0-development";});async function Tk(e){if("code"in e.strategyOptions){let{authentication:t}=await hk({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 Rk({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 Wp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Tk(e):await Tk(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 bk({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"?yk:wk;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"?_k:Ek;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 Co(e){return e&&ND.test(e)}async function DD(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(Co(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 Wp({...e,request:t}):await Wp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function lc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${xk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Wp.bind(null,i),{hook:DD.bind(null,i)})}var xk,ND,uc=_(()=>{ar();Ne();vk();cc();cc();xk="0.0.0-development";ND=/\/applications\/[^/]+\/(token|grant)s?/;lc.VERSION=xk;});async function FD(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 lc({...r,clientType:e.clientType}):await lc({...r,clientType:e.clientType}))()}async function MD(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"&&!Co(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 Ok(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${BD} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(FD.bind(null,t),{hook:MD.bind(null,t)})}var BD,Ak=_(()=>{ar();Ne();uc();uc();BD="0.0.0-development";});function dc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Pk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Jp(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 Ik(e){let t=e.trim().split(`
|
|
63
|
+
`).slice(1,-1).join(""),r=atob(t);return Jp(r)}function Lk(e,t){return`${Ck(e)}.${Ck(t)}`}function Gk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return $k(btoa(t))}function $k(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ck(e){return $k(btoa(JSON.stringify(e)))}var Vp=_(()=>{});import{subtle as Kp}from"node:crypto";import{createPrivateKey as jD}from"node:crypto";function Nk(e){return dc(e)?jD(e).export({type:"pkcs8",format:"pem"}):e}var Dk=_(()=>{Vp()});async function Fk({privateKey:e,payload:t}){let r=Nk(e);if(dc(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(Pk(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=Ik(r),i=await Kp.importKey("pkcs8",o,n,!1,["sign"]),a=Lk(s,t),c=Jp(a),l=await Kp.sign(n.name,i,c),u=Gk(l);return`${a}.${u}`}var Mk=_(()=>{Vp();Dk()});async function zp({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 Fk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Bk=_(()=>{Mk()});function qD(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 pc,jk=_(()=>{pc=class{constructor(t=1e3,r=0){qD(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 mc({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 zp(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 UD(){return new pc(15e3,1e3*60*59)}async function HD(e,t){let r=Yp(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 WD(e,t,r){let n=Yp(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 Yp({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 qk({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 Uk(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 JD(e,{...t,installationId:n},s)}function JD(e,t,r){let n=Yp(t);if(fc.has(n))return fc.get(n);let s=VD(e,t,r).finally(()=>fc.delete(n));return fc.set(n,s),s}async function VD(e,t,r){if(!t.refresh){let E=await HD(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return qk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await mc(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 WD(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}),qk(y)}async function KD(e,t){switch(t.type){case"app":return mc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Uk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function YD(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function XD(e){return!!e&&QD.test(e.split("?")[0])}function eF(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 tF(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(XD(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await mc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(eF(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 mc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Co(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await Uk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Hk(e,t,s,a)}async function Hk(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>=ZD)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)),Hk(e,t,r,n,s)}}function Wk(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/${rF} ${Ae()}`}}),n=Object.assign({request:r,cache:UD()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Ok({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(KD.bind(null,n),{hook:tF.bind(null,n)})}var fc,zD,QD,ZD,rF,Jk=_(()=>{ar();Ne();Ak();Bk();jk();uc();fc=new Map;zD=["/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"];QD=YD(zD);ZD=5*1e3;rF="8.3.0";});var Zp=I((Qp,Xp)=>{(function(e,t){typeof Qp=="object"&&typeof Xp<"u"?Xp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Qp,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(D){return D&&D.default||D}var r=function(D,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=D[v])!=null?x:A;return h},n=function(D,R,h={}){var v,x;for(v in D)x=D[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,N;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return N=typeof A.cb=="function"?A.cb(...h):void 0,typeof N?.then=="function"?await N:N}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,N,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=N,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,N;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(N=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(N)}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,N;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,h),this.retryCount++,x(N)):(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,J,$;J=i,$=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await N(...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,N){return A=P,x=N}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=$,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."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Vt,Dn,mr;mr=s,It=c,Vt=L,Me=U,Dn=Jt,Fe=function(){class D{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=Ny,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Vt(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,N,Z,be,Re;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],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],N.push(P.slice(Re,-v));return N}_startAutoCleanup(){var h;return clearInterval(this.interval),typeof(h=this.interval=setInterval(async()=>{var v,x,A,P,N,Z;N=Date.now(),A=this.instances,P=[];for(x in A){Z=A[x];try{await Z._store.__groupCheck__(N)?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 D.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},D}.call(e);var Vs=Fe,zr,Ks,Oy;Oy=s,Ks=c,zr=function(){class D{constructor(h={}){this.options=h,Oy.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 D.prototype.defaults={maxTime:null,maxSize:null,Promise},D}.call(e);var pP=zr,fP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),mP=t(me),Ay,Cy,Du,Fu,Py,Mu,Iy,Ly,Gy,Bu,Lt,$y=[].splice;Mu=10,Cy=5,Lt=s,Iy=p,Fu=k,Py=O,Ly=fP,Du=c,Gy=Q,Bu=H,Ay=function(){class D{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 Iy(Mu),this._scheduled={},this._states=new Gy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Du(this),this._submitLock=new Bu("submit",this.Promise),this._registerLock=new Bu("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 Ly(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Py(this,A,x);throw new D.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 D.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,N;try{if({running:N}=await this._store.__free__(h,x.weight),this.Events.trigger("debug",`Freed ${x.id}`,A),N===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,N;return v.doRun(),A=this._clearGlobalState.bind(this,h),N=this._run.bind(this,h,v),P=this._free.bind(this,h,v),this._scheduled[h]={timeout:setTimeout(()=>v.doExecute(this._limiter,A,N,P),x),expiration:v.options.expiration!=null?setTimeout(function(){return v.doExpire(A,N,P)},x+v.options.expiration):void 0,job:v}}_drainOne(h){return this._registerLock.schedule(()=>{var v,x,A,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:v}=A=N.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?(N.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 N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===A},new this.Promise((N,Z)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},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,N;P=this._scheduled;for(A in P)N=P[A],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:h.dropErrorMessage}));return this._dropAllQueued(h.dropErrorMessage),x(0)}))):this.schedule({priority:Mu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new D.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new D.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,N,Z,be;({args:v,options:P}=h);try{({reachedHWM:N,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):N&&(Z=be===D.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===D.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===D.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===D.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),N):(h.doQueue(N,x),this._queues.push(h),await this._drainAll(),N)}_receive(h){return this._states.jobStatus(h.options.id)!=null?(h._reject(new D.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,N,Z,be;return typeof h[0]=="function"?(N=h,[x,...h]=N,[v]=$y.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=$y.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(zs,gP){return x(...Re,function(...Dy){return(Dy[0]!=null?gP:zs)(Dy)})}),A=new Fu(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 Fu(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 D.default=D,D.Events=Du,D.version=D.prototype.version=mP.version,D.strategy=D.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},D.BottleneckError=D.prototype.BottleneckError=m,D.Group=D.prototype.Group=Vs,D.RedisConnection=D.prototype.RedisConnection=L,D.IORedisConnection=D.prototype.IORedisConnection=U,D.Batcher=D.prototype.Batcher=pP,D.prototype.jobDefaults={priority:Cy,weight:1,expiration:null,id:"<no-id>"},D.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:D.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},D.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},D.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},D.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},D.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},D}.call(e);var Ny=Ay,hP=Ny;return hP})});function sF(e){return e.request!==void 0}async function Vk(e,t,r,n){if(!sF(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 oF(e,t,r,n){let s=new Kk.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(iF.bind(null,e,t,r),n)}async function iF(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 Vk(e,t,o,n)}return s}function ef(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",Vk.bind(null,r,n)),e.hook.wrap("request",oF.bind(null,r,n))),n}var Kk,nF,zk=_(()=>{Kk=ra(Zp(),1);ic();nF="0.0.0-development";ef.VERSION=nF});import{readFileSync as aF}from"node:fs";function tf(e){try{return aF(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 hc=_(()=>{});function lF(e,t,r){return e.retryLimiter.schedule(uF,e,t,r)}async function uF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=dF(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,rf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,rf),i&&await e.search.key(e.id).schedule(l,rf);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 dF(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 fF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function gc(e,t){let{enabled:r=!0,Bottleneck:n=Qk.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:Xk,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&&mF(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(),lF(c,d,p))),{}}var Qk,cF,rf,pF,Yk,Xk,vt,mF,Zk=_(()=>{Qk=ra(Zp(),1),cF="0.0.0-development",rf=()=>Promise.resolve();pF=["/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"];Yk=fF(pF),Xk=Yk.test.bind(Yk),vt={},mF=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})};gc.VERSION=cF;gc.triggersNotification=Xk});function yc(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)=>yc.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 eS=_(()=>{});function tS(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 rS=_(()=>{});function nS(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 sS=_(()=>{});function aS(e,t,r){let n=iS(nS,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]=iS(tS,null).apply(null,o)})}function hF(){let e=Symbol("Singular"),t={registry:{}},r=yc.bind(null,t,e);return aS(r,t,e),r}function gF(){let e={registry:{}},t=yc.bind(null,e);return aS(t,e),t}var oS,iS,cS,lS=_(()=>{eS();rS();sS();oS=Function.bind,iS=oS.bind(oS);cS={Singular:hF,Collection:gF}});function bF(e){return`Request failed due to following response errors:
|
|
75
75
|
`+e.errors.map(t=>` - ${t.message}`).join(`
|
|
76
|
-
`)}function EF(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)=>wF.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 lS.test(o)&&(s.url=o.replace(lS,"/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 bF(s,a,i.data)}return i.data.data})}function nf(e,t){let r=e.defaults(t);return Object.assign((s,o)=>EF(r,s,o),{defaults:nf.bind(null,r),endpoint:r.endpoint})}function uS(e){return nf(e,{method:"POST",url:"/graphql"})}var gF,bF,wF,_F,lS,nQ,dS=E(()=>{Ne();ar();gF="0.0.0-development";bF=class extends Error{constructor(e,t,r){super(yF(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},wF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],_F=["query","method","url"],lS=/\/api\/v3\/?$/;nQ=nf(te,{headers:{"user-agent":`octokit-graphql.js/${gF} ${Ae()}`},method:"POST",url:"/graphql"});});async function SF(e){let t=kF(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 RF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function vF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=RF(e),t(s)}var sf,pS,fS,kF,mS,hS=E(()=>{sf="(?:[a-zA-Z0-9_-]+)",pS="\\.",fS=new RegExp(`^${sf}${pS}${sf}${pS}${sf}$`),kF=fS.test.bind(fS);mS=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(SF.bind(null,t),{hook:vF.bind(null,t)})}});var of,gS=E(()=>{of="7.0.7"});function OF(e={}){return typeof e.debug!="function"&&(e.debug=yS),typeof e.info!="function"&&(e.info=yS),typeof e.warn!="function"&&(e.warn=TF),typeof e.error!="function"&&(e.error=xF),e}var yS,TF,xF,bS,gc,wS=E(()=>{ar();cS();Ne();dS();hS();gS();yS=()=>{},TF=console.warn.bind(console),xF=console.error.bind(console);bS=`octokit-core.js/${of} ${Ae()}`,gc=class{static VERSION=of;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 aS.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} ${bS}`:bS,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=uS(this.request).defaults(n),this.log=OF(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=mS(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 _S,ES=E(()=>{_S="6.0.0"});function af(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 kS=E(()=>{ES();af.VERSION=_S});function CF(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 cf(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=CF(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 SS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),RS(e,[],cf(e,t,r)[Symbol.asyncIterator](),n)}function RS(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:RS(e,t,r,n)})}function lf(e){return{paginate:Object.assign(SS.bind(null,e),{iterator:cf.bind(null,e)})}}var AF,_Q,vS=E(()=>{AF="0.0.0-development";_Q=Object.assign(SS,{iterator:cf});lf.VERSION=AF});var uf,TS=E(()=>{uf="17.0.0"});var PF,xS,OS=E(()=>{PF={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"]}},xS=PF});function df(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},IF);return t}function LF(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,IF,AS=E(()=>{OS();mn=new Map;for(let[e,t]of Object.entries(xS))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})}IF={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]=LF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function GF(e){return{rest:df(e)}}function pf(e){let t=df(e);return{...t,rest:t}}var CS=E(()=>{TS();AS();GF.VERSION=uf;pf.VERSION=uf});var PS,IS=E(()=>{PS="22.0.1"});var LS,GS=E(()=>{wS();kS();vS();CS();IS();LS=gc.plugin(af,pf,lf).defaults({userAgent:`octokit-rest.js/${PS}`})});function $F(e){return`r${e}`}function $S(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=$F(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 kF(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(EF.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)=>_F.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 uS.test(o)&&(s.url=o.replace(uS,"/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 wF(s,a,i.data)}return i.data.data})}function nf(e,t){let r=e.defaults(t);return Object.assign((s,o)=>kF(r,s,o),{defaults:nf.bind(null,r),endpoint:r.endpoint})}function dS(e){return nf(e,{method:"POST",url:"/graphql"})}var yF,wF,_F,EF,uS,oQ,pS=_(()=>{Ne();ar();yF="0.0.0-development";wF=class extends Error{constructor(e,t,r){super(bF(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},_F=["method","baseUrl","url","headers","request","query","mediaType","operationName"],EF=["query","method","url"],uS=/\/api\/v3\/?$/;oQ=nf(te,{headers:{"user-agent":`octokit-graphql.js/${yF} ${Ae()}`},method:"POST",url:"/graphql"});});async function RF(e){let t=SF(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 vF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function TF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=vF(e),t(s)}var sf,fS,mS,SF,hS,gS=_(()=>{sf="(?:[a-zA-Z0-9_-]+)",fS="\\.",mS=new RegExp(`^${sf}${fS}${sf}${fS}${sf}$`),SF=mS.test.bind(mS);hS=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(RF.bind(null,t),{hook:TF.bind(null,t)})}});var of,yS=_(()=>{of="7.0.7"});function AF(e={}){return typeof e.debug!="function"&&(e.debug=bS),typeof e.info!="function"&&(e.info=bS),typeof e.warn!="function"&&(e.warn=xF),typeof e.error!="function"&&(e.error=OF),e}var bS,xF,OF,wS,bc,_S=_(()=>{ar();lS();Ne();pS();gS();yS();bS=()=>{},xF=console.warn.bind(console),OF=console.error.bind(console);wS=`octokit-core.js/${of} ${Ae()}`,bc=class{static VERSION=of;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 cS.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} ${wS}`:wS,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=dS(this.request).defaults(n),this.log=AF(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=hS(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 ES,kS=_(()=>{ES="6.0.0"});function af(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 SS=_(()=>{kS();af.VERSION=ES});function PF(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 cf(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=PF(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 RS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),vS(e,[],cf(e,t,r)[Symbol.asyncIterator](),n)}function vS(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:vS(e,t,r,n)})}function lf(e){return{paginate:Object.assign(RS.bind(null,e),{iterator:cf.bind(null,e)})}}var CF,kQ,TS=_(()=>{CF="0.0.0-development";kQ=Object.assign(RS,{iterator:cf});lf.VERSION=CF});var uf,xS=_(()=>{uf="17.0.0"});var IF,OS,AS=_(()=>{IF={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"]}},OS=IF});function df(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},LF);return t}function GF(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,LF,CS=_(()=>{AS();mn=new Map;for(let[e,t]of Object.entries(OS))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})}LF={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]=GF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function $F(e){return{rest:df(e)}}function pf(e){let t=df(e);return{...t,rest:t}}var PS=_(()=>{xS();CS();$F.VERSION=uf;pf.VERSION=uf});var IS,LS=_(()=>{IS="22.0.1"});var GS,$S=_(()=>{_S();SS();TS();PS();LS();GS=bc.plugin(af,pf,lf).defaults({userAgent:`octokit-rest.js/${IS}`})});function NF(e){return`r${e}`}function NS(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=NF(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 NS(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 DS=E(()=>{});function MS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function BS(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 yc(e){let t=e.etags??MS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??ec(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=xp(e.budgetGate??Op()),i=Oo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Hk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:ef(e.app)}},c=new NF({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 FS(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=Lo(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(Po(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=mf(O),q={...k.headers,...G},Q=Lo(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(Po(O)===401)throw new fs({cause:O});if(Io(O)){if(k!==void 0){let G=ff(w.operation.budget,O);return FS(k,w.operation.budget,G.resetAt,r())}throw ff(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=$S(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=NS(S,T),O=FF(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:MF(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let J=w[Q];q.value===null?J.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):J.resolve({data:J.input.project?J.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Po(S)===401?new fs({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=BS(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,J=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),$=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||$)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(!J&&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,!DF(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 Po(T)===401?new fs({cause:T}):Io(T)?ff(S?.operation.budget??"graphql",T):T}}}}function FS(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 ff(e,t){let r=mf(t),n=Number(Lo(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 DF(e){let t=Lo(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Io(e){if(e instanceof cr)return!0;let t=Po(e),r=mf(e);return t===429||t===403&&Lo(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Po(e){if(Sr(e))return typeof e.status=="number"?e.status:void 0}function mf(e){return!Sr(e)||!Sr(e.response)||!Sr(e.response.headers)?{}:e.response.headers}function Lo(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 FF(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 MF(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 NF,fs,cr,jS=E(()=>{Wk();Kk();tf();Xk();GS();DS();Tp();Ap();NF=LS.plugin(Zp,mc);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 JS(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 VS(e,t){let r=US(e),n=US(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Rr){let c=WS[a],l=n[c],u=BF(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 yf(e){try{let t=await e.transport();return VS(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...JS(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function KS(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 bf(e,t){let r=KS(e);if(r==null)return qS(gf).every_ms;let n=qS(r.fraction);if(r.remaining>0)return n.every_ms;let s=jF(t.now,r.reset_at);return s==null?n.every_ms:Math.max(hf,Math.min(n.every_ms,s))}function qS(e){for(let t of wc)if(e<=t.at_or_below_fraction)return t;return wc[wc.length-1]}function BF(e,t,r){if(!zS(r))return null;let n=bc(r.limit),s=bc(r.remaining),o=bc(r.used),i=bc(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 wf(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${HS}`,{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 jF(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 bc(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function US(e){return zS(e)?e:{}}function zS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var HS,WS,Rr,hf,gf,wc,JQ,_c=E(()=>{HS="rate_limit",WS={rest:"core",graphql:"graphql",search:"search"},Rr=["rest","graphql","search"];hf=15e3,gf=.15,wc=[{at_or_below_fraction:0,every_ms:hf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:gf,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"}],JQ=60*6e4});var YS=E(()=>{V();fn();_c()});var QS=E(()=>{fn();V();V();_c()});var XS=E(()=>{});var ZS=E(()=>{});var eR=E(()=>{});var tR=E(()=>{V()});var Ec=E(()=>{TE();Tp();Ap();DE();jS();YS();QS();_c();XS();ZS();eR();tf();tR()});import{join as WF}from"node:path";function kc(e,t){let r=wf({token:e,...t?{origin:t}:{},fetchImpl:Oo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await rR(o);let a=new Date(i).toISOString();return o=yf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+bf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await rR(o)}}async function rR(e){try{return await cs("balance ask",1e4,()=>e)}catch{return null}}function Sc(e){let t=Pp({path:WF(ce(e.rootDir),"github","spend.toonl")}),r=yc({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 JF(r)}function JF(e){return{async read(t){let r=Rp(t.args);if(r.kind!=="read")return Go(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Go(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Go(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=VF(r,t);if(n){let o=await e.singleObject({cacheKey:sR(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=zF(r,t);if(!o)return Go(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:sR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:XF(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 Io(n)?Go(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:ZF(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function VF(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"?Dt(i)??{}:oR(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"?Dt(i)??{}:KF(i)}}function oR(e){let t=Dt(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:Dt(t.author)??{},labels:_f(t.labels).map(r=>({name:r.name}))}}function KF(e){let t=Dt(e)??{};return{...oR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function zF(e,t){let r=$o(t.params,"owner"),n=$o(t.params,"repo");if(!r||!n)return null;let s=YF(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 DS(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 FS=_(()=>{});function BS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function jS(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 wc(e){let t=e.etags??BS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??tc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Op(e.budgetGate??Ap()),i=Oo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Wk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:tf(e.app)}},c=new DF({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 MS(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=Lo(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(Po(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=mf(O),q={...k.headers,...G},Q=Lo(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(Po(O)===401)throw new fs({cause:O});if(Io(O)){if(k!==void 0){let G=ff(w.operation.budget,O);return MS(k,w.operation.budget,G.resetAt,r())}throw ff(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=NS(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=DS(S,T),O=MF(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:BF(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let J=w[Q];q.value===null?J.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):J.resolve({data:J.input.project?J.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Po(S)===401?new fs({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=jS(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,J=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),$=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||$)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(!J&&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,!FF(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 Po(T)===401?new fs({cause:T}):Io(T)?ff(S?.operation.budget??"graphql",T):T}}}}function MS(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 ff(e,t){let r=mf(t),n=Number(Lo(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 FF(e){let t=Lo(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Io(e){if(e instanceof cr)return!0;let t=Po(e),r=mf(e);return t===429||t===403&&Lo(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Po(e){if(Sr(e))return typeof e.status=="number"?e.status:void 0}function mf(e){return!Sr(e)||!Sr(e.response)||!Sr(e.response.headers)?{}:e.response.headers}function Lo(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 MF(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 BF(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 DF,fs,cr,qS=_(()=>{Jk();zk();hc();Zk();$S();FS();xp();Cp();DF=GS.plugin(ef,gc);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 JS(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 VS(e,t){let r=HS(e),n=HS(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Rr){let c=WS[a],l=n[c],u=jF(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 bf(e){try{let t=await e.transport();return VS(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...JS(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function KS(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 wf(e,t){let r=KS(e);if(r==null)return US(yf).every_ms;let n=US(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(gf,Math.min(n.every_ms,s))}function US(e){for(let t of Ec)if(e<=t.at_or_below_fraction)return t;return Ec[Ec.length-1]}function jF(e,t,r){if(!zS(r))return null;let n=_c(r.limit),s=_c(r.remaining),o=_c(r.used),i=_c(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 _f(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${hf}`,{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 _c(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function HS(e){return zS(e)?e:{}}function zS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var hf,WS,Rr,gf,yf,Ec,KQ,Go=_(()=>{hf="rate_limit",WS={rest:"core",graphql:"graphql",search:"search"},Rr=["rest","graphql","search"];gf=15e3,yf=.15,Ec=[{at_or_below_fraction:0,every_ms:gf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:yf,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"}],KQ=60*6e4});var YS=_(()=>{V();fn();Go()});var QS=_(()=>{fn();V();V();Go()});var XS=_(()=>{});var ZS=_(()=>{});var eR=_(()=>{});var tR=_(()=>{hc();Go()});var rR=_(()=>{V()});var kc=_(()=>{xE();xp();Cp();FE();qS();YS();QS();Go();XS();ZS();eR();hc();tR();rR()});import{join as VF}from"node:path";function Sc(e,t){let r=_f({token:e,...t?{origin:t}:{},fetchImpl:Oo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await nR(o);let a=new Date(i).toISOString();return o=bf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+wf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await nR(o)}}async function nR(e){try{return await cs("balance ask",1e4,()=>e)}catch{return null}}function Rc(e){let t=Ip({path:VF(ce(e.rootDir),"github","spend.toonl")}),r=wc({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 KF(r)}function KF(e){return{async read(t){let r=vp(t.args);if(r.kind!=="read")return $o(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return $o(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return $o(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=zF(r,t);if(n){let o=await e.singleObject({cacheKey:oR(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=QF(r,t);if(!o)return $o(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:oR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:e1(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 Io(n)?$o(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:t1(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function zF(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=No(t.params,"owner")||r[1],s=No(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"?Dt(i)??{}:iR(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"?Dt(i)??{}:YF(i)}}function iR(e){let t=Dt(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:Dt(t.author)??{},labels:Ef(t.labels).map(r=>({name:r.name}))}}function YF(e){let t=Dt(e)??{};return{...iR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function QF(e,t){let r=No(t.params,"owner"),n=No(t.params,"repo");if(!r||!n)return null;let s=XF(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:ZF(t.params,"labels")},decode:i=>sR(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:Ef(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:pn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:
|
|
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");$1.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>=L1)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 Of(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,N1),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 N1,Af=E(()=>{"use strict";N1="default"});import{mkdir as D1,readFile as F1,rename as M1,rm as B1,writeFile as j1}from"node:fs/promises";import{dirname as q1,join as U1}from"node:path";function W1(e){if(!H1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function J1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function V1(e){return e.code==="ENOENT"}function K1(e){return e.code==="EEXIST"}function z1(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 Cf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Ic(e,t){return W1(t),U1(e.castleStateRoot,"singletons",t,"lease.toon")}function Pf(e,t={}){let r=t.fs??{mkdir:D1,readFile:F1,rename:M1,rm:B1,writeFile:j1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??J1;async function o(a){try{return z1(z(await r.readFile(a,"utf8")))}catch(c){if(V1(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(Ic(e,a))},async acquire(a,c){let l=Ic(e,a);await r.mkdir(q1(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(!K1(m))throw m}let f=await o(l);if(f){if(Cf(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=Ic(e,a),u=await o(l);if(!u||!Cf(u,c))throw new Lc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Ic(e,a),u=await o(l);if(!u)return!1;if(!Cf(u,c))throw new Lc(a);return await r.rm(l,{force:!0}),!0}}}var Lc,H1,If=E(()=>{"use strict";V();Lc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},H1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var NR=E(()=>{"use strict";Pc();xf();Fa();Af();Oc();If()});var DR=E(()=>{"use strict"});var FR=E(()=>{});var MR=E(()=>{"use strict";FR()});var BR=E(()=>{"use strict"});var jR=E(()=>{"use strict"});var Lf=E(()=>{"use strict"});var qR=E(()=>{"use strict";V();Lf()});var UR=E(()=>{"use strict";V()});var Gf=E(()=>{"use strict"});var $f=E(()=>{"use strict"});var HR=E(()=>{"use strict";Tc()});var WR=E(()=>{"use strict"});var JR=E(()=>{"use strict";Gf();$f()});var Nf=E(()=>{"use strict"});var VR=E(()=>{"use strict"});var Y1,Q1,X1,Ree,KR=E(()=>{"use strict";Y1={refreshCadenceS:270,tolerance:3},Q1=270,X1=2700,Ree={...Y1,claimGraceS:Q1,recentCommitProtectionS:X1}});var zR=E(()=>{"use strict"});var YR=E(()=>{Ha()});var QR=E(()=>{Ha();YR()});import{execFile as rM,execFileSync as Nee}from"node:child_process";import{promisify as nM}from"node:util";var jee,XR=E(()=>{"use strict";Ec();QR();Nf();jee=nM(rM)});var ZR=E(()=>{"use strict";yR();SR();RR();vc();TR();xR();OR();AR();Rc();CR();PR();IR();LR();vf();GR();$R();NR();DR();MR();BR();jR();Ac();qR();UR();Rf();Gf();$f();Af();HR();WR();JR();Tc();Lf();Oc();If();Nf();VR();KR();zR();XR()});var Gc,ev=E(()=>{"use strict";Pc();Pc();or();Gc=class extends Do{constructor(t){super(t,Xn)}}});import{EventEmitter as sM}from"node:events";import{join as oM}from"node:path";function Ff(e){let t=wo(e.cwd),r=Of(oM(t,".red"));return new Df({...e,leases:e.leases??Pf(r),lane:e.lane??xc(r),makeForwarder:e.makeForwarder??((n,s)=>new Gc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Zn(n.pid,n.start_time))})}var Df,tv=E(()=>{"use strict";ZR();ev();or();Fa();Df=class extends sM{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"?Fo(a,n):Mo(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===Cc&&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 Mf={};se(Mf,{listWaits:()=>Ba,renderWaitHelp:()=>No,runWait:()=>cM});import{randomUUID as rv}from"node:crypto";import{mkdir as iM,rm as aM}from"node:fs/promises";async function cM(e,t=process.cwd()){let r;try{r=await N_(e)}catch(n){return await fM(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(No()),0;if(r.kind==="ls"){let n={schema:O_,version:1,waits:await Ba(t)};return process.stdout.write(ss(n,r.options.format)),0}return ap(r.kind)?await lM({...r,kind:r.kind},t):(process.stdout.write(No()),2)}async function lM(e,t){let r=e.kind,n=pp({id:rv(),kind:r,target:pM(e),reason:e.options.reason,pid:process.pid,pid_start_time:await go(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:op[r],status:"running",attempts:0}),s=U_(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 iM(ts(t),{recursive:!0}),await rs(s,n);let u=await uM(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await V_({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=So(r,n,d,{status:"success"},new Date().toISOString());return await Ro(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 aM(s,{force:!0}).catch(()=>{})}}async function uM(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await yE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:B_(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=Ff({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:dR(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 dM(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=Ff({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:()=>pR(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 To({probe:()=>fR(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 To({probe:()=>hR(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 dM(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 mR(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 pM(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 fM(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=ap(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=pp({id:rv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:op[o],status:"indeterminate",attempts:0}),c=So(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Ro(s,c,r).catch(()=>{}),process.stdout.write(ss(c,r)),2}var Bf=E(()=>{"use strict";D_();z_();wE();ln();lp();gR();or();Eo();Sf();tv();Eo();Sf()});var jf,qf,Uf,We,Je,lt,Tt,Bo,$c=E(()=>{"use strict";jf="rsp-telemetry.spool.toonl",qf="rsp-telemetry.spool.jsonl",Uf="rsp-telemetry.spool.corrections.toonl",We="rsp_accounting_events_v1",Je="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",Bo="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 Hf=E(()=>{"use strict"});import{randomUUID as jo,createHash as bM}from"node:crypto";import{appendFileSync as wM,closeSync as _M,existsSync as EM,fstatSync as kM,mkdirSync as uv,openSync as SM,readFileSync as RM,statSync as vM,writeSync as TM}from"node:fs";import{mkdir as dv,readdir as xM,readFile as pv,rename as OM,rm as fv,writeFile as mv}from"node:fs/promises";import{basename as Wf,dirname as qo,join as bs,resolve as ov}from"node:path";function Dc(e){if(!e)return null;let t=ov(e);for(;;){if(EM(bs(t,".red")))return t;let r=ov(bs(t,".."));if(r===t)break;t=r}return null}function lr(e){return bs(ce(e),jf)}function Kf(e){return bs(ce(e),qf)}function zf(e){return bs(ce(e),Uf)}async function gn(e,t,r=St["rsp-telemetry-spool"]){xr(e,t,r)}function xr(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Dc(e);if(!s)return;let o=lr(s);uv(qo(o),{recursive:!0});let i=cv({spool_id:jo(),event:PM(t)}),a=bv(o,i,r,Qf,cv);CM(o,i,n),a>0&&yv(s,"telemetry spool retention",a)}catch{}}function CM(e,t,r){let n=0;for(;;){let s=SM(e,"a",384);try{TM(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=kM(s),i=vM(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{_M(s)}}}function PM(e){return iv(iv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function iv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=AM)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function IM(e){let t=Dc(e);if(!t)return[];let r=lr(t);await dv(qo(r),{recursive:!0}).catch(()=>{});let n=await wv(t),s=[...await _v(t),...await NM(n)];return await Promise.all(n.map(o=>fv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Yf(e,t){let r=Dc(e);if(!r)return;let n=lr(r);await dv(qo(n),{recursive:!0}).catch(()=>{}),await $M(r);for(let s of await LM(r))await av(r,s,t);for(let s of await _v(r))await hv(r,s,t,!0);for(let s of await wv(r))await av(r,s,t)}async function LM(e){let t=[lr(e),Kf(e)],r=qo(t[0]);return(await xM(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Wf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Wf(c)}.`));if(!o)return!1;let i=`${Wf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&GM(a))}).sort().map(s=>bs(r,s))}function GM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function av(e,t,r){try{let n=await gv(t);for(let s of Qf(n))await hv(e,s,r,!1)}finally{await fv(t,{force:!0})}}async function hv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Jf(e,{correction_id:jo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Jf(e,{correction_id:jo(),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 gv(e){let t="";for(let r=0;r<5;r++){let n=await pv(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!==Je&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function cv(e){return je().push(FM(e))}function Jf(e,t,r=!0){try{let n=Dc(e);if(!n)return;let s=zf(n);uv(qo(s),{recursive:!0});let o=lv(t),i=bv(s,o,St["rsp-telemetry-corrections"],Ev,lv);wM(s,o,{encoding:"utf8",mode:384}),r&&i>0&&yv(n,"telemetry corrections retention",i,!1)}catch{}}function yv(e,t,r,n=!0){let s=jo();Jf(e,{correction_id:jo(),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 lv(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 bv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!LE(e,o,r))return 0;let i;try{i=RM(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 GE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function wv(e){let t=lr(e),r=[t,Kf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await OM(s,o),s===t&&await mv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function $M(e){await mv(lr(e),"",{flag:"a"}).catch(()=>{})}async function NM(e){let t=[];for(let r of e)t.push(...Qf(await gv(r)));return t}async function _v(e){let t=await pv(zf(e),"utf8").catch(()=>""),r=new Map;for(let n of Ev(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 Qf(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:Nc(JSON.stringify(o)),event:i}:{spool_id:Nc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Nc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
|
|
90
|
+
}`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>sR(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:Ef(a.labels)}))}:null}function sR(e,t){let r=Dt(e.repository),n=Dt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Dt).filter(s=>s!==null):[]}function Ef(e){let t=Dt(e);return Array.isArray(t?.nodes)?t.nodes.map(Dt).filter(r=>r!==null):[]}function Dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function No(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function XF(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function ZF(e,t){let r=No(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function $o(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 oR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function e1(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function t1(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 kf=_(()=>{"use strict";kc();Xe()});import{spawn as r1}from"node:child_process";async function vr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=st(t).rootDir;if($e(n,r).enabled&&!cR.has(n)){let s=await at(e);if(!s1(s))return s;cR.add(n)}return await at({...e,residentRead:async s=>await(await n1(n,r,e.signal)).read(s)})}async function n1(e,t,r){let n=aR.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await Sf(["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=Rc({rootDir:e,token:s,balance:Sc(s,o),...o?{baseUrl:o}:{}});return aR.set(e,i),i}function s1(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 lR(t,async r=>await Sf(e,t.cwd,r)):await lR(t,async r=>{let n=await o1(e,t.cwd,r);return n||await Sf(e,t.cwd,r)})}async function lR(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 Sf(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=r1("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Da(u).then(d=>Na(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 o1(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await i1(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await vr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=it(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 vr({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=it(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=qa(e,"--branch"),s=qa(e,"--limit")??"20",o=await vr({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(it(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=qa(e,"--limit")??"20",s=await vr({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 vr({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=it(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 i1(e,t,r){let n=await vr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=it(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(it(s.head),"sha"),[i,a]=o?await Promise.all([vr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),vr({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(it(JSON.parse(i.stdout)).statuses):[],l=a.status===0?dn(it(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:a1(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 a1(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 aR,cR,uR=_(()=>{"use strict";Ue();xo();kf();wt();Ua();or();aR=new Map,cR=new Set});function pR(e,t,r){let n=Date.now();return()=>c1(e,t,r,n)}async function c1(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=ko(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(u1),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return ot("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return ot("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return ot("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}):ot("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}):ot("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function fR(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=ko(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?sr(`run ${e} is ${s||"pending"}`):o==="success"?ot("success",`run ${e} succeeded`,dR(n)):ot("failure",`run ${e} concluded ${o||"unknown"}`,dR(n))}async function mR(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"):l1(e,ko(r.stdout))}function l1(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"?ot("success",`job ${e} succeeded`,s):ot("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function hR(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 ns(s)&&s.databaseId!=null?String(s.databaseId):""}async function gR(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=ko(a.stdout);return c.isDraft===!0?sr(`release ${e} is still a draft`):ot("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||d1(e,c))&&(n||l>=t)});return i?ot("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):sr("no matching release is published yet")}function u1(e){let t=ns(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 dR(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 d1(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var yR=_(()=>{"use strict";ln();uR();Ua()});function Do(){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 Rf=_(()=>{"use strict"});var bR=_(()=>{"use strict";V()});var wR=_(()=>{"use strict"});function p1(e){return Object.keys(e)}function hs(e){return{...e,fields:p1(e.fields)}}var _R,ER,kR,f1,m1,h1,SR,vf=_(()=>{"use strict";_R="red.castle.lane.v1",ER="red.castle.state.v1",kR="red.castle.history.v1",f1="red.castle.validation.v2",m1="red.castle.envelope.v1",h1="red.castle.hitl-card.v1",SR=[hs({schemaId:_R,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}}),hs({schemaId:ER,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}}),hs({schemaId:kR,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}}),hs({schemaId:f1,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}}),hs({schemaId:m1,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}}),hs({schemaId:h1,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 NZ,vc=_(()=>{"use strict";fn();V();vf();NZ=new Map(SR.map(e=>[e.schemaId,new Set(e.fields)]))});var RR=_(()=>{"use strict";wR();vc()});var vR=_(()=>{"use strict"});var Tc=_(()=>{"use strict"});var Tf=_(()=>{"use strict";Tc()});var xc=_(()=>{"use strict"});import{appendFile as b1,mkdir as w1,readFile as _1}from"node:fs/promises";import{dirname as E1,join as k1}from"node:path";function xf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function TR(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:xf(t.at,"at"),singleton:xf(t.singleton,"singleton"),kind:xf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function S1(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function R1(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function v1(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function T1(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(v1(i))+t<=r?n=o:s=o-1}return n}function x1(e){return k1(e.castleStateRoot,"singleton-events.toonl")}function Oc(e,t={}){let r=t.fs??{appendFile:b1,mkdir:w1,readFile:_1},n=t.clock??(()=>new Date().toISOString()),s=x1(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=TR({at:a.at??n(),...a}),l=je().push(S1(c)),u=Buffer.byteLength(l);if(await r.mkdir(E1(s),{recursive:!0}),await ls(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=T1(f,u,g);await us(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){R1(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(TR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Ac=_(()=>{"use strict";fn();V()});var Cc=_(()=>{"use strict";V();xc();Ac()});var xR=_(()=>{"use strict";Tc();Tf();Cc()});var OR=_(()=>{"use strict"});var E7,AR=_(()=>{"use strict";V();E7=24*60*60*1e3});var CR=_(()=>{"use strict";vc()});var v7,T7,PR=_(()=>{"use strict";v7=15*6e4,T7=30*6e4});var IR=_(()=>{"use strict"});var A1,C1,A7,C7,LR=_(()=>{"use strict";A1=["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"],C1={pre_worktree:["cargo","gradle"]},A7=Object.values(C1).flat(),C7=new Set(A1)});var GR=_(()=>{"use strict"});var $R=_(()=>{"use strict";Cc()});var Of=_(()=>{});var NR=_(()=>{"use strict";kc();Of()});import{EventEmitter as I1}from"node:events";import{spawn as L1}from"node:child_process";function Mo(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 Bo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var gs,Pc,G1,$1,N1,D1,Fo,Ic=_(()=>{gs="github-webhook",Pc="github.webhook.delivery";G1="pull_request,pull_request_review,check_run,check_suite,workflow_run",$1=3,N1=1e3,D1=/no extension matched|unknown command|command not found/i,Fo=class extends I1{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"?Mo(c,n):Bo(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=L1(r,["webhook","forward",`--events=${G1}`],{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");D1.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>=$1)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 Af(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,F1),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 F1,Cf=_(()=>{"use strict";F1="default"});import{mkdir as M1,readFile as B1,rename as j1,rm as q1,writeFile as U1}from"node:fs/promises";import{dirname as H1,join as W1}from"node:path";function V1(e){if(!J1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function K1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function z1(e){return e.code==="ENOENT"}function Y1(e){return e.code==="EEXIST"}function Q1(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 Pf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Lc(e,t){return V1(t),W1(e.castleStateRoot,"singletons",t,"lease.toon")}function If(e,t={}){let r=t.fs??{mkdir:M1,readFile:B1,rename:j1,rm:q1,writeFile:U1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??K1;async function o(a){try{return Q1(z(await r.readFile(a,"utf8")))}catch(c){if(z1(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(Lc(e,a))},async acquire(a,c){let l=Lc(e,a);await r.mkdir(H1(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(Pf(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=Lc(e,a),u=await o(l);if(!u||!Pf(u,c))throw new Gc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Lc(e,a),u=await o(l);if(!u)return!1;if(!Pf(u,c))throw new Gc(a);return await r.rm(l,{force:!0}),!0}}}var Gc,J1,Lf=_(()=>{"use strict";V();Gc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},J1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var DR=_(()=>{"use strict";Ic();Of();Ma();Cf();Ac();Lf()});var FR=_(()=>{"use strict"});var MR=_(()=>{});var BR=_(()=>{"use strict";MR()});var jR=_(()=>{"use strict"});var qR=_(()=>{"use strict"});var Gf=_(()=>{"use strict"});var UR=_(()=>{"use strict";V();Gf()});var HR=_(()=>{"use strict";V()});var $f=_(()=>{"use strict"});var Nf=_(()=>{"use strict"});var WR=_(()=>{"use strict";xc()});var JR=_(()=>{"use strict"});var VR=_(()=>{"use strict";$f();Nf()});var Df=_(()=>{"use strict"});var KR=_(()=>{"use strict"});var X1,Z1,eM,Iee,zR=_(()=>{"use strict";X1={refreshCadenceS:270,tolerance:3},Z1=270,eM=2700,Iee={...X1,claimGraceS:Z1,recentCommitProtectionS:eM}});var YR=_(()=>{"use strict"});var QR=_(()=>{Wa()});var XR=_(()=>{Wa();QR()});import{execFile as sM,execFileSync as Hee}from"node:child_process";import{promisify as oM}from"node:util";var zee,ZR=_(()=>{"use strict";kc();XR();Df();zee=oM(sM)});var ev=_(()=>{"use strict";bR();RR();vR();Tc();xR();OR();AR();CR();vc();PR();IR();LR();GR();Tf();$R();NR();DR();FR();BR();jR();qR();Cc();UR();HR();vf();$f();Nf();Cf();WR();JR();VR();xc();Gf();Ac();Lf();Df();KR();zR();YR();ZR()});var $c,tv=_(()=>{"use strict";Ic();Ic();or();$c=class extends Fo{constructor(t){super(t,Xn)}}});import{EventEmitter as iM}from"node:events";import{join as aM}from"node:path";function Mf(e){let t=wo(e.cwd),r=Af(aM(t,".red"));return new Ff({...e,leases:e.leases??If(r),lane:e.lane??Oc(r),makeForwarder:e.makeForwarder??((n,s)=>new $c({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Zn(n.pid,n.start_time))})}var Ff,rv=_(()=>{"use strict";ev();tv();or();Ma();Ff=class extends iM{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"?Mo(a,n):Bo(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===Pc&&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 Bf={};se(Bf,{listWaits:()=>ja,renderWaitHelp:()=>Do,runWait:()=>uM});import{randomUUID as nv}from"node:crypto";import{mkdir as cM,rm as lM}from"node:fs/promises";async function uM(e,t=process.cwd()){let r;try{r=await D_(e)}catch(n){return await hM(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Do()),0;if(r.kind==="ls"){let n={schema:A_,version:1,waits:await ja(t)};return process.stdout.write(ss(n,r.options.format)),0}return cp(r.kind)?await dM({...r,kind:r.kind},t):(process.stdout.write(Do()),2)}async function dM(e,t){let r=e.kind,n=fp({id:nv(),kind:r,target:mM(e),reason:e.options.reason,pid:process.pid,pid_start_time:await go(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:ip[r],status:"running",attempts:0}),s=H_(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 cM(ts(t),{recursive:!0}),await rs(s,n);let u=await pM(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await K_({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=So(r,n,d,{status:"success"},new Date().toISOString());return await Ro(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 lM(s,{force:!0}).catch(()=>{})}}async function pM(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await bE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:j_(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=Mf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:pR(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 fM(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=Mf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:()=>fR(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 To({probe:()=>mR(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 To({probe:()=>gR(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 fM(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 hR(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 mM(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 hM(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=cp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=fp({id:nv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:ip[o],status:"indeterminate",attempts:0}),c=So(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Ro(s,c,r).catch(()=>{}),process.stdout.write(ss(c,r)),2}var jf=_(()=>{"use strict";F_();Y_();_E();ln();up();yR();or();Eo();Rf();rv();Eo();Rf()});var qf,Uf,Hf,We,Je,lt,Tt,jo,Nc=_(()=>{"use strict";qf="rsp-telemetry.spool.toonl",Uf="rsp-telemetry.spool.jsonl",Hf="rsp-telemetry.spool.corrections.toonl",We="rsp_accounting_events_v1",Je="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",jo="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 Wf=_(()=>{"use strict"});import{randomUUID as qo,createHash as _M}from"node:crypto";import{appendFileSync as EM,closeSync as kM,existsSync as SM,fstatSync as RM,mkdirSync as dv,openSync as vM,readFileSync as TM,statSync as xM,writeSync as OM}from"node:fs";import{mkdir as pv,readdir as AM,readFile as fv,rename as CM,rm as mv,writeFile as hv}from"node:fs/promises";import{basename as Jf,dirname as Uo,join as bs,resolve as iv}from"node:path";function Fc(e){if(!e)return null;let t=iv(e);for(;;){if(SM(bs(t,".red")))return t;let r=iv(bs(t,".."));if(r===t)break;t=r}return null}function lr(e){return bs(ce(e),qf)}function zf(e){return bs(ce(e),Uf)}function Yf(e){return bs(ce(e),Hf)}async function gn(e,t,r=St["rsp-telemetry-spool"]){xr(e,t,r)}function xr(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Fc(e);if(!s)return;let o=lr(s);dv(Uo(o),{recursive:!0});let i=lv({spool_id:qo(),event:LM(t)}),a=wv(o,i,r,Xf,lv);IM(o,i,n),a>0&&bv(s,"telemetry spool retention",a)}catch{}}function IM(e,t,r){let n=0;for(;;){let s=vM(e,"a",384);try{OM(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=RM(s),i=xM(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{kM(s)}}}function LM(e){return av(av(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function av(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=PM)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function GM(e){let t=Fc(e);if(!t)return[];let r=lr(t);await pv(Uo(r),{recursive:!0}).catch(()=>{});let n=await _v(t),s=[...await Ev(t),...await FM(n)];return await Promise.all(n.map(o=>mv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Qf(e,t){let r=Fc(e);if(!r)return;let n=lr(r);await pv(Uo(n),{recursive:!0}).catch(()=>{}),await DM(r);for(let s of await $M(r))await cv(r,s,t);for(let s of await Ev(r))await gv(r,s,t,!0);for(let s of await _v(r))await cv(r,s,t)}async function $M(e){let t=[lr(e),zf(e)],r=Uo(t[0]);return(await AM(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Jf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Jf(c)}.`));if(!o)return!1;let i=`${Jf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&NM(a))}).sort().map(s=>bs(r,s))}function NM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function cv(e,t,r){try{let n=await yv(t);for(let s of Xf(n))await gv(e,s,r,!1)}finally{await mv(t,{force:!0})}}async function gv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Vf(e,{correction_id:qo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Vf(e,{correction_id:qo(),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 yv(e){let t="";for(let r=0;r<5;r++){let n=await fv(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!==Je&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function lv(e){return je().push(BM(e))}function Vf(e,t,r=!0){try{let n=Fc(e);if(!n)return;let s=Yf(n);dv(Uo(s),{recursive:!0});let o=uv(t),i=wv(s,o,St["rsp-telemetry-corrections"],kv,uv);EM(s,o,{encoding:"utf8",mode:384}),r&&i>0&&bv(n,"telemetry corrections retention",i,!1)}catch{}}function bv(e,t,r,n=!0){let s=qo();Vf(e,{correction_id:qo(),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 uv(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 wv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!GE(e,o,r))return 0;let i;try{i=TM(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 $E(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function _v(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 CM(s,o),s===t&&await hv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function DM(e){await hv(lr(e),"",{flag:"a"}).catch(()=>{})}async function FM(e){let t=[];for(let r of e)t.push(...Xf(await yv(r)));return t}async function Ev(e){let t=await fv(Yf(e),"utf8").catch(()=>""),r=new Map;for(let n of kv(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 Xf(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:Dc(JSON.stringify(o)),event:i}:{spool_id:Dc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Dc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
|
|
94
94
|
${s}
|
|
95
|
-
`))
|
|
95
|
+
`))Kf(o)&&jM(o)&&t.push({spool_id:o.spool_id,event:Sv(o)})}catch{s.startsWith("{")&&t.push({spool_id:Dc(s),raw_line:s})}}}return t}function kv(e){return MM(e).map(qM).filter(t=>t!==null)}function MM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Kf(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
|
+
`))Kf(o)&&t.push(o)}catch{}}}return t}function Dc(e){return`legacy:${_M("sha256").update(e).digest("hex").slice(0,24)}`}function BM(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 Sv(e){let{spool_id:t,...r}=e;return ws(JSON.stringify(r))}function jM(e){return typeof e.spool_id=="string"&&Sv(e)!==null}function qM(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 Kf(e){return ys(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var PM,Rv=_(()=>{"use strict";Xe();fn();V();Nc();Wf();PM=64*1024});function Mc(e){return e.trim().split(/\s+/).filter(Boolean)}function Ho(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Wo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Mc(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(UM)}function UM(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function _s(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Jo=_(()=>{"use strict"});var Ee,Bc=_(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as zo}from"node:child_process";import{createHash as tm}from"node:crypto";import{existsSync as HM}from"node:fs";import{mkdir as WM,readFile as JM,readdir as vv,rename as VM,writeFile as KM}from"node:fs/promises";import{homedir as zM}from"node:os";import{basename as YM,dirname as QM,join as Vo}from"node:path";import{fileURLToPath as XM}from"node:url";import{gunzipSync as ZM,gzipSync as eB}from"node:zlib";function Yo(e,t){return`el:${tm("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 Or(e){return`record:${e.slice(3)}`}function wn(e){return`expired:${e.slice(3)}`}function Uc(){return"index:v1"}function tB(e){return`blob:${e}`}function Tv(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function ur(e){let t=Mc(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":Hc(t)?"re-executable":"ephemeral"}return"ephemeral"}function Qo(e){return Kc(e.storage_class)?e.storage_class:ur(e.command)}function xv(e){return Kc(e.storage_class)?e.storage_class:ur(e.command)}function rm(e){let t=sB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=xv(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 nm(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:rB(o),storage_class:xv(s),recover:`rsp show ${s.handle}`}})}function rB(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 sm(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 om(e,t){let r=process.cwd(),n=zo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=zo("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:nB(r),original_bytes:e.length}:null}function nB(e){let t=Zf(e,["rev-parse","HEAD"])||"unborn",r=Zf(e,["write-tree"])||"no-index",n=Zf(e,["status","--porcelain=v1","-z"])||"";return tm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function Zf(e,t){let r=zo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function im(e,t){let r=Mc(t);if(!Hc(r))return null;let n=Pv(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 Hc(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 tm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function am(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 cm(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 lm(e,t,r){let n=eB(e);return{key:tB(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Ov(e){try{let t=ZM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Av(e){let t=e.object_ids[0];if(!t)return null;let r=zo("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 Cv(e){if(!Hc(e.argv))return null;let t=Pv(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 Pv(e,t,r){let n=t[0];if(!n)return null;let s=zo(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 sB(){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 Xo(e){return/^el:[a-f0-9]{12}$/.test(e)}function qc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Iv(e){if(!Ko(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:Ko(e.scope)?e.scope:void 0,ranking:Ko(e.ranking)?e.ranking:void 0}}}function Lv(e){if(!Ko(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 Ko(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Gv(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 vv(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Vo(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 $v(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Ko(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 Wc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Zo(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=iB(e.derivation_recipe),n=aB(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&qc(s);return e.collection===Ee&&typeof e.handle=="string"&&Xo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||dm(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&qc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&oB(e.loss)&&(e.storage_class===void 0||Kc(e.storage_class))}function um(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"&&Xo(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||Kc(t.storage_class))&&(r===void 0||typeof r=="string"&&qc(r))})}function Jc(e){return pt(e)&&typeof e.key=="string"&&qc(e.key)&&dm(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 Vc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function oB(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Kc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function iB(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 aB(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")&&Hc(e.argv)&&typeof e.original_bytes=="number"&&dm(e.content_hash)}function dm(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 Nv(e){try{let n=(await JM(e,"utf8")).trim();if(n==="")return jc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(cB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=jc();return await Es(e,s),s}let n=jc();return await Es(e,n),n}let t=jc();return await Es(e,t),t}async function Dv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function Fv(e){return YM(e)==="red-skills.rdb"}async function zc(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Vo(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Vo(zM(),".cache","red-skills","bundles")),t=Vo(e,"reddb"),r;try{r=await vv(t)}catch{return}r.sort().reverse();for(let n of r){let s=Vo(t,n,process.platform==="win32"?"red.exe":"red");if(HM(s)){process.env.REDDB_BIN=s;return}}}async function Es(e,t){await WM(QM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await KM(r,`${M(em(t))}
|
|
99
|
+
`,"utf8"),await VM(r,e)}function em(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=>em(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=em(n));return t}return String(e)}function jc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function cB(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(Zo)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Jc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Vc)&&um(e.index)}function Mv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return XM(e)}var Yc=_(()=>{"use strict";V();Jo();Bc()});async function Bv(e,t){return lB?pB(e,t):uB?mB(e,t):dB(e,t)}async function dB(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 pB(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:fB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*fB(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 mB(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:hB(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*hB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var lB,uB,jv=_(()=>{lB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",uB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as gB}from"node:fs";import{join as yB}from"node:path";function qv(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=yB(r,"bin",t);if(gB(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 Uv=_(()=>{});import{fileURLToPath as bB}from"node:url";import{dirname as wB,resolve as _B,join as ine}from"node:path";function SB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Hv(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:qv({name:SB(),packageRoot:kB,envVar:"REDDB_BIN"})}var EB,kB,Wv=_(()=>{Uv();EB=wB(bB(import.meta.url)),kB=_B(EB,"..")});var RB,vB,j,Qc,Ar=_(()=>{RB=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}},Qc=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(RB.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 fm(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:/"?TB(e):xB(e)}function TB(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=OB(s),a=r.port?Number(r.port):pm(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 xB(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):pm(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):pm(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 OB(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 pm(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 mm=_(()=>{Ar()});function CB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Jv(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Jv(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Jv(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 PB(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 AB,ei,hm=_(()=>{Ar();AB=new Set(["embedded"]),ei=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&AB.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:PB(n.value)}async put(t,r,n,s={}){this._guard("put");let o=CB(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 gm(e,t){return`${ym(e)}.${IB(t)}`}function ym(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 IB(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function LB(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 Vv(e){return`'${String(e).replace(/'/g,"''")}'`}var ks,bm=_(()=>{Ar();ks=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(Vv).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${gm(s,t)} = ${LB(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 ${gm(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 ${gm(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 ${ym(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(Vv).join(", ")}] FROM ${ym(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 IB(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?wm(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 wm(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 LB(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function GB(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 ${LB(e.priority)}`),e.key!=null&&(t+=` KEY ${_m(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${_m(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function $B(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?_m(e):JSON.stringify(e)}function _m(e){return`'${String(e).replace(/'/g,"''")}'`}function bm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ei,Em=E(()=>{Ar();ei=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=GB(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${$B(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${wm(r)}`});return bm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${wm(r)}`});return bm(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=IB(t,r,n),o=await this.client.call("query",{sql:s});return bm(o)}}});function Vv(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function NB(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 Qc(e){return String(e).split(".").map(Kv).join(".")}function Kv(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 DB(e){return zv(JSON.stringify(e))}function FB(e){return JSON.stringify(e)}function MB(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?DB(e):zv(e)}function zv(e){return`'${String(e).replace(/'/g,"''")}'`}var ti,km=E(()=>{Ar();ti=class{constructor(t){this.db=t}async insert(t,r){Vv(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Qc(t)} DOCUMENT VALUES (${FB(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=NB(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 ${Qc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Vv(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])=>`${Kv(c)} = ${MB(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Qc(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 ${Qc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function BB(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Cr(r)}.${Cr(n)})`}return qB(e)}function jB(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 qB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Yv(e)}function Yv(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,Sm=E(()=>{ri=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){jB(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Yv).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Cr(s)} ${Cr(t)} = ${BB(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 UB(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 HB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Qv(e)}function Qv(e){return`'${String(e).replace(/'/g,"''")}'`}var ni,Rm=E(()=>{ni=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){UB(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Qv).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Ss(s)}.${Ss(t)} = ${HB(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 Zv(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(WB)}async function eT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${VB(t)}`)).rows??[]).some(n=>n.name===String(t))}function WB(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function Xv(e){return String(e).split(".").map(JB).join(".")}function JB(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 VB(e){return`'${String(e).replace(/'/g,"''")}'`}var si,vm=E(()=>{Ar();si=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(Xv).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${Xv(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 el(e,t={}){let r=pm(e);if(nj(r),r.kind==="embedded"){let n=rj(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=tj(r),o=t.binary??Uv(),i=await Mv(o,s),a=new Yc(i);return await a.call("version",{}),new xm(a,{transport:"embedded"})}}function rT(e){return YB(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:XB(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&ej(e)?{$uuid:e}:e}function YB(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 QB(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(rT):e.map(rT)}function XB(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 ZB(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 ej(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function Xc(e){if(Array.isArray(e))return e.map(Xc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return ZB(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]=Xc(s);return r}return e}function tj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function rj(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 nj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",KB)}function Om(){return new j(tT,`${tT}: nested transactions are not supported on one connection`)}function sT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function sj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${nT} 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 >= ${nT} 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 KB,zB,nT,tT,Zc,Tm,xm,oT=E(()=>{Bv();Hv();Ar();fm();mm();ym();Em();km();Sm();Rm();vm();mm();ym();Em();km();Sm();Rm();vm();fm();KB="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",zB="1.0",nT="1.0.9",tT="NESTED_TX_NOT_SUPPORTED";Zc=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 Om()}},Tm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Om();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 Zc(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){sT(r,n)}throw r}}},xm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=zB,this.cache=new Zo(t,this.transport),this.queue=new ei(t),this.queues=this.queue,this.documents=new ti(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 ri(t,s),this.vault=(s="red.vault")=>new ni(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=QB(r);return n==null?this.client.call("query",{sql:t}).then(Xc):this.client.call("query",{sql:t,params:n}).then(Xc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return sj(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 Tm(this)}async transaction(t){if(this.inTransaction)throw Om();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 Zc(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){sT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return eT(this,t)}list(){return Zv(this)}from(t){return new si(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 ij}from"node:crypto";import{existsSync as iT}from"node:fs";import{mkdir as aj,readFile as cj,rename as Am,rm as oi,stat as Cm}from"node:fs/promises";import{basename as lj,dirname as uj}from"node:path";async function aT(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,cT=E(()=>{"use strict";oT();Mc();zc();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=Fv(t.uri),n=await Nv(r),s=new e(n,{uri:t.uri,ttlDays:Hc(t.ttlDays,_t),ephemeralTtlHours:Hc(t.ephemeralTtlHours,Et),byteBudget:Hc(t.byteBudget,kt),now:t.now??(()=>new Date)});return Dv(n)?(await Kc(),await aj(uj(n),{recursive:!0}),s.db=await el(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await $v(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=Or(i),c=ur(r.command),l=c==="derivable"?sm(n,r.command):null,u=c==="re-executable"?om(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=nm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?cm(n,f,o):null,g=im(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(!Qo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Or(t)];if(!Xo(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:am(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Yo(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:Yo(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:tm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),rm(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 Jc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Ov(t.derivation_recipe);if(t.reexecution_recipe)return Av(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Wc(r)?xv(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 Cm(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 Es(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=
|
|
109
|
-
`),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(qc());return lm(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(qc(),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 Cm(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 oi(o,{force:!0}),await oi(i,{force:!0});let a=await el(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${vv(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 Cm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await oi(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Am(this.path,i),await Am(o,this.path),await oi(i,{force:!0})}catch(l){throw!iT(this.path)&&iT(i)&&await Am(i,this.path),await oi(o,{force:!0}),l}finally{this.db=await el(`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:qc(),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(Or(t));if(!Xo(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 lT={};se(lT,{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:()=>Kc,provisionElisionStore:()=>aT,storageClassForCommand:()=>ur});var tl=E(()=>{"use strict";Mc();zc();zc();cT()});async function rl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await pT(e,s),i=(await ii(e,Je)).filter($=>vs($)>=s),a=o.filter($=>W($.event_type)!=="show"&&W($.degradation_reason)===""),c=o.filter($=>W($.event_type)==="show"),l=o.filter($=>W($.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],_=0,w=0,k=0;for(let $ of a){$.elided===!0&&u++;let H=ut($.raw_bytes),ye=ut($.emitted_bytes),ht=Math.max(0,H-ye),me=Ts($,"raw"),L=Ts($,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=($.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=kn($).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W($.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($.wrapper_ms);Me!=null&&y.push(Me),_+=ut($.store_open_count);let Vt=Tr($.store_elapsed_ms);Vt!=null&&(w+=Vt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let $ of l){let H=W($.degradation_reason)||W($.reason)||"unknown",ye=W($.wrapper_family)||dt(W($.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn($);C.push({timestamp:ht,family:ye,command:W($.command)||"unknown",reason:H,exit_code:Tr($.wrapper_exit_code),stderr_head:W($.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W($.command)||"unknown"})}let G=a.length+l.length,q=c.filter($=>$.hit===!0).length,Q=Qd(f,m),J=dj(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(([$],[H])=>$.localeCompare(H)).map(([$,H])=>({date:$,tokens_saved:H})),top_commands:[...b.values()].sort(($,H)=>H.bytes_saved-$.bytes_saved||H.tokens_saved-$.tokens_saved||$.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(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({reason:$,count:H})),by_family:[...T.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({family:$,count:H})),recent_failures:C.sort(($,H)=>H.timestamp.localeCompare($.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Rs(y,.5),wrapper_ms_p95:Rs(y,.95),store_open_count_sum:_,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:J}}function dj(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 Pm(e,t,r=new Date){let s=(await ii(e,We)).filter(o=>vs(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:_j(s)}}async function Im(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 pT(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)/Aj()))),g=[],b=new Map,y=new Map,_=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),Jt=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 Vt=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)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&_.set(It,(_.get(It)??0)+1);let mr=Rj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Vs=xj(U);Vs&&k.set(Vs,(k.get(Vs)??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+=Vt,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&&Vt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Vt})}let J=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)),$=new Map;for(let L of J)$.set(L.reason,($.get(L.reason)??0)+1);let H=hj(J),ye=mj(u),ht=yj([...S.values()],ye,H),me=[..._.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:dT(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,...dT(U)}))},throughput:{requests_per_day:[...y.entries()].sort(([L],[U])=>L.localeCompare(U)).map(([L,U])=>({date:L,requests:U})),active_minute_avg:_.size===0?null:Pe([..._.values()].reduce((L,U)=>L+U,0)/_.size),peak_minute:me?{minute:me[0],requests:me[1]}:null,hour_weekday_heatmap:vj(w)},savings:{tokens:Qd(T,C),measured_control_holdout:pj(c,l),weekly_tokens_saved:Oj(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:J,degradations_by_reason:[...$.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 pT(e,t){let r=(await ii(e,We)).filter(i=>vs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ii(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 ii(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 pj(e,t){let r=wj(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(uT).filter(a=>a!=null),s=t.map(uT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(bj(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:fj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function uT(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 fj(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 mj(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 hj(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:gj(r)}))}function gj(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 yj(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 bj(e){return e.reduce((t,r)=>t+r,0)/e.length}function wj(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function _j(e){let t=kj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Ej(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 Ej(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function kj(){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 ii(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=>Sj(n.value)).filter(n=>ys(n))}function Sj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function vs(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 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 dT(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 Rj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${Tj(t.getUTCDay())}:${t.getUTCHours()}`:null}function vj(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 Tj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function xj(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 Oj(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 Aj(){return 24*60*60*1e3}var fT=E(()=>{"use strict";Wo();tl();Xd();$c();Hf()});var ai={};se(ai,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>We,RSP_DECISIONS_COLLECTION:()=>Je,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>Bo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>qf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Uf,RSP_TELEMETRY_SPOOL_FILE:()=>jf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>xr,drainTelemetrySpool:()=>Yf,parseTelemetryEvent:()=>ws,readAccountingLaneStats:()=>Pm,readTelemetryGainsReport:()=>Im,readTelemetryStats:()=>rl,takeTelemetrySpool:()=>IM,telemetryLegacySpoolPath:()=>Kf,telemetrySpoolCorrectionsPath:()=>zf,telemetrySpoolPath:()=>lr});var Ft=E(()=>{"use strict";$c();Sv();fT()});import{isUtf8 as Cj}from"node:buffer";async function mT(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&&Cj(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 GB(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?_m(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 _m(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 $B(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function NB(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 ${$B(e.priority)}`),e.key!=null&&(t+=` KEY ${Em(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Em(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function DB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Em(e):JSON.stringify(e)}function Em(e){return`'${String(e).replace(/'/g,"''")}'`}function wm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ti,km=_(()=>{Ar();ti=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=NB(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${DB(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${_m(r)}`});return wm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${_m(r)}`});return wm(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=GB(t,r,n),o=await this.client.call("query",{sql:s});return wm(o)}}});function Kv(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function FB(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 Xc(e){return String(e).split(".").map(zv).join(".")}function zv(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 MB(e){return Yv(JSON.stringify(e))}function BB(e){return JSON.stringify(e)}function jB(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?MB(e):Yv(e)}function Yv(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,Sm=_(()=>{Ar();ri=class{constructor(t){this.db=t}async insert(t,r){Kv(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Xc(t)} DOCUMENT VALUES (${BB(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=FB(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 ${Xc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Kv(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])=>`${zv(c)} = ${jB(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Xc(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 ${Xc(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 HB(e)}function UB(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 HB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Qv(e)}function Qv(e){return`'${String(e).replace(/'/g,"''")}'`}var ni,Rm=_(()=>{ni=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){UB(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Qv).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 WB(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 JB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Xv(e)}function Xv(e){return`'${String(e).replace(/'/g,"''")}'`}var si,vm=_(()=>{si=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){WB(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Xv).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Ss(s)}.${Ss(t)} = ${JB(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 eT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(VB)}async function tT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${zB(t)}`)).rows??[]).some(n=>n.name===String(t))}function VB(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function Zv(e){return String(e).split(".").map(KB).join(".")}function KB(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 zB(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Tm=_(()=>{Ar();oi=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(Zv).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${Zv(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 tl(e,t={}){let r=fm(e);if(oj(r),r.kind==="embedded"){let n=sj(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=nj(r),o=t.binary??Hv(),i=await Bv(o,s),a=new Qc(i);return await a.call("version",{}),new Om(a,{transport:"embedded"})}}function nT(e){return XB(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"&&rj(e)?{$uuid:e}:e}function XB(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 ZB(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(nT):e.map(nT)}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 tj(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 rj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function Zc(e){if(Array.isArray(e))return e.map(Zc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return tj(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]=Zc(s);return r}return e}function nj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function sj(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 oj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",YB)}function Am(){return new j(rT,`${rT}: nested transactions are not supported on one connection`)}function oT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function ij(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${sT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function aj(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 >= ${sT} 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 YB,QB,sT,rT,el,xm,Om,iT=_(()=>{jv();Wv();Ar();mm();hm();bm();km();Sm();Rm();vm();Tm();hm();bm();km();Sm();Rm();vm();Tm();mm();YB="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",QB="1.0",sT="1.0.9",rT="NESTED_TX_NOT_SUPPORTED";el=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 Am()}},xm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Am();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 el(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){oT(r,n)}throw r}}},Om=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=QB,this.cache=new ei(t,this.transport),this.queue=new ti(t),this.queues=this.queue,this.documents=new ri(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 ni(t,s),this.vault=(s="red.vault")=>new si(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=ZB(r);return n==null?this.client.call("query",{sql:t}).then(Zc):this.client.call("query",{sql:t,params:n}).then(Zc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return ij(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 aj(n,r.length)}tx(){return new xm(this)}async transaction(t){if(this.inTransaction)throw Am();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 el(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){oT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return tT(this,t)}list(){return eT(this)}from(t){return new oi(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 cj}from"node:crypto";import{existsSync as aT}from"node:fs";import{mkdir as lj,readFile as uj,rename as Cm,rm as ii,stat as Pm}from"node:fs/promises";import{basename as dj,dirname as pj}from"node:path";async function cT(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,lT=_(()=>{"use strict";iT();Bc();Yc();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=Mv(t.uri),n=await Dv(r),s=new e(n,{uri:t.uri,ttlDays:Wc(t.ttlDays,_t),ephemeralTtlHours:Wc(t.ephemeralTtlHours,Et),byteBudget:Wc(t.byteBudget,kt),now:t.now??(()=>new Date)});return Fv(n)?(await zc(),await lj(pj(n),{recursive:!0}),s.db=await tl(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Nv(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=Yo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?om(n,r.command):null,u=c==="re-executable"?im(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=sm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?lm(n,f,o):null,g=am(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(!Xo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Or(t)];if(!Zo(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:cm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Qo(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:Qo(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:rm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),nm(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 Vc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Av(t.derivation_recipe);if(t.reexecution_recipe)return Cv(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)?Ov(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 Pm(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 Es(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=Yo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?om(n,r.command):null,u=c==="re-executable"?im(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=sm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?lm(n,f,o):null,g=am(n,l,u,m);m&&!Jc(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(!Xo(t))return null;let r=await this.kvGet(wn(t));if(Vc(r))return r;let n=await this.kvGet(Or(t));if(!Zo(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:Or(n.handle),bytes:cm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Qo(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:Qo(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:rm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return nm(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=Iv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Lv(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 Gv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await uj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=dj(s),c=cj("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=>$v(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(Uc());return um(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Uc(),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 Pm(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 ii(o,{force:!0}),await ii(i,{force:!0});let a=await tl(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Tv(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 Pm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ii(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Cm(this.path,i),await Cm(o,this.path),await ii(i,{force:!0})}catch(l){throw!aT(this.path)&&aT(i)&&await Cm(i,this.path),await ii(o,{force:!0}),l}finally{this.db=await tl(`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:Uc(),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(Or(t));if(!Zo(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 uT={};se(uT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>En,contentHandle:()=>Yo,ensureReddbBinaryFromWarmCache:()=>zc,provisionElisionStore:()=>cT,storageClassForCommand:()=>ur});var rl=_(()=>{"use strict";Bc();Yc();Yc();lT()});async function nl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await fT(e,s),i=(await ai(e,Je)).filter($=>vs($)>=s),a=o.filter($=>W($.event_type)!=="show"&&W($.degradation_reason)===""),c=o.filter($=>W($.event_type)==="show"),l=o.filter($=>W($.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 $ of a){$.elided===!0&&u++;let H=ut($.raw_bytes),ye=ut($.emitted_bytes),ht=Math.max(0,H-ye),me=Ts($,"raw"),L=Ts($,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=($.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=kn($).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W($.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($.wrapper_ms);Me!=null&&y.push(Me),E+=ut($.store_open_count);let Vt=Tr($.store_elapsed_ms);Vt!=null&&(w+=Vt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let $ of l){let H=W($.degradation_reason)||W($.reason)||"unknown",ye=W($.wrapper_family)||dt(W($.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn($);C.push({timestamp:ht,family:ye,command:W($.command)||"unknown",reason:H,exit_code:Tr($.wrapper_exit_code),stderr_head:W($.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W($.command)||"unknown"})}let G=a.length+l.length,q=c.filter($=>$.hit===!0).length,Q=Xd(f,m),J=fj(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(([$],[H])=>$.localeCompare(H)).map(([$,H])=>({date:$,tokens_saved:H})),top_commands:[...b.values()].sort(($,H)=>H.bytes_saved-$.bytes_saved||H.tokens_saved-$.tokens_saved||$.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(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({reason:$,count:H})),by_family:[...T.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({family:$,count:H})),recent_failures:C.sort(($,H)=>H.timestamp.localeCompare($.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:J}}function fj(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 Im(e,t,r=new Date){let s=(await ai(e,We)).filter(o=>vs(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:kj(s)}}async function Lm(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 fT(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)/Pj()))),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),Jt=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 Vt=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)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=Tj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Vs=Aj(U);Vs&&k.set(Vs,(k.get(Vs)??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+=Vt,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&&Vt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Vt})}let J=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)),$=new Map;for(let L of J)$.set(L.reason,($.get(L.reason)??0)+1);let H=yj(J),ye=gj(u),ht=wj([...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:pT(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,...pT(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:xj(w)},savings:{tokens:Xd(T,C),measured_control_holdout:mj(c,l),weekly_tokens_saved:Cj(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:J,degradations_by_reason:[...$.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 fT(e,t){let r=(await ai(e,We)).filter(i=>vs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ai(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 ai(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 mj(e,t){let r=Ej(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(dT).filter(a=>a!=null),s=t.map(dT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(_j(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:hj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function dT(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 hj(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 gj(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 yj(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:bj(r)}))}function bj(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 wj(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 _j(e){return e.reduce((t,r)=>t+r,0)/e.length}function Ej(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function kj(e){let t=Rj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Sj(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 Sj(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function Rj(){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 ai(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=>ys(n))}function vj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function vs(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 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 pT(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 Tj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${Oj(t.getUTCDay())}:${t.getUTCHours()}`:null}function xj(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 Oj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Aj(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 Cj(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 Pj(){return 24*60*60*1e3}var mT=_(()=>{"use strict";Jo();rl();Zd();Nc();Wf()});var ci={};se(ci,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>We,RSP_DECISIONS_COLLECTION:()=>Je,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>jo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Uf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Hf,RSP_TELEMETRY_SPOOL_FILE:()=>qf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>xr,drainTelemetrySpool:()=>Qf,parseTelemetryEvent:()=>ws,readAccountingLaneStats:()=>Im,readTelemetryGainsReport:()=>Lm,readTelemetryStats:()=>nl,takeTelemetrySpool:()=>GM,telemetryLegacySpoolPath:()=>zf,telemetrySpoolCorrectionsPath:()=>Yf,telemetrySpoolPath:()=>lr});var Ft=_(()=>{"use strict";Nc();Rv();mT()});import{isUtf8 as Ij}from"node:buffer";async function hT(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&&Ij(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 gT=_(()=>{"use strict"});var K=I(ke=>{"use strict";var Gm=Symbol.for("yaml.alias"),yT=Symbol.for("yaml.document"),sl=Symbol.for("yaml.map"),bT=Symbol.for("yaml.pair"),$m=Symbol.for("yaml.scalar"),ol=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),Lj=e=>!!e&&typeof e=="object"&&e[pr]===Gm,Gj=e=>!!e&&typeof e=="object"&&e[pr]===yT,$j=e=>!!e&&typeof e=="object"&&e[pr]===sl,Nj=e=>!!e&&typeof e=="object"&&e[pr]===bT,wT=e=>!!e&&typeof e=="object"&&e[pr]===$m,Dj=e=>!!e&&typeof e=="object"&&e[pr]===ol;function _T(e){if(e&&typeof e=="object")switch(e[pr]){case sl:case ol:return!0}return!1}function Fj(e){if(e&&typeof e=="object")switch(e[pr]){case Gm:case sl:case $m:case ol:return!0}return!1}var Mj=e=>(wT(e)||_T(e))&&!!e.anchor;ke.ALIAS=Gm;ke.DOC=yT;ke.MAP=sl;ke.NODE_TYPE=pr;ke.PAIR=bT;ke.SCALAR=$m;ke.SEQ=ol;ke.hasAnchor=Mj;ke.isAlias=Lj;ke.isCollection=_T;ke.isDocument=Gj;ke.isMap=$j;ke.isNode=Fj;ke.isPair=Nj;ke.isScalar=wT;ke.isSeq=Dj});var li=I(Nm=>{"use strict";var pe=K(),Ve=Symbol("break visit"),ET=Symbol("skip children"),Mt=Symbol("remove node");function il(e,t){let r=kT(t);pe.isDocument(e)?xs(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):xs(null,e,r,Object.freeze([]))}il.BREAK=Ve;il.SKIP=ET;il.REMOVE=Mt;function xs(e,t,r,n){let s=ST(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return RT(e,n,s),xs(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=xs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ve)return Ve;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=xs("key",t.key,r,n);if(o===Ve)return Ve;o===Mt&&(t.key=null);let i=xs("value",t.value,r,n);if(i===Ve)return Ve;i===Mt&&(t.value=null)}}return s}async function al(e,t){let r=kT(t);pe.isDocument(e)?await Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await Os(null,e,r,Object.freeze([]))}al.BREAK=Ve;al.SKIP=ET;al.REMOVE=Mt;async function Os(e,t,r,n){let s=await ST(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return RT(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=await Os(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ve)return Ve;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await Os("key",t.key,r,n);if(o===Ve)return Ve;o===Mt&&(t.key=null);let i=await Os("value",t.value,r,n);if(i===Ve)return Ve;i===Mt&&(t.value=null)}}return s}function kT(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 ST(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 RT(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`)}}Nm.visit=il;Nm.visitAsync=al});var Dm=I(TT=>{"use strict";var vT=K(),Bj=li(),jj={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},qj=e=>e.replace(/[!,[\]{}]/g,t=>jj[t]),ui=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+qj(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&&vT.isNode(t.contents)){let o={};Bj.visit(t.contents,(i,a)=>{vT.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
|
+
`)}};ui.defaultYaml={explicit:!1,version:"1.2"};ui.defaultTags={"!!":"tag:yaml.org,2002:"};TT.Directives=ui});var cl=I(di=>{"use strict";var xT=K(),Uj=li();function Hj(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 OT(e){let t=new Set;return Uj.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function AT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Wj(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=OT(e));let i=AT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(xT.isScalar(i.node)||xT.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}}di.anchorIsValid=Hj;di.anchorNames=OT;di.createNodeAnchors=Wj;di.findNewAnchor=AT});var Fm=I(CT=>{"use strict";function pi(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=pi(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=pi(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=pi(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=pi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}CT.applyReviver=pi});var Pr=I(IT=>{"use strict";var Jj=K();function PT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>PT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!Jj.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}IT.toJS=PT});var ll=I(GT=>{"use strict";var Vj=Fm(),LT=K(),Kj=Pr(),Mm=class{constructor(t){Object.defineProperty(this,LT.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(!LT.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=Kj.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Vj.applyReviver(o,{"":a},"",a):a}};GT.NodeBase=Mm});var fi=I($T=>{"use strict";var zj=cl(),Yj=li(),As=K(),Qj=ll(),Xj=Pr(),Bm=class extends Qj.NodeBase{constructor(t){super(As.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=[],Yj.visit(t,{Node:(o,i)=>{(As.isAlias(i)||As.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||(Xj.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=ul(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(zj.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 ul(e,t,r){if(As.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(As.isCollection(t)){let n=0;for(let s of t.items){let o=ul(e,s,r);o>n&&(n=o)}return n}else if(As.isPair(t)){let n=ul(e,t.key,r),s=ul(e,t.value,r);return Math.max(n,s)}return 1}$T.Alias=Bm});var le=I(jm=>{"use strict";var Zj=K(),eq=ll(),tq=Pr(),rq=e=>!e||typeof e!="function"&&typeof e!="object",Ir=class extends eq.NodeBase{constructor(t){super(Zj.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:tq.toJS(this.value,t,r)}toString(){return String(this.value)}};Ir.BLOCK_FOLDED="BLOCK_FOLDED";Ir.BLOCK_LITERAL="BLOCK_LITERAL";Ir.PLAIN="PLAIN";Ir.QUOTE_DOUBLE="QUOTE_DOUBLE";Ir.QUOTE_SINGLE="QUOTE_SINGLE";jm.Scalar=Ir;jm.isScalarValue=rq});var mi=I(DT=>{"use strict";var nq=fi(),Sn=K(),NT=le(),sq="tag:yaml.org,2002:";function oq(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 iq(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 nq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=sq+t.slice(2));let l=oq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new NT.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 NT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}DT.createNode=iq});var pl=I(dl=>{"use strict";var aq=mi(),Bt=K(),cq=ll();function qm(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 aq.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 FT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Um=class extends cq.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(FT(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,qm(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,qm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};dl.Collection=Um;dl.collectionFromPath=qm;dl.isEmptyPath=FT});var hi=I(fl=>{"use strict";var lq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Hm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var uq=(e,t,r)=>e.endsWith(`
|
|
112
|
+
`)?Hm(r,t):r.includes(`
|
|
113
113
|
`)?`
|
|
114
|
-
`+
|
|
115
|
-
`)r===
|
|
114
|
+
`+Hm(r,t):(e.endsWith(" ")?"":" ")+r;fl.indentComment=Hm;fl.lineComment=uq;fl.stringifyComment=lq});var BT=I(gi=>{"use strict";var dq="flow",Wm="block",ml="quoted";function pq(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===Wm&&(g=MT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===ml&&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===Wm&&(g=MT(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
|
|
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===ml){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===ml&&u[k]&&(E+=`${e[k]}\\`),E+=`
|
|
119
|
+
${t}${e.slice(k+1,S)}`)}return E}function MT(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}gi.FOLD_BLOCK=Wm;gi.FOLD_FLOW=dq;gi.FOLD_QUOTED=ml;gi.foldFlowLines=pq});var bi=I(jT=>{"use strict";var xt=le(),Lr=BT(),gl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),yl=e=>/^(%|---|\.\.\.)/m.test(e);function fq(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 yi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(yl(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:Lr.foldFlowLines(i,o,Lr.FOLD_QUOTED,
|
|
125
|
-
`)||/[ \t]\n|\n[ \t]/.test(e))return
|
|
126
|
-
${r}`)+"'";return t.implicitKey?n:Lr.foldFlowLines(n,r,Lr.FOLD_FLOW,
|
|
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:Lr.foldFlowLines(i,o,Lr.FOLD_QUOTED,gl(t,!1))}function Jm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
|
|
125
|
+
`)||/[ \t]\n|\n[ \t]/.test(e))return yi(e,t);let r=t.indent||(yl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
126
|
+
${r}`)+"'";return t.implicitKey?n:Lr.foldFlowLines(n,r,Lr.FOLD_FLOW,gl(t,!1))}function Cs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=yi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Jm:o&&!s?n=yi:n=r?Jm:yi}return n(e,t)}var Vm;try{Vm=new RegExp(`(^|(?<!
|
|
127
127
|
))
|
|
128
128
|
+(?!
|
|
129
|
-
|$)`,"g")}catch{
|
|
129
|
+
|$)`,"g")}catch{Vm=/\n+(?!\n|$)/g}function hl({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 Cs(r,n);let l=n.indent||(n.forceBlockIndent||yl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!fq(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(
|
|
135
|
-
`)y=b;else break}let
|
|
136
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=
|
|
134
|
+
`&&(f=f.slice(0,-1)),f=f.replace(Vm,`$&${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
|
+
`)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=gl(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Lr.foldFlowLines(`${E}${S}${f}`,l,Lr.FOLD_BLOCK,C);if(!T)return`>${k}
|
|
137
137
|
${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
|
|
138
|
-
${l}${
|
|
138
|
+
${l}${E}${r}${f}`}function mq(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
139
|
`)||u&&/[[\]{},]/.test(o))return Cs(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
|
|
140
|
-
`)?Cs(o,t):
|
|
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 Cs(o,t)}return a?d:Lr.foldFlowLines(d,c,Lr.FOLD_FLOW,
|
|
143
|
-
${t.indent}${a}`:a}
|
|
144
|
-
${a}:`):(b=`${b}:`,p&&(b+=
|
|
145
|
-
`:"",
|
|
146
|
-
${
|
|
140
|
+
`)?Cs(o,t):hl(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
|
|
141
|
+
`))return hl(e,t,r,n);if(yl(o)){if(c==="")return t.forceBlockIndent=!0,hl(e,t,r,n);if(a&&c===l)return Cs(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 Cs(o,t)}return a?d:Lr.foldFlowLines(d,c,Lr.FOLD_FLOW,gl(t,!1))}function hq(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?Cs(i.value,t):hl(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return yi(i.value,t);case xt.Scalar.QUOTE_SINGLE:return Jm(i.value,t);case xt.Scalar.PLAIN:return mq(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}jT.stringifyString=hq});var wi=I(Km=>{"use strict";var gq=cl(),Gr=K(),yq=hi(),bq=bi();function wq(e,t){let r=Object.assign({blockQuote:!0,commentString:yq.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 _q(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(Gr.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 Eq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Gr.isScalar(e)||Gr.isCollection(e))&&e.anchor;o&&gq.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 kq(e,t,r,n){if(Gr.isPair(e))return e.toString(t,r,n);if(Gr.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=Gr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=_q(t.doc.schema.tags,o));let i=Eq(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):Gr.isScalar(o)?bq.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Gr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
|
|
143
|
+
${t.indent}${a}`:a}Km.createStringifyContext=wq;Km.stringify=kq});var WT=I(HT=>{"use strict";var fr=K(),qT=le(),UT=wi(),_i=hi();function Sq({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=fr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(fr.isCollection(e)||!fr.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||fr.isCollection(e)||(fr.isScalar(e)?e.type===qT.Scalar.BLOCK_FOLDED||e.type===qT.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=UT.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+=_i.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=_i.lineComment(b,r.indent,l(p))),b=`? ${b}
|
|
144
|
+
${a}:`):(b=`${b}:`,p&&(b+=_i.lineComment(b,r.indent,l(p))));let y,E,w;fr.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&&fr.isScalar(t)&&(r.indentAtStart=b.length+1),g=!1,!u&&c.length>=2&&!r.inFlow&&!f&&fr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,S=UT.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
|
|
145
|
+
`:"",E){let C=l(E);T+=`
|
|
146
|
+
${_i.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
|
|
147
147
|
`&&w&&(T=`
|
|
148
148
|
|
|
149
149
|
`):T+=`
|
|
150
150
|
${r.indent}`}else if(!f&&fr.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 J=S.indexOf(" ");C==="&"&&J!==-1&&J<O&&S[J+1]==="!"&&(J=S.indexOf(" ",J+1)),(J===-1||O<J)&&(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+=_i.lineComment(b,r.indent,l(w)):g&&s&&s(),b}HT.stringifyPair=Sq});var Ym=I(zm=>{"use strict";var JT=ta("process");function Rq(e,...t){e==="debug"&&console.log(...t)}function vq(e,t){(e==="debug"||e==="warn")&&(typeof JT.emitWarning=="function"?JT.emitWarning(t):console.warn(t))}zm.debug=Rq;zm.warn=vq});var kl=I(El=>{"use strict";var _l=K(),VT=le(),bl="<<",wl={identify:e=>e===bl||typeof e=="symbol"&&e.description===bl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new VT.Scalar(Symbol(bl)),{addToJSMap:KT}),stringify:()=>bl},Tq=(e,t)=>(wl.identify(t)||_l.isScalar(t)&&(!t.type||t.type===VT.Scalar.PLAIN)&&wl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===wl.tag&&r.default);function KT(e,t,r){let n=zT(e,r);if(_l.isSeq(n))for(let s of n.items)Qm(e,t,s);else if(Array.isArray(n))for(let s of n)Qm(e,t,s);else Qm(e,t,n)}function Qm(e,t,r){let n=zT(e,r);if(!_l.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 zT(e,t){return e&&_l.isAlias(t)?t.resolve(e.doc,e):t}El.addMergeToJSMap=KT;El.isMergeKey=Tq;El.merge=wl});var Zm=I(XT=>{"use strict";var xq=Ym(),YT=kl(),Oq=wi(),QT=K(),Xm=Pr();function Aq(e,t,{key:r,value:n}){if(QT.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(YT.isMergeKey(e,r))YT.addMergeToJSMap(e,t,n);else{let s=Xm.toJS(r,"",e);if(t instanceof Map)t.set(s,Xm.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Cq(r,s,e),i=Xm.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 Cq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(QT.isNode(e)&&r?.doc){let n=Oq.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)+'..."'),xq.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)}XT.addPairToJSMap=Aq});var $r=I(eh=>{"use strict";var ZT=mi(),Pq=WT(),Iq=Zm(),Sl=K();function Lq(e,t,r){let n=ZT.createNode(e,void 0,r),s=ZT.createNode(t,void 0,r);return new Rl(n,s)}var Rl=class e{constructor(t,r=null){Object.defineProperty(this,Sl.NODE_TYPE,{value:Sl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Sl.isNode(r)&&(r=r.clone(t)),Sl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return Iq.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?Pq.stringifyPair(this,t,r,n):JSON.stringify(this)}};eh.Pair=Rl;eh.createPair=Lq});var th=I(tx=>{"use strict";var Rn=K(),ex=wi(),vl=hi();function Gq(e,t,r){return(t.inFlow??e.flow?Nq:$q)(e,t,r)}function $q({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(""),Tl(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(""),Tl(r,p,E.commentBefore,d))}d=!1;let y=ex.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=vl.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((
|
|
156
|
+
`+vl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function Nq({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(""),Tl(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(""),Tl(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=ex.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+=vl.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 Tl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=vl.indentComment(t(n),e);r.push(o.trimStart())}}tx.stringifyCollection=Gq});var Dr=I(nh=>{"use strict";var Dq=th(),Fq=Zm(),Mq=pl(),Nr=K(),xl=$r(),Bq=le();function Ei(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 rh=class extends Mq.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(xl.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 xl.Pair(t,t?.value):n=new xl.Pair(t.key,t.value);let s=Ei(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Nr.isScalar(s.value)&&Bq.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=Ei(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=Ei(this.items,t)?.value;return(!r&&Nr.isScalar(s)?s.value:s)??void 0}has(t){return!!Ei(this.items,t)}set(t,r){this.add(new xl.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)Fq.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})),Dq.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};nh.YAMLMap=rh;nh.findPair=Ei});var Ps=I(nx=>{"use strict";var jq=K(),rx=Dr(),qq={collection:"map",default:!0,nodeClass:rx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return jq.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>rx.YAMLMap.from(e,t,r)};nx.map=qq});var Fr=I(sx=>{"use strict";var Uq=mi(),Hq=th(),Wq=pl(),Al=K(),Jq=le(),Vq=Pr(),sh=class extends Wq.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Al.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Ol(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Ol(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Al.isScalar(s)?s.value:s}has(t){let r=Ol(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Ol(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Al.isScalar(s)&&Jq.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(Vq.toJS(o,String(s++),r));return n}toString(t,r,n){return t?Hq.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(Uq.createNode(a,void 0,n))}}return o}};function Ol(e){let t=Al.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}sx.YAMLSeq=sh});var Is=I(ix=>{"use strict";var Kq=K(),ox=Fr(),zq={collection:"seq",default:!0,nodeClass:ox.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Kq.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>ox.YAMLSeq.from(e,t,r)};ix.seq=zq});var ki=I(ax=>{"use strict";var Yq=bi(),Qq={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),Yq.stringifyString(e,t,r,n)}};ax.string=Qq});var Cl=I(ux=>{"use strict";var cx=le(),lx={identify:e=>e==null,createNode:()=>new cx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new cx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&lx.test.test(e)?e:t.options.nullStr};ux.nullTag=lx});var oh=I(px=>{"use strict";var Xq=le(),dx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Xq.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&dx.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};px.boolTag=dx});var Ls=I(fx=>{"use strict";function Zq({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}fx.stringifyNumber=Zq});var ah=I(Pl=>{"use strict";var eU=le(),ih=Ls(),tU={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:ih.stringifyNumber},rU={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():ih.stringifyNumber(e)}},nU={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:ih.stringifyNumber};Pl.float=nU;Pl.floatExp=rU;Pl.floatNaN=tU});var lh=I(Ll=>{"use strict";var mx=Ls(),Il=e=>typeof e=="bigint"||Number.isInteger(e),ch=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function hx(e,t,r){let{value:n}=e;return Il(n)&&n>=0?r+n.toString(t):mx.stringifyNumber(e)}var sU={identify:e=>Il(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>ch(e,2,8,r),stringify:e=>hx(e,8,"0o")},oU={identify:Il,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>ch(e,0,10,r),stringify:mx.stringifyNumber},iU={identify:e=>Il(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>ch(e,2,16,r),stringify:e=>hx(e,16,"0x")};Ll.int=oU;Ll.intHex=iU;Ll.intOct=sU});var yx=I(gx=>{"use strict";var aU=Ps(),cU=Cl(),lU=Is(),uU=ki(),dU=oh(),uh=ah(),dh=lh(),pU=[aU.map,lU.seq,uU.string,cU.nullTag,dU.boolTag,dh.intOct,dh.int,dh.intHex,uh.floatNaN,uh.floatExp,uh.float];gx.schema=pU});var _x=I(wx=>{"use strict";var fU=le(),mU=Ps(),hU=Is();function bx(e){return typeof e=="bigint"||Number.isInteger(e)}var Gl=({value:e})=>JSON.stringify(e),gU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Gl},{identify:e=>e==null,createNode:()=>new fU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Gl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Gl},{identify:bx,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})=>bx(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:Gl}],yU={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},bU=[mU.map,hU.seq].concat(gU,yU);wx.schema=bU});var fh=I(Ex=>{"use strict";var Si=ta("buffer"),ph=le(),wU=bi(),_U={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Si.Buffer=="function")return Si.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 Si.Buffer=="function")a=i instanceof Si.Buffer?i.toString("base64"):Si.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=ph.Scalar.BLOCK_LITERAL),t!==ph.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===ph.Scalar.BLOCK_LITERAL?`
|
|
161
|
+
`:" ")}return wU.stringifyString({comment:e,type:t,value:a},n,s,o)}};Ex.binary=_U});var Dl=I(Nl=>{"use strict";var $l=K(),mh=$r(),EU=le(),kU=Fr();function kx(e,t){if($l.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!$l.isPair(n)){if($l.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new mh.Pair(new EU.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]=Gl.isPair(n)?n:new fh.Pair(n)}}else t("Expected a sequence for this tag");return e}function kx(e,t,r){let{replacer:n}=r,s=new _U.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(fh.createPair(a,c,r))}return s}var EU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ex,createNode:kx};$l.createPairs=kx;$l.pairs=EU;$l.resolvePairs=Ex});var gh=I(hh=>{"use strict";var Sx=K(),mh=Pr(),Si=Dr(),kU=Fr(),Rx=Nl(),vn=class e extends kU.YAMLSeq{constructor(){super(),this.add=Si.YAMLMap.prototype.add.bind(this),this.delete=Si.YAMLMap.prototype.delete.bind(this),this.get=Si.YAMLMap.prototype.get.bind(this),this.has=Si.YAMLMap.prototype.has.bind(this),this.set=Si.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(Sx.isPair(s)?(o=mh.toJS(s.key,"",r),i=mh.toJS(s.value,o,r)):o=mh.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=Rx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};vn.tag="tag:yaml.org,2002:omap";var SU={collection:"seq",identify:e=>e instanceof Map,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Rx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Sx.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)};hh.YAMLOMap=vn;hh.omap=SU});var Ax=I(yh=>{"use strict";var vx=le();function Tx({value:e,source:t},r){return t&&(e?xx:Ox).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var xx={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 vx.Scalar(!0),stringify:Tx},Ox={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 vx.Scalar(!1),stringify:Tx};yh.falseTag=Ox;yh.trueTag=xx});var Cx=I(Dl=>{"use strict";var RU=le(),bh=Ls(),vU={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:bh.stringifyNumber},TU={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():bh.stringifyNumber(e)}},xU={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 RU.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:bh.stringifyNumber};Dl.float=xU;Dl.floatExp=TU;Dl.floatNaN=vU});var Ix=I(vi=>{"use strict";var Px=Ls(),Ri=e=>typeof e=="bigint"||Number.isInteger(e);function Fl(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 wh(e,t,r){let{value:n}=e;if(Ri(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Px.stringifyNumber(e)}var OU={identify:Ri,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Fl(e,2,2,r),stringify:e=>wh(e,2,"0b")},AU={identify:Ri,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Fl(e,1,8,r),stringify:e=>wh(e,8,"0")},CU={identify:Ri,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Fl(e,0,10,r),stringify:Px.stringifyNumber},PU={identify:Ri,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Fl(e,2,16,r),stringify:e=>wh(e,16,"0x")};vi.int=CU;vi.intBin=OU;vi.intHex=PU;vi.intOct=AU});var Eh=I(_h=>{"use strict";var jl=K(),Ml=$r(),Bl=Dr(),Tn=class e extends Bl.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 Ml.Pair(t.key,null):r=new Ml.Pair(t,null),Bl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Bl.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=Bl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Ml.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(Ml.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var IU={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}};_h.YAMLSet=Tn;_h.set=IU});var Sh=I(ql=>{"use strict";var LU=Ls();function kh(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 Lx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return LU.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 GU={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})=>kh(e,r),stringify:Lx},$U={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=>kh(e,!1),stringify:Lx},Gx={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(Gx.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=kh(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$/,"")??""};ql.floatTime=$U;ql.intTime=GU;ql.timestamp=Gx});var Dx=I(Nx=>{"use strict";var NU=Ps(),DU=Al(),FU=Is(),MU=Ei(),BU=ph(),$x=Ax(),Rh=Cx(),Ul=Ix(),jU=El(),qU=gh(),UU=Nl(),HU=Eh(),vh=Sh(),WU=[NU.map,FU.seq,MU.string,DU.nullTag,$x.trueTag,$x.falseTag,Ul.intBin,Ul.intOct,Ul.int,Ul.intHex,Rh.floatNaN,Rh.floatExp,Rh.float,BU.binary,jU.merge,qU.omap,UU.pairs,HU.set,vh.intTime,vh.floatTime,vh.timestamp];Nx.schema=WU});var Vx=I(Oh=>{"use strict";var jx=Ps(),JU=Al(),qx=Is(),VU=Ei(),KU=sh(),Th=ih(),xh=ch(),zU=gx(),YU=wx(),Ux=ph(),Ti=El(),Hx=gh(),Wx=Nl(),Fx=Dx(),Jx=Eh(),Hl=Sh(),Mx=new Map([["core",zU.schema],["failsafe",[jx.map,qx.seq,VU.string]],["json",YU.schema],["yaml11",Fx.schema],["yaml-1.1",Fx.schema]]),Bx={binary:Ux.binary,bool:KU.boolTag,float:Th.float,floatExp:Th.floatExp,floatNaN:Th.floatNaN,floatTime:Hl.floatTime,int:xh.int,intHex:xh.intHex,intOct:xh.intOct,intTime:Hl.intTime,map:jx.map,merge:Ti.merge,null:JU.nullTag,omap:Hx.omap,pairs:Wx.pairs,seq:qx.seq,set:Jx.set,timestamp:Hl.timestamp},QU={"tag:yaml.org,2002:binary":Ux.binary,"tag:yaml.org,2002:merge":Ti.merge,"tag:yaml.org,2002:omap":Hx.omap,"tag:yaml.org,2002:pairs":Wx.pairs,"tag:yaml.org,2002:set":Jx.set,"tag:yaml.org,2002:timestamp":Hl.timestamp};function XU(e,t,r){let n=Mx.get(t);if(n&&!e)return r&&!n.includes(Ti.merge)?n.concat(Ti.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Mx.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(Ti.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?Bx[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(Bx).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},[])}Oh.coreKnownTags=QU;Oh.getTags=XU});var Ph=I(Kx=>{"use strict";var Ah=K(),ZU=Ps(),eH=Is(),tH=Ei(),Wl=Vx(),rH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Ch=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Wl.getTags(t,"compat"):t?Wl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Wl.coreKnownTags:{},this.tags=Wl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Ah.MAP,{value:ZU.map}),Object.defineProperty(this,Ah.SCALAR,{value:tH.string}),Object.defineProperty(this,Ah.SEQ,{value:eH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?rH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};Kx.Schema=Ch});var Yx=I(zx=>{"use strict";var nH=K(),Ih=bi(),xi=mi();function sH(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=Ih.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(xi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(nH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(xi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Ih.stringify(e.contents,s,()=>a=null,c);a&&(l+=xi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Ih.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]=$l.isPair(n)?n:new mh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Sx(e,t,r){let{replacer:n}=r,s=new kU.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(mh.createPair(a,c,r))}return s}var SU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:kx,createNode:Sx};Nl.createPairs=Sx;Nl.pairs=SU;Nl.resolvePairs=kx});var yh=I(gh=>{"use strict";var Rx=K(),hh=Pr(),Ri=Dr(),RU=Fr(),vx=Dl(),vn=class e extends RU.YAMLSeq{constructor(){super(),this.add=Ri.YAMLMap.prototype.add.bind(this),this.delete=Ri.YAMLMap.prototype.delete.bind(this),this.get=Ri.YAMLMap.prototype.get.bind(this),this.has=Ri.YAMLMap.prototype.has.bind(this),this.set=Ri.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(Rx.isPair(s)?(o=hh.toJS(s.key,"",r),i=hh.toJS(s.value,o,r)):o=hh.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=vx.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=vx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Rx.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)};gh.YAMLOMap=vn;gh.omap=vU});var Cx=I(bh=>{"use strict";var Tx=le();function xx({value:e,source:t},r){return t&&(e?Ox:Ax).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Ox={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 Tx.Scalar(!0),stringify:xx},Ax={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 Tx.Scalar(!1),stringify:xx};bh.falseTag=Ax;bh.trueTag=Ox});var Px=I(Fl=>{"use strict";var TU=le(),wh=Ls(),xU={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:wh.stringifyNumber},OU={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():wh.stringifyNumber(e)}},AU={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 TU.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:wh.stringifyNumber};Fl.float=AU;Fl.floatExp=OU;Fl.floatNaN=xU});var Lx=I(Ti=>{"use strict";var Ix=Ls(),vi=e=>typeof e=="bigint"||Number.isInteger(e);function Ml(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 _h(e,t,r){let{value:n}=e;if(vi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Ix.stringifyNumber(e)}var CU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Ml(e,2,2,r),stringify:e=>_h(e,2,"0b")},PU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Ml(e,1,8,r),stringify:e=>_h(e,8,"0")},IU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Ml(e,0,10,r),stringify:Ix.stringifyNumber},LU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Ml(e,2,16,r),stringify:e=>_h(e,16,"0x")};Ti.int=IU;Ti.intBin=CU;Ti.intHex=LU;Ti.intOct=PU});var kh=I(Eh=>{"use strict";var ql=K(),Bl=$r(),jl=Dr(),Tn=class e extends jl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;ql.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Bl.Pair(t.key,null):r=new Bl.Pair(t,null),jl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=jl.findPair(this.items,t);return!r&&ql.isPair(n)?ql.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=jl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Bl.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(Bl.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var GU={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(ql.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}};Eh.YAMLSet=Tn;Eh.set=GU});var Rh=I(Ul=>{"use strict";var $U=Ls();function Sh(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 Gx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return $U.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 NU={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})=>Sh(e,r),stringify:Gx},DU={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=>Sh(e,!1),stringify:Gx},$x={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($x.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=Sh(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$/,"")??""};Ul.floatTime=DU;Ul.intTime=NU;Ul.timestamp=$x});var Fx=I(Dx=>{"use strict";var FU=Ps(),MU=Cl(),BU=Is(),jU=ki(),qU=fh(),Nx=Cx(),vh=Px(),Hl=Lx(),UU=kl(),HU=yh(),WU=Dl(),JU=kh(),Th=Rh(),VU=[FU.map,BU.seq,jU.string,MU.nullTag,Nx.trueTag,Nx.falseTag,Hl.intBin,Hl.intOct,Hl.int,Hl.intHex,vh.floatNaN,vh.floatExp,vh.float,qU.binary,UU.merge,HU.omap,WU.pairs,JU.set,Th.intTime,Th.floatTime,Th.timestamp];Dx.schema=VU});var Kx=I(Ah=>{"use strict";var qx=Ps(),KU=Cl(),Ux=Is(),zU=ki(),YU=oh(),xh=ah(),Oh=lh(),QU=yx(),XU=_x(),Hx=fh(),xi=kl(),Wx=yh(),Jx=Dl(),Mx=Fx(),Vx=kh(),Wl=Rh(),Bx=new Map([["core",QU.schema],["failsafe",[qx.map,Ux.seq,zU.string]],["json",XU.schema],["yaml11",Mx.schema],["yaml-1.1",Mx.schema]]),jx={binary:Hx.binary,bool:YU.boolTag,float:xh.float,floatExp:xh.floatExp,floatNaN:xh.floatNaN,floatTime:Wl.floatTime,int:Oh.int,intHex:Oh.intHex,intOct:Oh.intOct,intTime:Wl.intTime,map:qx.map,merge:xi.merge,null:KU.nullTag,omap:Wx.omap,pairs:Jx.pairs,seq:Ux.seq,set:Vx.set,timestamp:Wl.timestamp},ZU={"tag:yaml.org,2002:binary":Hx.binary,"tag:yaml.org,2002:merge":xi.merge,"tag:yaml.org,2002:omap":Wx.omap,"tag:yaml.org,2002:pairs":Jx.pairs,"tag:yaml.org,2002:set":Vx.set,"tag:yaml.org,2002:timestamp":Wl.timestamp};function eH(e,t,r){let n=Bx.get(t);if(n&&!e)return r&&!n.includes(xi.merge)?n.concat(xi.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Bx.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(xi.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},[])}Ah.coreKnownTags=ZU;Ah.getTags=eH});var Ih=I(zx=>{"use strict";var Ch=K(),tH=Ps(),rH=Is(),nH=ki(),Jl=Kx(),sH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Ph=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,Ch.MAP,{value:tH.map}),Object.defineProperty(this,Ch.SCALAR,{value:nH.string}),Object.defineProperty(this,Ch.SEQ,{value:rH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?sH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};zx.Schema=Ph});var Qx=I(Yx=>{"use strict";var oH=K(),Lh=wi(),Oi=hi();function iH(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=Lh.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Oi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(oH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Oi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Lh.stringify(e.contents,s,()=>a=null,c);a&&(l+=Oi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Lh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
|
|
164
|
+
`)?(r.push("..."),r.push(Oi.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(Oi.indentComment(o(c),"")))}return r.join(`
|
|
165
165
|
`)+`
|
|
166
|
-
`}
|
|
166
|
+
`}Yx.stringifyDocument=iH});var Ai=I(Xx=>{"use strict";var aH=fi(),Gs=pl(),ft=K(),cH=$r(),lH=Pr(),uH=Ih(),dH=Qx(),Gh=cl(),pH=Fm(),fH=mi(),$h=Dm(),Nh=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 $h.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=Gh.anchorNames(this);t.anchor=!r||n.has(r)?Gh.findNewAnchor(r||"a",n):r}return new aH.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}=Gh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=fH.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 cH.Pair(s,o)}delete(t){return $s(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Gs.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 Gs.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 Gs.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Gs.collectionFromPath(this.schema,[t],r):$s(this.contents)&&this.contents.set(t,r)}setIn(t,r){Gs.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Gs.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 $h.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 $h.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 uH.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=lH.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"?pH.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 dH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}Xx.Document=Nh});var Ii=I(Pi=>{"use strict";var Ci=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Dh=class extends Ci{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Fh=class extends Ci{constructor(t,r,n){super("YAMLWarning",t,r,n)}},mH=(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:
|
|
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
|
+
`}};Pi.YAMLError=Ci;Pi.YAMLParseError=Dh;Pi.YAMLWarning=Fh;Pi.prettifyError=mH});var Li=I(Zx=>{"use strict";function hH(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}}Zx.resolveProps=hH});var Vl=I(e0=>{"use strict";function Mh(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(Mh(t.key)||Mh(t.value))return!0}return!1;default:return!0}}e0.containsNewline=Mh});var Bh=I(t0=>{"use strict";var gH=Vl();function yH(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&gH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}t0.flowIndentCheck=yH});var jh=I(n0=>{"use strict";var r0=K();function bH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||r0.isScalar(o)&&r0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}n0.mapIncludes=bH});var l0=I(c0=>{"use strict";var s0=$r(),wH=Dr(),o0=Li(),_H=Vl(),i0=Bh(),EH=jh(),a0="All mapping items must start at the same column";function kH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??wH.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=o0.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",a0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
|
|
173
|
+
`+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||_H.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",a0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&i0.flowIndentCheck(n.indent,p,s),r.atKey=!1,EH.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=o0.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&&i0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new s0.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 s0.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}c0.resolveBlockMap=kH});var d0=I(u0=>{"use strict";var SH=Fr(),RH=Li(),vH=Bh();function TH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??SH.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=RH.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}u0.resolveBlockSeq=TH});var Ns=I(p0=>{"use strict";function xH(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}}p0.resolveEnd=xH});var g0=I(h0=>{"use strict";var OH=K(),AH=$r(),f0=Dr(),CH=Fr(),PH=Ns(),m0=Li(),IH=Vl(),LH=jh(),qh="Block collections are not allowed within flow collections",Uh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function GH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?f0.YAMLMap:CH.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=m0.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&&IH.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];OH.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],Uh(S)&&s(C.range,"BLOCK_IN_FLOW",qh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,E,null,T,s);Uh(w)&&s(O.range,"BLOCK_IN_FLOW",qh),r.atKey=!1;let G=m0.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 J of k){if(J===G.found)break;if(J.type==="newline"){s(J,"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?Uh(S)&&s(q.range,"BLOCK_IN_FLOW",qh):G.comment&&(O.comment?O.comment+=`
|
|
177
|
+
`+G.comment:O.comment=G.comment);let Q=new AH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let J=l;LH.mapIncludes(r,J.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),J.items.push(Q)}else{let J=new f0.YAMLMap(r.schema);J.flow=!0,J.items.push(Q);let $=(q??O).range;J.range=[O.range[0],$[1],$[2]],l.items.push(J)}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=PH.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}h0.resolveFlowCollection=GH});var b0=I(y0=>{"use strict";var $H=K(),NH=le(),DH=Dr(),FH=Fr(),MH=l0(),BH=d0(),jH=g0();function Hh(e,t,r,n,s,o){let i=r.type==="block-map"?MH.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?BH.resolveBlockSeq(e,t,r,n,o):jH.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 qH(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===DH.YAMLMap.tagName&&a==="map"||i===FH.YAMLSeq.tagName&&a==="seq")return Hh(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),Hh(e,t,r,s,i)}let l=Hh(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=$H.isNode(u)?u:new NH.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}y0.composeCollection=qH});var Jh=I(w0=>{"use strict";var Wh=le();function UH(e,t,r){let n=t.offset,s=HH(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Wh.Scalar.BLOCK_FOLDED:Wh.Scalar.BLOCK_LITERAL,i=t.source?WH(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
|
|
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===Wh.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 HH({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 WH(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}w0.resolveBlockScalar=UH});var Kh=I(E0=>{"use strict";var Vh=le(),JH=Ns();function VH(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=Vh.Scalar.PLAIN,c=KH(o,l);break;case"single-quoted-scalar":a=Vh.Scalar.QUOTE_SINGLE,c=zH(o,l);break;case"double-quoted-scalar":a=Vh.Scalar.QUOTE_DOUBLE,c=YH(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=JH.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function KH(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}`),_0(e)}function zH(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),_0(e.slice(1,-1)).replace(/''/g,"'")}function _0(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 YH(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}=QH(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=XH[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+=ZH(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 QH(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 XH={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 ZH(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}}E0.resolveFlowScalar=VH});var R0=I(S0=>{"use strict";var xn=K(),k0=le(),eW=Jh(),tW=Kh();function rW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?eW.resolveBlockScalar(e,t,n):tW.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=nW(e.schema,s,c,r,n):t.type==="scalar"?l=sW(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 k0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new k0.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 nW(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 sW({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}S0.composeScalar=rW});var T0=I(v0=>{"use strict";function oW(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}v0.emptyScalarPosition=oW});var A0=I(Yh=>{"use strict";var iW=fi(),aW=K(),cW=b0(),x0=R0(),lW=Ns(),uW=T0(),dW={composeNode:O0,composeEmptyNode:zh};function O0(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=pW(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=x0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=cW.composeCollection(dW,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=zh(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&&(!aW.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 zh(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:uW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=x0.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 pW({options:e},{offset:t,source:r,end:n},s){let o=new iW.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=lW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Yh.composeEmptyNode=zh;Yh.composeNode=O0});var I0=I(P0=>{"use strict";var fW=Ai(),C0=A0(),mW=Ns(),hW=Li();function gW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new fW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=hW.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?C0.composeNode(l,s,u,i):C0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=mW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}P0.composeDoc=gW});var Xh=I($0=>{"use strict";var yW=ta("process"),bW=Dm(),wW=Ai(),Gi=Ii(),L0=K(),_W=I0(),EW=Ns();function $i(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 G0(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 Qh=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=$i(r);o?this.warnings.push(new Gi.YAMLWarning(i,n,s)):this.errors.push(new Gi.YAMLParseError(i,n,s))},this.directives=new bW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=G0(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(L0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];L0.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:G0(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(yW.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=$i(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=_W.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 Gi.YAMLParseError($i(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 Gi.YAMLParseError($i(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=EW.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 Gi.YAMLParseError($i(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 wW.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}}};$0.Composer=Qh});var F0=I(Kl=>{"use strict";var kW=Jh(),SW=Kh(),RW=Ii(),N0=bi();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 RW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return SW.resolveFlowScalar(e,t,n);case"block-scalar":return kW.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function TW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=N0.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 D0(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 xW(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=N0.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">":OW(e,c);break;case'"':Zh(e,c,"double-quoted-scalar");break;case"'":Zh(e,c,"single-quoted-scalar");break;default:Zh(e,c,"scalar")}}function OW(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}];D0(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 D0(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 Zh(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})}}}Kl.createScalarToken=TW;Kl.resolveAsScalar=vW;Kl.setScalarValue=xW});var B0=I(M0=>{"use strict";var AW=e=>"type"in e?Yl(e):zl(e);function Yl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Yl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=zl(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=zl(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=zl(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 zl({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Yl(t)),r)for(let o of r)s+=o.source;return n&&(s+=Yl(n)),s}M0.stringify=AW});var H0=I(U0=>{"use strict";var eg=Symbol("break visit"),CW=Symbol("skip children"),j0=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),q0(Object.freeze([]),e,t)}On.BREAK=eg;On.SKIP=CW;On.REMOVE=j0;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 q0(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=q0(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===eg)return eg;a===j0&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}U0.visit=On});var Ql=I(Ke=>{"use strict";var tg=F0(),PW=B0(),IW=H0(),rg="\uFEFF",ng="",sg="",og="",LW=e=>!!e&&"items"in e,GW=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function $W(e){switch(e){case rg:return"<BOM>";case ng:return"<DOC>";case sg:return"<FLOW_END>";case og:return"<SCALAR>";default:return JSON.stringify(e)}}function NW(e){switch(e){case rg:return"byte-order-mark";case ng:return"doc-mode";case sg:return"flow-error-end";case og: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}Ke.createScalarToken=
|
|
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}Ke.createScalarToken=tg.createScalarToken;Ke.resolveAsScalar=tg.resolveAsScalar;Ke.setScalarValue=tg.setScalarValue;Ke.stringify=PW.stringify;Ke.visit=IW.visit;Ke.BOM=rg;Ke.DOCUMENT=ng;Ke.FLOW_END=sg;Ke.SCALAR=og;Ke.isCollection=LW;Ke.isScalar=GW;Ke.prettyToken=$W;Ke.tokenType=NW});var cg=I(J0=>{"use strict";var Ni=Ql();function Ot(e){switch(e){case void 0:case" ":case`
|
|
226
|
+
`:case"\r":case" ":return!0;default:return!1}}var W0=new Set("0123456789ABCDEFabcdef"),DW=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Xl=new Set(",[]{}"),FW=new Set(` ,[]{}
|
|
227
|
+
\r `),ig=e=>!e||FW.has(e),ag=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]===Ni.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 Ni.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(ig),"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 Ni.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(ig),"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 Ni.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&&Xl.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&&Xl.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&&Xl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ni.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(ig),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&Xl.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(DW.has(r))r=this.buffer[++t];else if(r==="%"&&W0.has(this.buffer[t+1])&&W0.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)}};J0.Lexer=ag});var ug=I(V0=>{"use strict";var lg=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}}}};V0.LineCounter=lg});var pg=I(X0=>{"use strict";var MW=ta("process"),K0=Ql(),BW=cg();function Mr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function z0(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 Q0(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 Zl(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 Ds(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 eu(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 Y0(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Mr(t.start,"explicit-key-ind")&&!Mr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,Q0(t.value)?t.value.end?eu(t.value.end,t.sep):t.value.end=t.sep:eu(t.start,t.sep),delete t.sep)}var dg=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 BW.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,MW.env.LOG_TOKENS&&console.log("|",K0.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=K0.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"&&Y0(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&&z0(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":{z0(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=Zl(this.peek(2)),n=Ds(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)){eu(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(Mr(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(Q0(r.key)&&!Mr(r.sep,"newline")){let i=Ds(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(Mr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Ds(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]}):Mr(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&&!Mr(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)){eu(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||Mr(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=Zl(n),o=Ds(s);Y0(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 uJ(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function aO(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 dJ(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 pJ(e){try{return z(e.toString("utf8"))}catch{return}}function hg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fJ(e){if(Array.isArray(e)&&e.every(hg))return{rows:e};if(!hg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(hg)).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 mJ(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 hJ(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:gJ(s.reduce((o,i)=>o+i,0))})}return r}function gJ(e){return Number(e.toPrecision(15))}function gg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var bg=E(()=>{"use strict";V();mg()});import{existsSync as yJ}from"node:fs";import{join as bJ}from"node:path";function wJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&yJ(bJ(e,"rsp")))return!0;return!1}function Fi(){return wJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var wg=E(()=>{"use strict"});var tu={};se(tu,{parseProxyCommandLine:()=>uO,rewriteProxyCommandLine:()=>lO,runProxy:()=>kJ});import{spawn as _J}from"node:child_process";function EJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function kJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=uO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=lO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await SJ(t.telemetryRoot,r,c),await cO(r,t.level??"lossless");throw c}for(let c of s)await RJ(t.telemetryRoot,c);let i=await cO(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 lO(e,t="lossless",r=Fi()){let n=CJ(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||AJ(n,a)==="|")return i.text;let c=vJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function uO(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 SJ(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 RJ(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 cO(e,t,r=e){let n=_J(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 mT(n,i=>yg(i,r,o))}function vJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=IJ(o);if(!i)return null;let a=OJ(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=TJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(EJ),...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 TJ(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}:xJ(t,r)}function xJ(e,t){return e[0]==="cat"&&e.length===2&&_g(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&_g(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])&&_g(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function _g(e){return!!e&&!e.startsWith("-")}function OJ(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 AJ(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function CJ(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=PJ(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 PJ(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 IJ(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 ru=E(()=>{"use strict";we();hT();bg();Wo();wg();Ft()});function fO(e,t={}){let r=LJ(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=Eg(o),l=Eg(i),u=Eg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>MJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:kg(p.length,c)+kg(p.tokens.length,l)+kg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+DJ(p.tokens,n,r.length)+FJ(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 LJ(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(dO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(dO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function dO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:GJ(n),tokens:$J(n),numbers:NJ(n),length:n.length}}function GJ(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 $J(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function NJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function DJ(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 FJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Eg(e){let t=pO(e),r=pO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function kg(e,t){return Math.abs(e-t.median)/t.mad}function pO(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 MJ(e,t,r,n){return e<n&&r<t}var mO=E(()=>{"use strict"});var Sg={};se(Sg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>gO,StructuredUsageError:()=>nu,cleanStatusPayload:()=>_O,recoveryInstruction:()=>At,renderGitContract:()=>yO,runGitWrapper:()=>jJ});import{spawn as BJ}from"node:child_process";async function jJ(e,t){let r=bO(e),n=wO(r.argv),s=await WJ(n,r.argv.slice(1));return yO(e,s,t)}async function yO(e,t,r){let n=bO(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=wO(n.argv),o;try{o=JJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof su)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(qJ(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=u2(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=Zl(t),n=Ds(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=Zl(t),n=Ds(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())}}};X0.Parser=dg});var nO=I(Fi=>{"use strict";var Z0=Xh(),jW=Ai(),Di=Ii(),qW=Ym(),UW=K(),HW=ug(),eO=pg();function tO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new HW.LineCounter||null,prettyErrors:t}}function WW(e,t={}){let{lineCounter:r,prettyErrors:n}=tO(t),s=new eO.Parser(r?.addNewLine),o=new Z0.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Di.prettifyError(e,r)),a.warnings.forEach(Di.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function rO(e,t={}){let{lineCounter:r,prettyErrors:n}=tO(t),s=new eO.Parser(r?.addNewLine),o=new Z0.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 Di.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Di.prettifyError(e,r)),i.warnings.forEach(Di.prettifyError(e,r))),i}function JW(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=rO(e,r);if(!s)return null;if(s.warnings.forEach(o=>qW.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 VW(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 UW.isDocument(e)&&!n?e.toString(r):new jW.Document(e,n,r).toString(r)}Fi.parse=JW;Fi.parseAllDocuments=WW;Fi.parseDocument=rO;Fi.stringify=VW});var oO=I(X=>{"use strict";var KW=Xh(),zW=Ai(),YW=Ih(),fg=Ii(),QW=fi(),Br=K(),XW=$r(),ZW=le(),eJ=Dr(),tJ=Fr(),rJ=Ql(),nJ=cg(),sJ=ug(),oJ=pg(),tu=nO(),sO=li();X.Composer=KW.Composer;X.Document=zW.Document;X.Schema=YW.Schema;X.YAMLError=fg.YAMLError;X.YAMLParseError=fg.YAMLParseError;X.YAMLWarning=fg.YAMLWarning;X.Alias=QW.Alias;X.isAlias=Br.isAlias;X.isCollection=Br.isCollection;X.isDocument=Br.isDocument;X.isMap=Br.isMap;X.isNode=Br.isNode;X.isPair=Br.isPair;X.isScalar=Br.isScalar;X.isSeq=Br.isSeq;X.Pair=XW.Pair;X.Scalar=ZW.Scalar;X.YAMLMap=eJ.YAMLMap;X.YAMLSeq=tJ.YAMLSeq;X.CST=rJ;X.Lexer=nJ.Lexer;X.LineCounter=sJ.LineCounter;X.Parser=oJ.Parser;X.parse=tu.parse;X.parseAllDocuments=tu.parseAllDocuments;X.parseDocument=tu.parseDocument;X.stringify=tu.stringify;X.visit=sO.visit;X.visitAsync=sO.visitAsync});import{isUtf8 as iJ}from"node:buffer";import{spawnSync as aJ}from"node:child_process";import{isDeepStrictEqual as iO}from"node:util";function mg(e,t={}){if(e.length===0||!iJ(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=cJ(n,t.decode??z,t.runTq??lJ)??uJ(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!iO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function cJ(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 iO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function lJ(e,t,r){let n=aJ("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 uJ(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,aO.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 aO,hg=_(()=>{"use strict";V();aO=ra(oO(),1)});async function bg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),kp)),Promise.resolve().then(()=>(nr(),Yn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await dJ(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function dJ(e,t){let r=pJ(t.command)?e:mg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=yg(t.sizeThresholdBytes,8*1024),s=yg(t.repetitionThresholdRows,20),o=yg(t.topRows,t.level==="terse"?5:12),i=fJ(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await cO(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=hJ(mJ(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=gJ(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 cO(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:yJ(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 pJ(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function cO(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 fJ(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 mJ(e){try{return z(e.toString("utf8"))}catch{return}}function gg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hJ(e){if(Array.isArray(e)&&e.every(gg))return{rows:e};if(!gg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(gg)).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 gJ(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 yJ(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:bJ(s.reduce((o,i)=>o+i,0))})}return r}function bJ(e){return Number(e.toPrecision(15))}function yg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var wg=_(()=>{"use strict";V();hg()});import{existsSync as wJ}from"node:fs";import{join as _J}from"node:path";function EJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&wJ(_J(e,"rsp")))return!0;return!1}function Mi(){return EJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var _g=_(()=>{"use strict"});var ru={};se(ru,{parseProxyCommandLine:()=>dO,rewriteProxyCommandLine:()=>uO,runProxy:()=>RJ});import{spawn as kJ}from"node:child_process";function SJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function RJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=dO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=uO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await vJ(t.telemetryRoot,r,c),await lO(r,t.level??"lossless");throw c}for(let c of s)await TJ(t.telemetryRoot,c);let i=await lO(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 uO(e,t="lossless",r=Mi()){let n=IJ(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||PJ(n,a)==="|")return i.text;let c=xJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function dO(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 vJ(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 TJ(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 lO(e,t,r=e){let n=kJ(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 hT(n,i=>bg(i,r,o))}function xJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=GJ(o);if(!i)return null;let a=CJ(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=OJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(SJ),...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 OJ(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}:AJ(t,r)}function AJ(e,t){return e[0]==="cat"&&e.length===2&&Eg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Eg(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])&&Eg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Eg(e){return!!e&&!e.startsWith("-")}function CJ(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 PJ(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function IJ(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=LJ(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 LJ(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 GJ(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 nu=_(()=>{"use strict";we();gT();wg();Jo();_g();Ft()});function mO(e,t={}){let r=$J(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=kg(o),l=kg(i),u=kg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>jJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Sg(p.length,c)+Sg(p.tokens.length,l)+Sg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+MJ(p.tokens,n,r.length)+BJ(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 $J(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(pO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(pO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function pO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:NJ(n),tokens:DJ(n),numbers:FJ(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 DJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function FJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function MJ(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 BJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function kg(e){let t=fO(e),r=fO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Sg(e,t){return Math.abs(e-t.median)/t.mad}function fO(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 jJ(e,t,r,n){return e<n&&r<t}var hO=_(()=>{"use strict"});var Rg={};se(Rg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>yO,StructuredUsageError:()=>su,cleanStatusPayload:()=>EO,recoveryInstruction:()=>At,renderGitContract:()=>bO,runGitWrapper:()=>UJ});import{spawn as qJ}from"node:child_process";async function UJ(e,t){let r=wO(e),n=_O(r.argv),s=await VJ(n,r.argv.slice(1));return bO(e,s,t)}async function bO(e,t,r){let n=wO(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=_O(n.argv),o;try{o=KJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof ou)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(HJ(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=p2(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 jr({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
|
|
257
|
-
`)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(
|
|
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 jr(e,t,r){return t?Xt(e,r):e}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 wO(e){let{argv:t,query:r,full:n}=Rw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new su(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function HJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!WJ(e)||n.level!=="lossless")return!0;let s=d2(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function WJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function _O(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 JJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${yO.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 VJ(e,t){let r=qJ("git",JJ(e,t),{stdio:["ignore","pipe","pipe"]}),n=Ze();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 KJ(e,t,r,n){switch(e){case"status":return zJ(t,r,n);case"log":return n2(t,r,n);case"diff":return s2(t,r,n);case"commit":return jr(o2(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return jr(i2(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return a2(t,r,n);case"branch":return c2(t,r,n);case"show":return l2(t,r,n)}}function zJ(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=ZJ(l),o=!0;continue}let u=QJ(l);if(u){o=!0,s.push(u);continue}let d=XJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return EO(e.join(" "),n);throw new ou("git-status-unparseable")}let a=Le(s,r),c=kO(a,"state");return jr({command:e.join(" "),branch:n,rows:a,summary:r2(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 QJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Bi(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Bi(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Bi(t.slice(10).join(" "),r)}return e.startsWith("? ")?Bi(e.slice(2),"??"):null}function XJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Bi(e2(e.slice(3),t),t):null}function Bi(e,t){let r=gO(t[0]??"."),n=gO(t[1]??".");return{path:t2(e),index:r,worktree:n,state:u2(`${r}${n}`)}}function gO(e){return e===" "?".":e}function ZJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function e2(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function t2(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function r2(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 EO(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 n2(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 jr({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 s2(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 jr({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 o2(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 i2(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 a2(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=kO(i,"author");return jr({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 c2(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 jr({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 l2(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 jr({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 jr(e,t,r){return t?Xt(e,r):e}function u2(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function kO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function d2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function p2(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 yO,su,ou,An=_(()=>{"use strict";we();V();Ue();io();bt();Ue();yO=["%h","%an","%as","%s"];su=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return nw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},ou=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var Og={};se(Og,{NORMALIZATION_ALLOWLIST:()=>AO,NORMALIZE_ANSI:()=>au,NORMALIZE_BLANK_LINES:()=>uu,NORMALIZE_CR_PROGRESS:()=>cu,NORMALIZE_JSON_TOON:()=>OO,NORMALIZE_TRAILING_WHITESPACE:()=>lu,crushJsonArrayItems:()=>ji,formatCodexNormalizeDecision:()=>GO,formatNormalizeDecision:()=>LO,hookDecisionFromClaudePostExecJson:()=>CO,hookDecisionFromCodexPostExecJson:()=>PO,normalizeOutput:()=>du,renderGenericJsonLane:()=>Tg,runClaudePostExecHook:()=>h2,runCodexPostExecHook:()=>g2,transcodeJsonToToon:()=>xO});import{readFileSync as iu}from"node:fs";function xO(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 vg(o,a)?i.trimEnd():e}async function Tg(e,t={}){let r=_2(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=TO(t.minTokens,f2),i=TO(t.maxItems,m2);if(!(s>i&&v2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??ji)(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:T2(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 ji(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=E2(e),s=new Set;n&&e.forEach((a,c)=>{xg(a)!==n&&s.add(c)});let o=k2(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 du(e){let t=e;for(let r of AO)t=r.apply(t);return t}async function CO(e,t){return await IO(e,t)}async function PO(e,t){return await IO(e,t)}async function IO(e,t){let r=w2(e),n=x2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??b2)(n))return{kind:"passthrough",reason:"disabled"};let o=O2(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??du)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function LO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function GO(e){return{stdout:"",status:0}}async function h2(e){let t=e?iu(e,"utf8"):iu(0,"utf8"),r=await CO(t,{cwd:process.cwd()}),n=LO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function g2(e){let t=e?iu(e,"utf8"):iu(0,"utf8"),r=await PO(t,{cwd:process.cwd()}),n=GO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function y2(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&&SO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&SO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function SO(e){return e>=32&&e<=63}function b2(e){return $e(e,process.env).enabled}function w2(e){try{let t=JSON.parse(e);return Fs(t)?t:{}}catch{return{}}}function _2(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Fs(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 E2(e){let t=new Map;for(let s of e){let o=xg(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 xg(e){return Array.isArray(e)?"array":Fs(e)?Object.keys(e).sort().map(t=>`${t}:${RO(e[t])}`).join("|"):RO(e)}function k2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&xg(s)!==t))for(let[i,a]of $O(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 S2(s))r.add(o);for(let o of R2(s))r.add(o)}return r}function S2(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=vO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=vO(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 R2(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 $O(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Fs(e)?Object.entries(e).flatMap(([r,n])=>$O(n,t?`${t}.${r}`:r)):[]}function RO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function vO(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 v2(e){return Math.ceil(e.length/4)}function TO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function T2(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 x2(e,t){let r=e;for(let n of t){if(!Fs(r))return"";r=r[n]}return typeof r=="string"?r:""}function O2(e,t){let r=e[t];return Fs(r)?r:null}function Fs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vg(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)=>vg(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)&&vg(r[i],n[i]))}var au,cu,lu,uu,OO,f2,m2,AO,qi=_(()=>{"use strict";V();Ue();au={id:"ansi",apply:y2},cu={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
|
+
`)},lu={id:"trailing-whitespace",apply:e=>e.split(`
|
|
262
262
|
`).map(t=>t.replace(/[ \t]+$/,"")).join(`
|
|
263
|
-
`)},
|
|
263
|
+
`)},uu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
|
|
264
264
|
|
|
265
|
-
`)};
|
|
266
|
-
`}function
|
|
267
|
-
`,status:0}}async function
|
|
265
|
+
`)};OO={id:"json-to-toon",apply:e=>xO(e)},f2=200,m2=15;AO=[au,cu,lu,uu,OO]});var Wi={};se(Wi,{parseExecCommandLine:()=>jO,renderExecContract:()=>BO,runExecWrapper:()=>L2});import{isUtf8 as A2}from"node:buffer";import{spawn as C2}from"node:child_process";async function L2(e,t){let r=jO(e),n=await G2(r);return await BO(r,n,t)}async function BO(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=$2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=tV(r.heavyByteThreshold,P2);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"?D2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):F2(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 jO(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 G2(e){let t=C2(e,{shell:!0,stdio:["inherit","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("binary"),stderr:Buffer.concat(s).toString("binary"),status:a,signal:c})})})}function $2(e){return A2(e)?{kind:"text",text:N2(e.toString("utf8"))}:{kind:"bytes"}}function N2(e){let t=e;for(let r of[au,cu,lu,uu])t=r.apply(t);return t}function D2(e,t,r,n,s,o=K2,i=ji){let c=Math.max(1,Math.floor((n==="terse"?MO:I2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=V2(e,c,u,o),p=M2(e),f=B2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=qO(s,p,t,eV(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:KO(d.error)}:f.degradation;return{text:VO(m),degradation:g}}function F2(e,t,r,n){let s=Math.max(1,Math.floor(MO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:VO(qO(n,"bytes",t,0,r,o))}}function qO(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function M2(e){let t=e.trim();return t?HO(t)?"json":WO(e)?"jsonl":z2(e)?"unified-diff":JO(e)?"tabular":Y2(e)?"log-like":Q2(e)?"prose":"untyped":"untyped"}function B2(e,t,r,n,s,o,i=ji){switch(e){case"json":return j2(t,i);case"jsonl":return{summary:q2(t)};case"unified-diff":return{summary:U2(t)};case"tabular":return{summary:H2(t)};case"log-like":return{summary:W2(t,o)};case"prose":return{summary:J2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:UO(r,n,s,o)}}}function j2(e,t){let r=HO(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(qr),item_keys:Cg(r)}}}catch(n){return{summary:DO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:KO(n)}}}return{summary:DO(r)}}if(Hi(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,qr(o)]))}}}return{summary:{root_type:typeof r,value:qr(r)}}}function DO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(qr),item_keys:Cg(e)}}function q2(e){let t=WO(e)??[],r=X2(t,"level");return{records:t.length,keys:Cg(t),levels:r,first:qr(t[0]),last:qr(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 H2(e){let t=JO(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:UO(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function W2(e,t){let r=Ui(e);return{entries:r.length,levels:Z2(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 J2(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 UO(e,t,r,n){let s=FO(e.subarray(0,t)),o=FO(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 V2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function K2(e,t){return mO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function HO(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Hi(r)||Array.isArray(r)?r:null}catch{return null}}function WO(e){let t=Ui(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 z2(e){let t=Ui(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 JO(e){let t=Ui(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=Ui(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 Q2(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 Ui(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Cg(e){let t=new Map;for(let r of e)if(Hi(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 X2(e,t){let r=new Map;for(let n of e){if(!Hi(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 Z2(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 qr(e){return typeof e=="string"?Cn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(qr):Hi(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,qr(r)])):String(e)}function Cn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=NO?t:`${t.slice(0,NO-1)}\u2026`}function VO(e){let t=M(e).trimEnd(),r=z(t);if(!Ag(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
|
|
266
|
+
`}function Ag(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)=>Ag(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)&&Ag(r[i],n[i]))}function Hi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KO(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 FO(e){return e.toString("utf8").replace(/�$/g,"")}function eV(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 tV(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var P2,I2,MO,NO,Ji=_(()=>{"use strict";we();V();hO();An();qi();bt();P2=8*1024,I2=2*1024,MO=1024,NO=240});var ku={};se(ku,{RSP_WRAPPER_CAPABILITIES:()=>zi,_testOnlyResetBinaryState:()=>pV,formatCodexHookDecision:()=>aA,formatHookDecision:()=>iA,hookDecisionFromClaudePreExecJson:()=>_V,hookDecisionFromCodexPreExecJson:()=>EV,rewriteCommand:()=>sA,rewriteTableFromCapabilities:()=>nA,runClaudePreExecHook:()=>kV,runCodexPreExecHook:()=>SV});import{accessSync as cV,constants as lV,existsSync as uV,readFileSync as wu}from"node:fs";import{fileURLToPath as dV}from"node:url";function pV(){bu=void 0,Pg=!1}function fV(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return cV(`${t}/rsp`,lV.X_OK),!0}catch{}return!1}function mV(e){return bu===void 0&&(bu=e()),bu}function hV(){Pg||(Pg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function nA(e){let t=new Map;for(let r of e)t.set(jV(r.command),["rsp",...r.wrapper]);return t}function sA(e,t=Mi()){let r=bV(e,t);if(r)return r;let n=IV(e);if(n)return n;let s=CV(e);if(!s)return yu(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&_s(o[0]))return yu(e,t);let i=wV(s,t);if(i)return i;let a=yV(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return yu(e,t);let c=[...zi].sort((d,p)=>p.command.length-d.command.length).find(d=>PV(o,d.command));if(!c)return yu(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=pA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function yV(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 bV(e,t){let r=t.map(Pt).join(" "),n=Eu(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 wV(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=pA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&gu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&gu(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])&&gu(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])&&gu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function gu(e){return!!e&&!e.startsWith("-")}async function _V(e,t){return await oA(e,t)}async function EV(e,t){return await oA(e,t)}async function oA(e,t){return(await Lg(e,t,"pre-exec")).decision}async function Lg(e,t,r){let n=gA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Ms({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??RV)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:Ig(s),decision:m,reason:"disabled"})}}let a=Ig(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??Mi();if(!mV(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||fV()))){hV();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=$e(o,process.env).proxyEnabled?LV(a,c):(t.rewrite??(m=>sA(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:Ms({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await TV(o,t.wakeResident??vV),{decision:p,telemetryRoot:o,event:Ms({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function iA(e){return e.kind==="rewrite"?cA(e.command):{stdout:"",status:0}}function aA(e){return e.kind==="rewrite"?cA(e.command):{stdout:"",status:0}}function cA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
|
|
267
|
+
`,status:0}}async function kV(e){let t="";try{t=e?wu(e,"utf8"):wu(0,"utf8");let r=await Lg(t,{cwd:process.cwd()},"claude-pre-exec");_u(r.telemetryRoot,r.event);let n=r.decision;uA("claude-pre-exec",n);let s=iA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return _u(process.cwd(),lA("claude-pre-exec",t,r)),dA("claude-pre-exec",r),0}}async function SV(e){let t="";try{t=e?wu(e,"utf8"):wu(0,"utf8");let r=await Lg(t,{cwd:process.cwd()},"codex-pre-exec");_u(r.telemetryRoot,r.event);let n=r.decision;uA("codex-pre-exec",n);let s=aA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return _u(process.cwd(),lA("codex-pre-exec",t,r)),dA("codex-pre-exec",r),0}}function _u(e,t){gn(e,t).catch(()=>{})}function Ms(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 lA(e,t,r){let n=gA(t),s=n.ok?Ig(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:Gg(r)}}function RV(e){return $e(e,process.env).enabled}async function vV(e){let t=$e(e,process.env);if(!t.enabled||!AV(t))return;let r=st(e);await Pa(r,OV(t))}async function TV(e,t){try{await Promise.resolve(t(e))}catch(r){xV(r)}}function uA(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 dA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Gg(t)}
|
|
270
|
+
`)}function xV(e){ep(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Gg(e)}
|
|
271
|
+
`)}function Gg(e){return e instanceof Error?e.name||"Error":typeof e}function OV(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 AV(e){if(!e.storeUri.startsWith("file://"))return!0;try{return uV(dV(e.storeUri))}catch{return!1}}function Ig(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 CV(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=Eu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&_s(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 Eu(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 PV(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function IV(e){let t=Eu(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:gV}:null}function pA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?$g(e):e}function LV(e,t){let r=$V(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${$g(e.trim())}`,capabilityId:"proxy:universal"}}function GV(e){if(!process.argv[1])return!1;let t=Eu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function $V(e){let t=e.trim();if(!t)return"missing-command";if(mA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Wo(Ho(t)[0]??"")[0];if(r==="rsp"||GV(t))return"opt-out";if(r&&fA.has(r))return"interactive"}function yu(e,t){let r=e.trim();return NV(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${$g(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function NV(e){return!(!e||!DV(e)||!FV(e)||mA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||MV(e,"rsp")||hA(e,fA)||BV(e))}function DV(e){return/&&|[;|]/.test(e)}function mA(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 FV(e){return Ho(e).some(t=>{let r=Wo(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 hA(e,t){return Ho(e).some(r=>{let n=Wo(r)[0];return n?t.has(n):!1})}function MV(e,t){return hA(e,new Set([t]))}function BV(e){return Ho(e).some(t=>{let r=Wo(t);return r[0]==="grep"&&r.includes("-q")})}function $g(e){return`'${e.replace(/'/g,"'\\''")}'`}function jV(e){return e.join("\0")}function gA(e){try{let t=JSON.parse(e);return yA(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(!yA(r))return"";r=r[n]}return typeof r=="string"?r:""}function yA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var bu,Pg,zi,Tie,gV,fA,Yi=_(()=>{"use strict";Jo();Ue();wt();nr();_g();Ft();Pg=!1;zi=[{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"]}],Tie=nA(zi),gV="lossless-gh-json-jq";fA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var RA={};se(RA,{fastTelemetryRoot:()=>Dg,isFastGitStatus:()=>Su,runFastGitStatus:()=>Ru});import{spawnSync as kA}from"node:child_process";import{existsSync as SA,readdirSync as YV}from"node:fs";function Su(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Ru(){if(QV(process.cwd()))return{stdout:Ng(),stderr:Buffer.alloc(0),status:0,signal:null};if(kA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Ng(),stderr:Buffer.alloc(0),status:0,signal:null};let t=kA("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?Ng():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Dg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function Ng(){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 QV(e){try{return!SA(`${e}/.git`)||SA(`${e}/.git/index`)?!1:YV(e).every(t=>t===".git")}catch{return!1}}var Fg=_(()=>{"use strict";Qt()});async function js(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 xA(e,t,r,n={}){mK(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=hK(["id","number",...r]).map(p=>gK(fK[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 OA(e,t){let r=Bs(t),n=Bs(r.data),s=Bs(n.repository),o=Array.isArray(r.errors)?r.errors.map(Bs):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(PA(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:IA(l?.message)||"not found"}})}function AA(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: ${Hr(o.nodeId)}, labelIds: ${TA(t)}, clientMutationId: ${Hr(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: ${Hr(o.nodeId)}, labelIds: ${TA(r)}, clientMutationId: ${Hr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
|
|
276
|
+
`)}}function CA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Hr(e.nodeId)}, subIssueId: ${Hr(s.nodeId)}, clientMutationId: ${Hr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
|
|
277
|
+
`)}}function Mg(e,t){let r=Bs(t),n=Array.isArray(r.errors)?r.errors.map(Bs):[],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,IA(i.message)||"mutation failed")}return s}function mK(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 hK(e){return[...new Set(e)]}function gK(e,t){let r=" ".repeat(t);return e.split(`
|
|
278
278
|
`).map(n=>`${r}${n}`).join(`
|
|
279
|
-
`)}function Hr(e){return JSON.stringify(e)}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 Hr(e){return JSON.stringify(e)}function TA(e){return`[${e.map(Hr).join(", ")}]`}function Bs(e){return PA(e)?e:{}}function PA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function IA(e){return typeof e=="string"?e:""}var fK,LA=_(()=>{fK={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 bK,spawnSync as wK}from"node:child_process";function qg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function NA(e,t={}){let r=LK(e),n=r.repo??t.repo??process.env.GH_REPO??$K();if(!n||!n.includes("/"))return Wg(e,"repository is required; pass --repo owner/repo");let s=t.exec??NK,o=Math.max(1,Math.floor(t.restConcurrency??$A));return r.verb==="issues"||r.verb==="prs"?await kK(r,n,s,o,e):r.verb==="edit-labels"?await RK(r,n,s,o,e):await TK(r,n,s,o,e)}async function kK(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=DA(e),a=[],c=[];for(let u of Hg(e.numbers,100)){let d=xA(o,u,i.query),p=await Ug(r,t,d.query);if(Vg(p))return await SK(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(...OA(d,Wr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:OK(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return Tu({command:xu(s),transport:"graphql",order:e.numbers,[e.verb]:Qi(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
|
|
281
|
+
`))}async function SK(e,t,r,n,s){let o=DA(e),i=e.verb==="issues"?"issues":"pulls",a=await js(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(Wr(u.stdout));if(e.verb==="prs"&&o.output.some(FA)){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:CK(qt(Wr(f.stdout)),qt(Wr(m.stdout)))}}return{number:l,value:AK(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return Tu({command:xu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Qi(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function RK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Wg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([MA(e.numbers,t,r,n),js(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(qt(Wr(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 Us(s,e.numbers,Jg(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 Hg(d,100)){let f=AA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await Ug(r,t,f.query);if(Vg(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=Mg(f.aliases,Wr(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 Us(s,e.numbers,BA(e.numbers,u),"graphql")}async function vK(e,t,r,n,s){let o=await js(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 Us(s,e.numbers,Qi(o),"rest-fallback",n)}async function TK(e,t,r,n,s){if(e.numbers.length<2)return Wg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await MA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Us(s,i,Jg(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 Hg(d,100)){let f=CA({number:o,nodeId:l},p),m=await Ug(r,t,f.query);if(Vg(m))return await xK(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=Mg(f.aliases,Wr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Us(s,i,BA(i,u),"graphql")}async function xK(e,t,r,n,s,o){let i=await js(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 Us(o,t,Qi(i),"rest-fallback",s)}function Us(e,t,r,n,s){let o=Object.values(r).filter(i=>Hs(i)&&"error"in i).length;return Tu({command:xu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??$A}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function DA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return GA(r,_K),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return GA(t,EK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function GA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function OK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Bg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=IK(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=jA(t[s]));return"number"in n||(n.number=Kg(t.number)),n}function AK(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Hs):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(FA(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]=jA(t[s]);return"number"in n||(n.number=Kg(t.number)),n}function CK(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Hs):[],n=Array.isArray(t.statuses)?t.statuses.filter(Hs):[],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()||PK(s.map(o=>o.state)),contexts:s}}function PK(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 FA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function IK(e){let t=Bg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Bg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Ug(e,t,r){let[n,s]=GK(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function MA(e,t,r,n){return await js(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=qt(Wr(o.stdout)),a=fe(i.node_id),c=Kg(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 Hg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function LK(e){if(!qg(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(...qs(e[++a]??""));else if(c.startsWith("--json="))n.push(...qs(c.slice(7)));else if(c==="--add")s.push(...qs(e[++a]??""));else if(c.startsWith("--add="))s.push(...qs(c.slice(6)));else if(c==="--remove")o.push(...qs(e[++a]??""));else if(c.startsWith("--remove="))o.push(...qs(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 Tu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
|
|
282
|
+
`),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Wg(e,t){return Tu({command:xu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Jg(e,t){return Qi(e.map(r=>({number:r,value:t(r)})))}function Qi(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function BA(e,t){return Jg(e,r=>t.get(r)??{error:"mutation skipped"})}function Vg(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 Wr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function
|
|
284
|
+
`)[0]?.slice(0,240)??""}function Wr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Bg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Hs):[]}function jA(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Kg(e){let t=Number(e);return Number.isFinite(t)?t:0}function qs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function GK(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function xu(e){return`rsp ${e.join(" ")}`}function $K(){let e=wK("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 NK(e){let t=bK("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=>o({code:a??1,stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8")}))})}function qt(e){return Hs(e)?e:{}}function Hs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var $A,_K,EK,qA=_(()=>{"use strict";we();V();LA();$A=4,_K=new Set(["number","title","state","labels","body"]),EK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function zg(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"?DK(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 UA(e,t=at){let r=zg(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 DK(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 Yg=_(()=>{"use strict";V();xo();bt()});var sy={};se(sy,{parseGhApiRead:()=>zg,renderGhContract:()=>zA,runGhWrapper:()=>UK});import{spawn as FK}from"node:child_process";async function UK(e,t){if(qg(e))return await NA(e);if(e[0]==="gh"&&e[1]==="api")return await UA(e);let r=YA(e),n=await WK(r);return zA(e,n,t)}async function zA(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=YA(e),s=Xi(t.stdout),o=ZK(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=az(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=cz(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 zA(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=HA(u[++f]??""):m.startsWith("--fields=")?l=HA(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 qK(p),p}function UA(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?FK[t]:DK[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function HA(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function qK(e){if(e.fields.size===0)return;if(e.action!=="list")throw new xu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=BK[t];for(let n of e.fields)if(!r.includes(n))throw new xu(e,`unknown field: ${n}`,r)}async function UK(e){if(e.action==="combined")return await HK(e);let t=WK(e);if(!t)return await YK(UA(e));let r=await at({...t,command:["gh",...UA(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await JK(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function HK(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=QA(Qi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:tt(Qi(s.stdout)).map(KK)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function WK(e){let t=XA(e.passthrough),r=zK(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 JK(e,t){let r=Qi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return tt(r).map(YA);case"pr:view":return QA(r);case"issue:list":return tt(r).filter(n=>!Ln(n.pull_request)).map(WA);case"issue:view":return WA(r);case"run:list":return{items:tt(ae(r).workflow_runs).map(JA),total:ze(ae(r),"total_count")};case"run:view":{let n=JA(r),s=XA(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(Qi(o.stdout)).jobs).map(VK):[]}}default:return r}}function YA(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:ty(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 QA(e){return YA(e)}function WA(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:ty(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function JA(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 VK(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function KK(e){let t=ae(e);return{author:ty(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function ty(e){let t=ae(e);return{login:B(t,"login")}}function XA(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 zK(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 YK(e){let t=NK("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 QK(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Yg(r,"prs"),o=s.rows.map(c=>ZA(c,e)),i=Le(o,e.query),a=Qg(i.length,o.length,s.total,e.query);return i.length===0?Xg(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Ws({...n,prs:i,aggregate:a,summary:`${Zg(i.length,o.length,e.query)} ${VA(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Ws({...n,pr:eC(ae(r),e),summary:`PR #${ze(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return XK(e,t,ae(r));case"issue:list":{let s=Yg(r,"issues"),o=s.rows.map(c=>tC(c,e)),i=Le(o,e.query),a=Qg(i.length,o.length,s.total,e.query);return i.length===0?Xg(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:`${Zg(i.length,o.length,e.query)} ${VA(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Ws({...n,issue:nz(ae(r),e),summary:`issue #${ze(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Yg(r,"runs"),o=s.rows.map(c=>rC(c,e)),i=Le(o,e.query),a=Qg(i.length,o.length,s.total,e.query);return i.length===0?Xg(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:`${Zg(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:sz(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 XK(e,t,r){let n=eC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(tt(r.checks).map(ZK),e.query),o=ae(r.comments).comments,i=Le(tt(o).map(ez).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 ZK(e){return{name:B(e,"name"),state:Xi(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function ez(e){return{author:sC(e.author),body:Ou(e,"body",ey,!1),created:B(e,"createdAt")}}function Yg(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 Qg(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Xg(e,t,r,n,s){return Xt({...e,empty:!0,scope:tz(t),[r]:[],aggregate:n,summary:`0 ${rz(t)}`},s)}function tz(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 rz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function ZA(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Xi(e),draft:!!e.isDraft};return ry(r,e,t,["author","labels","url","updated"]),r}function eC(e,t){let r=ZA(e,t);return r.body=Ou(e,"body",ey,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function tC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Xi(e),labels:nC(e.labels)};return ry(r,e,t,["author","url","updated"]),r}function nz(e,t){let r=tC(e,t);return r.body=Ou(e,"body",ey,t.full),r}function rC(e,t){let r={id:ze(e,"databaseId"),name:B(e,"name"),status:Xi(e),conclusion:B(e,"conclusion")};return ry(r,e,t,["event","branch","workflow","created"]),r}function sz(e,t){let r=rC(e,t),n=tt(e.jobs).map(s=>({name:B(s,"name"),status:Xi(s),conclusion:B(s,"conclusion"),log:Ou(s,"log",MK,t.full)}));return r.jobs=n,r}function Ou(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 iz(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 VA(e,t){return e.every(r=>r.state===t)?t:"returned"}function Zg(e,t,r){return r?`${e}/${t}`:String(e)}function Ws(e,t,r){return t.query?Xt(e,r):e}function Xi(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function ry(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=sC(t.author):s==="labels"?e.labels=nC(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 nC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function sC(e){return Ln(e)?B(e,"login"):""}function Qi(e){return e.trim()?JSON.parse(e):null}function tt(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 ze(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 DK,FK,ey,MK,BK,xu,sy=E(()=>{"use strict";we();V();xo();jA();zg();An();io();bt();zg();DK={"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"]},FK={"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"]},ey=160,MK=160,BK={"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"]};xu=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 ay={};se(ay,{renderTestContract:()=>oC,runTestWrapper:()=>dz});import{spawn as az}from"node:child_process";async function dz(e,t){let r=oo(e),n=await gz(r.argv);return await oC(e,n,t)}async function oC(e,t,r){let n=oo(e),o=iC(n.argv)==="vitest"?yz(t.stdout):bz(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 ${Ez(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await pz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await wz(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:iy(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 pz(e,t,r,n,s,o,i){let a=fz(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:iy(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 _=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
|
|
287
|
-
${
|
|
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 YA(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=WA(u[++f]??""):m.startsWith("--fields=")?l=WA(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 HK(p),p}function HA(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?BK[t]:MK[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function WA(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function HK(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Ou(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 Ou(e,`unknown field: ${n}`,r)}async function WK(e){if(e.action==="combined")return await JK(e);let t=VK(e);if(!t)return await XK(HA(e));let r=await at({...t,command:["gh",...HA(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await KK(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function JK(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=XA(Xi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:tt(Xi(s.stdout)).map(YK)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function VK(e){let t=ZA(e.passthrough),r=QK(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 KK(e,t){let r=Xi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return tt(r).map(QA);case"pr:view":return XA(r);case"issue:list":return tt(r).filter(n=>!Ln(n.pull_request)).map(JA);case"issue:view":return JA(r);case"run:list":return{items:tt(ae(r).workflow_runs).map(VA),total:ze(ae(r),"total_count")};case"run:view":{let n=VA(r),s=ZA(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(Xi(o.stdout)).jobs).map(zK):[]}}default:return r}}function QA(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:ry(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 XA(e){return QA(e)}function JA(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:ry(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function VA(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 zK(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function YK(e){let t=ae(e);return{author:ry(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function ry(e){let t=ae(e);return{login:B(t,"login")}}function ZA(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 QK(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 XK(e){let t=FK("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 ZK(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Qg(r,"prs"),o=s.rows.map(c=>eC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Ws({...n,prs:i,aggregate:a,summary:`${ey(i.length,o.length,e.query)} ${KA(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Ws({...n,pr:tC(ae(r),e),summary:`PR #${ze(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=Qg(r,"issues"),o=s.rows.map(c=>rC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(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:`${ey(i.length,o.length,e.query)} ${KA(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Ws({...n,issue:oz(ae(r),e),summary:`issue #${ze(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Qg(r,"runs"),o=s.rows.map(c=>nC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(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:`${ey(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:iz(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 ez(e,t,r){let n=tC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(tt(r.checks).map(tz),e.query),o=ae(r.comments).comments,i=Le(tt(o).map(rz).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 tz(e){return{name:B(e,"name"),state:Zi(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function rz(e){return{author:oC(e.author),body:Au(e,"body",ty,!1),created:B(e,"createdAt")}}function Qg(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 Xg(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Zg(e,t,r,n,s){return Xt({...e,empty:!0,scope:nz(t),[r]:[],aggregate:n,summary:`0 ${sz(t)}`},s)}function nz(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 sz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function eC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Zi(e),draft:!!e.isDraft};return ny(r,e,t,["author","labels","url","updated"]),r}function tC(e,t){let r=eC(e,t);return r.body=Au(e,"body",ty,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function rC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Zi(e),labels:sC(e.labels)};return ny(r,e,t,["author","url","updated"]),r}function oz(e,t){let r=rC(e,t);return r.body=Au(e,"body",ty,t.full),r}function nC(e,t){let r={id:ze(e,"databaseId"),name:B(e,"name"),status:Zi(e),conclusion:B(e,"conclusion")};return ny(r,e,t,["event","branch","workflow","created"]),r}function iz(e,t){let r=nC(e,t),n=tt(e.jobs).map(s=>({name:B(s,"name"),status:Zi(s),conclusion:B(s,"conclusion"),log:Au(s,"log",jK,t.full)}));return r.jobs=n,r}function Au(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 az(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 cz(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 KA(e,t){return e.every(r=>r.state===t)?t:"returned"}function ey(e,t,r){return r?`${e}/${t}`:String(e)}function Ws(e,t,r){return t.query?Xt(e,r):e}function Zi(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function ny(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=oC(t.author):s==="labels"?e.labels=sC(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 sC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function oC(e){return Ln(e)?B(e,"login"):""}function Xi(e){return e.trim()?JSON.parse(e):null}function tt(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 ze(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 MK,BK,ty,jK,qK,Ou,oy=_(()=>{"use strict";we();V();xo();qA();Yg();An();io();bt();Yg();MK={"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"]},BK={"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"]},ty=160,jK=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"]};Ou=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 cy={};se(cy,{renderTestContract:()=>iC,runTestWrapper:()=>fz});import{spawn as lz}from"node:child_process";async function fz(e,t){let r=oo(e),n=await bz(r.argv);return await iC(e,n,t)}async function iC(e,t,r){let n=oo(e),o=aC(n.argv)==="vitest"?wz(t.stdout):_z(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 ${Sz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await mz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await Ez(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:ay(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 mz(e,t,r,n,s,o,i){let a=hz(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:ay(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:ay(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function ay(e){return e===0||e===null?0:1}function hz(e){let t=[],r=dz;for(let n of e.slice(0,pz)){let s=gz(n.excerpt,Math.min(uz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function gz(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 aC(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 yz(e){if(aC(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 bz(e){let t=yz(e),r=lz(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=Ze();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 wz(e){let t=cC(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Vr(t.numTotalTests),o=Vr(t.numFailedTests),i=Rz(Vr(t.startTime),Vr(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:kz(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+Vr(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 _z(e){let t=e.split(`
|
|
291
|
+
`).filter(Boolean).map(c=>cC(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+=Vr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Vr(c.failed),i+=Vr(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 Ez(e,t,r){let n=Buffer.from(e);if(n.length<=iy)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,iy).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 cC(e){try{return JSON.parse(e)}catch{return null}}function kz(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
|
|
294
|
+
`):""}function Sz(e){return`${Number(e.toFixed(1))}s`}function Rz(e,t){return e>0&&t>e?(t-e)/1e3:0}function Vr(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 iy,uz,dz,pz,ly=_(()=>{"use strict";we();V();An();io();bt();iy=320,uz=160,dz=iy,pz=3});var py={};se(py,{parseCatCommand:()=>dy,renderCatContract:()=>Iz,runCatWrapper:()=>Pz});import{isUtf8 as vz}from"node:buffer";import{readFile as Tz}from"node:fs/promises";import{extname as xz}from"node:path";async function Pz(e,t){let r=dy(e),n;try{n=await Tz(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 mC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await fC(e,r,n,t)}async function Iz(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=dy(e),s=Buffer.from(t.stdout,"utf8");return mC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await fC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function dy(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=pC(t[++i],uy);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=pC(l,uy);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 fC(e,t,r,n){let s=r.toString("utf8"),o=$z(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>dC(n.heavyByteThreshold,lC)||o.truncated;if(!uC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=uC(t.file)?Lz(e,t.file,r,s,n.level,o):Gz(e,t.file,r,s,o),c=`${M(a)}
|
|
296
|
+
`;if(!i&&Buffer.byteLength(c)<=dC(n.heavyByteThreshold,lC))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 Lz(e,t,r,n,s,o){let i=Cu(n),a=s==="terse"?Az:Oz,c=Cu(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:Nz(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function Gz(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Cu(n).length,content:Cu(s.text),truncated:s.truncated}}function $z(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??uy,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 Nz(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&&!Dz(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Cu(e){let t=e.split(`
|
|
301
|
+
`);return t.at(-1)===""?t.slice(0,-1):t}function mC(e){return e.includes(0)||!vz(e)}function uC(e){return Cz.has(xz(e).toLowerCase())}function Dz(e){return["for","if","switch","while"].includes(e)}function dC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function pC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var lC,uy,Oz,Az,Cz,fy=_(()=>{"use strict";V();An();bt();lC=8*1024,uy=10,Oz=8,Az=2,Cz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var kC={};se(kC,{REPO_STORE_PATH:()=>gy,mergeRspBlock:()=>wC,provisionRspRepoStore:()=>Vz});import{constants as Fz}from"node:fs";import{access as Mz,copyFile as Bz,mkdir as gC,readFile as jz,rename as qz,writeFile as yC}from"node:fs/promises";import{dirname as Uz,join as ea,resolve as Hz}from"node:path";async function Vz(e,t={}){let r=Hz(e),n=ea(r,".red"),s=ea(n,"config.yaml"),o=ea(r,gy);await gC(n,{recursive:!0}),await gC(Uz(o),{recursive:!0});let i="";try{i=await jz(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=wC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await yC(s,a,"utf8");let l=!await hy(o),u=!1,d=!1;if(l){let f=ea(r,Wz),m=ea(r,Jz);if(await hy(f))await qz(f,o),d=!0;else if(await hy(m))await Bz(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(rl(),uT)),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=Kz(a,gy);return p!==a&&await yC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function wC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${Pu(t.ttlDays,_t)}`,` ephemeralTtlHours: ${Pu(t.ephemeralTtlHours,Et)}`,` byteBudget: ${Pu(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${Pu(t.heavyGitByteThreshold,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
|
|
302
|
+
`),s=_C(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=yy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
|
|
305
305
|
`)}
|
|
306
|
-
`}function
|
|
307
|
-
`),n=
|
|
306
|
+
`}function _C(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(wy(n)&&by(n)===0&&EC(n)===t)return r}return-1}function yy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(wy(e[s])&&by(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function by(e){return(e.match(/^ */)?.[0]??"").length}function wy(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function EC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Pu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Kz(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
|
|
307
|
+
`),n=_C(r,"plugins");if(n===-1)return e;let s=yy(r,n,0),o=bC(r,"memory",n+1,s,2);if(o===-1)return e;let i=yy(r,o,2),a=[...r],c=bC(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 bC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(wy(i)&&by(i)===s&&EC(i)===t)return o}return-1}async function hy(e){try{return await Mz(e,Fz.F_OK),!0}catch{return!1}}var gy,Wz,Jz,SC=_(()=>{"use strict";Xe();Ue();gy=Ep,Wz=bw,Jz=".red/memory/graph.rdb"});var AC={};se(AC,{runRspMcpServer:()=>Yz});import{createInterface as zz}from"node:readline";async function Yz(){let e=$e(process.cwd(),process.env),t=zz({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 Qz(n,e);TC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){TC({jsonrpc:"2.0",id:typeof xC(r)?.id>"u"?null:xC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function Qz(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:vC(t)}]};if(!t.enabled)return{content:[{type:"text",text:vC(t)}],isError:!0};let n=oY(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(Xz(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await Zz(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
|
|
310
|
+
`}function Xz(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function Zz(e,t){let r=tY(e?.payload);try{return await eY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return OC(r)}}async function eY(e,t,r){let n=rY(t?.level),s=await Tg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return OC(s.output);let o=du(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 nY(o,i.length,a,n)}function tY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function rY(e){return e==="terse"?"terse":"brief"}function nY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=RC(o.subarray(0,i)),c=RC(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:sY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function OC(e){return e.endsWith(`
|
|
311
311
|
`)?e:`${e}
|
|
312
|
-
`}function
|
|
313
|
-
`)}function
|
|
314
|
-
`)}function
|
|
315
|
-
`)}function Pu(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(Iu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Iu)),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=>CC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of aY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${lY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${CC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function aY(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 cY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Iu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Iu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function CC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function lY(e){return e.replace(/'/g,"'\\''")}function uY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var IC=E(()=>{"use strict";zi()});function wy(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"&&dY(t.chosenOption)&&pY(t.outcome)&&fY(t.cost)}function dY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function pY(e){return e==="success"||e==="failure"||e==="escalated"}function fY(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 LC=E(()=>{});import{createHash as mY}from"node:crypto";function WC(e,t){return new Ey(e,t)}function GC(e){let t=Number(e.red_entity_id??e.rid),r=ky(e.properties??e.PROPERTIES),n=JC(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 $C(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=VC(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:ky(e.properties??e.PROPERTIES)}}function yY(e){let t=Number(e.red_entity_id??e.rid),r=ky(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!wy(r)?null:{rid:t,event:r}}function ky(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Lu(e)?e:{}}function JC(e){let t=e==="contact"?"person":e;if(hY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function VC(e){if(gY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function bY(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function NC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return Lu(e)?e:{}}function DC(e,t){return Nn(e)[t]}function FC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function MC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function BC(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 Lu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _y(e){return e!=null}function wY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function _Y(e){return mY("sha256").update(JSON.stringify(e)).digest("hex")}function EY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function jC(e){return`artifact-hash:${e}`}function qC(e,t,r){return`connection:${e}:${t}:${r}`}function UC(){return"model-tier-bandit:v1"}function kY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function HC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function KC(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+HC(r,a)*3+HC(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 SY(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=zC({...KC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return $n(s)}function zC(e){return{...e,lexical:$n(e.lexical),tags:$n(e.tags),kind:$n(e.kind),connections:$n(e.connections),vector:$n(e.vector),total:$n(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function $n(e){return Math.round(e*1e3)/1e3}function RY(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 vY(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 TY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,hY,gY,Ey,YC=E(()=>{"use strict";LC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},hY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),gY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Ey=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(DC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(FC(n,"query"),MC(n,"limit")??10,BC(n.options))}if(t==="think"){let n=Nn(r);return await this.think(FC(n,"query"),MC(n,"limit")??8,BC(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(DC(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:TY(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=JC(Ye(t.kind)||"note"),o=wY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=_Y([s,r,n,o,Ye(t.sourcePath),Ye(t.sourceSession)]),c=await this.kv().get(jC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${EY(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:Lu(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=GC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(jC(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(GC).filter(_y)}async search(t,r,n={}){let s=kY(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=KC(l,s),d=zC({...u,connections:SY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:RY(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 vY(t,s)}async link(t){let r=await this.getArtifact(NC(t.from)),n=await this.getArtifact(NC(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=VC(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:Lu(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=$C(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(qC(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($C).filter(_y)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=bY(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(!wy(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(yY).filter(_y).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(UC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(UC(),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(qC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var lP={};se(lP,{runResidentServer:()=>LY});import{randomUUID as Js}from"node:crypto";import{execFileSync as nP,spawn as xY}from"node:child_process";import{existsSync as OY}from"node:fs";import{mkdir as sP,rename as AY,rm as QC,writeFile as oP}from"node:fs/promises";import{createServer as CY}from"node:net";import{dirname as Ty,join as Gu}from"node:path";import{fileURLToPath as PY,pathToFileURL as IY}from"node:url";async function LY(e){await sP(Ty(e.socketPath),{recursive:!0});let t=JY();WY();let r=e.telemetryDrainTimeoutMs??iP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??t8(e.rootDir??process.cwd()),a=e.idleMs??Xa,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=CY(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),ZY(S,async(T,C)=>{g();let O=await e8(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=HY(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 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 vy(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Ya,byteBudget:e.telemetryByteBudget??e.byteBudget??Qa});if(o){await C.close();return}if(await Sy(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&&Sy(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 oP(e.pidPath,`${process.pid}
|
|
316
|
-
`,{encoding:"utf8",mode:384});let
|
|
317
|
-
`,{encoding:"utf8",mode:384}),await
|
|
318
|
-
`)}}async function
|
|
312
|
+
`}function RC(e){return e.toString("utf8").replace(/�$/g,"")}function sY(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 oY(e){return ho(process.cwd(),e)}function vC(e){let t=e.enabled?wr(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 TC(e){process.stdout.write(`${JSON.stringify(e)}
|
|
313
|
+
`)}function xC(e){try{return JSON.parse(e)}catch{return null}}var CC=_(()=>{"use strict";Qt();Ue();we();qi();nr()});var IC={};se(IC,{renderShellInit:()=>iY});function iY(e,t=zi){if(e==="fish")return aY(t);if(e==="bash"||e==="zsh")return cY(e,t);throw new Error(`unsupported shell: ${e}`)}function aY(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(Lu))].map(r=>` abbr --add --position command -- ${r} '${pY(`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 cY(e,t){let r=uY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Iu("git",r.get("git")??[]),...Iu("gh",r.get("gh")??[]),...Iu("vitest",r.get("vitest")??[]),...Iu("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 Iu(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(Lu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Lu)),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=>PC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of lY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${dY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${PC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function lY(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 uY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Lu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Lu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function PC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function dY(e){return e.replace(/'/g,"'\\''")}function pY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var LC=_(()=>{"use strict";Yi()});function _y(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"&&fY(t.chosenOption)&&mY(t.outcome)&&hY(t.cost)}function fY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function mY(e){return e==="success"||e==="failure"||e==="escalated"}function hY(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 GC=_(()=>{});import{createHash as gY}from"node:crypto";function JC(e,t){return new ky(e,t)}function $C(e){let t=Number(e.red_entity_id??e.rid),r=Sy(e.properties??e.PROPERTIES),n=VC(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 NC(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=KC(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:Sy(e.properties??e.PROPERTIES)}}function wY(e){let t=Number(e.red_entity_id??e.rid),r=Sy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!_y(r)?null:{rid:t,event:r}}function Sy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Gu(e)?e:{}}function VC(e){let t=e==="contact"?"person":e;if(yY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function KC(e){if(bY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function _Y(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function DC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return Gu(e)?e:{}}function FC(e,t){return Nn(e)[t]}function MC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function BC(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 Gu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ey(e){return e!=null}function EY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function kY(e){return gY("sha256").update(JSON.stringify(e)).digest("hex")}function SY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function qC(e){return`artifact-hash:${e}`}function UC(e,t,r){return`connection:${e}:${t}:${r}`}function HC(){return"model-tier-bandit:v1"}function RY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function WC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function zC(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+WC(r,a)*3+WC(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=YC({...zC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return $n(s)}function YC(e){return{...e,lexical:$n(e.lexical),tags:$n(e.tags),kind:$n(e.kind),connections:$n(e.connections),vector:$n(e.vector),total:$n(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function $n(e){return Math.round(e*1e3)/1e3}function TY(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 xY(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 OY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,yY,bY,ky,QC=_(()=>{"use strict";GC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},yY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),bY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),ky=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(FC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(MC(n,"query"),BC(n,"limit")??10,jC(n.options))}if(t==="think"){let n=Nn(r);return await this.think(MC(n,"query"),BC(n,"limit")??8,jC(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(FC(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:OY(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=VC(Ye(t.kind)||"note"),o=EY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=kY([s,r,n,o,Ye(t.sourcePath),Ye(t.sourceSession)]),c=await this.kv().get(qC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${SY(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:Gu(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=$C(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(qC(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($C).filter(Ey)}async search(t,r,n={}){let s=RY(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=zC(l,s),d=YC({...u,connections:vY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:TY(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 xY(t,s)}async link(t){let r=await this.getArtifact(DC(t.from)),n=await this.getArtifact(DC(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=KC(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:Gu(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=NC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(UC(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(NC).filter(Ey)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=_Y(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(!_y(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(wY).filter(Ey).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(HC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(HC(),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(UC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var uP={};se(uP,{runResidentServer:()=>$Y});import{randomUUID as Js}from"node:crypto";import{execFileSync as sP,spawn as AY}from"node:child_process";import{existsSync as CY}from"node:fs";import{mkdir as oP,rename as PY,rm as XC,writeFile as iP}from"node:fs/promises";import{createServer as IY}from"node:net";import{dirname as xy,join as $u}from"node:path";import{fileURLToPath as LY,pathToFileURL as GY}from"node:url";async function $Y(e){await oP(xy(e.socketPath),{recursive:!0});let t=KY();VY();let r=e.telemetryDrainTimeoutMs??aP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??n8(e.rootDir??process.cwd()),a=e.idleMs??Za,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=IY(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),t8(S,async(T,C)=>{g();let O=await r8(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=JY(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=()=>{Nu(),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 Ty(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Qa,byteBudget:e.telemetryByteBudget??e.byteBudget??Xa});if(o){await C.close();return}if(await Ry(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&&Ry(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 iP(e.pidPath,`${process.pid}
|
|
316
|
+
`,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??$u(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ia(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 XC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Ry(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"),Nu(),e.pidPath&&await XC(e.pidPath,{force:!0}),await La(w)}async function jY(e,t,r=new Date){let n=await nl(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=$u(ce(t),MY),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 oP(xy(a),{recursive:!0}),await iP(c,`${ge(l)}
|
|
317
|
+
`,{encoding:"utf8",mode:384}),await PY(c,a)}async function Ry(e,t=aP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await lP(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 qY(e){let t=[];for(let r of BY){let n=await UY(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await HY(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${cP(r)}`))}return t}async function UY(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 HY(e,t,r){let n=WY(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${cP(t)}`)}function WY(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 cP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function JY(e){return e&&clearTimeout(e),setTimeout(()=>{Nu(),process.exit(0)},FY)}function VY(){ZC||(ZC=!0,process.on("exit",()=>Nu()))}function KY(){if(process.platform==="win32")return;let t=AY(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 VY())try{process.kill(e,"SIGTERM")}catch{}}function VY(){if(process.platform==="win32")return[];let e="";try{e=nP("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 KY(e){if(e.collection!==lt)return e;let t=await ZC(e.raw_text,tP(e.raw_bytes)),r=await ZC(e.emitted_text,tP(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 ZC(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=GY)try{return await cP((async()=>({tokens:(await zY())("cl100k_base").encode(e).length,estimated:!1}))(),$Y,"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 zY(){return eP??=import(IY(YY()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await eP}function YY(){let e=Ty(PY(import.meta.url)),r=[Gu(e,"..","node_modules","js-tiktoken","dist","index.js"),Gu(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>OY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function tP(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 Ry(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function cP(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 QY(e){try{return JSON.parse(e)}catch{return e}}function XY(e){return rP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>rP(t)&&(t.collection===We||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 rP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ZY(e,t){Ww(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 e8(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 Pm(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 rl(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 Im(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return n8(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 r8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function t8(e){let t;return{async read(r){if(!t){let n=String(nP("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=Sc({rootDir:e,token:n,balance:kc(n)})}return await t.read(r)}}}async function r8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await WC(s,t).request(r,n)}function n8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var GY,$Y,iP,NY,DY,FY,vy,XC,eP,uP=E(()=>{"use strict";Xe();La();Ta();Qt();tl();YC();Ef();Ft();Ue();GY=256*1024,$Y=500,iP=2e3,NY=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),DY="rsp-status-summary.toon",FY=[We,Je,lt,Tt,Bo],vy=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 BY(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 Yf(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 MY(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 KY(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ry(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ry(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:We,id:`mirror:${Js()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Ry(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(Bo).get("index:v1"),n=typeof r=="string"?QY(r):r;return XY(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Bo).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})}};XC=!1});Hu();bt();var nw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},aL={json:{kind:"boolean"}},cL={help:{kind:"boolean",aliases:["h"]}},lL={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 sw(e){let{command:t,args:r}=Uu(e,uL);return t==="--version"?{kind:"version",json:Qs(r,aL).values.json===!0}:dL(e)?{kind:"help"}:{kind:"command"}}var uL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function dL(e){return Qr(e,cL).values.help===!0}function ow(e){let{values:t,rest:r}=fL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw ha.unknownFlag(n);let s=Uu(r,lL).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 ha=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:pL})}},pL=Object.keys(nw).map(e=>`--${e}`);function fL(e){try{return Qr(e,nw)}catch(t){throw new ha(t instanceof Error?t.message:String(t))}}function iw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function aw(e){return e instanceof Ys}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var mL={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 wd(e){return Qs(e,mL).values}var cw={since:{kind:"value",coerce:gL},full:{kind:"boolean"}};function ga(e,t){return Qs(e,cw).values.since??t}function lw(e){return Qs(e,cw).values.full===!0}var hL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function uw(e){let{values:t,rest:r}=Qr(e,hL),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 gL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}_d();bt();import{existsSync as s8}from"node:fs";import{fileURLToPath as o8}from"node:url";Qt();io();we();wt();import{existsSync as mM}from"node:fs";import{fileURLToPath as hM}from"node:url";Qt();Xd();we();import{existsSync as JG}from"node:fs";import{fileURLToPath as VG}from"node:url";async function Qn(e,t){let r={stats:KG(e.telemetryByteBudget),telemetry:rp(t)};if(!e.storeUri.startsWith("file://"))return r;let n=VG(e.storeUri);if(!JG(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:rp(t)}}catch{return r}finally{await o.close()}}function __(e,t=rp(30),r=!1,n=k_()){return`${ge(np(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 Nu(){for(let e of zY())try{process.kill(e,"SIGTERM")}catch{}}function zY(){if(process.platform==="win32")return[];let e="";try{e=sP("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 YY(e){if(e.collection!==lt)return e;let t=await eP(e.raw_text,rP(e.raw_bytes)),r=await eP(e.emitted_text,rP(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 eP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=NY)try{return await lP((async()=>({tokens:(await QY())("cl100k_base").encode(e).length,estimated:!1}))(),DY,"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 QY(){return tP??=import(GY(XY()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await tP}function XY(){let e=xy(LY(import.meta.url)),r=[$u(e,"..","node_modules","js-tiktoken","dist","index.js"),$u(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>CY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function rP(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 vy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function lP(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 ZY(e){try{return JSON.parse(e)}catch{return e}}function e8(e){return nP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>nP(t)&&(t.collection===We||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 nP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function t8(e,t){Jw(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 r8(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 Im(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 nl(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 Lm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return o8(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 s8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function n8(e){let t;return{async read(r){if(!t){let n=String(sP("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=Rc({rootDir:e,token:n,balance:Sc(n)})}return await t.read(r)}}}async function s8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await JC(s,t).request(r,n)}function o8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var NY,DY,aP,FY,MY,BY,Ty,ZC,tP,dP=_(()=>{"use strict";Xe();Ga();xa();Qt();rl();QC();kf();Ft();Ue();NY=256*1024,DY=500,aP=2e3,FY=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),MY="rsp-status-summary.toon",BY=[We,Je,lt,Tt,jo],Ty=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 Qf(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 jY(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 YY(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:vy(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:vy(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:We,id:`mirror:${Js()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:vy(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(jo).get("index:v1"),n=typeof r=="string"?ZY(r):r;return e8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(jo).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})}};ZC=!1});Wu();bt();var sw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},cL={json:{kind:"boolean"}},lL={help:{kind:"boolean",aliases:["h"]}},uL={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 ow(e){let{command:t,args:r}=Hu(e,dL);return t==="--version"?{kind:"version",json:Qs(r,cL).values.json===!0}:pL(e)?{kind:"help"}:{kind:"command"}}var dL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function pL(e){return Qr(e,lL).values.help===!0}function iw(e){let{values:t,rest:r}=mL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw ga.unknownFlag(n);let s=Hu(r,uL).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 ga=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:fL})}},fL=Object.keys(sw).map(e=>`--${e}`);function mL(e){try{return Qr(e,sw)}catch(t){throw new ga(t instanceof Error?t.message:String(t))}}function aw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function cw(e){return e instanceof Ys}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var hL={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 _d(e){return Qs(e,hL).values}var lw={since:{kind:"value",coerce:yL},full:{kind:"boolean"}};function ya(e,t){return Qs(e,lw).values.since??t}function uw(e){return Qs(e,lw).values.full===!0}var gL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function dw(e){let{values:t,rest:r}=Qr(e,gL),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 yL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}Ed();bt();import{existsSync as i8}from"node:fs";import{fileURLToPath as a8}from"node:url";Qt();io();we();wt();import{existsSync as gM}from"node:fs";import{fileURLToPath as yM}from"node:url";Qt();Zd();we();import{existsSync as VG}from"node:fs";import{fileURLToPath as KG}from"node:url";async function Qn(e,t){let r={stats:zG(e.telemetryByteBudget),telemetry:np(t)};if(!e.storeUri.startsWith("file://"))return r;let n=KG(e.storeUri);if(!VG(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:np(t)}}catch{return r}finally{await o.close()}}function E_(e,t=np(30),r=!1,n=S_()){return`${ge(sp(e,t,r,n))}
|
|
360
|
+
`}function k_(e,t){return`${ge({...e,overhead:R_(t)})}
|
|
361
|
+
`}function S_(){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 R_(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 sp(e,t,r,n=S_()){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??$a(),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:YG(t.savings),dollars_saved_estimate_usd_display:QG(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:R_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:rp(t.health.degradation_rate),show_hit_rate_display:rp(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:rp(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:tp(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:tp(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:tp(t.latency.store_elapsed_ms_avg)}}}function v_(e){return`${ge(e)}
|
|
362
|
+
`}function np(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 zG(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:$a()}}function $a(){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 T_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
|
|
363
|
+
`)}function YG(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 QG(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?mo(e.dollars_saved_estimate_usd):`${mo(e.dollars_saved_low_usd)}-${mo(e.dollars_saved_high_usd)} (estimate_midpoint: ${mo(e.dollars_saved_estimate_usd)})`}function tp(e){return e==null?"none":String(e)}function rp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function sv(e){let{stats:t,telemetry:r}=await Qn(e,30),[n,s]=await Promise.all([bM(e),Promise.resolve().then(()=>(jf(),Bf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(st(process.cwd()).rootDir,e.overhead)}}function ov(e){let t=sp(e.stats,e.telemetry,!1,e.overhead),r=vd({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??$a()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},wM(e));return`${ge(r)}
|
|
364
|
+
`}async function bM(e){if(!e.storeUri.startsWith("file://"))return[];let t=yM(e.storeUri);if(!gM(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(nr(),Yn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function wM(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 qV}from"node:fs";import{fileURLToPath as UV}from"node:url";Ft();import{spawn as pu}from"node:child_process";async function YO(e,t,r){let n=process.hrtime.bigint(),s=await QO(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return rV(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function QO(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(()=>(nu(),ru)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Ji(),Wi)).then(i=>i.parseExecCommandLine(e));r=pu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=pu(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 XO(e){return e>0&&Math.random()<e}async function Ki(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 rA(t);if(n){let o=nV(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),ci));mu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:fu(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})),mu(i(n,{collection:c,ts:new Date().toISOString(),command:fu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function ZO(e,t,r){let n=await QO(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),ci)),a={ts:new Date().toISOString(),command:fu(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 mu(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})),mu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function eA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${hu()}, passing through
|
|
367
|
+
`),await rA(e)}function hu(){return"rsp is not enabled in this directory; run /red-setup"}function tA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return fu(e.positional)}function fu(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 Vi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function rV(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};xr(e,{collection:"rsp_accounting_events_v1",...i}),xr(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function nV(e,t,r){let n=t[0]??"unknown",s=sV(r)||e;return{reason:zO(r)==="ENOENT"||zO(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:iV(r)??1,stderrHead:oV(s,240)}}function sV(e){return e instanceof Error?Vi(e.message):Vi(String(e??""))}function oV(e,t){let r=Vi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function zO(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function iV(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 mu(e){e.catch(()=>{})}async function rA(e){if(e[0]==="exec"||e[0]==="proxy")return await aV(e);let t=e[0];if(!t)return 2;let r=pu(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 aV(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(nu(),ru));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Ji(),Wi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
|
|
369
|
+
`),2}let r=pu(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 wA(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")),bA("disabled",n,r);n.push(await HV(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(WV(await o(t))),n.push(JV(e)),EA(e)){let{telemetry:i}=await Qn(e,r);n.push(VV(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(KV(wr(process.cwd(),e.overhead))),bA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function _A(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
|
|
371
|
+
`}async function HV(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(()=>(Yi(),ku)),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?Vi(t.message):"unknown error"}`,"rsp setup")}}function WV(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 JV(e){return e.storeUri.startsWith("file://")?EA(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 VV(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})`,zV(s,t))}function KV(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function zV(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 EA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return qV(UV(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:wd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function bA(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)}}Fg();function vA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${XV(t).join(`
|
|
372
372
|
`)}
|
|
373
|
-
`}function YV(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 QV}from"node:child_process";import{createHash as XV}from"node:crypto";import{existsSync as ZV,readFileSync as eK,statSync as tK}from"node:fs";import{tmpdir as rK}from"node:os";import{dirname as nK,join as Ur}from"node:path";async function De(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=sK(e,t,a);return Ad(s,c,i),n?In(lK(s,e,t,c,i,n.lastResponseMetrics())):uK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function sK(e,t,r){let n=Id(),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 Ru(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),ai));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=lr(e),n=tK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!cK(r,Date.now()-s))return;let o=iK(e),i=aK(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");QV(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 iK(e){let t=e;for(;;){if(ZV(Ur(t,".git")))return t;let r=nK(t);if(r===t)return e;t=r}}function aK(e){let t=XV("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(rK(),`red-skills-${n}`,t)}function cK(e,t){try{let r=eK(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 lK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Sa(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),ai));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 uK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Sa(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}},fy=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function mC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new fy,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Dg(),SA));if(i(e.positional))return await De(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Sg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await De(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(sy(),ny)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(cy(),ay)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(py(),dy)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Wi(),Hi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s)}}catch(i){return Jn(i)?(process.stdout.write(i.render()),2):await Vi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Vi("wrapper failed",e.positional,n,r)}async function i8(e=process.argv.slice(2)){let t=ya("rsp"),r=sw(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()),
|
|
378
|
-
`),w.status}if(n.command==="dashboard"){let y=await
|
|
373
|
+
`}function XV(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 ZV}from"node:child_process";import{createHash as eK}from"node:crypto";import{existsSync as tK,readFileSync as rK,statSync as nK}from"node:fs";import{tmpdir as sK}from"node:os";import{dirname as oK,join as Ur}from"node:path";async function De(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&&aK(s,o);let c=iK(e,t,a);return Cd(s,c,i),n?In(dK(s,e,t,c,i,n.lastResponseMetrics())):pK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function iK(e,t,r){let n=Ld(),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 vu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),ci));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 aK(e,t){try{let r=lr(e),n=nK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!uK(r,Date.now()-s))return;let o=cK(e),i=lK(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");ZV(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 cK(e){let t=e;for(;;){if(tK(Ur(t,".git")))return t;let r=oK(t);if(r===t)return e;t=r}}function lK(e){let t=eK("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(sK(),`red-skills-${n}`,t)}function uK(e,t){try{let r=rK(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 dK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ra(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),ci));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 pK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ra(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}},my=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function hC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new my,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Fg(),RA));if(i(e.positional))return await De(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Rg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await De(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(oy(),sy)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(ly(),cy)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(fy(),py)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ji(),Wi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s)}}catch(i){return Jn(i)?(process.stdout.write(i.render()),2):await Ki("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Ki("wrapper failed",e.positional,n,r)}async function c8(e=process.argv.slice(2)){let t=ba("rsp"),r=ow(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
|
|
374
|
+
`:`${pw(t)}
|
|
375
|
+
`),0;if(r.kind==="help")return process.stdout.write(vA(e)),0;let n;try{n=iw(e)}catch(y){if(cw(y))return process.stdout.write(aw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Yi(),ku));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Yi(),ku));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(qi(),Og));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(qi(),Og));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(SC(),kC)),E=await y(process.cwd());return process.stdout.write(T_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(CC(),AC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(jf(),Bf));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(()=>(LC(),IC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),kp)),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 wA(o,E,ya(n.positional,1));return process.stdout.write(_A(w)),w.exitCode}let i=tA(n.command);if(!o.enabled)return i?await eA(n.positional):(process.stdout.write(`${hu()}
|
|
376
|
+
`),0);if(n.command==="git"&&Su(n.positional)){let y=process.hrtime.bigint();return await De(n,await Ru(),y,void 0,await Dg(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(),Ta)),E=y(l.rootDir,n.command);if(E)return await ZO(n.positional,l.rootDir,E)}if(i&&XO(o.measurementHoldoutShare))return await YO(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(dP(),uP)),E=a(process.cwd()),w=_d(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(`${hu()}
|
|
377
|
+
`),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=_d(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(()=>(nu(),ru));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(()=>(Ya(),lE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),Ta)),S=k(l.rootDir,o.overhead);return process.stdout.write(k_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(xo(),EE)),E=dw(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 sv(o);return process.stdout.write(ov(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!i8(a8(o.storeUri)))return i?await hC(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(),Yn)),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 Qn(o,ya(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),Ta));return process.stdout.write(E_(y,E,uw(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(ya(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(v_(E)),0}if(n.command==="git"){if(In(m()),Su(n.positional)){let S=process.hrtime.bigint();return await De(n,await Ru(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Rg)),E=new Kr(()=>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 De(n,k,w,E,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(oy(),sy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(ly(),cy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(fy(),py)),E=new Kr(()=>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 De(n,k,w,E,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(Ji(),Wi)),E=new Kr(()=>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 De(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 vu(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 vu(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 vu(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(Jn(y))return process.stdout.write(y.render()),2;if(i)return await Ki("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();hg();wg();function Tce(e){return Jn(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{c8 as main,bg as renderAutomaticCommandOutput,Tce as renderCliFailure,mg as renderStructuredBoundary};
|
|
379
379
|
/*! Bundled license information:
|
|
380
380
|
|
|
381
381
|
content-type/dist/index.js:
|