@reddb-io/red-skills 3.17.5 → 3.18.0

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.
@@ -1,62 +1,67 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var gA=Object.create;var Cu=Object.defineProperty;var hA=Object.getOwnPropertyDescriptor;var yA=Object.getOwnPropertyNames;var bA=Object.getPrototypeOf,wA=Object.prototype.hasOwnProperty;var Xi=(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=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t)=>{for(var r in t)Cu(e,r,{get:t[r],enumerable:!0})},_A=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of yA(t))!wA.call(e,s)&&s!==r&&Cu(e,s,{get:()=>t[s],enumerable:!(n=hA(t,s))||n.enumerable});return e};var Zi=(e,t,r)=>(r=e!=null?gA(bA(e)):{},_A(t||!e||!e.__esModule?Cu(r,"default",{value:e,enumerable:!0}):r,e));function kA(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 SA(e=by){return Object.entries(e).map(([t,r])=>kA(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function RA(e){return/^-\d+(\.\d+)?$/.test(e)}function Nn(e){return!(!e||e.startsWith("-")&&!RA(e))}function ea(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 wy(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=>wy(r.trim())):e}function Vr(e,t){switch(t){case"boolean":return vA(e);case"number":return TA(e);case"array":return e.split(",").map(r=>ea(r.trim()));case"string":default:return e}}function vA(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function TA(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 dr(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function xA(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function te(e,t){return{type:e,value:t}}function OA(e){let t=[],r=AA(e);if(t.push(te("section-header","Usage:"),te("text"," "),te("usage-text",r),te("newline",`
3
- `),te("newline",`
4
- `)),e.positional&&e.positional.length>0){t.push(te("section-header","Arguments:"),te("newline",`
5
- `));for(let n of e.positional)if(n.description){let s=n.variadic?`${n.name}...`:n.name;t.push(te("indent"," "),te("positional-name",`<${s}>`)),n.required||t.push(te("positional-optional"," (optional)")),t.push(te("newline",`
6
- `),te("indent"," "),te("option-description",n.description),te("newline",`
7
- `))}t.push(te("newline",`
8
- `))}if(e.options&&Object.keys(e.options).length>0){t.push(te("section-header","Options:"),te("newline",`
9
- `));let n=PA(e.options);t.push(...n)}return t}function CA(e,t){let r=OA(e);return xA(r,t)}function AA(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 PA(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=h=>{d.includes(h)||d.push(h)};u.short&&p(`-${u.short}`),p(`--${l}`);for(let h of u.aliases??[])h.length===1?p(`-${h}`):p(`--${h}`);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(te("indent"," ")),r.push(te(s,l.flags)),l.type&&(r.push(te("text"," ")),r.push(te(o,l.type))),r.push(te("text",d)),r.push(te(a,l.desc)),l.default!==void 0&&(r.push(te("text"," ")),r.push(te(i,`(default: ${l.default})`))),r.push(te("newline",`
10
- `))}return r}function _y(e){let t=FA(e.options??{},e.autoShort??!1),r=SA(e.separators??by);return{schema:e,parse(n){return IA(n,e,t,r)},help(){return CA(e,e.formatter)}}}function IA(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?Vr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Vr(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=DA(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!UA(u)){c=$A(u,c,e,s,r,t);continue}let d=LA(u,n);if(d){let{key:p,value:f,config:m}=d,h=s,w=h[m.to]??(h[m.to]={});w[p]=m.typed?wy(f):dr(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let h=e[c];m.push(p.type?Vr(h,p.type):h),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Vr(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 BA(s,t,r),jA(s,t,a),qA(s,t,r),s}function LA(e,t){if(EA.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(GA(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(NA(s,o,r))return{key:s,value:o,config:r}}}return null}function GA(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function NA(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 DA(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 ta(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(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 $A(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=Au(c,s);return u?ta(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ea(dr(l))),t+1)}if(i.length===1){let a=Au(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(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(Nn(c))return n.options[i]=ea(dr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Au(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 ta(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Vr(dr(t),i.type):dr(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Vr(dr(t),i.type):dr(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]=ea(dr(t)));return r}function FA(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=MA(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 MA(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 Au(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function BA(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?Vr(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 jA(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 qA(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 UA(e){return/^-\d+(\.\d+)?$/.test(e)}var by,EA,Ey=E(()=>{by={"=":"data",":=":{to:"data",typed:!0},":":"meta"},EA=/^[a-z][a-z0-9+.-]*:\/\//i});function HA(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 WA(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&&Nn(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 Ks(e,t,r={}){let s=_y({options:HA(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=WA(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 Pu(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 KA(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 Kr(e,t,r={}){let n=KA(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=JA.exec(c)??VA.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&&Nn(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 Iu(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 Vs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Pu,JA,VA,Vs,Lu=E(()=>{Ey();Pu=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}};JA=/^--([^=]+)(?:=([\s\S]*))?$/,VA=/^-([^-=])(?:=([\s\S]*))?$/;Vs=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 Sy(e){return zA.test(e)}var zA,ky,Ry=E(()=>{zA=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,ky="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new pr(e,t,r)}function K(e,t){return new zr(e,t)}function $n(e){return e instanceof zr?e:e instanceof pr?new zr(e.line,e.reason):new zr(0,String(e&&e.message?e.message:e))}var Dn,pr,zr,Ht=E(()=>{Dn=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}},pr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},zr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function Yr(e){return e instanceof Gu}var YA,Gu,zs=E(()=>{YA=/(?:^\uFEFF?|\n) *#/,Gu=class{value;constructor(t){if(YA.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function xy(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 At(e){return F(e,"invalid quoted string")}function $e(e,t){if(e==="")return"";if(e.startsWith('"'))return Oy(e,t);if(e.includes('"'))throw At(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(QA(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function fr(e,t){let r=e.trim();if(r.startsWith('"'))return[Oy(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Oy(e,t){if(e.charCodeAt(0)!==34)throw At(t);let r="",n=1;for(;n<e.length;){vy.lastIndex=n;let s=vy.exec(e);if(s===null)break;if(s[0]==='"'){if(e.slice(s.index+1).trim()==="")return r+e.slice(n,s.index);throw At(t)}if(s[0]!=="\\")throw At(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 At(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw At(t);r+=String.fromCharCode(a),n+=4;break}default:throw At(t)}}throw At(t)}function Cy(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 At(r);t=s+2;continue}if(n===-1)throw At(r);return n+1}}function Qr(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=Cy(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function pt(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=Cy(e,s+1,r)}return-1}function QA(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function XA(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function ZA(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 Ys(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function Se(e,t){if(Yr(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return ZA(e);if(typeof e=="string")return tP(e,t);throw F(0,"not a primitive")}function eP(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Re(e){return eP(e)?e:ra(e)}function tP(e,t){return Nu(e,t)?ra(e):e}function Nu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||XA(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ra(e){return`"${Ay(e)}"`}function Ay(e){let t="",r=0;Ty.lastIndex=0;let n;for(;(n=Ty.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 Xr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var Wt,vy,Ty,Zr=E(()=>{Ht();zs();Wt=",";vy=/["\\\u0000-\u0008\u000a-\u001f]/g;Ty=/["\\\u0000-\u001f]/g});var Py,rP,Qs,Iy,en,Ly,Xs=E(()=>{Py={comma:",",tab:" ",pipe:"|"},rP=Py.comma,Qs=1e3,Iy=["type","kind","event"],en="|",Ly=new Set(["order","discriminator","rows","common"])});function*Ny(e,t,r,n,s,o,i){yield*Dy(r,e,n,t,{index:0},s,i,!0,o)}function*Dy(e,t,r,n,s,o,i,a,c){let l=My(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(!na(p.content,r,p.number))break;let f=Qr(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:sa(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*Fy(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*$y(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 iP(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&na(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*$y(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*nP(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*nP(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*Fy(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=Gy(r,o,n.number),d=Qr(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:$e(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=sa(e.children),d=r[o.cellIndex],p=jy(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],h=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(h||r.length!==o.flatWidth&&f<u+oP(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 y={index:o.nextIndex};yield*Dy(p,e.children,a,s,y,i,c,!1,n.number),o.nextIndex=y.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*$y(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=Gy(r,o,n.number);yield{type:"primitive",value:$e(l,n.number),line:n.number}}function*Fy(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:$e(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function Gy(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function My(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=By(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 By(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||!na(p.content,n,p.number))return;let f=sP(t,r,Qr(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&&na(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function sP(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=jy(r[c]);if(p===void 0)return;c++;let f=My(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=By(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=sa(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function jy(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function sa(e){return e.reduce((t,r)=>t+qy(r),0)}function qy(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?sa(e.children):1}function oP(e){return e.reduce((t,r)=>t+(r.children===void 0?qy(r):1),0)}function na(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s!==-1&&s<n}function iP(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var Uy=E(()=>{Ht();Zr()});function aP(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*cP(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*lP(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Bu(e,t){let r=pt(e,"[",t);if(r===-1)return null;let n=pt(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 h=i.slice(l+1);if(i=i.slice(0,l),a=!0,h===" "||h==="|")c=h;else if(h!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!uP.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let h=Wy(d,t);p=dP(d.slice(1,h),c,t),d=d.slice(h+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=Pt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:fr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function Wy(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 dP(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return oa(e,",",t,r);try{return oa(e,t,t,r)}catch(n){if(t===",")throw n;return oa(e,",",t,r)}}function oa(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(pP(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 pP(e,t,r,n){let s=Pt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?fP(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:fr(s,n)[0]};let l=fr(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=Wy(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=oa(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function fP(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 ju(e){let t=0;for(let r of e)t+=r.children===void 0?1:ju(r.children);return t}function qu(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&&qu(s.children,t,r)}}function Pt(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 Uu(e,t,r){if(Pt(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(Pt(e.slice(s,i))),s=i+1)}return n.push(Pt(e.slice(s))),n}function Jy(e,t){return pt(e,":",t)!==-1}function Vy(e,t){try{return fr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function Ky(e){let t=e?.maxDepth??Qs;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*zy(e){let t=new $u,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*Du(t,e);return}let n=null,s=!1;try{n=Bu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&aa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Zy(t,r,n,e):yield*Wu(t,r,n,e),yield*Du(t,e);return}if((n===null||s)&&!Jy(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:$e(Pt(r.content),r.number),line:r.number};return}yield*Yy(t,0,r.number,e),yield*Du(t,e)}function*Du(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*Yy(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*Fu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Fu(e,t,r,n,s,o){let i=null;try{i=Bu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(aa(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{Mu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Zy(e,{...t,depth:n},i,s):yield*Wu(e,{...t,depth:n},i,s);return}let a=pt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=Vy(Pt(r.slice(0,a)),t.number),l=Pt(r.slice(a+1));if(Mu(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*Yy(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:$e(l,t.number),line:t.number}}function Mu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*Wu(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(qu(r.fields,t.number,n),Qy(r.fields,n)){if(!n.objectArrayColumns&&Xy(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*Ny(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*gP(e,t,r,n);return}if(r.inline!==void 0){let i=Uu(r.inline,r.delimiter,t.number);Vu(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:$e(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*mP(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 Qy(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Qy(r.children,t))}function Xy(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Xy(t.children))}function*mP(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Pt(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=Bu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(aa(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:$e(n,t.number),line:t.number};return}yield*Wu(e,t,s,r);return}if(s!=null&&s.key!==void 0||Jy(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Fu(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*Fu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:$e(n,t.number),line:t.number}}function*gP(e,t,r,n){let s=r.fields,o=ju(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(!hP(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=Uu(l.content,r.delimiter,l.number);Vu(u.length,o,l.number,"row cells",n),yield*Ju(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 hP(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s===-1?!1:s<n}function*Ju(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:$e(o,n),line:n}}else yield*Ju(s.children,t,r,n);yield{type:"endObject",line:n}}function*Zy(e,t,r,n){let s=r.fields;qu(s,t.number,n);let o=ju(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=pt(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=Vy(Pt(u.content.slice(0,d)),u.number);Mu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=Uu(u.content.slice(d+1),r.delimiter,u.number);Vu(f.length,o,u.number,"entry row cells",n),yield*Ju(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 Vu(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function eb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function aa(e,t,r,n=1){if(e!==void 0){eb(n,t,r);for(let s of e)s.children!==void 0&&aa(s.children,t,r,n+1)}}function*tb(e,t){let r=Ky(t),n=new ia(r),s=cP(e,n),o=zy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw nb(a,n)}finally{o.return(),s.return(void 0)}}async function*rb(e,t){let r=Ky(t),n=new ia(r),s=lP(e,n),o=zy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw nb(a,n)}finally{o.return(),await s.return(void 0)}}function nb(e,t){return!(e instanceof pr)||e.source!==void 0?e:new Dn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function Ku(e,t){return Symbol.asyncIterator in e?rb(e,t):tb(e,t)}var ia,uP,Hu,Hy,$u,ca=E(()=>{Ht();Zr();Xs();Uy();ia=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(aP(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,eb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};uP=/^(0|[1-9]\d*)$/;Hu=Symbol("need line"),Hy=2,$u=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=Hy)throw new Error(`decoder lookahead exceeds ${Hy} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield Hu;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 Ke(e){if(e===null)return null;if(Yr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ke(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(Ke);if(e instanceof Set)return Array.from(e,Ke);if(e instanceof Map){let t={};for(let[r,n]of e)Fn(t,String(r),Ke(n));return t}if(re(e)){let t={};for(let r of Object.keys(e))sb(r,"object key"),Fn(t,r,Ke(e[r]));return t}return null}function sb(e,t){if(yP.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 re(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Ze(e){return e===null||Yr(e)||["string","number","boolean"].includes(typeof e)}function Fn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var yP,Mn=E(()=>{zs();yP=/[\uD800-\uDFFF]/});function ab(e){if(!re(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=bP(n,1);if(s===void 0)return e;Xr(t,r,s)}return t}function bP(e,t){if(!re(e)||!wP(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw ve(t);let o=_P(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(re))throw cb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Ly.has(d)){if(!Array.isArray(p)||!p.every(re))throw ve(t);c.set(d,p)}if(c.size===0)throw ve(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw zu(t);let m=l.get(d)??0,h=f[m];if(h===void 0)throw zu(t);return l.set(d,m+1),EP(n,d,a[p],h,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw zu(t);return u}function wP(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function _P(e,t,r){if(!e.startsWith("cycle("))throw ve(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw ve(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw ve(r);let a=o.split(",").map(u=>vP(u,r));if(a.some(u=>u===""))throw ve(r);let c=RP(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw ve(r);if(l!==t)throw cb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function EP(e,t,r,n,s){let o={};Xr(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}for(let[i,a]of Object.entries(kP(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}return o}function kP(e,t){let r={};for(let[n,s]of Object.entries(e))SP(r,n.split("."),s,t);return la(r,t)}function SP(e,t,r,n){if(t.some(o=>o===""))throw ve(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],!re(s))throw ve(n)}}function la(e,t){return Array.isArray(e)?e.map(r=>la(r,t)):re(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw ve(t);return la(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,la(n,t)])):e}function RP(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw ve(t);let r=Number(e);if(!Number.isSafeInteger(r))throw ve(t);return r}function vP(e,t){try{return decodeURIComponent(e)}catch{throw ve(t)}}function ob(e){return encodeURIComponent(e)}function ve(e){return F(e,"invalid cyclic array wire")}function cb(e){return F(e,"cyclic array length mismatch")}function zu(e){return F(e,"cyclic array group length mismatch")}function lb(e){if(!re(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=TP(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)AP(n,s,o);return n.join("")}function TP(e){if(!Array.isArray(e)||e.length===0||!e.every(re))return;let t=xP(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=OP(r);if(n===void 0)return;let s=CP(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)&&!Yu(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=IP(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 xP(e){return Iy.find(t=>e.every(r=>typeof r[t]=="string"))}function OP(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(ob).join(","),o=`cycle(${r.map(ob).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function CP(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(!PP(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Ys(i[o])))break;r.push(o)}return r}function AP(e,t,r){e.push(Re(t),`:
13
- `),e.push(" order: ",Se(r.order.encoded,en),`
14
- `),e.push(" discriminator: ",Se(r.discriminator,en),`
2
+ var gP=Object.create;var Bu=Object.defineProperty;var yP=Object.getOwnPropertyDescriptor;var bP=Object.getOwnPropertyNames;var wP=Object.getPrototypeOf,_P=Object.prototype.hasOwnProperty;var ea=(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=(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)Bu(e,r,{get:t[r],enumerable:!0})},EP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of bP(t))!_P.call(e,s)&&s!==r&&Bu(e,s,{get:()=>t[s],enumerable:!(n=yP(t,s))||n.enumerable});return e};var ta=(e,t,r)=>(r=e!=null?gP(wP(e)):{},EP(t||!e||!e.__esModule?Bu(r,"default",{value:e,enumerable:!0}):r,e));function SP(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 RP(e=Dy){return Object.entries(e).map(([t,r])=>SP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function vP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!vP(e))}function ra(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 Fy(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=>Fy(r.trim())):e}function Yr(e,t){switch(t){case"boolean":return TP(e);case"number":return xP(e);case"array":return e.split(",").map(r=>ra(r.trim()));case"string":default:return e}}function TP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function xP(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 OP(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 AP(e){let t=[],r=PP(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
3
+ `),re("newline",`
4
+ `)),e.positional&&e.positional.length>0){t.push(re("section-header","Arguments:"),re("newline",`
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
+ `),re("indent"," "),re("option-description",n.description),re("newline",`
7
+ `))}t.push(re("newline",`
8
+ `))}if(e.options&&Object.keys(e.options).length>0){t.push(re("section-header","Options:"),re("newline",`
9
+ `));let n=IP(e.options);t.push(...n)}return t}function CP(e,t){let r=AP(e);return OP(r,t)}function PP(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 IP(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 My(e){let t=MP(e.options??{},e.autoShort??!1),r=RP(e.separators??Dy);return{schema:e,parse(n){return LP(n,e,t,r)},help(){return CP(e,e.formatter)}}}function LP(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=DP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!HP(u)){c=FP(u,c,e,s,r,t);continue}let d=GP(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?Fy(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 jP(s,t,r),qP(s,t,a),UP(s,t,r),s}function GP(e,t){if(kP.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($P(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(NP(s,o,r))return{key:s,value:o,config:r}}}return null}function $P(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function NP(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 DP(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 na(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)?na(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 FP(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=ju(c,s);return u?na(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ra(hr(l))),t+1)}if(i.length===1){let a=ju(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?na(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]=ra(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=ju(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function na(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]=ra(hr(t)));return r}function MP(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=BP(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 BP(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function ju(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function jP(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 qP(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 UP(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 HP(e){return/^-\d+(\.\d+)?$/.test(e)}var Dy,kP,By=E(()=>{Dy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},kP=/^[a-z][a-z0-9+.-]*:\/\//i});function WP(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 JP(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=My({options:WP(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=JP(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 qu(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 zP(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=zP(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=VP.exec(c)??KP.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 Uu(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 qu,VP,KP,Ys,Hu=E(()=>{By();qu=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}};VP=/^--([^=]+)(?:=([\s\S]*))?$/,KP=/^-([^-=])(?:=([\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 qy(e){return YP.test(e)}var YP,jy,Uy=E(()=>{YP=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,jy="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=E(()=>{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 Wu}var QP,Wu,Xs=E(()=>{QP=/(?:^\uFEFF?|\n) *#/,Wu=class{value;constructor(t){if(QP.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function Jy(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 Vy(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(XP(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[Vy(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Vy(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){Hy.lastIndex=n;let s=Hy.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 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),`:
13
+ `),e.push(" order: ",ve(r.order.encoded,nn),`
14
+ `),e.push(" discriminator: ",ve(r.discriminator,nn),`
15
15
  `),e.push(" rows: ",String(r.rows.length),`
16
- `),r.common.length>0&&ib(e,"common",r.common,r.commonRows);for(let n of r.groups)ib(e,n.label,n.fields,n.rows)}function ib(e,t,r,n){e.push(" ",Re(t),"[",String(n.length),en,"]{",r.map(Re).join(en),`}:
17
- `);for(let s of n)e.push(" ",r.map(o=>Se(s[o],en)).join(en),`
18
- `)}function PP(e){return e!==""&&Qu(e)}function Yu(e,t,r,n=new Set){if(!Qu(t))return!1;if(Ys(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)=>Yu(o,`${t}.${i}`,r,n));return n.delete(e),s}if(re(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&Yu(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function IP(e){let t=Object.keys(e[0]??{});if(e.every(r=>LP(Object.keys(r),t)))return t.every(Qu)?t:void 0}function LP(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function Qu(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var Xu=E(()=>{Xs();Mn();Ht();Zr()});function Zu(e,t){let r=ed(e,t,[]),n=t("",r,[]);return n===void 0?r:Ke(n)}function ed(e,t,r){return Array.isArray(e)?NP(e,t,r):re(e)?GP(e,t,r):e}function GP(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,ed(o,t,i),i);a!==void 0&&Fn(n,s,Ke(a))}return n}function NP(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),ed(e[s],t,o),o);i!==void 0&&n.push(Ke(i))}return n}var ub=E(()=>{Mn()});function pb(e){let t=[],r,n=db,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===db?{}:n}function fb(e,t){let r=pb(Ku(e,t));return t?.reviver?Zu(r,t.reviver):r}function td(e,t){let{reviver:r,...n}=t??{},s=fb(DP(e),n),o=t?.cyclicDiscriminatedArrays===!0?ab(s):s;return r?Zu(o,r):o}function*DP(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 db,ua=E(()=>{ca();Xu();ub();db=Symbol("unset")});function mb(e,t){let r=t("",e,[]);return r===void 0?rd(e,t,[]):nd(e,r,t,[])}function nd(e,t,r,n){return Yr(t)&&(Array.isArray(e)||re(e))?rd(e,r,n):rd(Ke(t),r,n)}function rd(e,t,r){return Array.isArray(e)?FP(e,t,r):re(e)?$P(e,t,r):e}function $P(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&&Fn(n,s,nd(o,a,t,i))}return n}function FP(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(nd(e[s],i,t,o))}return n}var gb=E(()=>{Mn();zs()});function Bn(e,t={}){if(t.objectArrayColumns===!0){let s=hb(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(!re(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(Ze)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(Ze))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=hb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Bn(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>re(a)&&Object.keys(a).length>0))return;let i=Bn(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function da(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>re(n)&&Object.keys(n).length>0))return Bn(r,t)}function hb(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(Ze))?t:void 0}var yb=E(()=>{Mn()});function M(e,t={}){return Array.from(bb(e,t)).join(`
20
- `)}function bb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??Qs,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ke(e),a=t.replacer?mb(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=lb(a);if(l!==void 0)return l.trimEnd().split(`
21
- `)}return MP(a,c)}function MP(e,t){if(Ze(e))return[Se(e,t.delimiter)];if(Array.isArray(e))return _b(void 0,e,0,t);let r=da(e,t);return r===void 0?pa(e,0,t):wb(void 0,e,r,0,t)}function pa(e,t,r){return qn(t,r),Object.entries(e).flatMap(([n,s])=>BP(n,s,t,r))}function BP(e,t,r,n){let s=me(r,n)+Re(e);if(Ze(t))return[`${s}: ${Se(t,n.delimiter)}`];if(Array.isArray(t))return _b(e,t,r,n);let o=da(t,n);if(o!==void 0)return wb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...pa(t,r+1,n)),i}function wb(e,t,r,n,s){qn(n,s);let o=Object.entries(t);Zs(r,n+1,s);let i=[me(n,s)+ft(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=jn(c,r,n+2,s);i.push(me(n+1,s)+Re(a)+": "+l.cells),i.push(...l.children)}return i}function _b(e,t,r,n){qn(r,n);let s=me(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Re(e)}: []`];if(t.every(Ze))return[s+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];let o=Bn(t,n);if(o!==void 0)return jP(e,t,o,r,n);let i=[s+ft(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...sd(a,r+1,n));return i}function jP(e,t,r,n,s){Zs(r,n+1,s);let o=[me(n,s)+ft(e,t.length,r,s.delimiter)];for(let i of t){let a=jn(i,r,n+2,s);o.push(me(n+1,s)+a.cells),o.push(...a.children)}return o}function sd(e,t,r){qn(t,r);let n=me(t,r)+"-";if(Ze(e))return[`${n} ${Se(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${ft(void 0,0,void 0,r.delimiter)}`];if(e.every(Ze))return[`${n} ${ft(void 0,e.length,void 0,r.delimiter)} ${od(e,r.delimiter)}`];let s=[`${n} ${ft(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...sd(o,t+1,r));return s}return qP(e,t,r)}function qP(e,t,r){qn(t,r);let n=Object.entries(e);if(n.length===0)return[me(t,r)+"-"];let[[s,o],...i]=n,a=UP(s,o,t,r),c;if(a!==void 0)c=a;else if(Ze(o))c=[me(t,r)+"- "+Re(s)+": "+Se(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[me(t,r)+"- "+Re(s)+": []"];else{c=[me(t,r)+"- "+ft(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...sd(l,t+2,r))}else c=[me(t,r)+"- "+Re(s)+":"],Object.keys(o).length>0&&c.push(...pa(o,t+2,r));return i.length>0&&c.push(...pa(Object.fromEntries(i),t+1,r)),c}function UP(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(Ze))return[me(r,n)+"- "+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];if(Array.isArray(t)&&t.every(re)){let s=Bn(t,n);if(s!==void 0){Zs(s,r+1,n);let o=[me(r,n)+"- "+ft(e,t.length,s,n.delimiter)];for(let i of t){let a=jn(i,s,r+3,n);o.push(me(r+2,n)+a.cells),o.push(...a.children)}return o}}if(re(t)){let s=da(t,n);if(s!==void 0){Zs(s,r+1,n);let o=Object.entries(t),i=[me(r,n)+"- "+ft(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=jn(c,s,r+3,n);i.push(me(r+2,n)+Re(a)+": "+l.cells),i.push(...l.children)}return i}}}function ft(e,t,r,n,s=!1){let o=e===void 0?"":Re(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${Eb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Eb(e,t){return e.map(r=>{let n=Re(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?"":`{${Eb(r.children,t)}}`)}).join(t)}function jn(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=jn(c,i.children??[],r+1,n);o.push(me(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>Se(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>HP(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=jn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(Se(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function HP(e,t,r){return typeof e!="string"?Se(e,t):Nu(e,t)||e.includes(r)?ra(e):e}function od(e,t){return e.map(r=>Se(r,t)).join(t)}function me(e,t){return" ".repeat(e*t.indentSize)}function qn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function Zs(e,t,r){qn(t,r);for(let n of e)n.children!==void 0&&Zs(n.children,t+1,r)}var eo=E(()=>{Zr();Ht();Xs();Mn();gb();yb();Xu()});var kb=E(()=>{});var Sb=E(()=>{Ht();ca()});var Rb=E(()=>{eo()});function JP(e,t){if(!(e.startsWith("[=")&&e.endsWith("]")))return null;let r=e.slice(2,-1);if(!/^[0-9]+$/.test(r))throw K(t,"invalid trailer count");return Number.parseInt(r,10)}function Nb(e,t){if(!Gb.test(e))throw K(t,"invalid tag")}function VP(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!Gb.test(n)){if(/^[A-Za-z0-9_-]/.test(n)&&/^[^,[\]|{}:\t ]+$/.test(n))throw K(t,"invalid tag");return null}return{tag:n,cellsText:e.slice(r+1)}}function KP(e,t){if(!e.startsWith("["))return null;let r=e.slice(1),n=r.indexOf("]");if(n===-1)throw K(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(!Ib.includes(i)&&i!=="")throw K(t,"invalid header delimiter");let a=i===""?Wt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw K(t,"invalid tag");if(l=c.slice(1,p),Nb(l,t),i!=="")throw K(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw K(t,"invalid header");let u=c.slice(1,-2),d;try{d=Qr(u,a,t).map(p=>fr(p,t)[0])}catch(p){throw $n(p)}if(d.length===0||d.some(p=>p===""))throw K(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function zP(e,t,r){if(e===null||e.delimiter===void 0)throw K(r,"continuation header before header");if(e.delimiter!==t.delimiter||e.fieldText!==t.fieldText)throw K(r,"continuation header mismatch")}function vb(e,t,r,n){let s;try{s=Qr(e,t,n)}catch(o){throw $n(o)}if(s.length!==r)throw K(n,"row arity mismatch");for(let o of s)try{$e(o,n)}catch(i){throw $n(i)}return s}function YP(e,t,r){let n={};return e.forEach((s,o)=>{try{Xr(n,s,$e(t[o],r))}catch(i){throw $n(i)}}),n}function QP(e,t,r){if(e.startsWith("- "))throw K(t,"reserved line prefix");let n=JP(e,t);if(n!==null){if(r===null||r.delimiter===void 0)throw K(t,"trailer without header");if(r.rowCount!==n)throw K(t,"trailer count mismatch");return{kind:"trailer"}}let s=KP(e,t);if(s!==null)return s.continuation?(zP(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=VP(e,t);if(o!==null){let i=r?.taggedLanes?.get(o.tag);if(i===void 0)throw K(t,"unknown tag");return{kind:"tagged-row",tag:o.tag,cells:vb(o.cellsText,i.delimiter,i.fields.length,t)}}if(r===null||r.delimiter===void 0)throw K(t,"row before header");return{kind:"row",cells:vb(e,r.delimiter,r.fields.length,t)}}function XP(e,t={}){let r=[],n=new Map,s=[],o=[],i=null,a=!1,c=!1;function l(f,m){let h=o.at(-1);if(h!==void 0&&h.lane===f.lane&&h.delimiter===f.delimiter&&h.fieldText===f.fieldText){h.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,h){let w=n.get(f);if(w===void 0){if(n.size>=Lb)throw K(h,"too many tagged lanes");w={segments:[],current:null},n.set(f,w),r.push(f)}else w.current!==null&&w.segments.push(w.current);w.current={lane:f,delimiter:m.delimiter,fields:m.fields,fieldText:m.fieldText,rows:[]},w.delimiter=m.delimiter,w.fields=m.fields,w.fieldText=m.fieldText}if(xy(e).forEach((f,m)=>{let h=m+1;if(f==="")return;let w=i===null?{taggedLanes:n}:{delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,rowCount:i.rows.length,taggedLanes:n},b=QP(f,h,w);if(b.kind==="trailer"){u(),i=null;return}if(b.kind!=="continuation"){if(b.kind==="tag-header"){c=!0,d(b.header.tag,b.header,h);return}if(b.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:b.header.delimiter,fields:b.header.fields,fieldText:b.header.fieldText,rows:[]};return}if(b.kind==="tagged-row"){c=!0;let y=n.get(b.tag).current;y.rows.push(b.cells),l(y,b.cells);return}if(i===null)throw K(h,"row before header");i.rows.push(b.cells),l(i,b.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 Te(e){return XP(e).flatMap(t=>t.rows.map(r=>YP(t.fields,r,0)))}function ZP(e){if(!Ib.includes(e))throw K(0,"invalid header delimiter")}function Tb(e,t,r=!1){return`[${`${r?"~":""}${e===Wt?"":e}`}]{${t}}:
22
- `}function xb(e,t){return`[]<${e}>{${t}}:
23
- `}function id(e,t){return t.map(Re).join(e)}function eI(e){if(!Array.isArray(e)||e.length===0)throw K(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=fr(String(t),0)}catch(n){throw $n(n)}if(r==="")throw K(0,"TOONL header requires fields");return r})}function Ob(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Cb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw K(0,"TOONL continuation cadence must be positive")}function tI(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function Ab(e){if(e===null||typeof e!="object"||Array.isArray(e))throw K(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw K(0,"TOONL output requires object rows");if(t.some(r=>!Ys(e[r])))throw K(0,"TOONL rows must be flat objects");return t}function rI(e){return JSON.stringify([...e].sort())}function Pb(e,t){let r=rI(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function Fe({delimiter:e=Wt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){ZP(e),Cb(r),Cb(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=()=>tI(p,c,l)?(c=0,l=0,Tb(e,o,!0)):"",h=w=>{Nb(w,0);let b=u.get(w);if(b===void 0){if(u.size>=Lb)throw K(0,"too many tagged lanes");b={fields:null,fieldsByShape:new Map},u.set(w,b)}return b};return{push(w){if(d)throw K(0,"TOONL encoder is closed");let b=Pb(Ab(w),i),y="";(s===null||s.length!==b.length||s.some((v,x)=>v!==b[x]))&&(y+=f(),s=b,o=id(e,s),a=0,c=0,l=0,y+=Tb(e,o));let _=s.map(v=>Se(w[v],e));y+=m();let k=`${_.join(e)}
25
- `;return y+=k,a+=1,c+=1,l+=k.length,y},declareLane(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=eI(b),_=id(Wt,y),k=h(w);return Ob(k.fields,y)?"":(k.fields=y,xb(w,_))},pushTagged(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=h(w),_=Pb(Ab(b),y.fieldsByShape),k=id(Wt,_),v=_.map(A=>Se(b[A],Wt)),x="";return Ob(y.fields,_)||(y.fields=_,x+=xb(w,k)),`${x}${w}:${v.join(Wt)}
26
- `},end(){return d?"":(d=!0,f())}}}var Ib,Lb,Gb,NY,DY,Db=E(()=>{Ht();ua();eo();Zr();Ib=[Wt,"|"," "],Lb=8,Gb=/^[A-Za-z0-9_-]+$/,NY=new TextEncoder,DY=new TextDecoder});var z,J=E(()=>{ua();eo();kb();Ht();Xs();Sb();eo();zs();Zr();ca();ua();Rb();Db();z=td});function sI(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(ad(e))}
27
- `)}function ad(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??sI(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=oI(e.diagnostics,3)),t}function Me(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Sy(s)?{command:e,category:"transient",error:to(s)||"GitHub API rate limit exceeded",help:ky,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:to(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:to(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:to(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:to(s)||"command failed",help:`${e} --help`,diagnostics:s}}function $b(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function to(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function oI(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
- `).trim()}var mt=E(()=>{"use strict";Ry();J()});function ga(e){let t={app:e,version:hI(Hn("__RED_BUILD_VERSION__",()=>"3.17.5")??"0.0.0-dev"),gitSha:Hn("__RED_BUILD_GIT_SHA__",()=>"1b8c7bb79f64279b5e326439de06c5c0d7ea8db9")??"unknown",buildTime:Hn("__RED_BUILD_TIME__",()=>"2026-08-12T19:33:46-03:00")??"unknown",bundleAsset:Hn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Hn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Hn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function hI(e){return e.startsWith("v")?e.slice(1):e}function Jb(e){return`${e.app} ${e.version} ${e.gitSha}`}function Hn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var ld=E(()=>{});import{isAbsolute as yI,join as Jt,resolve as ud}from"node:path";function _I(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function Kb(e){return Jt(_I(e),Vb)}function zb(e){return Jt(Kb(e),"state")}function Yb(e){return Jt(Kb(e),"tmp")}function ae(e){return Jt(zb(e),"rsp")}function EI(e){return Jt(zb(e),"red-skills.rdb")}function kI(e){return Jt(Yb(e),"red-skills.rdb")}function Zb(e,t){let r=EI(e);if(t(r))return r;let n=kI(e);if(t(n))throw SI();return r}function SI(){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 ew(e){return Jt(Yb(e),"waits")}function tw(e){let t=e.overrideEnvVars??dd;for(let n of t){let s=e.env[n];if(s)return yI(s)?s:ud(e.startDir,s)}let r=ud(e.startDir);for(;;){if(e.exists(Jt(r,Vb)))return r;let n=Jt(r,".."),s=ud(n);if(s===r)break;r=s}return e.startDir}var Vb,bI,wI,dd,Qb,Xb,ze=E(()=>{Vb=".red",bI="MEMORY_ROOT",wI="RED_BRAIN_ROOT",dd=[bI,wI];Qb=".red/state/red-skills.rdb";Xb=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var RI,vI,O8,Vt=E(()=>{J();ze();RI=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],vI=[{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"}],O8=[...RI,...vI]});function ro(e){let{values:t,rest:r}=Kr(e,{query:rw.query},nw);return{argv:r,query:t.query?.trim()||void 0}}function sw(e){let{values:t,rest:r}=Kr(e,rw,nw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function TI(e,t){if(!t)return!0;let r=pd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Ae(e,t){return t?e.filter(r=>TI(r,t)):[...e]}function Kt(e,t){return fd(e,t,{includeLegacyHelp:!0})}function fd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function pd(e){return Array.isArray(e)?e.map(pd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(pd).join(" "):String(e??"")}var rw,nw,no=E(()=>{"use strict";Lu();rw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},nw={stopAtSeparator:!1}});var Sa={};ne(Sa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ha,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>ya,DEFAULT_RSP_OVERHEAD_CEILING:()=>zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>wa,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>_a,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>ba,RSP_OVERHEAD_FAMILIES:()=>LI,RSP_OVERHEAD_LEDGER_FILE:()=>aw,RSP_OVERHEAD_SCHEMA_VERSION:()=>cw,classifyOverheadSample:()=>hd,noteChildProcessMs:()=>uw,noteSelfStateBytesRead:()=>oo,overheadCounters:()=>Ed,overheadFamilyDisabled:()=>GI,overheadHealth:()=>gr,overheadLedgerPath:()=>yd,overheadMsOf:()=>lw,overheadTelemetryFields:()=>Ea,readOverheadLedger:()=>so,readSelfStateFile:()=>ka,readSelfStateFileSync:()=>$I,recordOverheadSample:()=>bd,resetOverheadCounters:()=>DI,resetOverheadLedger:()=>NI,startChildProcessTimer:()=>Ye});import{existsSync as xI,mkdirSync as OI,readFileSync as ow,renameSync as CI,writeFileSync as AI}from"node:fs";import{readFile as PI}from"node:fs/promises";import{dirname as II,join as iw}from"node:path";function lw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,gd(t)):0}function hd(e,t=zt){let r=lw(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 Ea(e,t=zt){let r=hd(e,t);return{wrapper_ms:gd(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:gd(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 yd(e){return iw(ae(e),aw)}function so(e){try{let t=ow(yd(e),"utf8"),r=jI(t);if(qI(r))return r}catch{}return{version:1,families:{}}}function bd(e,t,r=zt,n=Date.now()){let s=so(e),o=hd(t,r),i=s.families[t.family]??BI(t.family,n),a=kd(i,n)?dw(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=FI(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,pw(e,s),l}function GI(e,t,r=Date.now()){let n=so(e).families[t];return!n?.disabled||kd(n,r)?null:n}function NI(e,t){let r=so(e);return t?delete r.families[t]:r.families={},pw(e,r),r}function gr(e,t=zt,r=Date.now()){let n=Object.values(so(e).families).map(a=>kd(a,r)?dw(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:cw,verdict:i,summary:MI(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function oo(e){Number.isFinite(e)&&e>0&&(wd+=e)}function uw(e){Number.isFinite(e)&&e>0&&(_d+=e)}function Ed(){return{selfStateBytesRead:wd,childMs:_d}}function DI(){wd=0,_d=0}function Ye(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,uw(Number(process.hrtime.bigint()-e)/1e6))}}async function ka(e){let t=await PI(e,"utf8");return oo(Buffer.byteLength(t)),t}function $I(e){let t=ow(e,"utf8");return oo(Buffer.byteLength(t)),t}function FI(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 MI(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 kd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function dw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function BI(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 pw(e,t){try{let r=yd(e);if(!xI(iw(e,".red")))return;OI(II(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;AI(n,`${M(t)}
29
- `,{encoding:"utf8",mode:384}),CI(n,r)}catch{}}function jI(e){try{return JSON.parse(e)}catch{return z(e)}}function qI(e){return!md(e)||e.version!==1||!md(e.families)?!1:Object.values(e.families).every(UI)}function UI(e){return md(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gd(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var aw,cw,ha,ya,ba,wa,_a,LI,zt,wd,_d,ye=E(()=>{"use strict";ze();J();aw="overhead-budget.toon",cw="red.rsp.overhead.v1",ha=250,ya=1024*1024,ba=64*1024,wa=3,_a=6*60*60*1e3,LI=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],zt={maxOverheadMs:ha,maxSelfStateBytes:ya,netLossFloorBytes:ba,consecutiveBreaches:wa,cooldownMs:_a};wd=0,_d=0});function gw(e){return e.trimStart().startsWith("{")?"json":"toon"}function Rd(e){let t=0;for(;e[t]===`
30
- `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=gw(r);if(n==="json"){let o=r.indexOf(`
16
+ `),r.common.length>0&&vb(e,"common",r.common,r.commonRows);for(let n of r.groups)vb(e,n.label,n.fields,n.rows)}function vb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),nn,"]{",r.map(Te).join(nn),`}:
17
+ `);for(let s of n)e.push(" ",r.map(o=>ve(s[o],nn)).join(nn),`
18
+ `)}function II(e){return e!==""&&cd(e)}function ad(e,t,r,n=new Set){if(!cd(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)=>ad(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(".")&&ad(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function LI(e){let t=Object.keys(e[0]??{});if(e.every(r=>GI(Object.keys(r),t)))return t.every(cd)?t:void 0}function GI(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function cd(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var ld=E(()=>{to();qn();Kt();rn()});function ud(e,t){let r=dd(e,t,[]),n=t("",r,[]);return n===void 0?r:Qe(n)}function dd(e,t,r){return Array.isArray(e)?NI(e,t,r):ne(e)?$I(e,t,r):e}function $I(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,dd(o,t,i),i);a!==void 0&&jn(n,s,Qe(a))}return n}function NI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),dd(e[s],t,o),o);i!==void 0&&n.push(Qe(i))}return n}var Ab=E(()=>{qn()});function Pb(e){let t=[],r,n=Cb,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===Cb?{}:n}function Ib(e,t){let r=Pb(od(e,t));return t?.reviver?ud(r,t.reviver):r}function pd(e,t){let{reviver:r,...n}=t??{},s=Ib(DI(e),n),o=t?.cyclicDiscriminatedArrays===!0?Tb(s):s;return r?ud(o,r):o}function*DI(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 Cb,pa=E(()=>{ua();ld();Ab();Cb=Symbol("unset")});function Lb(e,t){let r=t("",e,[]);return r===void 0?fd(e,t,[]):md(e,r,t,[])}function md(e,t,r,n){return Zr(t)&&(Array.isArray(e)||ne(e))?fd(e,r,n):fd(Qe(t),r,n)}function fd(e,t,r){return Array.isArray(e)?MI(e,t,r):ne(e)?FI(e,t,r):e}function FI(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,md(o,a,t,i))}return n}function MI(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(md(e[s],i,t,o))}return n}var Gb=E(()=>{qn();Xs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=$b(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=$b(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 fa(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 $b(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 Nb=E(()=>{qn()});function M(e,t={}){return Array.from(Db(e,t)).join(`
20
+ `)}function Db(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?Lb(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=Ob(a);if(l!==void 0)return l.trimEnd().split(`
21
+ `)}return BI(a,c)}function BI(e,t){if(rt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Mb(void 0,e,0,t);let r=fa(e,t);return r===void 0?ma(e,0,t):Fb(void 0,e,r,0,t)}function ma(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>jI(n,s,t,r))}function jI(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 Mb(e,t,r,n);let o=fa(t,n);if(o!==void 0)return Fb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ma(t,r+1,n)),i}function Fb(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 Mb(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)+" "+gd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return qI(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...hd(a,r+1,n));return i}function qI(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 hd(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)} ${gd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...hd(o,t+1,r));return s}return UI(e,t,r)}function UI(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=HI(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(...hd(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ma(o,t+2,r));return i.length>0&&c.push(...ma(Object.fromEntries(i),t+1,r)),c}function HI(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)+" "+gd(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=fa(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?"":`{${Bb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Bb(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?"":`{${Bb(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=>WI(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 WI(e,t,r){return typeof e!="string"?ve(e,t):Ju(e,t)||e.includes(r)?sa(e):e}function gd(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=E(()=>{rn();Kt();to();qn();Gb();Nb();ld()});var jb=E(()=>{});var qb=E(()=>{Kt();ua()});var Ub=E(()=>{no()});function VI(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 ew(e,t){if(!Zb.test(e))throw Y(t,"invalid tag")}function KI(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!Zb.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 zI(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(!Qb.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),ew(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 YI(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 Hb(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 QI(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 XI(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=VI(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=zI(e,t);if(s!==null)return s.continuation?(YI(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=KI(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:Hb(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:Hb(e,r.delimiter,r.fields.length,t)}}function ZI(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>=Xb)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(Jy(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=XI(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 _=n.get(y.tag).current;_.rows.push(y.cells),l(_,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 ZI(e).flatMap(t=>t.rows.map(r=>QI(t.fields,r,0)))}function eL(e){if(!Qb.includes(e))throw Y(0,"invalid header delimiter")}function Wb(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
22
+ `}function Jb(e,t){return`[]<${e}>{${t}}:
23
+ `}function yd(e,t){return t.map(Te).join(e)}function tL(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 Vb(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Kb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function rL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function zb(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 nL(e){return JSON.stringify([...e].sort())}function Yb(e,t){let r=nL(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}={}){eL(e),Kb(r),Kb(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=()=>rL(p,c,l)?(c=0,l=0,Wb(e,o,!0)):"",g=b=>{ew(b,0);let y=u.get(b);if(y===void 0){if(u.size>=Xb)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=Yb(zb(b),i),_="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(_+=f(),s=y,o=yd(e,s),a=0,c=0,l=0,_+=Wb(e,o));let w=s.map(S=>ve(b[S],e));_+=m();let k=`${w.join(e)}
25
+ `;return _+=k,a+=1,c+=1,l+=k.length,_},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let _=tL(y),w=yd(zt,_),k=g(b);return Vb(k.fields,_)?"":(k.fields=_,Jb(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let _=g(b),w=Yb(zb(y),_.fieldsByShape),k=yd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return Vb(_.fields,w)||(_.fields=w,T+=Jb(b,k)),`${T}${b}:${S.join(zt)}
26
+ `},end(){return d?"":(d=!0,f())}}}var Qb,Xb,Zb,l4,u4,tw=E(()=>{Kt();pa();no();rn();Qb=[zt,"|"," "],Xb=8,Zb=/^[A-Za-z0-9_-]+$/,l4=new TextEncoder,u4=new TextDecoder});var z,V=E(()=>{pa();no();jb();Kt();to();qb();no();Xs();rn();ua();pa();Ub();tw();z=pd});function oL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(bd(e))}
27
+ `)}function bd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??oL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=iL(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)&&qy(s)?{command:e,category:"transient",error:so(s)||"GitHub API rate limit exceeded",help:jy,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 rw(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 iL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
+ `).trim()}var bt=E(()=>{"use strict";Uy();V()});function ya(e){let t={app:e,version:yL(Vn("__RED_BUILD_VERSION__",()=>"3.18.0")??"0.0.0-dev"),gitSha:Vn("__RED_BUILD_GIT_SHA__",()=>"d04ee032d7143dd852d0cd6cb7208dfb9c69830a")??"unknown",buildTime:Vn("__RED_BUILD_TIME__",()=>"2026-08-12T22:06:48-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 yL(e){return e.startsWith("v")?e.slice(1):e}function dw(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 _d=E(()=>{});import{isAbsolute as bL,join as Yt,resolve as Ed}from"node:path";function EL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function fw(e){return Yt(EL(e),pw)}function mw(e){return Yt(fw(e),"state")}function hw(e){return Yt(fw(e),"tmp")}function ce(e){return Yt(mw(e),"rsp")}function kL(e){return Yt(mw(e),"red-skills.rdb")}function SL(e){return Yt(hw(e),"red-skills.rdb")}function bw(e,t){let r=kL(e);if(t(r))return r;let n=SL(e);if(t(n))throw RL();return r}function RL(){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 ww(e){return Yt(hw(e),"waits")}function _w(e){let t=e.overrideEnvVars??kd;for(let n of t){let s=e.env[n];if(s)return bL(s)?s:Ed(e.startDir,s)}let r=Ed(e.startDir);for(;;){if(e.exists(Yt(r,pw)))return r;let n=Yt(r,".."),s=Ed(n);if(s===r)break;r=s}return e.startDir}var pw,wL,_L,kd,gw,yw,Xe=E(()=>{pw=".red",wL="MEMORY_ROOT",_L="RED_BRAIN_ROOT",kd=[wL,_L];gw=".red/state/red-skills.rdb";yw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var vL,TL,r3,Qt=E(()=>{V();Xe();vL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],TL=[{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"}],r3=[...vL,...TL]});function oo(e){let{values:t,rest:r}=Qr(e,{query:Ew.query},kw);return{argv:r,query:t.query?.trim()||void 0}}function Sw(e){let{values:t,rest:r}=Qr(e,Ew,kw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function xL(e,t){if(!t)return!0;let r=Sd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>xL(r,t)):[...e]}function Xt(e,t){return Rd(e,t,{includeLegacyHelp:!0})}function Rd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Sd(e){return Array.isArray(e)?e.map(Sd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Sd).join(" "):String(e??"")}var Ew,kw,io=E(()=>{"use strict";Hu();Ew={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},kw={stopAtSeparator:!1}});var va={};se(va,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ba,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>wa,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>Ea,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>ka,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>_a,RSP_OVERHEAD_FAMILIES:()=>GL,RSP_OVERHEAD_LEDGER_FILE:()=>Tw,RSP_OVERHEAD_SCHEMA_VERSION:()=>xw,classifyOverheadSample:()=>xd,noteChildProcessMs:()=>Aw,noteSelfStateBytesRead:()=>co,overheadCounters:()=>Id,overheadFamilyDisabled:()=>$L,overheadHealth:()=>wr,overheadLedgerPath:()=>Od,overheadMsOf:()=>Ow,overheadTelemetryFields:()=>Sa,readOverheadLedger:()=>ao,readSelfStateFile:()=>Ra,readSelfStateFileSync:()=>FL,recordOverheadSample:()=>Ad,resetOverheadCounters:()=>DL,resetOverheadLedger:()=>NL,startChildProcessTimer:()=>Ze});import{existsSync as OL,mkdirSync as AL,readFileSync as Rw,renameSync as CL,writeFileSync as PL}from"node:fs";import{readFile as IL}from"node:fs/promises";import{dirname as LL,join as vw}from"node:path";function Ow(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Td(t)):0}function xd(e,t=Zt){let r=Ow(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 Sa(e,t=Zt){let r=xd(e,t);return{wrapper_ms:Td(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Td(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 Od(e){return vw(ce(e),Tw)}function ao(e){try{let t=Rw(Od(e),"utf8"),r=qL(t);if(UL(r))return r}catch{}return{version:1,families:{}}}function Ad(e,t,r=Zt,n=Date.now()){let s=ao(e),o=xd(t,r),i=s.families[t.family]??jL(t.family,n),a=Ld(i,n)?Cw(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=ML(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,Pw(e,s),l}function $L(e,t,r=Date.now()){let n=ao(e).families[t];return!n?.disabled||Ld(n,r)?null:n}function NL(e,t){let r=ao(e);return t?delete r.families[t]:r.families={},Pw(e,r),r}function wr(e,t=Zt,r=Date.now()){let n=Object.values(ao(e).families).map(a=>Ld(a,r)?Cw(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:xw,verdict:i,summary:BL(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function co(e){Number.isFinite(e)&&e>0&&(Cd+=e)}function Aw(e){Number.isFinite(e)&&e>0&&(Pd+=e)}function Id(){return{selfStateBytesRead:Cd,childMs:Pd}}function DL(){Cd=0,Pd=0}function Ze(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Aw(Number(process.hrtime.bigint()-e)/1e6))}}async function Ra(e){let t=await IL(e,"utf8");return co(Buffer.byteLength(t)),t}function FL(e){let t=Rw(e,"utf8");return co(Buffer.byteLength(t)),t}function ML(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 BL(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 Ld(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Cw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function jL(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 Pw(e,t){try{let r=Od(e);if(!OL(vw(e,".red")))return;AL(LL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;PL(n,`${M(t)}
29
+ `,{encoding:"utf8",mode:384}),CL(n,r)}catch{}}function qL(e){try{return JSON.parse(e)}catch{return z(e)}}function UL(e){return!vd(e)||e.version!==1||!vd(e.families)?!1:Object.values(e.families).every(HL)}function HL(e){return vd(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function vd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Td(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Tw,xw,ba,wa,_a,Ea,ka,GL,Zt,Cd,Pd,we=E(()=>{"use strict";Xe();V();Tw="overhead-budget.toon",xw="red.rsp.overhead.v1",ba=250,wa=1024*1024,_a=64*1024,Ea=3,ka=6*60*60*1e3,GL=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:ba,maxSelfStateBytes:wa,netLossFloorBytes:_a,consecutiveBreaches:Ea,cooldownMs:ka};Cd=0,Pd=0});function Gw(e){return e.trimStart().startsWith("{")?"json":"toon"}function $d(e){let t=0;for(;e[t]===`
30
+ `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Gw(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 vd(e){let t=gw(e)==="json"?Sd:fw,r=t===Sd?fw:Sd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Sd(e){return JSON.parse(e)}function fw(e){return z(e)}function Td(e,t){if(t==="toon"){let r=WI(e);if(r!==null)return r.endsWith(`
33
+ `);return s<0?null:{frame:r.slice(0,s+1),dialect:n,rest:r.slice(s+2)}}function Nd(e){let t=Gw(e)==="json"?Gd:Iw,r=t===Gd?Iw:Gd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Gd(e){return JSON.parse(e)}function Iw(e){return z(e)}function Dd(e,t){if(t==="toon"){let r=JL(e);if(r!==null)return r.endsWith(`
34
34
  `)?`${r}
35
35
  `:`${r}
36
36
 
37
37
  `}return`${JSON.stringify(e)}
38
- `}function WI(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 hw(e,t){return!mw(e)||!mw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function mw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bw(e){return yw.has(e)?"json":HI}function ww(e){yw.add(e)}var HI,yw,_w=E(()=>{J();HI="toon";yw=new Set});import{createHash as JI}from"node:crypto";import{constants as xd}from"node:fs";import{mkdir as kw,open as VI,readFile as KI,rm as Sw,stat as zI}from"node:fs/promises";import{createConnection as YI}from"node:net";import{tmpdir as QI}from"node:os";import{dirname as Rw,join as io}from"node:path";async function vw(e,t,r="resident server"){let n=e.wire,s=n??bw(e.socketPath),o=await Ew(e,t,r,s);return n||s==="json"||!hw(t,o)?o:(ww(e.socketPath),await Ew(e,t,r,"json"))}async function Ew(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=YI(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(Td(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Rd(l);f&&(l=f.rest,d(()=>{try{o(vd(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 Tw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Rd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Td(a,o.dialect))}catch{}};(async()=>{let a;try{a=vd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Od(e){await kw(Rw(e),{recursive:!0,mode:448});try{return await VI(e,xd.O_CREAT|xd.O_EXCL|xd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Ow(e,t={}){let r=t.maxAgeMs??ZI,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??hr;await kw(Rw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Od(e);if(c)return await c.writeFile(`${xw} pid=${s} taken=${new Date(n()).toISOString()}
39
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await rL(e),u=await sL(e,l,n());if(a>=eL||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=tL(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 Sw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Cw(e){await e.handle.close().catch(()=>{}),await Sw(e.lockPath,{force:!0})}function tL(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Aw(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 rL(e){try{return nL(await KI(e,"utf8"))}catch{return null}}function nL(e){let t=e.split(`
40
- `,1)[0]?.trim()??"";if(!t.startsWith(xw))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 sL(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 zI(e)).mtimeMs)}catch{return null}}function hr(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function Cd(e,t=1e3){if(!hr(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!hr(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function Pw(e){let t=e.env??process.env,r=JI("sha256").update(e.key).digest("hex").slice(0,20),n=c=>io(c,e.socketFileName).length<XI,s=t.XDG_RUNTIME_DIR;if(s){let c=io(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=io(`red-skills-${o}`,r),a=io(QI(),i);return n(a)||process.platform==="win32"?a:io(oL,i)}var XI,ZI,xw,eL,oL,Ra=E(()=>{_w();XI=108;ZI=6e4,xw="resident-spawn-lock v1",eL=3;oL="/tmp"});async function Wn(e,t){return await vw(e,t,"resident rsp server")}var Ad=E(()=>{Ra()});var Iw=E(()=>{"use strict";Ad()});import{existsSync as iL,readdirSync as aL}from"node:fs";import{homedir as cL}from"node:os";import{basename as Id,dirname as Pd,join as et,resolve as va}from"node:path";function lL(e){return"command"in e}function Ta(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??iL,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&&pL(i))return a(va(i),"caller-entry");let c=[];for(let[l,u]of mL(i,t.rootDir,r,t.listDir??bL))if(c.push(l),n(l))return a(l,u);return{diagnostic:Yt,searched:c,...i?{callerEntry:va(i)}:{}}}function Gw(e={},t={}){let r=Ta(e,t);if(lL(r))return r;throw new Jn(r)}function pL(e){let t=Id(e);return t===tn||Ld.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:fL(va(e))}function fL(e){let t=Pd(e);for(let r=0;r<4;r++){if(Id(t)==="rsp")return!0;let n=Pd(t);if(n===t)return!1;t=n}return!1}function*mL(e,t,r,n){if(e){let o=Pd(va(e));yield[et(o,tn),"caller-sibling-bundle"];let i=uL.exec(Id(e));i&&(yield[et(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[et(o,"..","dist",tn),"caller-sibling-bundle"]}for(let o of dL){let i=r[o];i&&(yield[et(i,"dist",tn),"plugin-root-bundle"],yield[et(i,"..","..","dist",tn),"plugin-root-bundle"])}t&&(yield[et(t,"dist",tn),"repo-bundle"],yield[et(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[et(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=gL(r);yield[et(s,tn),"bundle-cache"];for(let o of hL(s,n))yield[et(s,o),"bundle-cache"]}function gL(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||et(e.HOME||cL(),".cache");return et(t,"red-skills","bundles")}function hL(e,t){return t(e).filter(r=>Ld.test(r)).sort((r,n)=>yL(Lw(n),Lw(r)))}function Lw(e){return Ld.exec(e)?.[1]??""}function yL(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 bL(e){try{return aL(e)}catch{return[]}}var Yt,Jn,tn,uL,Ld,dL,Gd=E(()=>{Yt="rsp-resident-entry-unresolved";Jn=class extends Error{code=Yt;searched;callerEntry;constructor(t){super(`${Yt}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
38
+ `}function JL(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 $w(e,t){return!Lw(e)||!Lw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Lw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Dw(e){return Nw.has(e)?"json":WL}function Fw(e){Nw.add(e)}var WL,Nw,Mw=E(()=>{V();WL="toon";Nw=new Set});import{createHash as VL}from"node:crypto";import{constants as Fd}from"node:fs";import{mkdir as jw,open as KL,readFile as zL,rm as qw,stat as YL}from"node:fs/promises";import{createConnection as QL}from"node:net";import{tmpdir as XL}from"node:os";import{dirname as Uw,join as lo}from"node:path";async function Hw(e,t,r="resident server"){let n=e.wire,s=n??Dw(e.socketPath),o=await Bw(e,t,r,s);return n||s==="json"||!$w(t,o)?o:(Fw(e.socketPath),await Bw(e,t,r,"json"))}async function Bw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=QL(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(Dd(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=$d(l);f&&(l=f.rest,d(()=>{try{o(Nd(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 Ww(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=$d(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Dd(a,o.dialect))}catch{}};(async()=>{let a;try{a=Nd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Md(e){await jw(Uw(e),{recursive:!0,mode:448});try{return await KL(e,Fd.O_CREAT|Fd.O_EXCL|Fd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Vw(e,t={}){let r=t.maxAgeMs??eG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await jw(Uw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Md(e);if(c)return await c.writeFile(`${Jw} pid=${s} taken=${new Date(n()).toISOString()}
39
+ `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await nG(e),u=await oG(e,l,n());if(a>=tG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=rG(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 qw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Kw(e){await e.handle.close().catch(()=>{}),await qw(e.lockPath,{force:!0})}function rG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function zw(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 nG(e){try{return sG(await zL(e,"utf8"))}catch{return null}}function sG(e){let t=e.split(`
40
+ `,1)[0]?.trim()??"";if(!t.startsWith(Jw))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 oG(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 YL(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 Bd(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 Yw(e){let t=e.env??process.env,r=VL("sha256").update(e.key).digest("hex").slice(0,20),n=c=>lo(c,e.socketFileName).length<ZL,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(XL(),i);return n(a)||process.platform==="win32"?a:lo(iG,i)}var ZL,eG,Jw,tG,iG,Ta=E(()=>{Mw();ZL=108;eG=6e4,Jw="resident-spawn-lock v1",tG=3;iG="/tmp"});async function Kn(e,t){return await Hw(e,t,"resident rsp server")}var jd=E(()=>{Ta()});var Qw=E(()=>{"use strict";jd()});import{existsSync as aG,readdirSync as cG}from"node:fs";import{homedir as lG}from"node:os";import{basename as Ud,dirname as qd,join as nt,resolve as xa}from"node:path";function uG(e){return"command"in e}function Oa(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??aG,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&&fG(i))return a(xa(i),"caller-entry");let c=[];for(let[l,u]of hG(i,t.rootDir,r,t.listDir??wG))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:xa(i)}:{}}}function Zw(e={},t={}){let r=Oa(e,t);if(uG(r))return r;throw new zn(r)}function fG(e){let t=Ud(e);return t===sn||Hd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:mG(xa(e))}function mG(e){let t=qd(e);for(let r=0;r<4;r++){if(Ud(t)==="rsp")return!0;let n=qd(t);if(n===t)return!1;t=n}return!1}function*hG(e,t,r,n){if(e){let o=qd(xa(e));yield[nt(o,sn),"caller-sibling-bundle"];let i=dG.exec(Ud(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 pG){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=gG(r);yield[nt(s,sn),"bundle-cache"];for(let o of yG(s,n))yield[nt(s,o),"bundle-cache"]}function gG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||nt(e.HOME||lG(),".cache");return nt(t,"red-skills","bundles")}function yG(e,t){return t(e).filter(r=>Hd.test(r)).sort((r,n)=>bG(Xw(n),Xw(r)))}function Xw(e){return Hd.exec(e)?.[1]??""}function bG(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 wG(e){try{return cG(e)}catch{return[]}}var er,zn,sn,dG,Hd,pG,Wd=E(()=>{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}},tn="rsp.bundle.min.mjs",uL=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Ld=/^rsp-(.+)\.bundle\.min\.mjs$/,dL=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as Mw}from"node:crypto";import{spawn as Bw}from"node:child_process";import{readFileSync as wL}from"node:fs";import{mkdir as $d,readFile as jw,rename as _L,rm as Xt,stat as EL,writeFile as kL}from"node:fs/promises";import{dirname as rn,join as Qt,resolve as Fd}from"node:path";import{fileURLToPath as SL}from"node:url";function tt(e){let t=NL(e)??Fd(e),r=GL(t),n=ae(t);return{rootDir:t,socketPath:Qt(r,"rsp.sock"),pidPath:Qt(r,"rsp.pid"),lockPath:Qt(r,"rsp.lock"),wakeLockPath:Qt(t,".red","tmp","rsp","wake.lock"),summaryPath:Qt(n,"rsp-status-summary.toon"),registryPath:Qt(n,"rsp-resident.pid.toon")}}async function xa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await $w(e.socketPath,t))return;await Dw(e,t);let r=await Ow(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 $w(e.socketPath,t))return;await Dw(e,t),await TL(e.socketPath);let n=OL(e,t);await Nw(e.socketPath,n);return}finally{await Cw(r)}try{await Nw(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Aw(r)}`)}}async function nn(e,t=200){try{return await Uw(e,t)!=null}catch{return!1}}async function Uw(e,t=200){let r=await Wn({socketPath:e,timeoutMs:t},{id:Mw(),op:"ping"});return r.ok?Kw(r.value)?{version:ML(r.value.version)}:{}:null}async function Oa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await nn(e.socketPath,50))return!1;let r=await xL(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=Jw(e,t);return Bw(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 Hw(e,t){try{await xa(e,t)}finally{await Xt(e.wakeLockPath,{force:!0})}}async function co(e){try{let t=PL(await jw(e,"utf8"));return BL(t)?t:null}catch{return null}}async function Ca(e,t){let r={version:qw,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 $d(rn(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await kL(n,`${M(r)}
45
- `,{encoding:"utf8",mode:384}),await _L(n,e)}async function Aa(e,t=process.pid){try{let r=await co(e);if(r&&r.pid!==t)return;await Xt(e,{force:!0})}catch{}}async function ao(e){let t=await co(e.registryPath);if(!t)try{return await jw(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!hr(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await nn(t.socket_path,100);return r&&await LL(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 Ww(e){let t=await ao(e);return t.state==="registered-dead"||t.state==="invalid"?(await Xt(e.registryPath,{force:!0}),await ao(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await Cd(t.entry.pid),await Xt(e.registryPath,{force:!0}),await Xt(t.entry.socket_path,{force:!0}),await ao(e)):t}async function Nw(e,t){let r=Date.now()+vL(),n;for(;Date.now()<r;){if(await nn(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Nd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Nd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Nd("resident rsp server did not start",t):"resident rsp server did not start")}function vL(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:RL}async function TL(e){await Xt(e,{force:!0})}function OL(e,t){let[r,n]=Jw(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=Bw(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=AL(`${i}${c}`,CL)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Nd(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:
43
+ `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},sn="rsp.bundle.min.mjs",dG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Hd=/^rsp-(.+)\.bundle\.min\.mjs$/,pG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as s_}from"node:crypto";import{spawn as o_}from"node:child_process";import{readFileSync as _G}from"node:fs";import{mkdir as Kd,readFile as i_,rename as EG,rm as rr,stat as kG,writeFile as SG}from"node:fs/promises";import{dirname as on,join as tr,resolve as zd}from"node:path";import{fileURLToPath as RG}from"node:url";function st(e){let t=NG(e)??zd(e),r=$G(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 Aa(e,t){if(await Kd(on(e.socketPath),{recursive:!0,mode:448}),await r_(e.socketPath,t))return;await t_(e,t);let r=await Vw(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 r_(e.socketPath,t))return;await t_(e,t),await xG(e.socketPath);let n=AG(e,t);await e_(e.socketPath,n);return}finally{await Kw(r)}try{await e_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${zw(r)}`)}}async function an(e,t=200){try{return await c_(e,t)!=null}catch{return!1}}async function c_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:s_(),op:"ping"});return r.ok?f_(r.value)?{version:BG(r.value.version)}:{}:null}async function Ca(e,t){if(await Kd(on(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await OG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=d_(e,t);return o_(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 l_(e,t){try{await Aa(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function po(e){try{let t=IG(await i_(e,"utf8"));return jG(t)?t:null}catch{return null}}async function Pa(e,t){let r={version:a_,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 Kd(on(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await SG(n,`${M(r)}
45
+ `,{encoding:"utf8",mode:384}),await EG(n,e)}async function Ia(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 i_(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 GG(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 u_(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 Bd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await uo(e)):t}async function e_(e,t){let r=Date.now()+TG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Jd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Jd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Jd("resident rsp server did not start",t):"resident rsp server did not start")}function TG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:vG}async function xG(e){await rr(e,{force:!0})}function AG(e,t){let[r,n]=d_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=o_(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=PG(`${i}${c}`,CG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Jd(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 AL(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function PL(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function Dw(e,t){try{let r=await co(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!hr(r.pid)){await Xt(e.registryPath,{force:!0});return}if(await nn(r.socket_path,100))return;if(Vw(t.clientVersion,r.resident_version)&&(await IL(r.pid,1500),!hr(r.pid))){await Xt(e.registryPath,{force:!0});return}await Cd(r.pid),await Xt(e.registryPath,{force:!0})}catch{}}async function IL(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!hr(e))return;await new Promise(n=>setTimeout(n,50))}}async function LL(e){if(!e.startsWith("file://"))return!1;try{return await EL(SL(e)),!1}catch(t){return t.code==="ENOENT"}}function Jw(e,t){let r=Gw(t,{rootDir:e.rootDir});return[r.command,r.args]}function GL(e){return Pw({key:e,socketFileName:"rsp.sock"})}function NL(e){let t=Fd(e);for(let r=0;r<32;r++){try{let s=Dd(Qt(t,".git"));if(s!=null)return DL(t,s)??t;if(Dd(Qt(t,".git","HEAD"))!=null||Dd(Qt(t,".red","config.yaml"))!=null)return t}catch{}let n=rn(t);if(n===t)return null;t=n}return null}function DL(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Fd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?rn(rn(rn(n))):null}function Dd(e){try{return wL(e,"utf8")}catch{return null}}async function $w(e,t){let r=await Uw(e).catch(()=>null);return r?Vw(t.clientVersion,r.version)?(await $L(e,t.clientVersion),await jL(e),!1):!0:!1}async function $L(e,t){try{await Wn({socketPath:e,timeoutMs:200},{id:Mw(),op:"handover",clientVersion:t})}catch{}}function Vw(e,t){return!e||!t?!1:FL(e,t)>0}function FL(e,t){let r=Fw(e),n=Fw(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function Fw(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 Kw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ML(e){return typeof e=="string"&&e.length>0?e:void 0}function BL(e){return Kw(e)&&e.version===qw&&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 jL(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await nn(e,50))return;await new Promise(r=>setTimeout(r,50))}}var qw,RL,xL,CL,Pa=E(()=>{J();ze();Ra();Ad();Gd();Gd();qw=1,RL=5e3;xL=Od;CL=8*1024});var sn={};ne(sn,{RSP_ENTRY_UNRESOLVED:()=>Yt,ResidentRspElisionStore:()=>lo,RspResidentEntryError:()=>Jn,ensureResidentServer:()=>xa,kickResidentServer:()=>Oa,pingResident:()=>nn,readResidentRegistry:()=>co,removeResidentRegistry:()=>Aa,residentRegistryStatus:()=>ao,resolveResidentPaths:()=>tt,resolveRspEntry:()=>Ta,sweepResidentRegistry:()=>Ww,warmResidentServer:()=>Hw,writeResidentRegistry:()=>Ca});import{randomUUID as qL}from"node:crypto";function zw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var lo,gt=E(()=>{"use strict";Iw();Pa();lo=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?zw(r)&&r.status==="expired"?r:!zw(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 xa(this.paths,this.config);let r=await Wn(this.paths,{...t,id:qL()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Bd(e,t,r=Yw){let n=Math.max(0,Math.floor(e)),s=r in Qw?r:Yw,o=Qw[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:Md(n,o),dollars_saved_low_usd:i==null?null:Md(i,o),dollars_saved_high_usd:a==null?null:Md(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:UL}}function Md(e,t){return HL(Math.max(0,e)/1e6*t)}function uo(e){return`$${e.toFixed(6)}`}function HL(e){return Math.round(e*1e6)/1e6}var Yw,Qw,UL,jd=E(()=>{"use strict";Yw="gpt-5",Qw={"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},UL="estimate derived from byte-based token estimate when token counts are estimated"});var Vn={};ne(Vn,{isResidentEntryUnresolved:()=>e_,reportResidentEntryDiagnostic:()=>qd,residentConfigFor:()=>Zw,residentElisionStore:()=>po});function Zw(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 po(e,t,r={}){let n=r.paths??tt(e);return new lo(n,Zw(t,ga("rsp").version),{ensureResident:r.ensureResident})}function qd(e){return e_(e)?(Xw||(Xw=!0,process.stderr.write(`rsp: ${Yt} \u2014 elision is off until an rsp entry is installed
47
+ `)}function PG(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function IG(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function t_(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(p_(t.clientVersion,r.resident_version)&&(await LG(r.pid,1500),!_r(r.pid))){await rr(e.registryPath,{force:!0});return}await Bd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function LG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function GG(e){if(!e.startsWith("file://"))return!1;try{return await kG(RG(e)),!1}catch(t){return t.code==="ENOENT"}}function d_(e,t){let r=Zw(t,{rootDir:e.rootDir});return[r.command,r.args]}function $G(e){return Yw({key:e,socketFileName:"rsp.sock"})}function NG(e){let t=zd(e);for(let r=0;r<32;r++){try{let s=Vd(tr(t,".git"));if(s!=null)return DG(t,s)??t;if(Vd(tr(t,".git","HEAD"))!=null||Vd(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=on(t);if(n===t)return null;t=n}return null}function DG(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=zd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?on(on(on(n))):null}function Vd(e){try{return _G(e,"utf8")}catch{return null}}async function r_(e,t){let r=await c_(e).catch(()=>null);return r?p_(t.clientVersion,r.version)?(await FG(e,t.clientVersion),await qG(e),!1):!0:!1}async function FG(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:s_(),op:"handover",clientVersion:t})}catch{}}function p_(e,t){return!e||!t?!1:MG(e,t)>0}function MG(e,t){let r=n_(e),n=n_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function n_(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 f_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function BG(e){return typeof e=="string"&&e.length>0?e:void 0}function jG(e){return f_(e)&&e.version===a_&&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 qG(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var a_,vG,OG,CG,La=E(()=>{V();Xe();Ta();jd();Wd();Wd();a_=1,vG=5e3;OG=Md;CG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>fo,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Aa,kickResidentServer:()=>Ca,pingResident:()=>an,readResidentRegistry:()=>po,removeResidentRegistry:()=>Ia,residentRegistryStatus:()=>uo,resolveResidentPaths:()=>st,resolveRspEntry:()=>Oa,sweepResidentRegistry:()=>u_,warmResidentServer:()=>l_,writeResidentRegistry:()=>Pa});import{randomUUID as UG}from"node:crypto";function m_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fo,wt=E(()=>{"use strict";Qw();La();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?m_(r)&&r.status==="expired"?r:!m_(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 Aa(this.paths,this.config);let r=await Kn(this.paths,{...t,id:UG()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Qd(e,t,r=h_){let n=Math.max(0,Math.floor(e)),s=r in g_?r:h_,o=g_[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:Yd(n,o),dollars_saved_low_usd:i==null?null:Yd(i,o),dollars_saved_high_usd:a==null?null:Yd(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:HG}}function Yd(e,t){return WG(Math.max(0,e)/1e6*t)}function mo(e){return`$${e.toFixed(6)}`}function WG(e){return Math.round(e*1e6)/1e6}var h_,g_,HG,Xd=E(()=>{"use strict";h_="gpt-5",g_={"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},HG="estimate derived from byte-based token estimate when token counts are estimated"});var Yn={};se(Yn,{isResidentEntryUnresolved:()=>w_,reportResidentEntryDiagnostic:()=>Zd,residentConfigFor:()=>b_,residentElisionStore:()=>ho});function b_(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,b_(t,ya("rsp").version),{ensureResident:r.ensureResident})}function Zd(e){return w_(e)?(y_||(y_=!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 e_(e){return typeof e=="object"&&e!==null&&e.code===Yt}var Xw,Zt=E(()=>{"use strict";ld();gt();Xw=!1});function zd(e){return e==="success"?0:e==="failure"?1:2}function Yd(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function rt(e,t,r){return{status:e,exitCode:zd(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function er(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var a_,c_,l_,Vd,u_,d_,p_,f_,Kd,on=E(()=>{"use strict";a_="rsp.wait.result",c_="rsp.wait.registry",l_="rsp.wait.list",Vd={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},u_=16*1024,d_=1e4,p_=2e3,f_=6e4,Kd={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 YL,readFile as QL}from"node:fs/promises";async function zn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ga(r),s=[r,...n];if(s.every(c=>!an(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(m_(e,"SIGTERM"),La(n,"SIGTERM"),await g_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ga(r)])];m_(e,"SIGKILL"),La(o,"SIGKILL");let i=Math.max(1e3,t);await XL(e,i);let a=await g_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(an)}}function m_(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 La(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function XL(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 g_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!an(n)))return!0;await ZL(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!an(n))}async function Ga(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await YL("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await h_(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 fo(e){return(await h_(e))?.[19]}async function Yn(e,t){if(!an(e))return!1;if(!t)return!0;let r=await fo(e);return r===void 0?process.platform!=="linux":r===t}function an(e){try{return process.kill(e,0),!0}catch{return!1}}async function h_(e){if(process.platform!=="linux")return null;try{let t=await QL(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function ZL(e){await new Promise(t=>setTimeout(t,e))}var tr=E(()=>{"use strict"});import{constants as eG}from"node:os";async function y_(e){let t=e[1],r={timeoutMs:Vd.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:d_,terminateGraceMs:p_,probeTimeoutMs:f_,format:"toon",captureBytes:u_},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=Vd[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=mo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=nG(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=mo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=mo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=mo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=rG(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 tG(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function tG(e){if(!(e.signal in eG.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(!an(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await fo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function mo(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 Qn(e,t,r=process.env){let n=r[e];if(!n)return t;try{return mo(n)}catch{return t}}function rG(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function nG(e){return e.startsWith("SIG")?e:`SIG${e}`}var b_=E(()=>{"use strict";on();tr()});import{existsSync as Qd,readFileSync as sG,statSync as oG}from"node:fs";import{basename as w_,dirname as Na,isAbsolute as iG,join as __,resolve as go}from"node:path";function ho(e,t=process.env){let r=go(e);if(dd.map(i=>t[i]).find(Boolean))return tw({startDir:r,env:t,exists:Qd});let s=cG(r),o=aG(r,s);return o||(s??r)}function aG(e,t){let r=e;for(;;){if(Qd(__(r,".red")))return r;if(t&&r===t)return null;let n=go(r,"..");if(n===r)return null;r=n}}function cG(e){let t=e;for(;;){let r=__(t,".git");if(Qd(r))return dG(r)?t:lG(r)??t;let n=go(t,"..");if(n===t)return null;t=n}}function lG(e){let t=uG(e);if(!t)return null;let r=Na(t),n=Na(r);return w_(r)!=="worktrees"||w_(n)!==".git"?null:Na(n)}function uG(e){let t;try{t=sG(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return iG(n)?go(n):go(Na(e),n)}function dG(e){try{return oG(e).isDirectory()}catch{return!1}}var Da=E(()=>{ze()});import{join as pG}from"node:path";function mG(e,t=process.env){return ho(e,t)}function Xn(e,t=process.env){return ew(mG(e,t))}function E_(e,t=process.env){return pG(Xn(e,t),fG)}var fG,Xd=E(()=>{"use strict";ze();Da();fG="spool"});import{randomUUID as gG}from"node:crypto";import{existsSync as hG}from"node:fs";import{mkdir as yG,readdir as bG,readFile as wG,rename as _G,rm as Zd,writeFile as EG}from"node:fs/promises";import{dirname as kG,join as S_}from"node:path";function R_(e,t,r=process.env){return S_(Xn(e,r),`${t}${SG}`)}async function Zn(e,t){await ep(e,`${ge(t)}
50
- `)}async function $a(e,t,r){t.status=r,await Zn(e,t)}async function Fa(e,t=process.env){let r=Xn(e,t);if(!hG(r))return[];let n=await bG(r).catch(()=>[]),s=[];for(let o of n.filter(i=>RG.some(a=>i.endsWith(a)))){let i=S_(r,o),a=await vG(i);if(!a){await Zd(i,{force:!0});continue}if(!await TG(a)){await Zd(i,{force:!0});continue}s.push(a)}return s}async function vG(e){let t;try{t=await wG(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=xG(r);return n&&Object.keys(n).length>0?n:null}async function TG(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 Yn(t,r)}function xG(e){try{let t=z(e);if(k_(t))return t}catch{}try{let t=JSON.parse(e);if(k_(t))return t}catch{}return null}async function ep(e,t){await yG(kG(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${gG()}`;try{await EG(r,t,"utf8"),await _G(r,e)}finally{await Zd(r,{force:!0})}}function tp(e){return{schema:c_,version:1,...e}}function k_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var SG,RG,bo=E(()=>{"use strict";J();Vt();on();Xd();tr();SG=".toon",RG=[".toon",".json"]});function es(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nt(e){return es(e)?e:{}}function cn(e){return Array.isArray(e)?e.filter(es):[]}function se(e,t){let r=e[t];return typeof r=="string"?r:""}function ln(e,t){let r=e[t];return typeof r=="number"?r:0}function wo(e){let t=JSON.parse(e);if(!es(t))throw new Error("expected JSON object");return t}function Ma(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ba=E(()=>{"use strict"});import{spawn as OG}from"node:child_process";import{resolve as CG}from"node:path";async function v_(e,t,r){let n=[];if(e.signalPid){let s=await AG(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await PG(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function AG(e){let t=e.signalPid;if(!await Yn(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:T_(r),pid:t,signal:e.signal}}}async function PG(e,t,r){let n=nt(t.wait),s=nt(t.verdict);return await IG(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?CG(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 IG(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=OG(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,zn(l,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);l.once("error",d=>{clearTimeout(u),c({error:T_(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 T_(e){return e instanceof Error?e.message:String(e)}var x_=E(()=>{"use strict";Ba();tr()});import{resolve as LG}from"node:path";async function O_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=GG(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=_o(t,r,o,{status:"pending"},i);await Eo(n.resultFile,a,n.format);let c=await v_(n,a,s),l=_o(t,r,o,c,i);return await Eo(n.resultFile,l,n.format),{result:l,exitCode:C_(o,c)}}function C_(e,t){return t.status!=="success"||e.status==="running"?2:zd(e.status)}function GG(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 _o(e,t,r,n,s){return{schema:a_,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:C_(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function Eo(e,t,r){e&&await ep(LG(e),ts(t,r))}function ts(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
49
+ `)),!0):!1}function w_(e){return typeof e=="object"&&e!==null&&e.code===er}var y_,nr=E(()=>{"use strict";_d();wt();y_=!1});function ip(e){return e==="success"?0:e==="failure"?1:2}function ap(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function ot(e,t,r){return{status:e,exitCode:ip(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 T_,x_,O_,sp,A_,C_,P_,I_,op,ln=E(()=>{"use strict";T_="rsp.wait.result",x_="rsp.wait.registry",O_="rsp.wait.list",sp={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},A_=16*1024,C_=1e4,P_=2e3,I_=6e4,op={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 QG,readFile as XG}from"node:fs/promises";async function Xn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Na(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(L_(e,"SIGTERM"),$a(n,"SIGTERM"),await G_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Na(r)])];L_(e,"SIGKILL"),$a(o,"SIGKILL");let i=Math.max(1e3,t);await ZG(e,i);let a=await G_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function L_(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 $a(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function ZG(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 G_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await e$(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Na(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await QG("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await $_(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 $_(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 $_(e){if(process.platform!=="linux")return null;try{let t=await XG(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function e$(e){await new Promise(t=>setTimeout(t,e))}var or=E(()=>{"use strict"});import{constants as t$}from"node:os";async function N_(e){let t=e[1],r={timeoutMs:sp.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:C_,terminateGraceMs:P_,probeTimeoutMs:I_,format:"toon",captureBytes:A_},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=sp[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=s$(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=n$(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 r$(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function r$(e){if(!(e.signal in t$.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 n$(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function s$(e){return e.startsWith("SIG")?e:`SIG${e}`}var D_=E(()=>{"use strict";ln();or()});import{existsSync as cp,readFileSync as o$,statSync as i$}from"node:fs";import{basename as F_,dirname as Da,isAbsolute as a$,join as M_,resolve as bo}from"node:path";function wo(e,t=process.env){let r=bo(e);if(kd.map(i=>t[i]).find(Boolean))return _w({startDir:r,env:t,exists:cp});let s=l$(r),o=c$(r,s);return o||(s??r)}function c$(e,t){let r=e;for(;;){if(cp(M_(r,".red")))return r;if(t&&r===t)return null;let n=bo(r,"..");if(n===r)return null;r=n}}function l$(e){let t=e;for(;;){let r=M_(t,".git");if(cp(r))return p$(r)?t:u$(r)??t;let n=bo(t,"..");if(n===t)return null;t=n}}function u$(e){let t=d$(e);if(!t)return null;let r=Da(t),n=Da(r);return F_(r)!=="worktrees"||F_(n)!==".git"?null:Da(n)}function d$(e){let t;try{t=o$(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return a$(n)?bo(n):bo(Da(e),n)}function p$(e){try{return i$(e).isDirectory()}catch{return!1}}var Fa=E(()=>{Xe()});import{join as f$}from"node:path";function h$(e,t=process.env){return wo(e,t)}function ts(e,t=process.env){return ww(h$(e,t))}function B_(e,t=process.env){return f$(ts(e,t),m$)}var m$,lp=E(()=>{"use strict";Xe();Fa();m$="spool"});import{randomUUID as g$}from"node:crypto";import{existsSync as y$}from"node:fs";import{mkdir as b$,readdir as w$,readFile as _$,rename as E$,rm as up,writeFile as k$}from"node:fs/promises";import{dirname as S$,join as q_}from"node:path";function U_(e,t,r=process.env){return q_(ts(e,r),`${t}${R$}`)}async function rs(e,t){await dp(e,`${ge(t)}
50
+ `)}async function Ma(e,t,r){t.status=r,await rs(e,t)}async function Ba(e,t=process.env){let r=ts(e,t);if(!y$(r))return[];let n=await w$(r).catch(()=>[]),s=[];for(let o of n.filter(i=>v$.some(a=>i.endsWith(a)))){let i=q_(r,o),a=await T$(i);if(!a){await up(i,{force:!0});continue}if(!await x$(a)){await up(i,{force:!0});continue}s.push(a)}return s}async function T$(e){let t;try{t=await _$(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=O$(r);return n&&Object.keys(n).length>0?n:null}async function x$(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 O$(e){try{let t=z(e);if(j_(t))return t}catch{}try{let t=JSON.parse(e);if(j_(t))return t}catch{}return null}async function dp(e,t){await b$(S$(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${g$()}`;try{await k$(r,t,"utf8"),await E$(r,e)}finally{await up(r,{force:!0})}}function pp(e){return{schema:x_,version:1,...e}}function j_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var R$,v$,Eo=E(()=>{"use strict";V();Qt();ln();lp();or();R$=".toon",v$=[".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 ja(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var qa=E(()=>{"use strict"});import{spawn as A$}from"node:child_process";import{resolve as C$}from"node:path";async function H_(e,t,r){let n=[];if(e.signalPid){let s=await P$(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await I$(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function P$(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:W_(r),pid:t,signal:e.signal}}}async function I$(e,t,r){let n=it(t.wait),s=it(t.verdict);return await L$(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?C$(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 L$(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=A$(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:W_(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 W_(e){return e instanceof Error?e.message:String(e)}var J_=E(()=>{"use strict";qa();or()});import{resolve as G$}from"node:path";async function V_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=$$(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 H_(n,a,s),l=So(t,r,o,c,i);return await Ro(n.resultFile,l,n.format),{result:l,exitCode:K_(o,c)}}function K_(e,t){return t.status!=="success"||e.status==="running"?2:ip(e.status)}function $$(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:T_,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:K_(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 dp(G$(e),ss(t,r))}function ss(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
51
51
  `:`${ge(e)}
52
- `}var A_=E(()=>{"use strict";Vt();on();bo();x_()});import{createWriteStream as NG,mkdirSync as DG}from"node:fs";import{readFile as $G,rm as FG}from"node:fs/promises";import{dirname as MG}from"node:path";import{join as P_}from"node:path";function I_(e,t,r){return{stdout:new ja(r,P_(e,`${t}.stdout.bin`)),stderr:new ja(r,P_(e,`${t}.stderr.bin`))}}function BG(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!jG(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function jG(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var ja,L_=E(()=>{"use strict";ja=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,...BG(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 $G(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{DG(MG(this.spoolPath),{recursive:!0}),t=NG(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 FG(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as qG,readFileSync as g3}from"node:fs";import{dirname as UG,join as HG}from"node:path";function rp(e,t){let r=e;for(let n=0;n<16;n++){let s=HG(r,t);if(qG(s))return s;let o=UG(r);if(o===r)break;r=o}return null}function WG(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function ko(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 WG(l)}}var qa=E(()=>{});var U_={};ne(U_,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>ns,GH_ETAG_CACHE_DIR_NAME:()=>$_,LEGACY_GH_ETAG_CACHE_FILE:()=>F_,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>M_,enforceGhEtagCacheCeiling:()=>ip,ghEtagCacheDir:()=>Ua,ghEtagEntryPath:()=>Ha,isCacheEntry:()=>Ja,legacyGhEtagCachePaths:()=>op,migrateLegacyGhEtagCache:()=>cp,readGhEtagCache:()=>Wa,readGhEtagEntry:()=>XG,resetGhEtagCacheMigrationMemo:()=>eN,sweepGhEtagCache:()=>ap,writeGhEtagEntry:()=>ZG});import{existsSync as JG}from"node:fs";import{mkdir as VG,readdir as KG,rename as zG,rm as G_,stat as N_,unlink as D_,writeFile as YG}from"node:fs/promises";import{dirname as QG,join as rs}from"node:path";function Ua(e){return rs(ae(e),$_)}function Ha(e,t){return rs(Ua(e),`${sN(t)}.toon`)}function op(e){let t=ae(e);return[rs(t,F_),rs(t,M_)]}async function XG(e,t){await cp(e);try{let r=q_(await ka(Ha(e,t)));return Ja(r)?r:void 0}catch{return}}async function ZG(e,t,r={}){return await j_(Ha(e,t.key),t),await ip(e,r.maxBytes??ns)}async function ip(e,t=ns){let r=await rN(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 D_(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function ap(e,t={}){let r=await cp(e,{force:!0}),n=await tN(e);return{...await ip(e,t.maxBytes??ns),reclaimedTmp:n,migratedEntries:r}}async function Wa(e){for(let t of op(e))try{let r=q_(await ka(t));if(oN(r))return r}catch{}return{version:1,entries:{}}}async function cp(e,t={}){if(!t.force&&np.has(e))return 0;np.add(e);let r=op(e).filter(o=>JG(o));if(r.length===0)return 0;let n=await Wa(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ja(i))continue;let a=Ha(e,o);await nN(a)||(await j_(a,{...i,key:o}),s+=1)}for(let o of r)await G_(o,{force:!0});return s}function eN(){np.clear()}async function tN(e){let t=0;for(let r of[ae(e),Ua(e)])for(let n of await B_(r))if(n.endsWith(".tmp"))try{await D_(rs(r,n)),t+=1}catch{}return t}async function rN(e){let t=Ua(e),r=[];for(let n of await B_(t)){if(!n.endsWith(".toon"))continue;let s=rs(t,n);try{let o=await N_(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function B_(e){try{return await KG(e)}catch{return[]}}async function nN(e){try{return await N_(e),!0}catch{return!1}}async function j_(e,t){await VG(QG(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await YG(r,`${M(t)}
54
- `,{encoding:"utf8",mode:384}),await zG(r,e)}catch(n){throw await G_(r,{force:!0}),n}}function sN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function q_(e){try{return JSON.parse(e)}catch{return z(e)}}function oN(e){return sp(e)&&e.version===1&&sp(e.entries)&&Object.values(e.entries).every(Ja)}function Ja(e){return sp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var $_,F_,M_,ns,np,Va=E(()=>{"use strict";ze();J();ye();$_="gh-etag",F_="gh-etag-cache.toon",M_="gh-etag-cache.json",ns=4*1024*1024;np=new Set});var up={};ne(up,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>rr,DEFAULT_RSP_IDLE_MS:()=>Ya,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>K_,DEFAULT_RSP_STORE_PATH:()=>lp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>za,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>W_,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>J_,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Ka,DEFAULT_RSP_TTL_DAYS:()=>ht,MIN_RSP_IDLE_MS:()=>V_,resolveRspConfig:()=>Ie});import{existsSync as iN,readFileSync as aN}from"node:fs";import{join as cN,resolve as H_}from"node:path";function Ie(e,t,r){let n=rp(H_(e),cN(".red","config.yaml")),s=n?aN(n,"utf8"):"",o=ko(s,"rsp.enabled")==="true",i=ko(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Pe(be(s,"rsp.ttlDays"),ht),l=Pe(It(t.RSP_EPHEMERAL_TTL_HOURS)??be(s,"rsp.ephemeralTtlHours"),yt),u=Pe(be(s,"rsp.byteBudget"),bt),d=Pe(be(s,"rsp.telemetryTtlDays"),Ka),p=Pe(be(s,"rsp.telemetryByteBudget")??be(s,"rsp.byteBudget"),za),f=Pe(It(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??be(s,"rsp.telemetryDrainIntervalMs"),W_),m=Pe(It(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??be(s,"rsp.telemetryDrainTimeoutMs"),J_),h=lN(It(t.RSP_IDLE_MS)??be(s,"rsp.idleMs"),Ya,V_),w=Pe(It(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??be(s,"rsp.heavyGitByteThreshold"),rr),b=uN(It(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??be(s,"rsp.measurement.holdoutShare"),K_),y=Pe(It(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??be(s,"rsp.ghEtagCacheMaxBytes"),ns),_={maxOverheadMs:Pe(It(t.RSP_MAX_OVERHEAD_MS)??be(s,"rsp.overhead.maxOverheadMs"),ha),maxSelfStateBytes:Pe(It(t.RSP_MAX_SELF_STATE_BYTES)??be(s,"rsp.overhead.maxSelfStateBytes"),ya),netLossFloorBytes:Pe(be(s,"rsp.overhead.netLossFloorBytes"),ba),consecutiveBreaches:Pe(It(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??be(s,"rsp.overhead.consecutiveBreaches"),wa),cooldownMs:Pe(be(s,"rsp.overhead.cooldownMs"),_a)},k=tt(e).rootDir,v=r??t.RSP_STORE_URI??`file://${Zb(H_(k),iN)}`;return{enabled:o,proxyEnabled:a,storeUri:v,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:h,heavyGitByteThreshold:w,measurementHoldoutShare:b,ghEtagCacheMaxBytes:y,overhead:_}}function be(e,t){let r=ko(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Pe(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function lN(e,t,r){let n=Pe(e,t);return Math.max(n,r)}function uN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function It(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var rr,lp,ht,yt,bt,Ka,za,W_,J_,Ya,V_,K_,Be=E(()=>{"use strict";qa();ze();Pa();ye();Va();rr=8*1024,lp=Qb,ht=7,yt=6,bt=64*1024*1024,Ka=90,za=4*1024*1024,W_=3e4,J_=2e3,Ya=5*6e4,V_=5e3,K_=0});function z_(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(Zt(),Vn)),o=s(e,Ie(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var Y_=E(()=>{"use strict";Be()});import{spawn as dN}from"node:child_process";async function X_(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??z_(n),c=I_(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async b=>{u||(u=!0,i.removeEventListener("abort",h),await $a(s,o,b.verdict.status).catch(()=>{}),l(b))},f=dN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",b=>c.stdout.write(Buffer.from(b))),f.stderr?.on("data",b=>c.stderr.write(Buffer.from(b)));let m=async(b,y)=>{if(u||d)return;d=!0,clearTimeout(w);let _=await zn(f,r.terminateGraceMs),k=await Q_(null,null,c,a,t);await p({verdict:{status:b,exitCode:2,summary:y,details:k},cleanupProven:_.cleaned,survivors:_.survivors})},h=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",h,{once:!0});let w=setTimeout(()=>{m("timeout",`command timed out after ${Z_(r.timeoutMs)}`)},r.timeoutMs);f.once("error",b=>{clearTimeout(w),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:b.message}})}),f.once("close",(b,y)=>{if(clearTimeout(w),u||d)return;let _=b===0;Q_(b,y,c,a,t).then(k=>p({verdict:{status:_?"success":"failure",exitCode:_?0:1,summary:_?"command exited successfully":`command exited with ${y??b??"unknown"}`,details:k}}))}),i.aborted&&h()})}async function So(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:pN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(h){u=ue(h instanceof Error?h.message:String(h))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=dp(u),await Zn(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await $a(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 fN(f,i,m)}return await $a(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${Z_(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:dp(l)}:{attempts:c}}}}async function Q_(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 dp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function pN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:dp(e)}:{}})}async function fN(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 Z_(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var eE=E(()=>{"use strict";L_();Y_();on();tr();bo()});var tE={};ne(tE,{readGhConditionalJson:()=>st,readGhEtagCache:()=>Wa,sweepGhEtagCache:()=>ap});import{execFileSync as mN}from"node:child_process";async function st(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=yN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??hN(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=Ie(t,r),c=po(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 hN(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 yN(e){let t="";try{t=String(mN("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 Ro=E(()=>{"use strict";Be();Zt();Va()});function rE(e){return e==="single-object"?"rest":"graphql"}function nE(e,t){return e==="stable-poll"?"rest":rE(t)}function ot(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??nE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function je(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 oE(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function pp(e){let t=oE(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 iE(e){return bN.get(pp(e))??null}function fp(e){let t=iE(e);if(!t)throw new Qa(e);return t}var sE,bN,Qa,aE=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",ot("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",ot("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",ot("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",ot("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",ot("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",ot("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",ot("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",ot("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",ot("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",ot("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",ot("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",ot("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),je("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues` so filing shares the REST mutation rail"),je("issue edit","rest","rest","the write plan PATCHes labels and body at `repos/{o}/{r}/issues/{n}`"),je("issue close","rest","rest","the write plan PATCHes issue state and state reason at `repos/{o}/{r}/issues/{n}`"),je("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),je("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),je("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),je("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),je("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),je("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"),je("pr close","graphql","graphql","gh closes with a GraphQL mutation"),je("pr edit","graphql","graphql","gh edits with GraphQL mutations"),je("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),je("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),je("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],bN=new Map(sE.map(e=>[e.key,e]));Qa=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=pp(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});function cE(e){return e instanceof ss}function Xa(e=process.env){let t=e[mp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function os(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new ss(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 vo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??Xa();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=wN(n);try{return await os(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw cE(l)?l:o.aborted&&i?.aborted!==!0?new ss(c,r,{cause:l}):l}}}function wN(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 mp,ss,gp=E(()=>{mp="RED_GITHUB_REQUEST_TIMEOUT_MS",ss=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${mp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function uE(e){if(e===!0)return"on";if(typeof e!="string")return Za;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":Za}function hp(e){return(e??Za)==="on"}function yp(e=process.env){return uE(e[lE])}var Za,lE,bp=E(()=>{Za="off",lE="RED_GITHUB_BUDGET_GATE"});import{execFile as _N}from"node:child_process";import{renameSync as EN,rmSync as kN,statSync as SN,writeFileSync as RN}from"node:fs";import{readdir as Q3,readFile as vN,rename as TN,rm as xN,stat as ON,writeFile as CN}from"node:fs/promises";import{promisify as AN}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 fE(e){return e.code==="ENOENT"}async function is(e,t,r,n=ON){let s=pE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!fE(i))throw i}return o+t>s}function mE(e,t,r,n=SN){let s=pE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!fE(i))throw i}return o+t>s}async function LN(e,t,r){try{return await PN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function GN(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=Fe({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 TN(r,e)}finally{await xN(r,{force:!0})}}function gE(e,t){let r=`${e}.retaining-${process.pid}`;try{RN(r,t,{encoding:"utf8",mode:384}),EN(r,e)}finally{kN(r,{force:!0})}}async function as(e,t,r={}){GN(t);let n=r.timeoutMs??IN;if(await(r.runTq??LN)(e,t,n))return"tq";let o=await vN(e,"utf8"),i=o.endsWith(`
52
+ `}var z_=E(()=>{"use strict";Qt();ln();Eo();J_()});import{createWriteStream as N$,mkdirSync as D$}from"node:fs";import{readFile as F$,rm as M$}from"node:fs/promises";import{dirname as B$}from"node:path";import{join as Y_}from"node:path";function Q_(e,t,r){return{stdout:new Ua(r,Y_(e,`${t}.stdout.bin`)),stderr:new Ua(r,Y_(e,`${t}.stderr.bin`))}}function j$(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!q$(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function q$(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ua,X_=E(()=>{"use strict";Ua=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,...j$(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 F$(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{D$(B$(this.spoolPath),{recursive:!0}),t=N$(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 M$(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as U$,readFileSync as U9}from"node:fs";import{dirname as H$,join as W$}from"node:path";function fp(e,t){let r=e;for(let n=0;n<16;n++){let s=W$(r,t);if(U$(s))return s;let o=H$(r);if(o===r)break;r=o}return null}function J$(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 J$(l)}}var Ha=E(()=>{});var cE={};se(cE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>is,GH_ETAG_CACHE_DIR_NAME:()=>rE,LEGACY_GH_ETAG_CACHE_FILE:()=>nE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>sE,enforceGhEtagCacheCeiling:()=>yp,ghEtagCacheDir:()=>Wa,ghEtagEntryPath:()=>Ja,isCacheEntry:()=>Ka,legacyGhEtagCachePaths:()=>gp,migrateLegacyGhEtagCache:()=>wp,readGhEtagCache:()=>Va,readGhEtagEntry:()=>Z$,resetGhEtagCacheMigrationMemo:()=>tN,sweepGhEtagCache:()=>bp,writeGhEtagEntry:()=>eN});import{existsSync as V$}from"node:fs";import{mkdir as K$,readdir as z$,rename as Y$,rm as Z_,stat as eE,unlink as tE,writeFile as Q$}from"node:fs/promises";import{dirname as X$,join as os}from"node:path";function Wa(e){return os(ce(e),rE)}function Ja(e,t){return os(Wa(e),`${oN(t)}.toon`)}function gp(e){let t=ce(e);return[os(t,nE),os(t,sE)]}async function Z$(e,t){await wp(e);try{let r=aE(await Ra(Ja(e,t)));return Ka(r)?r:void 0}catch{return}}async function eN(e,t,r={}){return await iE(Ja(e,t.key),t),await yp(e,r.maxBytes??is)}async function yp(e,t=is){let r=await nN(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 tE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function bp(e,t={}){let r=await wp(e,{force:!0}),n=await rN(e);return{...await yp(e,t.maxBytes??is),reclaimedTmp:n,migratedEntries:r}}async function Va(e){for(let t of gp(e))try{let r=aE(await Ra(t));if(iN(r))return r}catch{}return{version:1,entries:{}}}async function wp(e,t={}){if(!t.force&&mp.has(e))return 0;mp.add(e);let r=gp(e).filter(o=>V$(o));if(r.length===0)return 0;let n=await Va(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ka(i))continue;let a=Ja(e,o);await sN(a)||(await iE(a,{...i,key:o}),s+=1)}for(let o of r)await Z_(o,{force:!0});return s}function tN(){mp.clear()}async function rN(e){let t=0;for(let r of[ce(e),Wa(e)])for(let n of await oE(r))if(n.endsWith(".tmp"))try{await tE(os(r,n)),t+=1}catch{}return t}async function nN(e){let t=Wa(e),r=[];for(let n of await oE(t)){if(!n.endsWith(".toon"))continue;let s=os(t,n);try{let o=await eE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function oE(e){try{return await z$(e)}catch{return[]}}async function sN(e){try{return await eE(e),!0}catch{return!1}}async function iE(e,t){await K$(X$(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await Q$(r,`${M(t)}
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(`
55
55
  `)?o:o.slice(0,o.lastIndexOf(`
56
- `)+1),a=i===""?[]:Te(i),c=t===0?[]:a.slice(-t);return await DN(e,NN(c)),"js"}var PN,Qe,IN,e4,yr,dE,wt,un=E(()=>{J();PN=AN(_N),Qe=.5,IN=5e3,e4=256*1024*1024,yr=1024*1024,dE=14*24*60*60*1e3,wt={"process-deaths":{maxBytes:4*yr,maxAgeMs:dE,targetRatio:Qe},"github-spend":{maxBytes:8*yr,targetRatio:Qe},"github-balance":{maxBytes:64*1024,targetRatio:Qe},"github-balance-history":{maxBytes:2*yr,targetRatio:Qe},"castle-singleton-events":{maxBytes:2*yr,targetRatio:Qe},"rsp-telemetry-spool":{maxBytes:8*yr,targetRatio:Qe},"rsp-telemetry-corrections":{maxBytes:yr,targetRatio:Qe},"death-attributions":{maxBytes:yr,maxAgeMs:dE,targetRatio:Qe},"worker-log":{maxLines:5e4,targetRatio:Qe},"worker-liveness":{maxBytes:yr,targetRatio:Qe},"castle-history":{maxLines:1e4,targetRatio:Qe}}});import{appendFile as $N,mkdir as FN,readFile as hE}from"node:fs/promises";import{dirname as MN}from"node:path";function _p(e){let t=e.now??(()=>new Date().toISOString()),r=wt["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=UN(o.operation,o.cost,o.observedAt??t(),o.actor),a=Fe().push(WN(i)),c=s.then(async()=>{await FN(MN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await is(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 BN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await as(e.path,jN(d,l,p))}await $N(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=wp(o.from,"report window start"),a=wp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await HN(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 BN(e){try{let t=await hE(e,"utf8");return t.trim()===""?[]:Te(t)}catch(t){if(yE(t)&&t.code==="ENOENT")return[];throw t}}function jN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=qN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function qN(e){return e.map(t=>Fe({trailer:!1}).push(t)).join("")}function UN(e,t,r,n){if(wp(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function HN(e){let t;try{t=await hE(e,"utf8")}catch(o){if(yE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
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=Te(`${i}
56
+ `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await DN(e,NN(c)),"js"}var IN,et,LN,O6,Er,CE,St,fn=E(()=>{V();IN=PN(EN),et=.5,LN=5e3,O6=256*1024*1024,Er=1024*1024,CE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*Er,maxAgeMs:CE,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:CE,targetRatio:et},"worker-log":{maxLines:5e4,targetRatio:et},"worker-liveness":{maxBytes:Er,targetRatio:et},"castle-history":{maxLines:1e4,targetRatio:et}}});import{appendFile as FN,mkdir as MN,readFile as $E}from"node:fs/promises";import{dirname as BN}from"node:path";function Pp(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=HN(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(JN(i)),c=s.then(async()=>{await MN(BN(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 jN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await us(e.path,qN(d,l,p))}await FN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Cp(o.from,"report window start"),a=Cp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await WN(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 jN(e){try{let t=await $E(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(NE(t)&&t.code==="ENOENT")return[];throw t}}function qN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=UN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function UN(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function HN(e,t,r,n,s){if(Cp(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 WN(e){let t;try{t=await $E(e,"utf8")}catch(o){if(NE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
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(!JN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function WN(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function JN(e){return VN(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 wp(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 VN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yE(e){return e instanceof Error&&"code"in e}var bE=E(()=>{un();J()});var Sp=I((Ep,kp)=>{(function(e,t){typeof Ep=="object"&&typeof kp<"u"?kp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Ep,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,S,g={}){var R,T,O;for(R in S)O=S[R],g[R]=(T=$[R])!=null?T:O;return g},n=function($,S,g={}){var R,T;for(R in $)T=$[R],S[R]!==void 0&&(g[R]=T);return g},s={load:r,overwrite:n},o;o=class{constructor(S,g){this.incr=S,this.decr=g,this._first=null,this._last=null,this.length=0}push(S){var g;this.length++,typeof this.incr=="function"&&this.incr(),g={value:S,prev:this._last,next:null},this._last!=null?(this._last.next=g,this._last=g):this._first=this._last=g}shift(){var S;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),S=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,S}first(){if(this._first!=null)return this._first.value}getArray(){var S,g,R;for(S=this._first,R=[];S!=null;)R.push((g=S,S=S.next,g.value));return R}forEachShift(S){var g;for(g=this.shift();g!=null;)S(g),g=this.shift()}debug(){var S,g,R,T,O;for(S=this._first,O=[];S!=null;)O.push((g=S,S=S.next,{value:g.value,prev:(R=g.prev)!=null?R.value:void 0,next:(T=g.next)!=null?T.value:void 0}));return O}};var i=o,a;a=class{constructor(S){if(this.instance=S,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=(g,R)=>this._addListener(g,"many",R),this.instance.once=(g,R)=>this._addListener(g,"once",R),this.instance.removeAllListeners=(g=null)=>g!=null?delete this._events[g]:this._events={}}_addListener(S,g,R){var T;return(T=this._events)[S]==null&&(T[S]=[]),this._events[S].push({cb:R,status:g}),this.instance}listenerCount(S){return this._events[S]!=null?this._events[S].length:0}async trigger(S,...g){var R,T;try{return S!=="debug"&&this.trigger("debug",`Event triggered: ${S}`,g),this._events[S]==null?void 0:(this._events[S]=this._events[S].filter(function(O){return O.status!=="none"}),T=this._events[S].map(async O=>{var P,N;if(O.status!=="none"){O.status==="once"&&(O.status="none");try{return N=typeof O.cb=="function"?O.cb(...g):void 0,typeof N?.then=="function"?await N:N}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(T)).find(function(O){return O!=null}))}catch(O){return R=O,this.trigger("error",R),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(S){var g;this.Events=new u(this),this._length=0,this._lists=function(){var R,T,O;for(O=[],g=R=1,T=S;1<=T?R<=T:R>=T;g=1<=T?++R:--R)O.push(new l(()=>this.incr(),()=>this.decr()));return O}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(S){return this._lists[S.options.priority].push(S)}queued(S){return S!=null?this._lists[S].length:this._length}shiftAll(S){return this._lists.forEach(function(g){return g.forEachShift(S)})}getFirst(S=this._lists){var g,R,T;for(g=0,R=S.length;g<R;g++)if(T=S[g],T.length>0)return T;return[]}shiftLastFrom(S){return this.getFirst(this._lists.slice(S).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,h,w,b,y,_;y=10,w=5,_=s,h=m,b=class{constructor(S,g,R,T,O,P,N,Z){this.task=S,this.args=g,this.rejectOnDrop=O,this.Events=P,this._states=N,this.Promise=Z,this.options=_.load(R,T),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===T.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((he,ke)=>{this._resolve=he,this._reject=ke}),this.retryCount=0}_sanitizePriority(S){var g;return g=~~S!==S?w:S,g<0?0:g>y-1?y-1:g}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:S,message:g="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(S??new h(g)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(S){var g;if(g=this._states.jobStatus(this.options.id),!(g===S||S==="DONE"&&g===null))throw new h(`Invalid job status ${g}, expected ${S}. 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(S,g){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:S,blocked:g})}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(S,g,R,T){var O,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(S!=null?S.schedule(this.options,this.task,...this.args):this.task(...this.args)),g())return this.doDone(P),await T(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(Z){return O=Z,this._onFailure(O,P,g,R,T)}}doExpire(S,g,R){var T,O;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),O={args:this.args,options:this.options,retryCount:this.retryCount},T=new h(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(T,O,S,g,R)}async _onFailure(S,g,R,T,O){var P,N;if(R())return P=await this.Events.trigger("failed",S,g),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,g),this.retryCount++,T(N)):(this.doDone(g),await O(this.options,g),this._assertStatus("DONE"),this._reject(S))}doDone(S){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",S)}};var k=b,v,x,A;A=s,v=m,x=class{constructor(S,g,R){this.instance=S,this.storeOptions=g,this.clientId=this.instance._randomIndex(),A.load(R,R,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 S;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(S=this.heartbeat=setInterval(()=>{var g,R,T,O,P;if(O=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&O>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=O,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&O>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:g,reservoirIncreaseMaximum:T,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=O,R=T!=null?Math.min(g,T-P):g,R>0))return this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?S.unref():void 0:clearInterval(this.heartbeat)}async __publish__(S){return await this.yieldLoop(),this.instance.Events.trigger("message",S.toString())}async __disconnect__(S){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(S=0){return new this.Promise(function(g,R){return setTimeout(g,S)})}computePenalty(){var S;return(S=this.storeOptions.penalty)!=null?S:15*this.storeOptions.minTime||5e3}async __updateSettings__(S){return await this.yieldLoop(),A.overwrite(S,S,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__(S){return await this.yieldLoop(),this._nextRequest+this.timeout<S}computeCapacity(){var S,g;return{maxConcurrent:S,reservoir:g}=this.storeOptions,S!=null&&g!=null?Math.min(S-this._running,g):S!=null?S-this._running:g??null}conditionsCheck(S){var g;return g=this.computeCapacity(),g==null||S<=g}async __incrementReservoir__(S){var g;return await this.yieldLoop(),g=this.storeOptions.reservoir+=S,this.instance._drainAll(this.computeCapacity()),g}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(S){return this._unblockTime>=S}check(S,g){return this.conditionsCheck(S)&&this._nextRequest-g<=0}async __check__(S){var g;return await this.yieldLoop(),g=Date.now(),this.check(S,g)}async __register__(S,g,R){var T,O;return await this.yieldLoop(),T=Date.now(),this.conditionsCheck(g)?(this._running+=g,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=g),O=Math.max(this._nextRequest-T,0),this._nextRequest=T+O+this.storeOptions.minTime,{success:!0,wait:O,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(S,g){var R,T,O;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&g>this.storeOptions.maxConcurrent)throw new v(`Impossible to add a job having a weight of ${g} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return T=Date.now(),O=this.storeOptions.highWater!=null&&S===this.storeOptions.highWater&&!this.check(g,T),R=this.strategyIsBlock()&&(O||this.isBlocked(T)),R&&(this._unblockTime=T+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:O,blocked:R,strategy:this.storeOptions.strategy}}async __free__(S,g){return await this.yieldLoop(),this._running-=g,this._done+=g,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var C=x,D,V;D=m,V=class{constructor(S){this.status=S,this._jobs={},this.counts=this.status.map(function(){return 0})}next(S){var g,R;if(g=this._jobs[S],R=g+1,g!=null&&R<this.status.length)return this.counts[g]--,this.counts[R]++,this._jobs[S]++;if(g!=null)return this.counts[g]--,delete this._jobs[S]}start(S){var g;return g=0,this._jobs[S]=g,this.counts[g]++}remove(S){var g;return g=this._jobs[S],g!=null&&(this.counts[g]--,delete this._jobs[S]),g!=null}jobStatus(S){var g;return(g=this.status[this._jobs[S]])!=null?g:null}statusJobs(S){var g,R,T,O,P;if(S!=null){if(R=this.status.indexOf(S),R<0)throw new D(`status must be one of ${this.status.join(", ")}`);T=this._jobs,O=[];for(g in T)P=T[g],P===R&&O.push(g);return O}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((S,g,R)=>(S[this.status[R]]=g,S),{})}};var Y=V,Q,G;Q=i,G=class{constructor(S,g){this.schedule=this.schedule.bind(this),this.name=S,this.Promise=g,this._running=0,this._queue=new Q}isEmpty(){return this._queue.length===0}async _tryToRun(){var S,g,R,T,O,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:S,resolve:O,reject:T}=this._queue.shift(),g=await async function(){try{return P=await N(...S),function(){return O(P)}}catch(Z){return R=Z,function(){return T(R)}}}(),this._running--,this._tryToRun(),g()}schedule(S,...g){var R,T,O;return O=T=null,R=new this.Promise(function(P,N){return O=P,T=N}),this._queue.push({task:S,args:g,resolve:O,reject:T}),this._tryToRun(),R}};var U=G,Ge="2.19.5",le={version:Ge},xt=Object.freeze({version:Ge,default:le}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),q=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),qt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Ot,Ne,De,Ut,Gn,ur;ur=s,Ot=c,Ut=L,De=q,Gn=qt,Ne=function(){class ${constructor(g={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=g,ur.load(this.limiterOptions,this.defaults,this),this.Events=new Ot(this),this.instances={},this.Bottleneck=hy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Ut(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new De(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(g=""){var R;return(R=this.instances[g])!=null?R:(()=>{var T;return T=this.instances[g]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${g}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",T,g),T})()}async deleteKey(g=""){var R,T;return T=this.instances[g],this.connection&&(R=await this.connection.__runCommand__(["del",...Gn.allKeys(`${this.id}-${g}`)])),T!=null&&(delete this.instances[g],await T.disconnect()),T!=null||R>0}limiters(){var g,R,T,O;R=this.instances,T=[];for(g in R)O=R[g],T.push({key:g,limiter:O});return T}keys(){return Object.keys(this.instances)}async clusterKeys(){var g,R,T,O,P,N,Z,he,ke;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],g=null,ke=`b_${this.id}-`.length,R=9;g!==0;)for([he,T]=await this.connection.__runCommand__(["scan",g??0,"match",`b_${this.id}-*_settings`,"count",1e4]),g=~~he,O=0,Z=T.length;O<Z;O++)P=T[O],N.push(P.slice(ke,-R));return N}_startAutoCleanup(){var g;return clearInterval(this.interval),typeof(g=this.interval=setInterval(async()=>{var R,T,O,P,N,Z;N=Date.now(),O=this.instances,P=[];for(T in O){Z=O[T];try{await Z._store.__groupCheck__(N)?P.push(this.deleteKey(T)):P.push(void 0)}catch(he){R=he,P.push(Z.Events.trigger("error",R))}}return P},this.timeout/2)).unref=="function"?g.unref():void 0}updateSettings(g={}){if(ur.overwrite(g,this.defaults,this),ur.overwrite(g,g,this.limiterOptions),g.timeout!=null)return this._startAutoCleanup()}disconnect(g=!0){var R;if(!this.sharedConnection)return(R=this.connection)!=null?R.disconnect(g):void 0}}return $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var Hs=Ne,Jr,Ws,cy;cy=s,Ws=c,Jr=function(){class ${constructor(g={}){this.options=g,cy.load(this.options,this.defaults,this),this.Events=new Ws(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((g,R)=>this._resolve=g)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(g){var R;return this._arr.push(g),R=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),R}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var uA=Jr,dA=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),pA=t(xt),ly,uy,vu,Tu,dy,xu,py,fy,my,Ou,Ct,gy=[].splice;xu=10,uy=5,Ct=s,py=p,Tu=k,dy=C,fy=dA,vu=c,my=Y,Ou=U,ly=function(){class ${constructor(g={},...R){var T,O;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(g,R),Ct.load(g,this.instanceDefaults,this),this._queues=new py(xu),this._scheduled={},this._states=new my(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new vu(this),this._submitLock=new Ou("submit",this.Promise),this._registerLock=new Ou("register",this.Promise),O=Ct.load(g,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return T=Ct.load(g,this.redisStoreDefaults,{}),new fy(this,O,T);if(this.datastore==="local")return T=Ct.load(g,this.localStoreDefaults,{}),new dy(this,O,T);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(g,R){if(!(g!=null&&typeof g=="object"&&R.length===0))throw new $.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(g){return this._store.__publish__(g)}disconnect(g=!0){return this._store.__disconnect__(g)}chain(g){return this._limiter=g,this}queued(g){return this._queues.queued(g)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(g){return this._states.jobStatus(g)}jobs(g){return this._states.statusJobs(g)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(g=1){return this._store.__check__(g)}_clearGlobalState(g){return this._scheduled[g]!=null?(clearTimeout(this._scheduled[g].expiration),delete this._scheduled[g],!0):!1}async _free(g,R,T,O){var P,N;try{if({running:N}=await this._store.__free__(g,T.weight),this.Events.trigger("debug",`Freed ${T.id}`,O),N===0&&this.empty())return this.Events.trigger("idle")}catch(Z){return P=Z,this.Events.trigger("error",P)}}_run(g,R,T){var O,P,N;return R.doRun(),O=this._clearGlobalState.bind(this,g),N=this._run.bind(this,g,R),P=this._free.bind(this,g,R),this._scheduled[g]={timeout:setTimeout(()=>R.doExecute(this._limiter,O,N,P),T),expiration:R.options.expiration!=null?setTimeout(function(){return R.doExpire(O,N,P)},T+R.options.expiration):void 0,job:R}}_drainOne(g){return this._registerLock.schedule(()=>{var R,T,O,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:R}=O=N.first(),g!=null&&P.weight>g?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:R,options:P}),T=this._randomIndex(),this._store.__register__(T,P.weight,P.expiration).then(({success:Z,wait:he,reservoir:ke})=>{var Js;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:R,options:P}),Z?(N.shift(),Js=this.empty(),Js&&this.Events.trigger("empty"),ke===0&&this.Events.trigger("depleted",Js),this._run(T,O,he),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(g,R=0){return this._drainOne(g).then(T=>{var O;return T!=null?(O=g!=null?g-T:g,this._drainAll(O,R+T)):this.Promise.resolve(R)}).catch(T=>this.Events.trigger("error",T))}_dropAllQueued(g){return this._queues.shiftAll(function(R){return R.doDrop({message:g})})}stop(g={}){var R,T;return g=Ct.load(g,this.stopDefaults),T=O=>{var P;return P=()=>{var N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===O},new this.Promise((N,Z)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},R=g.dropWaitingJobs?(this._run=function(O,P){return P.doDrop({message:g.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var O,P,N;P=this._scheduled;for(O in P)N=P[O],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:g.dropErrorMessage}));return this._dropAllQueued(g.dropErrorMessage),T(0)}))):this.schedule({priority:xu-1,weight:0},()=>T(1)),this._receive=function(O){return O._reject(new $.prototype.BottleneckError(g.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),R}async _addToQueue(g){var R,T,O,P,N,Z,he;({args:R,options:P}=g);try{({reachedHWM:N,blocked:T,strategy:he}=await this._store.__submit__(this.queued(),P.weight))}catch(ke){return O=ke,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:R,options:P,error:O}),g.doDrop({error:O}),!1}return T?(g.doDrop(),!0):N&&(Z=he===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):he===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):he===$.prototype.strategy.OVERFLOW?g:void 0,Z?.doDrop(),Z==null||he===$.prototype.strategy.OVERFLOW)?(Z==null&&g.doDrop(),N):(g.doQueue(N,T),this._queues.push(g),await this._drainAll(),N)}_receive(g){return this._states.jobStatus(g.options.id)!=null?(g._reject(new $.prototype.BottleneckError(`A job with the same id already exists (id=${g.options.id})`)),!1):(g.doReceive(),this._submitLock.schedule(this._addToQueue,g))}submit(...g){var R,T,O,P,N,Z,he;return typeof g[0]=="function"?(N=g,[T,...g]=N,[R]=gy.call(g,-1),P=Ct.load({},this.jobDefaults)):(Z=g,[P,T,...g]=Z,[R]=gy.call(g,-1),P=Ct.load(P,this.jobDefaults)),he=(...ke)=>new this.Promise(function(Js,mA){return T(...ke,function(...yy){return(yy[0]!=null?mA:Js)(yy)})}),O=new Tu(he,g,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),O.promise.then(function(ke){return typeof R=="function"?R(...ke):void 0}).catch(function(ke){return Array.isArray(ke)?typeof R=="function"?R(...ke):void 0:typeof R=="function"?R(ke):void 0}),this._receive(O)}schedule(...g){var R,T,O;return typeof g[0]=="function"?([O,...g]=g,T={}):[T,O,...g]=g,R=new Tu(O,g,T,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(R),R.promise}wrap(g){var R,T;return R=this.schedule.bind(this),T=function(...O){return R(g.bind(this),...O)},T.withOptions=function(O,...P){return R(O,g,...P)},T}async updateSettings(g={}){return await this._store.__updateSettings__(Ct.overwrite(g,this.storeDefaults)),Ct.overwrite(g,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(g=0){return this._store.__incrementReservoir__(g)}}return $.default=$,$.Events=vu,$.version=$.prototype.version=pA.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=Hs,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=q,$.Batcher=$.prototype.Batcher=uA,$.prototype.jobDefaults={priority:uy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var hy=ly,fA=hy;return fA})});var nr,Rp=E(()=>{nr=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 zN(e){return e.request!==void 0}async function wE(e,t,r,n){if(!zN(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 YN(e,t,r,n){let s=new _E.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(QN.bind(null,e,t,r),n)}async function QN(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 nr(s.data.errors[0].message,500,{request:n,response:s});return wE(e,t,o,n)}return s}function vp(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",wE.bind(null,r,n)),e.hook.wrap("request",YN.bind(null,r,n))),n}var _E,KN,EE=E(()=>{_E=Zi(Sp(),1);Rp();KN="0.0.0-development";vp.VERSION=KN});function ZN(e,t,r){return e.retryLimiter.schedule(eD,e,t,r)}async function eD(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=tD(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,Tp),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,Tp),i&&await e.search.key(e.id).schedule(l,Tp);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 tD(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 nD(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function ec(e,t){let{enabled:r=!0,Bottleneck:n=SE.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:RE,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(!VN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function JN(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 VN(e){return KN(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 Cp(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 KN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function NE(e){return e instanceof Error&&"code"in e}var DE=E(()=>{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=E(()=>{});function XN(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function ZN(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 BE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{ZN(t[n])?n in e?r[n]=BE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function FE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Lp(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=XN(r.headers),FE(r),FE(r.headers);let n=BE(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 eD(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 rD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function nD(e){let t=e.match(tD);return t?t.map(rD).reduce((r,n)=>r.concat(n),[]):[]}function ME(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function jE(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==="#"?jE(t):ps(t),r?ps(r)+"="+t:t}function ds(e){return e!=null}function Ip(e){return e===";"||e==="&"||e==="?"}function sD(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,Ip(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ds).forEach(function(i){o.push(Ao(t,i,Ip(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())))}),Ip(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 oD(e){return{expand:iD.bind(null,e)}}function iD(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(sD(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 jE(o)}),e==="/"?e:e.replace(/\/$/,"")}function qE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=ME(e,["method","baseUrl","url","headers","request","mediaType"]),i=nD(r);r=oD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=ME(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=eD(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 aD(e,t,r){return qE(Lp(e,t,r))}function UE(e,t){let r=Lp(e,t),n=aD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:UE.bind(null,r),merge:Lp.bind(null,r),parse:qE})}var zN,YN,QN,tD,HE,WE=E(()=>{ar();zN="0.0.0-development",YN=`octokit-endpoint.js/${zN} ${Ae()}`,QN={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":YN},mediaType:{format:""}};tD=/\{[^{}}]+\}/g;HE=UE(null,QN)});var XE=I(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.format=dD;rc.parse=pD;var cD=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,VE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,lD=/[\\"]/g,uD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,KE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function dD(e){let{type:t,parameters:r}=e;if(!t||!uD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!VE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${gD(r[s])}`}return n}function pD(e,t){let r=e.length,n=$p(e,0,r),s=n;n=Gp(e,n,r);let o=Np(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new KE:hD(e,n,r);return{type:i,parameters:a}}var zE=32,YE=9,QE=59,fD=61,JE=34,mD=92;function hD(e,t,r){let n=new KE;e:for(;t<r;){t=$p(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===QE)continue e;if(o===fD){let i=Np(e,s,t),a=e.slice(s,i).toLowerCase();if(t=$p(e,t+1,r),t<r&&e.charCodeAt(t)===JE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===JE){t=Gp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===mD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Gp(e,t,r),n[a]===void 0){let l=Np(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Gp(e,t,r){for(;t<r&&e.charCodeAt(t)!==QE;)t++;return t}function $p(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==zE&&n!==YE)break;t++}return t}function Np(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==zE&&n!==YE)break;r--}return r}function gD(e){if(VE.test(e))return e;if(cD.test(e))return`"${e.replace(lD,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var yD,sc,kr,Dp,nk,ZE,ek,Fp,Mp,bD,sk,nc,wD,_D,ED,ok,tk,kD,SD,RD,rk,ik,ak=E(()=>{yD=/^-?\d+$/,sc=/^-?\d+n+$/,kr=JSON.stringify,Dp=JSON.parse,nk=/^-?\d+n$/,ZE=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,ek=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Fp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Mp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",bD=(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"&&sc.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(Fp(a))return;let c=a===null||typeof a!="object",l=Mp(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(Fp(y))u.push("null"),m.first=!1,m.index++;else{let _=y!==null&&typeof y=="object",w=Mp(y);if(_&&!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(Fp(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=Mp(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("")},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 Wp(r)}function Ik(e,t){return`${Ak(e)}.${Ak(t)}`}function Lk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return Gk(btoa(t))}function Gk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ak(e){return Gk(btoa(JSON.stringify(e)))}var Jp=E(()=>{});import{subtle as Vp}from"node:crypto";import{createPrivateKey as BD}from"node:crypto";function $k(e){return uc(e)?BD(e).export({type:"pkcs8",format:"pem"}):e}var Nk=E(()=>{Jp()});async function Dk({privateKey:e,payload:t}){let r=$k(e);if(uc(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(Ck(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=Pk(r),i=await Vp.importKey("pkcs8",o,n,!1,["sign"]),a=Ik(s,t),c=Wp(a),l=await Vp.sign(n.name,i,c),u=Lk(l);return`${a}.${u}`}var Fk=E(()=>{Jp();Nk()});async function Kp({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 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:
60
65
  You must pass the onSecondaryRateLimit and onRateLimit error handlers.
61
66
  See https://octokit.github.io/rest.js/#throttling
62
67
 
@@ -66,254 +71,251 @@ ${a}
66
71
  onRateLimit: (retryAfter, options) => {/* ... */}
67
72
  }
68
73
  })
69
- `);let l=!1,u=()=>{if(l)return;l=!0,_t.global==null&&sD(n,a),c.global=c.global??_t.global,c.auth=c.auth??_t.auth,c.search=c.search??_t.search,c.write=c.write??_t.write,c.notifications=c.notifications??_t.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[h,w,b]=m.args,{pathname:y}=new URL(b.url,"http://github.test");if(!(y.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~w.retryCount;w.retryCount=k,b.request.retryCount=k;let{wantRetry:v,retryAfter:x=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let A=Number(f.response.headers["retry-after"])||h.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",A,b,e,k),retryAfter:A}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(A=>A.type==="RATE_LIMITED")){let A=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),C=Math.max(Math.ceil((A-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",C,b,e,k),retryAfter:C}}return{}}();if(v)return w.retryCount++,x*h.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),ZN(c,d,p))),{}}var SE,XN,Tp,rD,kE,RE,_t,sD,vE=E(()=>{SE=Zi(Sp(),1),XN="0.0.0-development",Tp=()=>Promise.resolve();rD=["/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"];kE=nD(rD),RE=kE.test.bind(kE),_t={},sD=function(e,t){_t.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),_t.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),_t.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),_t.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),_t.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};ec.VERSION=XN;ec.triggersNotification=RE});function br(){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 To=E(()=>{});function tc(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)=>tc.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 TE=E(()=>{});function xE(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 OE=E(()=>{});function CE(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 AE=E(()=>{});function LE(e,t,r){let n=IE(CE,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]=IE(xE,null).apply(null,o)})}function oD(){let e=Symbol("Singular"),t={registry:{}},r=tc.bind(null,t,e);return LE(r,t,e),r}function iD(){let e={registry:{}},t=tc.bind(null,e);return LE(t,e),t}var PE,IE,GE,NE=E(()=>{TE();OE();AE();PE=Function.bind,IE=PE.bind(PE);GE={Singular:oD,Collection:iD}});function uD(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function dD(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 FE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{dD(t[n])?n in e?r[n]=FE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function DE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Op(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=uD(r.headers),DE(r),DE(r.headers);let n=FE(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 pD(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 mD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function gD(e){let t=e.match(fD);return t?t.map(mD).reduce((r,n)=>r.concat(n),[]):[]}function $E(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function ME(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 ls(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function xo(e,t,r){return t=e==="+"||e==="#"?ME(t):ls(t),r?ls(r)+"="+t:t}function cs(e){return e!=null}function xp(e){return e===";"||e==="&"||e==="?"}function hD(e,t,r,n){var s=e[r],o=[];if(cs(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(xo(t,s,xp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(cs).forEach(function(i){o.push(xo(t,i,xp(t)?r:""))}):Object.keys(s).forEach(function(i){cs(s[i])&&o.push(xo(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(cs).forEach(function(a){i.push(xo(t,a))}):Object.keys(s).forEach(function(a){cs(s[a])&&(i.push(ls(a)),i.push(xo(t,s[a].toString())))}),xp(t)?o.push(ls(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?cs(s)&&o.push(ls(r)):s===""&&(t==="&"||t==="?")?o.push(ls(r)+"="):s===""&&o.push("");return o}function yD(e){return{expand:bD.bind(null,e)}}function bD(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(hD(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 ME(o)}),e==="/"?e:e.replace(/\/$/,"")}function BE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=$E(e,["method","baseUrl","url","headers","request","mediaType"]),i=gD(r);r=yD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=$E(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=pD(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 wD(e,t,r){return BE(Op(e,t,r))}function jE(e,t){let r=Op(e,t),n=wD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:jE.bind(null,r),merge:Op.bind(null,r),parse:BE})}var aD,cD,lD,fD,qE,UE=E(()=>{To();aD="0.0.0-development",cD=`octokit-endpoint.js/${aD} ${br()}`,lD={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":cD},mediaType:{format:""}};fD=/\{[^{}}]+\}/g;qE=jE(null,lD)});var YE=I(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.format=SD;rc.parse=RD;var _D=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,WE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,ED=/[\\"]/g,kD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,JE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function SD(e){let{type:t,parameters:r}=e;if(!t||!kD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!WE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${OD(r[s])}`}return n}function RD(e,t){let r=e.length,n=Ap(e,0,r),s=n;n=Cp(e,n,r);let o=Pp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new JE:xD(e,n,r);return{type:i,parameters:a}}var VE=32,KE=9,zE=59,vD=61,HE=34,TD=92;function xD(e,t,r){let n=new JE;e:for(;t<r;){t=Ap(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===zE)continue e;if(o===vD){let i=Pp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Ap(e,t+1,r),t<r&&e.charCodeAt(t)===HE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===HE){t=Cp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===TD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Cp(e,t,r),n[a]===void 0){let l=Pp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Cp(e,t,r){for(;t<r&&e.charCodeAt(t)!==zE;)t++;return t}function Ap(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==VE&&n!==KE)break;t++}return t}function Pp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==VE&&n!==KE)break;r--}return r}function OD(e){if(WE.test(e))return e;if(_D.test(e))return`"${e.replace(ED,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var CD,sc,wr,Ip,tk,QE,XE,Lp,Gp,AD,rk,nc,PD,ID,LD,nk,ZE,GD,ND,DD,ek,sk,ok=E(()=>{CD=/^-?\d+$/,sc=/^-?\d+n+$/,wr=JSON.stringify,Ip=JSON.parse,tk=/^-?\d+n$/,QE=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,XE=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Lp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Gp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",AD=(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,h,w)=>(w!==null&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(h)),typeof w=="string"&&sc.test(w)?w+"n":typeof w=="bigint"?"rawJSON"in JSON?JSON.rawJSON(w.toString()):w.toString()+"n":(s&&(w=t.call(m,h,w)),w!==null&&typeof w=="object"&&(w instanceof Number||w instanceof String||w instanceof Boolean)&&(w=w.valueOf()),w)),a=i({"":e},"",e);if(Lp(a))return;let c=a===null||typeof a!="object",l=Gp(a);if(c||l)return wr(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 h=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
70
- `+n.repeat(d));let w=m.val[m.index],b=i(m.val,String(m.index),w);if(Lp(b))u.push("null"),m.first=!1,m.index++;else{let y=b!==null&&typeof b=="object",_=Gp(b);if(y&&!_){if(f.has(b))throw new TypeError("Converting circular structure to JSON");f.add(b),p.push({parent:m.val,key:String(m.index),val:b,isArray:Array.isArray(b),keys:Array.isArray(b)?null:Object.keys(b),index:0,first:!0}),m.first=!1,m.index++}else u.push(wr(b)),m.first=!1,m.index++}}else h=!0;else{for(;m.index<m.keys.length;){let b=m.keys[m.index++];if(o&&!o.has(b))continue;let _=m.val[b],k=i(m.val,b,_);if(Lp(k))continue;m.first||u.push(","),n?u.push(`
71
- `+n.repeat(d)+wr(b)+": "):u.push(wr(b)+":");let v=k!==null&&typeof k=="object",x=Gp(k);if(v&&!x){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:b,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(wr(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(h=!0)}h&&(d--,!m.first&&n&&u.push(`
72
- `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},rk=(e,t,r)=>{try{return"rawJSON"in JSON?wr(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?wr(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(QE,"$1$2$3").replace(XE,"$1$2$3"):wr(e,t,r)}catch(n){if(n instanceof RangeError){let s=AD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(QE,"$1$2$3").replace(XE,"$1$2$3")}throw n}},nc=new Map,PD=()=>{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}},ID=(e,t,r,n)=>typeof t=="string"&&tk.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,LD=(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&&CD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),nk=Number.MAX_SAFE_INTEGER.toString(),ZE=nk.length,GD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,ND=/^"-?\d+n+"$/,DD=(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"&&(tk.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[""]},ek=e=>e.replace(GD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&ND.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<ZE||r.length===ZE&&r<=nk);return o||a||c?t:'"'+t+'n"'}),sk=(e,t)=>{if(!e)return Ip(e,t);try{if(PD())return LD(e,t);let r=ek(e);return Ip(r,(n,s,o)=>ID(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=ek(e),s=Ip(n);return DD(s,t)}throw r}}});function MD(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 ak(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=MD(e.body)||Array.isArray(e.body)?rk(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 nr(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 nr(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Np(i),new nr("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Np(i),new nr(jD(u.data),a,{response:u,request:e});return u.data=n?await Np(i):i.body,u}async function Np(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(ik);let r=(0,ck.parse)(t);if(BD(r)){let n="";try{return n=await e.text(),sk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(ik):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function BD(e){return e.type==="application/json"||e.type==="application/scim+json"}function jD(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 Dp(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 ak(r.parse(i));let a=(c,l)=>ak(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:Dp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Dp.bind(null,r)})}var ck,$D,FD,ik,Oo,$p=E(()=>{UE();To();ck=Zi(YE(),1);ok();Rp();$D="10.0.13",FD={headers:{"user-agent":`octokit-request.js/${$D} ${br()}`}};ik=()=>"";Oo=Dp(qE,FD);});function UD(e){return`Request failed due to following response errors:
74
+ `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&fF(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:_}=new URL(y.url,"http://github.test");if(!(_.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(),cF(c,d,p))),{}}var Yk,aF,rf,dF,zk,Qk,vt,fF,Xk=E(()=>{Yk=ta(Xp(),1),aF="0.0.0-development",rf=()=>Promise.resolve();dF=["/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"];zk=pF(dF),Qk=zk.test.bind(zk),vt={},fF=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})};mc.VERSION=aF;mc.triggersNotification=Qk});function hc(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)=>hc.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 Zk=E(()=>{});function eS(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 tS=E(()=>{});function rS(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 nS=E(()=>{});function iS(e,t,r){let n=oS(rS,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]=oS(eS,null).apply(null,o)})}function mF(){let e=Symbol("Singular"),t={registry:{}},r=hc.bind(null,t,e);return iS(r,t,e),r}function hF(){let e={registry:{}},t=hc.bind(null,e);return iS(t,e),t}var sS,oS,aS,cS=E(()=>{Zk();tS();nS();sS=Function.bind,oS=sS.bind(sS);aS={Singular:mF,Collection:hF}});function yF(e){return`Request failed due to following response errors:
73
75
  `+e.errors.map(t=>` - ${t.message}`).join(`
74
- `)}function VD(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(JD.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)=>WD.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 lk.test(o)&&(s.url=o.replace(lk,"/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 HD(s,a,i.data)}return i.data.data})}function Fp(e,t){let r=e.defaults(t);return Object.assign((s,o)=>VD(r,s,o),{defaults:Fp.bind(null,r),endpoint:r.endpoint})}function uk(e){return Fp(e,{method:"POST",url:"/graphql"})}var qD,HD,WD,JD,lk,F4,dk=E(()=>{$p();To();qD="0.0.0-development";HD=class extends Error{constructor(e,t,r){super(UD(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},WD=["method","baseUrl","url","headers","request","query","mediaType","operationName"],JD=["query","method","url"],lk=/\/api\/v3\/?$/;F4=Fp(Oo,{headers:{"user-agent":`octokit-graphql.js/${qD} ${br()}`},method:"POST",url:"/graphql"});});async function zD(e){let t=KD(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 YD(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function QD(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=YD(e),t(s)}var Mp,pk,fk,KD,mk,gk=E(()=>{Mp="(?:[a-zA-Z0-9_-]+)",pk="\\.",fk=new RegExp(`^${Mp}${pk}${Mp}${pk}${Mp}$`),KD=fk.test.bind(fk);mk=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(zD.bind(null,t),{hook:QD.bind(null,t)})}});var Bp,hk=E(()=>{Bp="7.0.7"});function e$(e={}){return typeof e.debug!="function"&&(e.debug=yk),typeof e.info!="function"&&(e.info=yk),typeof e.warn!="function"&&(e.warn=XD),typeof e.error!="function"&&(e.error=ZD),e}var yk,XD,ZD,bk,oc,wk=E(()=>{To();NE();$p();dk();gk();hk();yk=()=>{},XD=console.warn.bind(console),ZD=console.error.bind(console);bk=`octokit-core.js/${Bp} ${br()}`,oc=class{static VERSION=Bp;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 GE.Collection,n={baseUrl:Oo.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} ${bk}`:bk,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=Oo.defaults(n),this.graphql=uk(this.request).defaults(n),this.log=e$(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=mk(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 _k,Ek=E(()=>{_k="6.0.0"});function jp(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 kk=E(()=>{Ek();jp.VERSION=_k});function r$(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 qp(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=r$(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 Sk(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),Rk(e,[],qp(e,t,r)[Symbol.asyncIterator](),n)}function Rk(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:Rk(e,t,r,n)})}function Up(e){return{paginate:Object.assign(Sk.bind(null,e),{iterator:qp.bind(null,e)})}}var t$,t6,vk=E(()=>{t$="0.0.0-development";t6=Object.assign(Sk,{iterator:qp});Up.VERSION=t$});var Hp,Tk=E(()=>{Hp="17.0.0"});var n$,xk,Ok=E(()=>{n$={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"]}},xk=n$});function Wp(e){let t={};for(let r of dn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},s$);return t}function o$(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 dn,s$,Ck=E(()=>{Ok();dn=new Map;for(let[e,t]of Object.entries(xk))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);dn.has(e)||dn.set(e,new Map),dn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}s$={has({scope:e},t){return dn.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[...dn.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=dn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=o$(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function i$(e){return{rest:Wp(e)}}function Jp(e){let t=Wp(e);return{...t,rest:t}}var Ak=E(()=>{Tk();Ck();i$.VERSION=Hp;Jp.VERSION=Hp});var Pk,Ik=E(()=>{Pk="22.0.1"});var Lk,Gk=E(()=>{wk();kk();vk();Ak();Ik();Lk=oc.plugin(jp,Jp,Up).defaults({userAgent:`octokit-rest.js/${Pk}`})});function a$(e){return`r${e}`}function Nk(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=a$(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 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(`
75
77
  `)})," rateLimit { cost }","}"].join(`
76
- `),aliases:r}}function Dk(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 $k=E(()=>{});function Mk(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function Bk(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 ic(e){let t=e.etags??Mk(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??Xa(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=hp(e.budgetGate??yp()),i=vo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=new c$({auth:e.token,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}}),c=async()=>{if(e.balance===void 0)return null;try{return await os("balance read",s,async()=>await e.balance()??null)}catch{return null}},l=(y,_)=>{if(!o)return;let k=y?.pools[_]??null;if(k!==null&&k.remaining<=0)throw new sr(_,k.reset_at)},u=async y=>{let _=t.get(y.cacheKey),k=o?(await c())?.pools[y.operation.budget]??null:null;if(k!==null&&k.remaining<=0){if(_!==void 0)return Fk(_,y.operation.budget,k.reset_at,r());throw new sr(y.operation.budget,k.reset_at)}let v={...y.parameters??{}},x=_r(v.headers)?v.headers:{};v.headers={...x,..._?{"if-none-match":_.etag}:{}};try{let A=await a.request(y.route,v),C=A.headers,D=Po(C,"etag");return D!==void 0&&t.set(y.cacheKey,{etag:D,data:A.data,headers:C,storedAt:r()}),await e.attribution?.record({operation:y.operation,cost:1,actor:y.actor}),{data:A.data,headers:C,quotaFree:!1}}catch(A){if(Co(A)===304){if(_===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(y.cacheKey)} without a held answer to reuse`,{cause:A});let C=Kp(A),D={..._.headers,...C},V=Po(D,"etag")??_.etag;return t.set(y.cacheKey,{etag:V,data:_.data,headers:D,..._.storedAt?{storedAt:_.storedAt}:{}}),await e.attribution?.record({operation:y.operation,cost:0,actor:y.actor}),{data:_.data,headers:D,quotaFree:!0}}if(Co(A)===401)throw new us({cause:A});if(Ao(A)){if(_!==void 0){let C=Vp(y.operation.budget,A);return Fk(_,y.operation.budget,C.resetAt,r())}throw Vp(y.operation.budget,A)}throw A}},d=new Map,p=!1,f=async(y,_)=>{let k=y.input,v=k.kind==="pr";try{let x=await u({cacheKey:k.cacheKey,route:v?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:k.owner,repo:k.repo,...v?{pull_number:k.number}:{issue_number:k.number}},operation:k.operation,actor:k.actor});y.resolve({data:k.project?k.project(x.data,"rest"):x.data,surface:"rest",quotaFree:x.quotaFree,..._?{routing:_}:{}})}catch(x){y.reject(x)}},m=async(y,_)=>{try{let k=Nk(y.map(({input:D})=>D)),v=await a.graphql(k.query),x=Dk(k,v),A=u$(v),C=y[0].input;await e.attribution?.record({operation:{key:C.operation.key,budget:"graphql"},cost:A,actor:d$(y.map(({input:D})=>D.actor))}),x.forEach((D,V)=>{let Y=y[V];D.value===null?Y.reject(new Error(`GitHub returned no ${D.read.kind} #${D.read.number} from the coalesced query`)):Y.resolve({data:Y.input.project?Y.input.project(D.value,"graphql"):D.value,surface:"graphql",quotaFree:!1,..._?{routing:_}:{}})})}catch(k){let v=Co(k)===401?new us({cause:k}):k;y.forEach(x=>x.reject(v))}},h=async()=>{try{let y=await c(),_=Bk(y);p=!1;let k=[...d.values()];d.clear(),await w(k,y,_)}catch(y){p=!1;let _=[...d.values()];d.clear();for(let k of _)k.forEach(v=>v.reject(y))}},w=async(y,_,k)=>{await Promise.all(y.map(async v=>{let x=v[0].input.rail,A=x??"rest",C=_?.pools[A]??null,D=A==="rest"?"graphql":"rest",V=_?.pools[D]??null,Y=A==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),Q=D==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),G=A,U;if(C!==null&&C.remaining<=0){if(V!==null&&V.remaining>0||Q)G=D,U={requestedRail:A,selectedRail:G,rerouted:!0,pool:A,resetAt:C.reset_at,reason:`${A} pool is exhausted until ${C.reset_at}; used the equivalent ${G} rail`};else if(!Y&&o){let le=new sr(A,C.reset_at,"the equivalent rail has no known budget");v.forEach(xt=>xt.reject(le));return}}else x!==void 0&&(U={requestedRail:A,selectedRail:G,rerouted:!1,pool:A,resetAt:C?.reset_at??null,reason:C===null?`${A} pool balance is unknown, so the explicit rail is honored reactively`:`${A} pool has ${C.remaining} remaining, so the explicit rail is honored`});let Ge=v.some(({input:le})=>t.get(le.cacheKey)!==void 0);G==="graphql"||x===void 0&&!Ge&&v.length>k?await m(v,U):await Promise.all(v.map(le=>f(le,U)))}))};return{conditionalRest:u,singleObject:y=>new Promise((_,k)=>{let v=`${y.kind}:${y.rail??"default"}`,x=d.get(v)??[];x.push({input:y,resolve:_,reject:k}),d.set(v,x),p||(p=!0,setTimeout(()=>void h(),0))}),async conditionalPaginate(y){let _=[],k={},v=0,x=!0,A=1;for(;;){let C=await u({...y,cacheKey:`${y.cacheKey}:page:${A}`,parameters:{...y.parameters??{},per_page:100,page:A}});if(v+=1,x=x&&C.quotaFree,!Array.isArray(C.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(y.cacheKey)} page ${A}`);if(_.push(...C.data),k=C.headers,!l$(C.headers))break;A+=1}return{data:_,headers:k,requestCount:v,quotaFree:x}},async graphql(y,_={},k){try{l(await c(),k?.operation.budget??"graphql");let v=await a.graphql(y,_);return k&&await e.attribution?.record({operation:k.operation,cost:1,actor:k.actor}),v}catch(v){throw Co(v)===401?new us({cause:v}):Ao(v)?Vp(k?.operation.budget??"graphql",v):v}}}}function Fk(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 Vp(e,t){let r=Kp(t),n=Number(Po(r,"x-ratelimit-reset")),s=Number.isFinite(n)&&n>0?new Date(n*1e3).toISOString():"an unknown reset instant";return new sr(e,s,"GitHub refused the live request",{cause:t})}function l$(e){let t=Po(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Ao(e){if(e instanceof sr)return!0;let t=Co(e),r=Kp(e);return t===429||t===403&&Po(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Co(e){if(_r(e))return typeof e.status=="number"?e.status:void 0}function Kp(e){return!_r(e)||!_r(e.response)||!_r(e.response.headers)?{}:e.response.headers}function Po(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function _r(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function u$(e){let t=_r(e)?e:{},r=_r(t.data)?t.data:t,s=(_r(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 d$(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 c$,us,sr,jk=E(()=>{EE();vE();Gk();$k();gp();bp();c$=Lk.plugin(vp,ec);us=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},sr=class extends 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 Jk(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:[...Er],detail:t??"no balance has been asked for yet, so none is known"}}function Vk(e,t){let r=Uk(e),n=Uk(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Er){let c=Wk[a],l=n[c],u=p$(a,c,l);s[a]=u,u==null&&o.push(a)}let i=Er.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 ${Er.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Qp(e){try{let t=await e.transport();return Vk(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...Jk(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function Kk(e){let t=null;for(let r of Er){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function Xp(e,t){let r=Kk(e);if(r==null)return qk(Yp).every_ms;let n=qk(r.fraction);if(r.remaining>0)return n.every_ms;let s=f$(t.now,r.reset_at);return s==null?n.every_ms:Math.max(zp,Math.min(n.every_ms,s))}function qk(e){for(let t of cc)if(e<=t.at_or_below_fraction)return t;return cc[cc.length-1]}function p$(e,t,r){if(!zk(r))return null;let n=ac(r.limit),s=ac(r.remaining),o=ac(r.used),i=ac(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 Zp(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Hk}`,{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 f$(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 ac(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function Uk(e){return zk(e)?e:{}}function zk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Hk,Wk,Er,zp,Yp,cc,v6,lc=E(()=>{Hk="rate_limit",Wk={rest:"core",graphql:"graphql",search:"search"},Er=["rest","graphql","search"];zp=15e3,Yp=.15,cc=[{at_or_below_fraction:0,every_ms:zp,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Yp,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"}],v6=60*6e4});var Yk=E(()=>{J();un();lc()});var Qk=E(()=>{un();J();J();lc()});var Xk=E(()=>{});var Zk=E(()=>{});var eS=E(()=>{});var uc=E(()=>{aE();gp();bp();bE();jk();Yk();Qk();lc();Xk();Zk();eS()});import{join as y$}from"node:path";function dc(e,t){let r=Zp({token:e,...t?{origin:t}:{},fetchImpl:vo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await tS(o);let a=new Date(i).toISOString();return o=Qp({transport:r,now:a}).then(c=>(n=c,s=Date.now()+Xp(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await tS(o)}}async function tS(e){try{return await os("balance ask",1e4,()=>e)}catch{return null}}function pc(e){let t=_p({path:y$(ae(e.rootDir),"github","spend.toonl")}),r=ic({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 b$(r)}function b$(e){return{async read(t){let r=fp(t.args);if(r.kind!=="read")return Io(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Io(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Io(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=w$(r,t);if(n){let o=await e.singleObject({cacheKey:nS(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=E$(r,t);if(!o)return Io(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:nS(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:R$(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 Ao(n)?Io(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:v$(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function w$(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=Lo(t.params,"owner")||r[1],s=Lo(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"?Lt(i)??{}:sS(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"?Lt(i)??{}:_$(i)}}function sS(e){let t=Lt(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:Lt(t.author)??{},labels:ef(t.labels).map(r=>({name:r.name}))}}function _$(e){let t=Lt(e)??{};return{...sS(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function E$(e,t){let r=Lo(t.params,"owner"),n=Lo(t.params,"repo");if(!r||!n)return null;let s=k$(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 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!]) {
77
79
  repository(owner: $owner, name: $repo) {
78
80
  issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
79
81
  nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
80
82
  }
81
83
  }
82
- }`,variables:{owner:r,repo:n,first:s,states:o,labels:S$(t.params,"labels")},decode:i=>rS(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!]) {
84
+ }`,variables:{owner:r,repo:n,first:s,states:o,labels:QF(t.params,"labels")},decode:i=>nR(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:_f(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
83
85
  repository(owner: $owner, name: $repo) {
84
86
  pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
85
87
  nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
86
88
  }
87
89
  }
88
- }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>rS(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 rS(e,t){let r=Lt(e.repository),n=Lt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Lt).filter(s=>s!==null):[]}function ef(e){let t=Lt(e);return Array.isArray(t?.nodes)?t.nodes.map(Lt).filter(r=>r!==null):[]}function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Lo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function k$(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function S$(e,t){let r=Lo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Io(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 nS(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function R$(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function v$(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 tf=E(()=>{"use strict";uc();ze()});import{spawn as T$}from"node:child_process";async function kr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=tt(t).rootDir;if(Ie(n,r).enabled&&!iS.has(n)){let s=await st(e);if(!O$(s))return s;iS.add(n)}return await st({...e,residentRead:async s=>await(await x$(n,r,e.signal)).read(s)})}async function x$(e,t,r){let n=oS.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await rf(["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=pc({rootDir:e,token:s,balance:dc(s,o),...o?{baseUrl:o}:{}});return oS.set(e,i),i}function O$(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function pn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await aS(t,async r=>await rf(e,t.cwd,r)):await aS(t,async r=>{let n=await C$(e,t.cwd,r);return n||await rf(e,t.cwd,r)})}async function aS(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 rf(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=T$("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ga(u).then(d=>La(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 C$(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await A$(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await kr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"database_id")||ln(s,"id"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),workflowName:se(s,"workflow_name")||se(s,"name"),headBranch:se(s,"head_branch"),url:se(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await kr({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=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"id"),name:se(s,"name"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),url:se(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ma(e,"--branch"),s=Ma(e,"--limit")??"20",o=await kr({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=cn(nt(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:ln(a,"database_id")||ln(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ma(e,"--limit")??"20",s=await kr({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=cn(JSON.parse(s.stdout)).map(i=>({tagName:se(i,"tag_name"),publishedAt:se(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 kr({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=nt(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:se(o,"tag_name"),publishedAt:se(o,"published_at"),isDraft:o.draft===!0})}}return null}async function A$(e,t,r){let n=await kr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=se(nt(s.head),"sha"),[i,a]=o?await Promise.all([kr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),kr({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?cn(nt(JSON.parse(i.stdout)).statuses):[],l=a.status===0?cn(nt(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
89
- `),stdout:JSON.stringify({number:ln(s,"number"),state:se(s,"state").toUpperCase(),mergeable:P$(s),statusCheckRollup:[...c.map(u=>({conclusion:se(u,"state").toUpperCase()})),...l.map(u=>({status:se(u,"status").toUpperCase(),conclusion:se(u,"conclusion").toUpperCase()}))],url:se(s,"html_url")})}}function P$(e){let t=se(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 oS,iS,cS=E(()=>{"use strict";Be();Ro();tf();gt();Ba();tr();oS=new Map,iS=new Set});function uS(e,t,r){let n=Date.now();return()=>I$(e,t,r,n)}async function I$(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await pn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=wo(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(G$),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return rt("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return rt("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return rt("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return er(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?er(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):rt("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?er(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):rt("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function dS(e,t){if(!e)return ue("missing run id");let r=await pn(["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=wo(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?er(`run ${e} is ${s||"pending"}`):o==="success"?rt("success",`run ${e} succeeded`,lS(n)):rt("failure",`run ${e} concluded ${o||"unknown"}`,lS(n))}async function pS(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await pn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):L$(e,wo(r.stdout))}function L$(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return er(`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"?rt("success",`job ${e} succeeded`,s):rt("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function fS(e,t){let r=await pn(["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 es(s)&&s.databaseId!=null?String(s.databaseId):""}async function mS(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await pn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return er(`release ${e} is not published yet`);let c=wo(a.stdout);return c.isDraft===!0?er(`release ${e} is still a draft`):rt("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await pn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=cn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||N$(e,c))&&(n||l>=t)});return i?rt("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):er("no matching release is published yet")}function G$(e){let t=es(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 lS(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 N$(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var gS=E(()=>{"use strict";on();cS();Ba()});function Go(){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(`
90
- `)}var nf=E(()=>{"use strict"});var hS=E(()=>{"use strict";J()});var yS=E(()=>{"use strict"});function D$(e){return Object.keys(e)}function ps(e){return{...e,fields:D$(e.fields)}}var bS,wS,_S,$$,F$,M$,ES,sf=E(()=>{"use strict";bS="red.castle.lane.v1",wS="red.castle.state.v1",_S="red.castle.history.v1",$$="red.castle.validation.v2",F$="red.castle.envelope.v1",M$="red.castle.hitl-card.v1",ES=[ps({schemaId:bS,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}}),ps({schemaId:wS,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}}),ps({schemaId:_S,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}}),ps({schemaId:$$,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}}),ps({schemaId:F$,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}}),ps({schemaId:M$,docPath:".red/contracts/red.castle.hitl-card.v1.md",typeNames:["CastleHitlCard","CastleHitlCardPrStatus","CastleHitlCardAction"],fields:{issueNumber:!0,issueTitle:!0,issueUrl:!0,pendingDecision:!0,prStatus:!0,updatedAt:!0}})]});var H5,fc=E(()=>{"use strict";un();J();sf();H5=new Map(ES.map(e=>[e.schemaId,new Set(e.fields)]))});var kS=E(()=>{"use strict";yS();fc()});var SS=E(()=>{"use strict"});var mc=E(()=>{"use strict"});var of=E(()=>{"use strict";mc()});var gc=E(()=>{"use strict"});import{appendFile as q$,mkdir as U$,readFile as H$}from"node:fs/promises";import{dirname as W$,join as J$}from"node:path";function af(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function RS(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:af(t.at,"at"),singleton:af(t.singleton,"singleton"),kind:af(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function V$(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function K$(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function z$(e){if(e.length===0)return"";let t=Fe({trailer:!1});return e.map(r=>t.push(r)).join("")}function Y$(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(z$(i))+t<=r?n=o:s=o-1}return n}function Q$(e){return J$(e.castleStateRoot,"singleton-events.toonl")}function hc(e,t={}){let r=t.fs??{appendFile:q$,mkdir:U$,readFile:H$},n=t.clock??(()=>new Date().toISOString()),s=Q$(e),o=wt["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=RS({at:a.at??n(),...a}),l=Fe().push(V$(c)),u=Buffer.byteLength(l);if(await r.mkdir(W$(s),{recursive:!0}),await is(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=Te(p),m=Math.floor(d*o.targetRatio),h=Math.max(m,u),w=Y$(f,u,h);await as(s,w)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){K$(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Te(c).map(RS);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var yc=E(()=>{"use strict";un();J()});var bc=E(()=>{"use strict";J();gc();yc()});var vS=E(()=>{"use strict";mc();of();bc()});var TS=E(()=>{"use strict"});var CQ,xS=E(()=>{"use strict";J();CQ=24*60*60*1e3});var OS=E(()=>{"use strict";fc()});var LQ,GQ,CS=E(()=>{"use strict";LQ=15*6e4,GQ=30*6e4});var AS=E(()=>{"use strict"});var Z$,eF,$Q,FQ,PS=E(()=>{"use strict";Z$=["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"],eF={pre_worktree:["cargo","gradle"]},$Q=Object.values(eF).flat(),FQ=new Set(Z$)});var IS=E(()=>{"use strict"});var LS=E(()=>{"use strict";bc()});var cf=E(()=>{});var GS=E(()=>{"use strict";uc();cf()});import{EventEmitter as rF}from"node:events";import{spawn as nF}from"node:child_process";function Do(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 $o(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var fs,wc,sF,oF,iF,aF,No,_c=E(()=>{fs="github-webhook",wc="github.webhook.delivery";sF="pull_request,pull_request_review,check_run,check_suite,workflow_run",oF=3,iF=1e3,aF=/no extension matched|unknown command|command not found/i,No=class extends rF{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,iF).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Do(c,n):$o(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=nF(r,["webhook","forward",`--events=${sF}`],{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(`
91
- `))>=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");aF.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>=oF)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as xe}from"node:path";function lf(e){let t=xe(e),r=xe(t,"state"),n=xe(r,"castle"),s=xe(t,"tmp"),o=xe(s,"supervisors"),i=xe(s,"workers"),a=xe(s,"monitors"),c=xe(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:xe(n,"history.toonl"),castleValidation:xe(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>xe(o,l),projectSupervisor:xe(o,cF),workersRoot:i,worker:l=>xe(i,l),workerSteerFile:l=>xe(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>xe(a,l),worktreesRoot:c,worktreeLane:l=>xe(c,l)}}var cF,uf=E(()=>{"use strict";cF="default"});import{mkdir as lF,readFile as uF,rename as dF,rm as pF,writeFile as fF}from"node:fs/promises";import{dirname as mF,join as gF}from"node:path";function yF(e){if(!hF.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function bF(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function wF(e){return e.code==="ENOENT"}function _F(e){return e.code==="EEXIST"}function EF(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 df(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Ec(e,t){return yF(t),gF(e.castleStateRoot,"singletons",t,"lease.toon")}function pf(e,t={}){let r=t.fs??{mkdir:lF,readFile:uF,rename:dF,rm:pF,writeFile:fF},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??bF;async function o(a){try{return EF(z(await r.readFile(a,"utf8")))}catch(c){if(wF(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(Ec(e,a))},async acquire(a,c){let l=Ec(e,a);await r.mkdir(mF(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(!_F(m))throw m}let f=await o(l);if(f){if(df(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=Ec(e,a),u=await o(l);if(!u||!df(u,c))throw new kc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Ec(e,a),u=await o(l);if(!u)return!1;if(!df(u,c))throw new kc(a);return await r.rm(l,{force:!0}),!0}}}var kc,hF,ff=E(()=>{"use strict";J();kc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},hF=/^[a-z0-9][a-z0-9._-]{0,63}$/});var NS=E(()=>{"use strict";_c();cf();Da();uf();yc();ff()});var DS=E(()=>{"use strict"});var $S=E(()=>{});var FS=E(()=>{"use strict";$S()});var MS=E(()=>{"use strict"});var BS=E(()=>{"use strict"});var mf=E(()=>{"use strict"});var jS=E(()=>{"use strict";J();mf()});var qS=E(()=>{"use strict";J()});var gf=E(()=>{"use strict"});var hf=E(()=>{"use strict"});var US=E(()=>{"use strict";gc()});var HS=E(()=>{"use strict"});var WS=E(()=>{"use strict";gf();hf()});var yf=E(()=>{"use strict"});var JS=E(()=>{"use strict"});var kF,SF,RF,BX,VS=E(()=>{"use strict";kF={refreshCadenceS:270,tolerance:3},SF=270,RF=2700,BX={...kF,claimGraceS:SF,recentCommitProtectionS:RF}});var KS=E(()=>{"use strict"});var zS=E(()=>{qa()});var YS=E(()=>{qa();zS()});import{execFile as OF,execFileSync as XX}from"node:child_process";import{promisify as CF}from"node:util";var nZ,QS=E(()=>{"use strict";uc();YS();yf();nZ=CF(OF)});var XS=E(()=>{"use strict";hS();kS();SS();mc();vS();TS();xS();OS();fc();CS();AS();PS();IS();of();LS();GS();NS();DS();FS();MS();BS();bc();jS();qS();sf();gf();hf();uf();US();HS();WS();gc();mf();yc();ff();yf();JS();VS();KS();QS()});var Sc,ZS=E(()=>{"use strict";_c();_c();tr();Sc=class extends No{constructor(t){super(t,zn)}}});import{EventEmitter as AF}from"node:events";import{join as PF}from"node:path";function wf(e){let t=ho(e.cwd),r=lf(PF(t,".red"));return new bf({...e,leases:e.leases??pf(r),lane:e.lane??hc(r),makeForwarder:e.makeForwarder??((n,s)=>new Sc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Yn(n.pid,n.start_time))})}var bf,eR=E(()=>{"use strict";XS();ZS();tr();Da();bf=class extends AF{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(fs).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"?Do(a,n):$o(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===fs&&o.kind===wc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(fs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var _f={};ne(_f,{listWaits:()=>Fa,renderWaitHelp:()=>Go,runWait:()=>GF});import{randomUUID as tR}from"node:crypto";import{mkdir as IF,rm as LF}from"node:fs/promises";async function GF(e,t=process.cwd()){let r;try{r=await y_(e)}catch(n){return await MF(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Go()),0;if(r.kind==="ls"){let n={schema:l_,version:1,waits:await Fa(t)};return process.stdout.write(ts(n,r.options.format)),0}return Yd(r.kind)?await NF({...r,kind:r.kind},t):(process.stdout.write(Go()),2)}async function NF(e,t){let r=e.kind,n=tp({id:tR(),kind:r,target:FF(e),reason:e.options.reason,pid:process.pid,pid_start_time:await fo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:Kd[r],status:"running",attempts:0}),s=R_(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 IF(Xn(t),{recursive:!0}),await Zn(s,n);let u=await DF(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await O_({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(ts(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=_o(r,n,d,{status:"success"},new Date().toISOString());return await Eo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(ts(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await LF(s,{force:!0}).catch(()=>{})}}async function DF(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await X_({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:E_(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=wf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:uS(i,o,{emptyChecksGraceMs:Qn("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("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 $F(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=wf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:()=>dS(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("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 So({probe:()=>pS(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await So({probe:()=>mS(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function $F(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 fS(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await Zn(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function FF(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 MF(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=Yd(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=tp({id:tR(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:Kd[o],status:"indeterminate",attempts:0}),c=_o(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Eo(s,c,r).catch(()=>{}),process.stdout.write(ts(c,r)),2}var Ef=E(()=>{"use strict";b_();A_();eE();on();Xd();gS();tr();bo();nf();eR();bo();nf()});var kf,Sf,Rf,qe,Ue,it,Et,Fo,Rc=E(()=>{"use strict";kf="rsp-telemetry.spool.toonl",Sf="rsp-telemetry.spool.jsonl",Rf="rsp-telemetry.spool.corrections.toonl",qe="rsp_accounting_events_v1",Ue="rsp_decisions_v1",it="rsp_telemetry_invocations_v1",Et="rsp_telemetry_degradations_v1",Fo="rsp_telemetry_index_v1"});function ms(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return Sr(e)??0}function Sr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var vf=E(()=>{"use strict"});import{randomUUID as Mo,createHash as HF}from"node:crypto";import{appendFileSync as WF,closeSync as JF,existsSync as VF,fstatSync as KF,mkdirSync as lR,openSync as zF,readFileSync as YF,statSync as QF,writeSync as XF}from"node:fs";import{mkdir as uR,readdir as ZF,readFile as dR,rename as eM,rm as pR,writeFile as fR}from"node:fs/promises";import{basename as Tf,dirname as Bo,join as gs,resolve as sR}from"node:path";function Tc(e){if(!e)return null;let t=sR(e);for(;;){if(VF(gs(t,".red")))return t;let r=sR(gs(t,".."));if(r===t)break;t=r}return null}function or(e){return gs(ae(e),kf)}function Cf(e){return gs(ae(e),Sf)}function Af(e){return gs(ae(e),Rf)}async function fn(e,t,r=wt["rsp-telemetry-spool"]){Rr(e,t,r)}function Rr(e,t,r=wt["rsp-telemetry-spool"],n={}){try{let s=Tc(e);if(!s)return;let o=or(s);lR(Bo(o),{recursive:!0});let i=aR({spool_id:Mo(),event:nM(t)}),a=yR(o,i,r,If,aR);rM(o,i,n),a>0&&hR(s,"telemetry spool retention",a)}catch{}}function rM(e,t,r){let n=0;for(;;){let s=zF(e,"a",384);try{XF(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=KF(s),i=QF(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{JF(s)}}}function nM(e){return oR(oR(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function oR(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=tM)return e;let o={...e};return delete o[t],at(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function sM(e){let t=Tc(e);if(!t)return[];let r=or(t);await uR(Bo(r),{recursive:!0}).catch(()=>{});let n=await bR(t),s=[...await wR(t),...await cM(n)];return await Promise.all(n.map(o=>pR(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Pf(e,t){let r=Tc(e);if(!r)return;let n=or(r);await uR(Bo(n),{recursive:!0}).catch(()=>{}),await aM(r);for(let s of await oM(r))await iR(r,s,t);for(let s of await wR(r))await mR(r,s,t,!0);for(let s of await bR(r))await iR(r,s,t)}async function oM(e){let t=[or(e),Cf(e)],r=Bo(t[0]);return(await ZF(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Tf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Tf(c)}.`));if(!o)return!1;let i=`${Tf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&iM(a))}).sort().map(s=>gs(r,s))}function iM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function iR(e,t,r){try{let n=await gR(t);for(let s of If(n))await mR(e,s,r,!1)}finally{await pR(t,{force:!0})}}async function mR(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&xf(e,{correction_id:Mo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}xf(e,{correction_id:Mo(),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 gR(e){let t="";for(let r=0;r<5;r++){let n=await dR(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function hs(e){try{let t=JSON.parse(e);return!ms(t)||t.collection!==qe&&t.collection!==Ue&&t.collection!==it&&t.collection!==Et?null:t}catch{return null}}function aR(e){return Fe().push(uM(e))}function xf(e,t,r=!0){try{let n=Tc(e);if(!n)return;let s=Af(n);lR(Bo(s),{recursive:!0});let o=cR(t),i=yR(s,o,wt["rsp-telemetry-corrections"],_R,cR);WF(s,o,{encoding:"utf8",mode:384}),r&&i>0&&hR(n,"telemetry corrections retention",i,!1)}catch{}}function hR(e,t,r,n=!0){let s=Mo();xf(e,{correction_id:Mo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Et,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function cR(e){return Fe().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 yR(e,t,r,n,s){let o=Buffer.byteLength(t);if(!mE(e,o,r))return 0;let i;try{i=YF(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??Qe))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),h=Buffer.byteLength(m);if(d+h>c)break;u.unshift(m),d+=h}let p=u.join("");return gE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function bR(e){let t=or(e),r=[t,Cf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await eM(s,o),s===t&&await fR(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function aM(e){await fR(or(e),"",{flag:"a"}).catch(()=>{})}async function cM(e){let t=[];for(let r of e)t.push(...If(await gR(r)));return t}async function wR(e){let t=await dR(Af(e),"utf8").catch(()=>""),r=new Map;for(let n of _R(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:hs(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function If(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(ms(o)){let i=hs(JSON.stringify(o));t.push(i?{spool_id:vc(JSON.stringify(o)),event:i}:{spool_id:vc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:vc(s),raw_line:s});continue}try{for(let o of Te(`${r}
90
+ }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>nR(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:_f(a.labels)}))}:null}function nR(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 _f(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 $o(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function YF(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function QF(e,t){let r=$o(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Go(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 sR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function XF(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function ZF(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 Ef=E(()=>{"use strict";Ec();Xe()});import{spawn as e1}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&&!aR.has(n)){let s=await at(e);if(!r1(s))return s;aR.add(n)}return await at({...e,residentRead:async s=>await(await t1(n,r,e.signal)).read(s)})}async function t1(e,t,r){let n=iR.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await kf(["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=Sc({rootDir:e,token:s,balance:kc(s,o),...o?{baseUrl:o}:{}});return iR.set(e,i),i}function r1(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 cR(t,async r=>await kf(e,t.cwd,r)):await cR(t,async r=>{let n=await n1(e,t.cwd,r);return n||await kf(e,t.cwd,r)})}async function cR(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 kf(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=e1("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Na(u).then(d=>$a(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 n1(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await s1(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=ja(e,"--branch"),s=ja(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=ja(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 s1(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:o1(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 o1(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 iR,aR,lR=E(()=>{"use strict";Ue();xo();Ef();wt();qa();or();iR=new Map,aR=new Set});function dR(e,t,r){let n=Date.now();return()=>i1(e,t,r,n)}async function i1(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(c1),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 pR(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`,uR(n)):ot("failure",`run ${e} concluded ${o||"unknown"}`,uR(n))}async function fR(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"):a1(e,ko(r.stdout))}function a1(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 mR(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 hR(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||l1(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 c1(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 uR(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 l1(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var gR=E(()=>{"use strict";ln();lR();qa()});function No(){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 Sf=E(()=>{"use strict"});var yR=E(()=>{"use strict";V()});var bR=E(()=>{"use strict"});function u1(e){return Object.keys(e)}function hs(e){return{...e,fields:u1(e.fields)}}var wR,_R,ER,d1,p1,f1,kR,Rf=E(()=>{"use strict";wR="red.castle.lane.v1",_R="red.castle.state.v1",ER="red.castle.history.v1",d1="red.castle.validation.v2",p1="red.castle.envelope.v1",f1="red.castle.hitl-card.v1",kR=[hs({schemaId:wR,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:_R,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:ER,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:d1,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:p1,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:f1,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 OZ,Rc=E(()=>{"use strict";fn();V();Rf();OZ=new Map(kR.map(e=>[e.schemaId,new Set(e.fields)]))});var SR=E(()=>{"use strict";bR();Rc()});var RR=E(()=>{"use strict"});var vc=E(()=>{"use strict"});var vf=E(()=>{"use strict";vc()});var Tc=E(()=>{"use strict"});import{appendFile as g1,mkdir as y1,readFile as b1}from"node:fs/promises";import{dirname as w1,join as _1}from"node:path";function Tf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function vR(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:Tf(t.at,"at"),singleton:Tf(t.singleton,"singleton"),kind:Tf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function E1(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function k1(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function S1(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function R1(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(S1(i))+t<=r?n=o:s=o-1}return n}function v1(e){return _1(e.castleStateRoot,"singleton-events.toonl")}function xc(e,t={}){let r=t.fs??{appendFile:g1,mkdir:y1,readFile:b1},n=t.clock??(()=>new Date().toISOString()),s=v1(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=vR({at:a.at??n(),...a}),l=je().push(E1(c)),u=Buffer.byteLength(l);if(await r.mkdir(w1(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=R1(f,u,g);await us(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){k1(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(vR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Oc=E(()=>{"use strict";fn();V()});var Ac=E(()=>{"use strict";V();Tc();Oc()});var TR=E(()=>{"use strict";vc();vf();Ac()});var xR=E(()=>{"use strict"});var f7,OR=E(()=>{"use strict";V();f7=24*60*60*1e3});var AR=E(()=>{"use strict";Rc()});var y7,b7,CR=E(()=>{"use strict";y7=15*6e4,b7=30*6e4});var PR=E(()=>{"use strict"});var x1,O1,E7,k7,IR=E(()=>{"use strict";x1=["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"],O1={pre_worktree:["cargo","gradle"]},E7=Object.values(O1).flat(),k7=new Set(x1)});var LR=E(()=>{"use strict"});var GR=E(()=>{"use strict";Ac()});var xf=E(()=>{});var $R=E(()=>{"use strict";Ec();xf()});import{EventEmitter as C1}from"node:events";import{spawn as P1}from"node:child_process";function Fo(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 Mo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var gs,Cc,I1,L1,G1,$1,Do,Pc=E(()=>{gs="github-webhook",Cc="github.webhook.delivery";I1="pull_request,pull_request_review,check_run,check_suite,workflow_run",L1=3,G1=1e3,$1=/no extension matched|unknown command|command not found/i,Do=class extends C1{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,G1).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Fo(c,n):Mo(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=P1(r,["webhook","forward",`--events=${I1}`],{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");$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}
92
94
  ${s}
93
- `))Of(o)&&dM(o)&&t.push({spool_id:o.spool_id,event:ER(o)})}catch{s.startsWith("{")&&t.push({spool_id:vc(s),raw_line:s})}}}return t}function _R(e){return lM(e).map(pM).filter(t=>t!==null)}function lM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Of(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Te(`${r}
95
+ `))Vf(o)&&MM(o)&&t.push({spool_id:o.spool_id,event:kv(o)})}catch{s.startsWith("{")&&t.push({spool_id:Nc(s),raw_line:s})}}}return t}function Ev(e){return DM(e).map(BM).filter(t=>t!==null)}function DM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Vf(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
94
96
  ${s}
95
- `))Of(o)&&t.push(o)}catch{}}}return t}function vc(e){return`legacy:${HF("sha256").update(e).digest("hex").slice(0,24)}`}function uM(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 ER(e){let{spool_id:t,...r}=e;return hs(JSON.stringify(r))}function dM(e){return typeof e.spool_id=="string"&&ER(e)!==null}function pM(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 Of(e){return ms(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var tM,kR=E(()=>{"use strict";ze();un();J();Rc();vf();tM=64*1024});function xc(e){return e.trim().split(/\s+/).filter(Boolean)}function jo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function qo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function ct(e){let t=xc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:mn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:mn(t)&&t[1]?`gh ${t[1]} json-jq`:mn(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 mn(e){return e[0]==="gh"&&e.some(fM)}function fM(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function ys(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Uo=E(()=>{"use strict"});var we,Oc=E(()=>{"use strict";Be();we="rsp_elisions_v1"});import{spawnSync as Jo}from"node:child_process";import{createHash as Nf}from"node:crypto";import{existsSync as mM}from"node:fs";import{mkdir as gM,readFile as hM,readdir as SR,rename as yM,writeFile as bM}from"node:fs/promises";import{homedir as wM}from"node:os";import{basename as _M,dirname as EM,join as Ho}from"node:path";import{fileURLToPath as kM}from"node:url";import{gunzipSync as SM,gzipSync as RM}from"node:zlib";function Vo(e,t){return`el:${Nf("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 vr(e){return`record:${e.slice(3)}`}function hn(e){return`expired:${e.slice(3)}`}function Pc(){return"index:v1"}function vM(e){return`blob:${e}`}function RR(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function ir(e){let t=xc(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":Ic(t)?"re-executable":"ephemeral"}return"ephemeral"}function Ko(e){return Dc(e.storage_class)?e.storage_class:ir(e.command)}function vR(e){return Dc(e.storage_class)?e.storage_class:ir(e.command)}function Df(e){let t=OM(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=vR(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 $f(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:TM(o),storage_class:vR(s),recover:`rsp show ${s.handle}`}})}function TM(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 Ff(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 yn(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 Mf(e,t){let r=process.cwd(),n=Jo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Jo("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:xM(r),original_bytes:e.length}:null}function xM(e){let t=Lf(e,["rev-parse","HEAD"])||"unborn",r=Lf(e,["write-tree"])||"no-index",n=Lf(e,["status","--porcelain=v1","-z"])||"";return Nf("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function Lf(e,t){let r=Jo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function Bf(e,t){let r=xc(t);if(!Ic(r))return null;let n=CR(process.cwd(),r,e.length);return!n||gn(n)!==gn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:gn(e)}}function Ic(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 gn(e){return Nf("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function jf(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 qf(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 Uf(e,t,r){let n=RM(e);return{key:vM(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function TR(e){try{let t=SM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function xR(e){let t=e.object_ids[0];if(!t)return null;let r=Jo("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 OR(e){if(!Ic(e.argv))return null;let t=CR(e.cwd,e.argv,e.original_bytes);return t?gn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
96
- `,"utf8"),t]):null}function CR(e,t,r){let n=t[0];if(!n)return null;let s=Jo(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 OM(){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 zo(e){return/^el:[a-f0-9]{12}$/.test(e)}function Ac(e){return/^blob:[a-f0-9]{64}$/.test(e)}function AR(e){if(!Wo(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:Wo(e.scope)?e.scope:void 0,ranking:Wo(e.ranking)?e.ranking:void 0}}}function PR(e){if(!Wo(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 Wo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function IR(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 SR(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Ho(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 LR(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Wo(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 Lc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Yo(e){if(!lt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=AM(e.derivation_recipe),n=PM(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Ac(s);return e.collection===we&&typeof e.handle=="string"&&zo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||Wf(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Ac(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&CM(e.loss)&&(e.storage_class===void 0||Dc(e.storage_class))}function Hf(e){return!lt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!lt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&zo(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||Dc(t.storage_class))&&(r===void 0||typeof r=="string"&&Ac(r))})}function Gc(e){return lt(e)&&typeof e.key=="string"&&Ac(e.key)&&Wf(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 Nc(e){return lt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function CM(e){return lt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Dc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function AM(e){return lt(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 PM(e){return lt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&Ic(e.argv)&&typeof e.original_bytes=="number"&&Wf(e.content_hash)}function Wf(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function GR(e){try{let n=(await hM(e,"utf8")).trim();if(n==="")return Cc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(IM(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Cc();return await bs(e,s),s}let n=Cc();return await bs(e,n),n}let t=Cc();return await bs(e,t),t}async function NR(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function DR(e){return _M(e)==="red-skills.rdb"}async function $c(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Ho(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Ho(wM(),".cache","red-skills","bundles")),t=Ho(e,"reddb"),r;try{r=await SR(t)}catch{return}r.sort().reverse();for(let n of r){let s=Ho(t,n,process.platform==="win32"?"red.exe":"red");if(mM(s)){process.env.REDDB_BIN=s;return}}}async function bs(e,t){await gM(EM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await bM(r,`${M(Gf(t))}
97
- `,"utf8"),await yM(r,e)}function Gf(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=>Gf(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=Gf(n));return t}return String(e)}function Cc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function IM(e){return lt(e)&&e.version===1&&lt(e.records)&&Object.values(e.records).every(Yo)&&(e.blobs===void 0||lt(e.blobs)&&Object.values(e.blobs).every(Gc))&&lt(e.tombstones)&&Object.values(e.tombstones).every(Nc)&&Hf(e.index)}function $R(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return kM(e)}var Fc=E(()=>{"use strict";J();Uo();Oc()});async function FR(e,t){return LM?DM(e,t):GM?FM(e,t):NM(e,t)}async function NM(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 DM(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:$M(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*$M(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 FM(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:MM(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*MM(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var LM,GM,MR=E(()=>{LM=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",GM=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as BM}from"node:fs";import{join as jM}from"node:path";function BR(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=jM(r,"bin",t);if(BM(o))return o;throw new Error(`reddb: binary "${t}" not found.
97
+ `))Vf(o)&&t.push(o)}catch{}}}return t}function Nc(e){return`legacy:${bM("sha256").update(e).digest("hex").slice(0,24)}`}function FM(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 kv(e){let{spool_id:t,...r}=e;return ws(JSON.stringify(r))}function MM(e){return typeof e.spool_id=="string"&&kv(e)!==null}function BM(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 Vf(e){return ys(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var AM,Sv=E(()=>{"use strict";Xe();fn();V();$c();Hf();AM=64*1024});function Fc(e){return e.trim().split(/\s+/).filter(Boolean)}function Uo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Ho(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Fc(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(jM)}function jM(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 Wo=E(()=>{"use strict"});var Ee,Mc=E(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as Ko}from"node:child_process";import{createHash as em}from"node:crypto";import{existsSync as qM}from"node:fs";import{mkdir as UM,readFile as HM,readdir as Rv,rename as WM,writeFile as JM}from"node:fs/promises";import{homedir as VM}from"node:os";import{basename as KM,dirname as zM,join as Jo}from"node:path";import{fileURLToPath as YM}from"node:url";import{gunzipSync as QM,gzipSync as XM}from"node:zlib";function zo(e,t){return`el:${em("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 qc(){return"index:v1"}function ZM(e){return`blob:${e}`}function vv(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=Fc(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":Uc(t)?"re-executable":"ephemeral"}return"ephemeral"}function Yo(e){return Vc(e.storage_class)?e.storage_class:ur(e.command)}function Tv(e){return Vc(e.storage_class)?e.storage_class:ur(e.command)}function tm(e){let t=rB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=Tv(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 rm(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:eB(o),storage_class:Tv(s),recover:`rsp show ${s.handle}`}})}function eB(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 nm(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 sm(e,t){let r=process.cwd(),n=Ko("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Ko("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:tB(r),original_bytes:e.length}:null}function tB(e){let t=Xf(e,["rev-parse","HEAD"])||"unborn",r=Xf(e,["write-tree"])||"no-index",n=Xf(e,["status","--porcelain=v1","-z"])||"";return em("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function Xf(e,t){let r=Ko("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function om(e,t){let r=Fc(t);if(!Uc(r))return null;let n=Cv(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 Uc(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 em("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function im(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 am(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 cm(e,t,r){let n=XM(e);return{key:ZM(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function xv(e){try{let t=QM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Ov(e){let t=e.object_ids[0];if(!t)return null;let r=Ko("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 Av(e){if(!Uc(e.argv))return null;let t=Cv(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 Cv(e,t,r){let n=t[0];if(!n)return null;let s=Ko(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 rB(){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 Qo(e){return/^el:[a-f0-9]{12}$/.test(e)}function jc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Pv(e){if(!Vo(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:Vo(e.scope)?e.scope:void 0,ranking:Vo(e.ranking)?e.ranking:void 0}}}function Iv(e){if(!Vo(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 Vo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Lv(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 Rv(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Jo(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 Gv(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Vo(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 Hc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Xo(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=sB(e.derivation_recipe),n=oB(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&jc(s);return e.collection===Ee&&typeof e.handle=="string"&&Qo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||um(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&jc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&nB(e.loss)&&(e.storage_class===void 0||Vc(e.storage_class))}function lm(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"&&Qo(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||Vc(t.storage_class))&&(r===void 0||typeof r=="string"&&jc(r))})}function Wc(e){return pt(e)&&typeof e.key=="string"&&jc(e.key)&&um(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 Jc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function nB(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Vc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function sB(e){return pt(e)&&e.kind==="git-blob"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.object_ids)&&e.object_ids.every(t=>typeof t=="string"&&/^[0-9a-f]{40,64}$/.test(t))&&typeof e.working_tree_fingerprint=="string"&&typeof e.original_bytes=="number"}function oB(e){return pt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&Uc(e.argv)&&typeof e.original_bytes=="number"&&um(e.content_hash)}function um(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 $v(e){try{let n=(await HM(e,"utf8")).trim();if(n==="")return Bc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(iB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Bc();return await Es(e,s),s}let n=Bc();return await Es(e,n),n}let t=Bc();return await Es(e,t),t}async function Nv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function Dv(e){return KM(e)==="red-skills.rdb"}async function Kc(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Jo(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Jo(VM(),".cache","red-skills","bundles")),t=Jo(e,"reddb"),r;try{r=await Rv(t)}catch{return}r.sort().reverse();for(let n of r){let s=Jo(t,n,process.platform==="win32"?"red.exe":"red");if(qM(s)){process.env.REDDB_BIN=s;return}}}async function Es(e,t){await UM(zM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await JM(r,`${M(Zf(t))}
99
+ `,"utf8"),await WM(r,e)}function Zf(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=>Zf(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=Zf(n));return t}return String(e)}function Bc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function iB(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(Xo)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Wc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Jc)&&lm(e.index)}function Fv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return YM(e)}var zc=E(()=>{"use strict";V();Wo();Mc()});async function Mv(e,t){return aB?uB(e,t):cB?pB(e,t):lB(e,t)}async function lB(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 uB(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:dB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*dB(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 pB(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:fB(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}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()}}var aB,cB,Bv=E(()=>{aB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",cB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as mB}from"node:fs";import{join as hB}from"node:path";function jv(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=hB(r,"bin",t);if(mB(o))return o;throw new Error(`reddb: binary "${t}" not found.
98
100
  expected at: ${o}
99
101
  override: set ${n}=/path/to/${t}
100
102
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
101
- or check the postinstall log for a download error.`)}var jR=E(()=>{});import{fileURLToPath as qM}from"node:url";import{dirname as UM,resolve as HM,join as mee}from"node:path";function VM(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function qR(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:BR({name:VM(),packageRoot:JM,envVar:"REDDB_BIN"})}var WM,JM,UR=E(()=>{jR();WM=UM(qM(import.meta.url)),JM=HM(WM,"..")});var KM,zM,j,Mc,Tr=E(()=>{KM=new TextEncoder,zM=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Mc=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(KM.encode(s+`
102
- `)).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(zM.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 Vf(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:/"?YM(e):QM(e)}function YM(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=XM(s),a=r.port?Number(r.port):Jf(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 QM(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):Jf(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):Jf(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 XM(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 Jf(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 Kf=E(()=>{Tr()});function e1(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return HR(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return HR(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function HR(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 t1(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 ZM,Qo,zf=E(()=>{Tr();ZM=new Set(["embedded"]),Qo=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&ZM.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:t1(n.value)}async put(t,r,n,s={}){this._guard("put");let o=e1(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 Yf(e,t){return`${Qf(e)}.${r1(t)}`}function Qf(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 r1(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function n1(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 WR(e){return`'${String(e).replace(/'/g,"''")}'`}var ws,Xf=E(()=>{Tr();ws=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(WR).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Yf(s,t)} = ${n1(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 ${Yf(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 ${Yf(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 ${Qf(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(WR).join(", ")}] FROM ${Qf(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(`
103
+ or check the postinstall log for a download error.`)}var qv=E(()=>{});import{fileURLToPath as gB}from"node:url";import{dirname as yB,resolve as bB,join as Xre}from"node:path";function EB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Uv(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:jv({name:EB(),packageRoot:_B,envVar:"REDDB_BIN"})}var wB,_B,Hv=E(()=>{qv();wB=yB(gB(import.meta.url)),_B=bB(wB,"..")});var kB,SB,j,Yc,Ar=E(()=>{kB=new TextEncoder,SB=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Yc=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(kB.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(SB.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 pm(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:/"?RB(e):vB(e)}function RB(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=TB(s),a=r.port?Number(r.port):dm(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 vB(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):dm(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):dm(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 TB(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 dm(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 fm=E(()=>{Ar()});function OB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Wv(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Wv(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Wv(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 AB(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 xB,Zo,mm=E(()=>{Ar();xB=new Set(["embedded"]),Zo=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&xB.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:AB(n.value)}async put(t,r,n,s={}){this._guard("put");let o=OB(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 hm(e,t){return`${gm(e)}.${CB(t)}`}function gm(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 CB(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function PB(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 Jv(e){return`'${String(e).replace(/'/g,"''")}'`}var ks,ym=E(()=>{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(Jv).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${hm(s,t)} = ${PB(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 ${hm(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 ${hm(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 ${gm(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(Jv).join(", ")}] FROM ${gm(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(`
103
105
 
104
106
  `)){let u=l.split(`
105
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function s1(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=ar(e),a=ar(t),c=s!=null?` GROUP ${ar(s)}`:"",l=o!=null?em(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function ar(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 em(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 o1(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function i1(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 ${o1(e.priority)}`),e.key!=null&&(t+=` KEY ${tm(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${tm(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function a1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?tm(e):JSON.stringify(e)}function tm(e){return`'${String(e).replace(/'/g,"''")}'`}function Zf(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var Xo,rm=E(()=>{Tr();Xo=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${ar(t)}`})}push(t,r,n={}){let s=i1(n);return this.client.call("query",{sql:`QUEUE PUSH ${ar(t)} ${a1(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${ar(t)}${em(r)}`});return Zf(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${ar(t)}${em(r)}`});return Zf(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${ar(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${ar(t)}`})}async readWait(t,r,n={}){let s=s1(t,r,n),o=await this.client.call("query",{sql:s});return Zf(o)}}});function JR(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function c1(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 Bc(e){return String(e).split(".").map(VR).join(".")}function VR(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 l1(e){return KR(JSON.stringify(e))}function u1(e){return JSON.stringify(e)}function d1(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?l1(e):KR(e)}function KR(e){return`'${String(e).replace(/'/g,"''")}'`}var Zo,nm=E(()=>{Tr();Zo=class{constructor(t){this.db=t}async insert(t,r){JR(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Bc(t)} DOCUMENT VALUES (${u1(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=c1(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 ${Bc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){JR(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])=>`${VR(c)} = ${d1(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Bc(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 ${Bc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function p1(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${xr(r)}.${xr(n)})`}return m1(e)}function f1(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 xr(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 m1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):zR(e)}function zR(e){return`'${String(e).replace(/'/g,"''")}'`}var ei,sm=E(()=>{ei=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){f1(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(zR).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${xr(s)} ${xr(t)} = ${p1(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${xr(n)} ${xr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${xr(n)} ${xr(t)}`})}}});function g1(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 _s(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 h1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):YR(e)}function YR(e){return`'${String(e).replace(/'/g,"''")}'`}var ti,om=E(()=>{ti=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){g1(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(YR).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${_s(s)}.${_s(t)} = ${h1(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${_s(n)}.${_s(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${_s(n)}.${_s(t)}`})}}});async function XR(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(y1)}async function ZR(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${w1(t)}`)).rows??[]).some(n=>n.name===String(t))}function y1(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function QR(e){return String(e).split(".").map(b1).join(".")}function b1(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 w1(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,im=E(()=>{Tr();ri=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(QR).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${QR(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 Uc(e,t={}){let r=Vf(e);if(C1(r),r.kind==="embedded"){let n=O1(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=x1(r),o=t.binary??qR(),i=await FR(o,s),a=new Mc(i);return await a.call("version",{}),new cm(a,{transport:"embedded"})}}function tv(e){return k1(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:R1(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&T1(e)?{$uuid:e}:e}function k1(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 S1(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(tv):e.map(tv)}function R1(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 v1(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 T1(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function jc(e){if(Array.isArray(e))return e.map(jc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return v1(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]=jc(s);return r}return e}function x1(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function O1(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 C1(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",_1)}function lm(){return new j(ev,`${ev}: nested transactions are not supported on one connection`)}function nv(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function A1(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${rv} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function P1(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 >= ${rv} 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 _1,E1,rv,ev,qc,am,cm,sv=E(()=>{MR();UR();Tr();Kf();zf();Xf();rm();nm();sm();om();im();zf();Xf();rm();nm();sm();om();im();Kf();_1="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",E1="1.0",rv="1.0.9",ev="NESTED_TX_NOT_SUPPORTED";qc=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw lm()}},am=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw lm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new qc(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){nv(r,n)}throw r}}},cm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=E1,this.cache=new Qo(t,this.transport),this.queue=new Xo(t),this.queues=this.queue,this.documents=new Zo(this);let n=new ws(t);this.kv=Object.assign((s="kv_default")=>new ws(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 ei(t,s),this.vault=(s="red.vault")=>new ti(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=S1(r);return n==null?this.client.call("query",{sql:t}).then(jc):this.client.call("query",{sql:t,params:n}).then(jc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return A1(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 P1(n,r.length)}tx(){return new am(this)}async transaction(t){if(this.inTransaction)throw lm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new qc(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){nv(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return ZR(this,t)}list(){return XR(this)}from(t){return new ri(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 I1}from"node:crypto";import{existsSync as ov}from"node:fs";import{mkdir as L1,readFile as G1,rename as um,rm as ni,stat as dm}from"node:fs/promises";import{basename as N1,dirname as D1}from"node:path";async function iv(e){await(await bn.open({...e,allowResidentOpen:!0})).close()}var bn,av=E(()=>{"use strict";sv();Oc();Fc();bn=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=$R(t.uri),n=await NR(r),s=new e(n,{uri:t.uri,ttlDays:Lc(t.ttlDays,ht),ephemeralTtlHours:Lc(t.ephemeralTtlHours,yt),byteBudget:Lc(t.byteBudget,bt),now:t.now??(()=>new Date)});return DR(n)?(await $c(),await L1(D1(n),{recursive:!0}),s.db=await Uc(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await GR(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=Vo(n,r),a=vr(i),c=ir(r.command),l=c==="derivable"?Mf(n,r.command):null,u=c==="re-executable"?Bf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=Ff(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?Uf(n,f,o):null,h=jf(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,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[hn(i)],this.document.records[a]=w,this.upsertIndex({handle:i,key:a,bytes:h,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(!zo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[vr(t)];if(!Yo(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:vr(n.handle),bytes:qf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(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:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(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:yn(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:Df(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),$f(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=yn(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=yn(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[hn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[hn(t)];return Nc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return xR(t.derivation_recipe);if(t.reexecution_recipe)return OR(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Gc(r)?TR(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 bs(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await dm(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)}
106
- `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await bs(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(we)}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===we);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${we}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${we}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${we}`),await this.db.query(`CREATE KV IF NOT EXISTS ${we}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Vo(n,r),a=vr(i),c=ir(r.command),l=c==="derivable"?Mf(n,r.command):null,u=c==="re-executable"?Bf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=Ff(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?Uf(n,f,o):null,h=jf(n,l,u,m);m&&!Gc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,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(hn(i)),await this.kv().put(a,w);let y=(await this.readRedDbIndex()).records.filter(_=>_.handle!==i);return y.push({handle:i,key:a,bytes:h,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:y},!0),await this.assertRedDbMintPersisted(i,h),i}async getRedDb(t){if(!zo(t))return null;let r=await this.kvGet(hn(t));if(Nc(r))return r;let n=await this.kvGet(vr(t));if(!Yo(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:vr(n.handle),bytes:qf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(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:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:yn(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:Df(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return $f(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=AR(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=PR(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 IR(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await G1(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=N1(s),c=I1("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=>LR(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(`
107
- `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Pc());return Hf(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Pc(),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=yn(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=yn(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 dm(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 ni(o,{force:!0}),await ni(i,{force:!0});let a=await Uc(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${RR(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 dm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ni(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await um(this.path,i),await um(o,this.path),await ni(i,{force:!0})}catch(l){throw!ov(this.path)&&ov(i)&&await um(i,this.path),await ni(o,{force:!0}),l}finally{this.db=await Uc(`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===we){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:Pc(),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:we,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(hn(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(vr(t));if(!Yo(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 cv={};ne(cv,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_TTL_DAYS:()=>ht,RSP_ELISION_COLLECTION:()=>we,RspElisionStore:()=>bn,contentHandle:()=>Vo,ensureReddbBinaryFromWarmCache:()=>$c,provisionElisionStore:()=>iv,storageClassForCommand:()=>ir});var Hc=E(()=>{"use strict";Oc();Fc();Fc();av()});async function Wc(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await dv(e,s),i=(await si(e,Ue)).filter(G=>ks(G)>=s),a=o.filter(G=>H(G.event_type)!=="show"&&H(G.degradation_reason)===""),c=o.filter(G=>H(G.event_type)==="show"),l=o.filter(G=>H(G.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,h=new Map,w=new Map,b=[],y=0,_=0,k=0;for(let G of a){G.elided===!0&&u++;let U=at(G.raw_bytes),Ge=at(G.emitted_bytes),le=Math.max(0,U-Ge),xt=Ss(G,"raw"),L=Ss(G,"emitted"),q=Math.max(0,xt.tokens-L.tokens);m||=(G.estimated===!0||xt.estimated||L.estimated)&&q>0,d+=U,p+=Ge,f+=q;let qt=wn(G).slice(0,10);qt&&h.set(qt,(h.get(qt)??0)+q);let Ot=H(G.command)||"unknown",Ne=w.get(Ot)??{command:Ot,invocations:0,bytes_saved:0,tokens_saved:0};Ne.invocations++,Ne.bytes_saved+=le,Ne.tokens_saved+=q,w.set(Ot,Ne);let De=Sr(G.wrapper_ms);De!=null&&b.push(De),y+=at(G.store_open_count);let Ut=Sr(G.store_elapsed_ms);Ut!=null&&(_+=Ut,k++)}let v=new Map,x=new Map,A=[],C=null;for(let G of l){let U=H(G.degradation_reason)||H(G.reason)||"unknown",Ge=H(G.wrapper_family)||ct(H(G.command));v.set(U,(v.get(U)??0)+1),x.set(Ge,(x.get(Ge)??0)+1);let le=wn(G);A.push({timestamp:le,family:Ge,command:H(G.command)||"unknown",reason:U,exit_code:Sr(G.wrapper_exit_code),stderr_head:H(G.stderr_head)||null}),(!C||le>C.timestamp)&&(C={timestamp:le,reason:U,command:H(G.command)||"unknown"})}let D=a.length+l.length,V=c.filter(G=>G.hit===!0).length,Y=Bd(f,m),Q=$1(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:Y.tokens_saved_estimated,token_estimate_range_pct:Y.token_estimate_range_pct,tokens_saved_low:Y.tokens_saved_low,tokens_saved_high:Y.tokens_saved_high,dollars_saved_estimate_usd:Y.dollars_saved_estimate_usd,dollars_saved_low_usd:Y.dollars_saved_low_usd,dollars_saved_high_usd:Y.dollars_saved_high_usd,pricing_model_family:Y.pricing_model_family,pricing_input_usd_per_million_tokens:Y.pricing_input_usd_per_million_tokens,pricing_note:Y.pricing_note,daily_tokens_saved:[...h.entries()].sort(([G],[U])=>G.localeCompare(U)).map(([G,U])=>({date:G,tokens_saved:U})),top_commands:[...w.values()].sort((G,U)=>U.bytes_saved-G.bytes_saved||U.tokens_saved-G.tokens_saved||G.command.localeCompare(U.command))},health:{degradations:l.length,degradation_rate:D===0?0:l.length/D,show_total:c.length,show_hits:V,show_misses:Math.max(0,c.length-V),show_hit_rate:c.length===0?0:Oe(V/c.length),by_reason:[...v.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({reason:G,count:U})),by_family:[...x.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({family:G,count:U})),recent_failures:A.sort((G,U)=>U.timestamp.localeCompare(G.timestamp)).slice(0,20),most_recent:C},latency:{wrapper_ms_p50:Es(b,.5),wrapper_ms_p95:Es(b,.95),store_open_count_sum:y,store_elapsed_ms_sum:Oe(_),store_elapsed_ms_avg:k===0?null:Oe(_/k)},decisions:Q}}function $1(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=H(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,at(a.saved_units))),c!=="contributed"){let d=H(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=H(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:Oe(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:Oe(c.contributed/l)}})}}async function pm(e,t,r=new Date){let s=(await si(e,qe)).filter(o=>ks(o)<=r.getTime()||wn(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=wn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:J1(s)}}async function fm(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 dv(e,i),c=a.filter(L=>H(L.event_type)!=="show"&&H(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&H(L.degradation_reason)===""),l=a.filter(L=>H(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>H(L.event_type)==="show"),d=a.filter(L=>H(L.degradation_reason)!==""),p=[...c,...d].map(ks).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)/tB()))),h=[],w=new Map,b=new Map,y=new Map,_=new Map,k=new Map,v=new Map,x=0,A=!1,C=0,D=null,V=0,Y=0;for(let L of c){let q=wn(L),qt=q.slice(0,10),Ot=q.slice(0,16),Ne=ct(H(L.command)),De=Math.max(0,Ss(L,"raw").tokens-Ss(L,"emitted").tokens);x+=De,A||=L.estimated===!0&&De>0;let Ut=Math.max(0,at(L.raw_bytes)-at(L.emitted_bytes)),Gn=Sr(L.wrapper_ms);if(Gn!=null){h.push(Gn);let Ws=w.get(Ne)??[];Ws.push(Gn),w.set(Ne,Ws)}qt&&b.set(qt,(b.get(qt)??0)+1),Ot&&y.set(Ot,(y.get(Ot)??0)+1);let ur=Y1(q);ur&&_.set(ur,(_.get(ur)??0)+1);let Hs=Z1(q);Hs&&k.set(Hs,(k.get(Hs)??0)+De);let Jr=v.get(Ne)??{command_family:Ne,invocations:0,tokens_saved:0,bytes_saved:0};Jr.invocations++,Jr.tokens_saved+=De,Jr.bytes_saved+=Ut,v.set(Ne,Jr),L.elided===!0&&C++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(V++,at(L.store_open_count)>0&&Y++),De>0&&(!D||De>D.tokens_saved||De===D.tokens_saved&&Ut>D.bytes_saved)&&(D={timestamp:q,command_family:Ne,tokens_saved:De,bytes_saved:Ut})}let Q=d.map(L=>({timestamp:wn(L),command_family:ct(H(L.command)),reason:H(L.degradation_reason)||H(L.reason)||"unknown"})).sort((L,q)=>L.timestamp.localeCompare(q.timestamp)),G=new Map;for(let L of Q)G.set(L.reason,(G.get(L.reason)??0)+1);let U=j1(Q),Ge=B1(u),le=U1([...v.values()],Ge,U),xt=[...y.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[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:uv(h),by_command_family:[...w.entries()].sort((L,q)=>q[1].length-L[1].length||L[0].localeCompare(q[0])).map(([L,q])=>({command_family:L,count:q.length,...uv(q)}))},throughput:{requests_per_day:[...b.entries()].sort(([L],[q])=>L.localeCompare(q)).map(([L,q])=>({date:L,requests:q})),active_minute_avg:y.size===0?null:Oe([...y.values()].reduce((L,q)=>L+q,0)/y.size),peak_minute:xt?{minute:xt[0],requests:xt[1]}:null,hour_weekday_heatmap:Q1(_)},savings:{tokens:Bd(x,A),measured_control_holdout:F1(c,l),weekly_tokens_saved:eB(k),elision_rate:c.length===0?0:Oe(C/c.length),top_commands_by_tokens_saved:[...v.values()].sort((L,q)=>q.tokens_saved-L.tokens_saved||q.bytes_saved-L.bytes_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),top_commands_by_invocation_count:[...v.values()].sort((L,q)=>q.invocations-L.invocations||q.tokens_saved-L.tokens_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),single_biggest_elision:D},health:{degradation_timeline:Q,degradations_by_reason:[...G.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[0])).map(([L,q])=>({reason:L,count:q})),cold_boots:V===0?null:Y,warm_hits:V===0?null:Math.max(0,V-Y)},mining:{recovery_usage_by_family:Ge,degradation_clusters:U,threshold_tuning_suggestions:le}}}async function dv(e,t){let r=(await si(e,qe)).filter(i=>ks(i)>=t),n=r.some(i=>H(i.event_type)!=="show"||H(i.degradation_reason)!==""),s=(await si(e,it)).filter(i=>ks(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:H(i.event_type)||"invocation"})),o=(await si(e,Et)).filter(i=>ks(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:H(i.reason)||"unknown"}));return[...r,...s,...o]}function Ss(e,t){let r=Sr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=at(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function F1(e,t){let r=W1(t.map(a=>Sr(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(lv).filter(a=>a!=null),s=t.map(lv).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Oe(H1(o));return{enabled:!0,holdout_share:Oe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:M1(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function lv(e){let t=Ss(e,"raw").tokens;if(t<=0)return null;let r=Ss(e,"emitted").tokens;return Math.max(0,t-r)/t}function M1(e,t){if(e.length<=1)return{low:Oe(Math.max(0,t)),high:Oe(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:Oe(Math.max(0,t-n)),high:Oe(Math.min(1,t+n))}}function B1(e){let t=new Map;for(let r of e){let n=ct(H(r.recovered_command)||H(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:Oe(r.show_hits/r.show_total)}))}function j1(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:q1(r)}))}function q1(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 U1(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 H1(e){return e.reduce((t,r)=>t+r,0)/e.length}function W1(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function J1(e){let t=K1();for(let r of e){if(H(r.event_type)==="show"||H(r.degradation_reason)!==""||r.elided!==!0)continue;let n=V1(r.storage_class)??ir(H(r.command));t[n].records+=1;let s=at(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function V1(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function K1(){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 si(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=>z1(n.value)).filter(n=>ms(n))}function z1(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function ks(e){let t=Date.parse(wn(e));return Number.isFinite(t)?t:0}function wn(e){return H(e.created_at)||H(e.ts)||""}function H(e){return typeof e=="string"?e:""}function Es(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 Oe(r[n])}function uv(e){return{wrapper_ms_p50:Es(e,.5),wrapper_ms_p90:Es(e,.9),wrapper_ms_p95:Es(e,.95),wrapper_ms_p99:Es(e,.99)}}function Oe(e){return Math.round(e*100)/100}function Y1(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${X1(t.getUTCDay())}:${t.getUTCHours()}`:null}function Q1(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 X1(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Z1(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 eB(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Oe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function tB(){return 24*60*60*1e3}var pv=E(()=>{"use strict";Uo();Hc();jd();Rc();vf()});var oi={};ne(oi,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>qe,RSP_DECISIONS_COLLECTION:()=>Ue,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Et,RSP_TELEMETRY_INDEX_COLLECTION:()=>Fo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>it,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Sf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Rf,RSP_TELEMETRY_SPOOL_FILE:()=>kf,appendTelemetryEvent:()=>fn,appendTelemetryEventSync:()=>Rr,drainTelemetrySpool:()=>Pf,parseTelemetryEvent:()=>hs,readAccountingLaneStats:()=>pm,readTelemetryGainsReport:()=>fm,readTelemetryStats:()=>Wc,takeTelemetrySpool:()=>sM,telemetryLegacySpoolPath:()=>Cf,telemetrySpoolCorrectionsPath:()=>Af,telemetrySpoolPath:()=>or});var Gt=E(()=>{"use strict";Rc();kR();pv()});import{isUtf8 as rB}from"node:buffer";async function fv(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&&rB(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)}
108
- `)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var mv=E(()=>{"use strict"});var W=I(_e=>{"use strict";var mm=Symbol.for("yaml.alias"),gv=Symbol.for("yaml.document"),Jc=Symbol.for("yaml.map"),hv=Symbol.for("yaml.pair"),gm=Symbol.for("yaml.scalar"),Vc=Symbol.for("yaml.seq"),cr=Symbol.for("yaml.node.type"),nB=e=>!!e&&typeof e=="object"&&e[cr]===mm,sB=e=>!!e&&typeof e=="object"&&e[cr]===gv,oB=e=>!!e&&typeof e=="object"&&e[cr]===Jc,iB=e=>!!e&&typeof e=="object"&&e[cr]===hv,yv=e=>!!e&&typeof e=="object"&&e[cr]===gm,aB=e=>!!e&&typeof e=="object"&&e[cr]===Vc;function bv(e){if(e&&typeof e=="object")switch(e[cr]){case Jc:case Vc:return!0}return!1}function cB(e){if(e&&typeof e=="object")switch(e[cr]){case mm:case Jc:case gm:case Vc:return!0}return!1}var lB=e=>(yv(e)||bv(e))&&!!e.anchor;_e.ALIAS=mm;_e.DOC=gv;_e.MAP=Jc;_e.NODE_TYPE=cr;_e.PAIR=hv;_e.SCALAR=gm;_e.SEQ=Vc;_e.hasAnchor=lB;_e.isAlias=nB;_e.isCollection=bv;_e.isDocument=sB;_e.isMap=oB;_e.isNode=cB;_e.isPair=iB;_e.isScalar=yv;_e.isSeq=aB});var ii=I(hm=>{"use strict";var pe=W(),He=Symbol("break visit"),wv=Symbol("skip children"),Nt=Symbol("remove node");function Kc(e,t){let r=_v(t);pe.isDocument(e)?Rs(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):Rs(null,e,r,Object.freeze([]))}Kc.BREAK=He;Kc.SKIP=wv;Kc.REMOVE=Nt;function Rs(e,t,r,n){let s=Ev(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return kv(e,n,s),Rs(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=Rs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===He)return He;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=Rs("key",t.key,r,n);if(o===He)return He;o===Nt&&(t.key=null);let i=Rs("value",t.value,r,n);if(i===He)return He;i===Nt&&(t.value=null)}}return s}async function zc(e,t){let r=_v(t);pe.isDocument(e)?await vs(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):await vs(null,e,r,Object.freeze([]))}zc.BREAK=He;zc.SKIP=wv;zc.REMOVE=Nt;async function vs(e,t,r,n){let s=await Ev(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return kv(e,n,s),vs(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 vs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===He)return He;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await vs("key",t.key,r,n);if(o===He)return He;o===Nt&&(t.key=null);let i=await vs("value",t.value,r,n);if(i===He)return He;i===Nt&&(t.value=null)}}return s}function _v(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 Ev(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 kv(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`)}}hm.visit=Kc;hm.visitAsync=zc});var ym=I(Rv=>{"use strict";var Sv=W(),uB=ii(),dB={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},pB=e=>e.replace(/[!,[\]{}]/g,t=>dB[t]),ai=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+pB(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&&Sv.isNode(t.contents)){let o={};uB.visit(t.contents,(i,a)=>{Sv.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(`
109
- `)}};ai.defaultYaml={explicit:!1,version:"1.2"};ai.defaultTags={"!!":"tag:yaml.org,2002:"};Rv.Directives=ai});var Yc=I(ci=>{"use strict";var vv=W(),fB=ii();function mB(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 Tv(e){let t=new Set;return fB.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function xv(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function gB(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=Tv(e));let i=xv(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(vv.isScalar(i.node)||vv.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}}ci.anchorIsValid=mB;ci.anchorNames=Tv;ci.createNodeAnchors=gB;ci.findNewAnchor=xv});var bm=I(Ov=>{"use strict";function li(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=li(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=li(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=li(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=li(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}Ov.applyReviver=li});var Or=I(Av=>{"use strict";var hB=W();function Cv(e,t,r){if(Array.isArray(e))return e.map((n,s)=>Cv(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!hB.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}Av.toJS=Cv});var Qc=I(Iv=>{"use strict";var yB=bm(),Pv=W(),bB=Or(),wm=class{constructor(t){Object.defineProperty(this,Pv.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(!Pv.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=bB.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?yB.applyReviver(o,{"":a},"",a):a}};Iv.NodeBase=wm});var ui=I(Lv=>{"use strict";var wB=Yc(),_B=ii(),Ts=W(),EB=Qc(),kB=Or(),_m=class extends EB.NodeBase{constructor(t){super(Ts.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=[],_B.visit(t,{Node:(o,i)=>{(Ts.isAlias(i)||Ts.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||(kB.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=Xc(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(wB.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 Xc(e,t,r){if(Ts.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Ts.isCollection(t)){let n=0;for(let s of t.items){let o=Xc(e,s,r);o>n&&(n=o)}return n}else if(Ts.isPair(t)){let n=Xc(e,t.key,r),s=Xc(e,t.value,r);return Math.max(n,s)}return 1}Lv.Alias=_m});var ce=I(Em=>{"use strict";var SB=W(),RB=Qc(),vB=Or(),TB=e=>!e||typeof e!="function"&&typeof e!="object",Cr=class extends RB.NodeBase{constructor(t){super(SB.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:vB.toJS(this.value,t,r)}toString(){return String(this.value)}};Cr.BLOCK_FOLDED="BLOCK_FOLDED";Cr.BLOCK_LITERAL="BLOCK_LITERAL";Cr.PLAIN="PLAIN";Cr.QUOTE_DOUBLE="QUOTE_DOUBLE";Cr.QUOTE_SINGLE="QUOTE_SINGLE";Em.Scalar=Cr;Em.isScalarValue=TB});var di=I(Nv=>{"use strict";var xB=ui(),_n=W(),Gv=ce(),OB="tag:yaml.org,2002:";function CB(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 AB(e,t,r){if(_n.isDocument(e)&&(e=e.contents),_n.isNode(e))return e;if(_n.isPair(e)){let d=r.schema[_n.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 xB.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=OB+t.slice(2));let l=CB(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new Gv.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[_n.MAP]:Symbol.iterator in Object(e)?i[_n.SEQ]:i[_n.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 Gv.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}Nv.createNode=AB});var el=I(Zc=>{"use strict";var PB=di(),Dt=W(),IB=Qc();function km(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 PB.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 Dv=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Sm=class extends IB.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=>Dt.isNode(n)||Dt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(Dv(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Dt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(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(Dt.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&&Dt.isScalar(o)?o.value:o:Dt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Dt.isPair(r))return!1;let n=r.value;return n==null||t&&Dt.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 Dt.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(Dt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};Zc.Collection=Sm;Zc.collectionFromPath=km;Zc.isEmptyPath=Dv});var pi=I(tl=>{"use strict";var LB=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Rm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var GB=(e,t,r)=>e.endsWith(`
110
- `)?Rm(r,t):r.includes(`
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=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&&!Wc(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 _=(await this.readRedDbIndex()).records.filter(w=>w.handle!==i);return _.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:_},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!Qo(t))return null;let r=await this.kvGet(wn(t));if(Jc(r))return r;let n=await this.kvGet(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 await this.expireRedDbEntry({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),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 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:tm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return rm(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=Pv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Iv(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 Lv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await cj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=lj(s),c=ij("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=>Gv(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(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 hT=E(()=>{"use strict"});var K=I(ke=>{"use strict";var Lm=Symbol.for("yaml.alias"),gT=Symbol.for("yaml.document"),nl=Symbol.for("yaml.map"),yT=Symbol.for("yaml.pair"),Gm=Symbol.for("yaml.scalar"),sl=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),Pj=e=>!!e&&typeof e=="object"&&e[pr]===Lm,Ij=e=>!!e&&typeof e=="object"&&e[pr]===gT,Lj=e=>!!e&&typeof e=="object"&&e[pr]===nl,Gj=e=>!!e&&typeof e=="object"&&e[pr]===yT,bT=e=>!!e&&typeof e=="object"&&e[pr]===Gm,$j=e=>!!e&&typeof e=="object"&&e[pr]===sl;function wT(e){if(e&&typeof e=="object")switch(e[pr]){case nl:case sl:return!0}return!1}function Nj(e){if(e&&typeof e=="object")switch(e[pr]){case Lm:case nl:case Gm:case sl:return!0}return!1}var Dj=e=>(bT(e)||wT(e))&&!!e.anchor;ke.ALIAS=Lm;ke.DOC=gT;ke.MAP=nl;ke.NODE_TYPE=pr;ke.PAIR=yT;ke.SCALAR=Gm;ke.SEQ=sl;ke.hasAnchor=Dj;ke.isAlias=Pj;ke.isCollection=wT;ke.isDocument=Ij;ke.isMap=Lj;ke.isNode=Nj;ke.isPair=Gj;ke.isScalar=bT;ke.isSeq=$j});var ci=I($m=>{"use strict";var pe=K(),Ve=Symbol("break visit"),_T=Symbol("skip children"),Mt=Symbol("remove node");function ol(e,t){let r=ET(t);pe.isDocument(e)?xs(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):xs(null,e,r,Object.freeze([]))}ol.BREAK=Ve;ol.SKIP=_T;ol.REMOVE=Mt;function xs(e,t,r,n){let s=kT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return ST(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 il(e,t){let r=ET(t);pe.isDocument(e)?await Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await Os(null,e,r,Object.freeze([]))}il.BREAK=Ve;il.SKIP=_T;il.REMOVE=Mt;async function Os(e,t,r,n){let s=await kT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return ST(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 ET(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 kT(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 ST(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`)}}$m.visit=ol;$m.visitAsync=il});var Nm=I(vT=>{"use strict";var RT=K(),Fj=ci(),Mj={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Bj=e=>e.replace(/[!,[\]{}]/g,t=>Mj[t]),li=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+Bj(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&&RT.isNode(t.contents)){let o={};Fj.visit(t.contents,(i,a)=>{RT.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
+ `)}};li.defaultYaml={explicit:!1,version:"1.2"};li.defaultTags={"!!":"tag:yaml.org,2002:"};vT.Directives=li});var al=I(ui=>{"use strict";var TT=K(),jj=ci();function qj(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 xT(e){let t=new Set;return jj.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function OT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Uj(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=xT(e));let i=OT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(TT.isScalar(i.node)||TT.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}}ui.anchorIsValid=qj;ui.anchorNames=xT;ui.createNodeAnchors=Uj;ui.findNewAnchor=OT});var Dm=I(AT=>{"use strict";function di(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=di(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=di(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=di(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=di(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}AT.applyReviver=di});var Pr=I(PT=>{"use strict";var Hj=K();function CT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>CT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!Hj.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}PT.toJS=CT});var cl=I(LT=>{"use strict";var Wj=Dm(),IT=K(),Jj=Pr(),Fm=class{constructor(t){Object.defineProperty(this,IT.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(!IT.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=Jj.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Wj.applyReviver(o,{"":a},"",a):a}};LT.NodeBase=Fm});var pi=I(GT=>{"use strict";var Vj=al(),Kj=ci(),As=K(),zj=cl(),Yj=Pr(),Mm=class extends zj.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=[],Kj.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||(Yj.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=ll(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(Vj.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 ll(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=ll(e,s,r);o>n&&(n=o)}return n}else if(As.isPair(t)){let n=ll(e,t.key,r),s=ll(e,t.value,r);return Math.max(n,s)}return 1}GT.Alias=Mm});var le=I(Bm=>{"use strict";var Qj=K(),Xj=cl(),Zj=Pr(),eq=e=>!e||typeof e!="function"&&typeof e!="object",Ir=class extends Xj.NodeBase{constructor(t){super(Qj.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:Zj.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";Bm.Scalar=Ir;Bm.isScalarValue=eq});var fi=I(NT=>{"use strict";var tq=pi(),Sn=K(),$T=le(),rq="tag:yaml.org,2002:";function nq(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 sq(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 tq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=rq+t.slice(2));let l=nq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new $T.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 $T.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}NT.createNode=sq});var dl=I(ul=>{"use strict";var oq=fi(),Bt=K(),iq=cl();function jm(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return oq.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var DT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,qm=class extends iq.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(DT(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,jm(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,jm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};ul.Collection=qm;ul.collectionFromPath=jm;ul.isEmptyPath=DT});var mi=I(pl=>{"use strict";var aq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Um(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var cq=(e,t,r)=>e.endsWith(`
112
+ `)?Um(r,t):r.includes(`
111
113
  `)?`
112
- `+Rm(r,t):(e.endsWith(" ")?"":" ")+r;tl.indentComment=Rm;tl.lineComment=GB;tl.stringifyComment=LB});var Fv=I(fi=>{"use strict";var NB="flow",vm="block",rl="quoted";function DB(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,h=-1,w=-1,b=-1;r===vm&&(h=$v(e,h,t.length),h!==-1&&(d=h+c));for(let _;_=e[h+=1];){if(r===rl&&_==="\\"){switch(w=h,e[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}b=h}if(_===`
113
- `)r===vm&&(h=$v(e,h,t.length)),d=h+t.length+c,p=void 0;else{if(_===" "&&f&&f!==" "&&f!==`
114
- `&&f!==" "){let k=e[h+1];k&&k!==" "&&k!==`
115
- `&&k!==" "&&(p=h)}if(h>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===rl){for(;f===" "||f===" ";)f=_,_=e[h+=1],m=!0;let k=h>b+1?h-2:w-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=_}if(m&&a&&a(),l.length===0)return e;i&&i();let y=e.slice(0,l[0]);for(let _=0;_<l.length;++_){let k=l[_],v=l[_+1]||e.length;k===0?y=`
116
- ${t}${e.slice(0,v)}`:(r===rl&&u[k]&&(y+=`${e[k]}\\`),y+=`
117
- ${t}${e.slice(k+1,v)}`)}return y}function $v(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!==`
118
- `);n=t,s=t+1,o=e[s]}return n}fi.FOLD_BLOCK=vm;fi.FOLD_FLOW=NB;fi.FOLD_QUOTED=rl;fi.foldFlowLines=DB});var gi=I(Mv=>{"use strict";var kt=ce(),Ar=Fv(),sl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),ol=e=>/^(%|---|\.\.\.)/m.test(e);function $B(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]===`
119
- `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function mi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(ol(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)+`
114
+ `+Um(r,t):(e.endsWith(" ")?"":" ")+r;pl.indentComment=Um;pl.lineComment=cq;pl.stringifyComment=aq});var MT=I(hi=>{"use strict";var lq="flow",Hm="block",fl="quoted";function uq(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===Hm&&(g=FT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===fl&&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===Hm&&(g=FT(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(w===" "&&f&&f!==" "&&f!==`
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===fl){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.slice(0,l[0]);for(let w=0;w<l.length;++w){let k=l[w],S=l[w+1]||e.length;k===0?_=`
118
+ ${t}${e.slice(0,S)}`:(r===fl&&u[k]&&(_+=`${e[k]}\\`),_+=`
119
+ ${t}${e.slice(k+1,S)}`)}return _}function FT(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}hi.FOLD_BLOCK=Hm;hi.FOLD_FLOW=lq;hi.FOLD_QUOTED=fl;hi.foldFlowLines=uq});var yi=I(BT=>{"use strict";var xt=le(),Lr=MT(),hl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),gl=e=>/^(%|---|\.\.\.)/m.test(e);function dq(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 gi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(gl(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)+`
120
122
 
121
123
  `;r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"';)i+=`
122
- `,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:Ar.foldFlowLines(i,o,Ar.FOLD_QUOTED,sl(t,!1))}function Tm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
123
- `)||/[ \t]\n|\n[ \t]/.test(e))return mi(e,t);let r=t.indent||(ol(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
124
- ${r}`)+"'";return t.implicitKey?n:Ar.foldFlowLines(n,r,Ar.FOLD_FLOW,sl(t,!1))}function xs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=mi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Tm:o&&!s?n=mi:n=r?Tm:mi}return n(e,t)}var xm;try{xm=new RegExp(`(^|(?<!
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,hl(t,!1))}function Wm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
125
+ `)||/[ \t]\n|\n[ \t]/.test(e))return gi(e,t);let r=t.indent||(gl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
126
+ ${r}`)+"'";return t.implicitKey?n:Lr.foldFlowLines(n,r,Lr.FOLD_FLOW,hl(t,!1))}function Cs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=gi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Wm:o&&!s?n=gi:n=r?Wm:gi}return n(e,t)}var Jm;try{Jm=new RegExp(`(^|(?<!
125
127
  ))
126
128
  +(?!
127
- |$)`,"g")}catch{xm=/\n+(?!\n|$)/g}function nl({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 xs(r,n);let l=n.indent||(n.forceBlockIndent||ol(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===kt.Scalar.BLOCK_FOLDED?!1:t===kt.Scalar.BLOCK_LITERAL?!0:!$B(r,c,l.length);if(!r)return u?`|
129
+ |$)`,"g")}catch{Jm=/\n+(?!\n|$)/g}function ml({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||gl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!dq(r,c,l.length);if(!r)return u?`|
128
130
  `:`>
129
- `;let d,p;for(p=r.length;p>0;--p){let v=r[p-1];if(v!==`
130
- `&&v!==" "&&v!==" ")break}let f=r.substring(p),m=f.indexOf(`
131
+ `;let d,p;for(p=r.length;p>0;--p){let S=r[p-1];if(S!==`
132
+ `&&S!==" "&&S!==" ")break}let f=r.substring(p),m=f.indexOf(`
131
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]===`
132
- `&&(f=f.slice(0,-1)),f=f.replace(xm,`$&${l}`));let h=!1,w,b=-1;for(w=0;w<r.length;++w){let v=r[w];if(v===" ")h=!0;else if(v===`
133
- `)b=w;else break}let y=r.substring(0,b<w?b+1:w);y&&(r=r.substring(y.length),y=y.replace(/\n+/g,`$&${l}`));let k=(h?l?"2":"1":"")+d;if(e&&(k+=" "+a(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!u){let v=r.replace(/\n+/g,`
134
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),x=!1,A=sl(n,!0);i!=="folded"&&t!==kt.Scalar.BLOCK_FOLDED&&(A.onOverflow=()=>{x=!0});let C=Ar.foldFlowLines(`${y}${v}${f}`,l,Ar.FOLD_BLOCK,A);if(!x)return`>${k}
135
- ${l}${C}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
136
- ${l}${y}${r}${f}`}function FB(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(`
137
- `)||u&&/[[\]{},]/.test(o))return xs(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
138
- `)?xs(o,t):nl(e,t,r,n);if(!a&&!u&&s!==kt.Scalar.PLAIN&&o.includes(`
139
- `))return nl(e,t,r,n);if(ol(o)){if(c==="")return t.forceBlockIndent=!0,nl(e,t,r,n);if(a&&c===l)return xs(o,t)}let d=o.replace(/\n+/g,`$&
140
- ${c}`);if(i){let p=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return xs(o,t)}return a?d:Ar.foldFlowLines(d,c,Ar.FOLD_FLOW,sl(t,!1))}function MB(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!==kt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=kt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case kt.Scalar.BLOCK_FOLDED:case kt.Scalar.BLOCK_LITERAL:return s||o?xs(i.value,t):nl(i,t,r,n);case kt.Scalar.QUOTE_DOUBLE:return mi(i.value,t);case kt.Scalar.QUOTE_SINGLE:return Tm(i.value,t);case kt.Scalar.PLAIN:return FB(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}Mv.stringifyString=MB});var hi=I(Om=>{"use strict";var BB=Yc(),Pr=W(),jB=pi(),qB=gi();function UB(e,t){let r=Object.assign({blockQuote:!0,commentString:jB.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 HB(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(Pr.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 WB(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Pr.isScalar(e)||Pr.isCollection(e))&&e.anchor;o&&BB.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 JB(e,t,r,n){if(Pr.isPair(e))return e.toString(t,r,n);if(Pr.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=Pr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=HB(t.doc.schema.tags,o));let i=WB(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):Pr.isScalar(o)?qB.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Pr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
141
- ${t.indent}${a}`:a}Om.createStringifyContext=UB;Om.stringify=JB});var Uv=I(qv=>{"use strict";var lr=W(),Bv=ce(),jv=hi(),yi=pi();function VB({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=lr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(lr.isCollection(e)||!lr.isNode(e)&&typeof e=="object"){let A="With simple keys, collection cannot be used as a key value";throw new Error(A)}}let f=!d&&(!e||p&&t==null&&!r.inFlow||lr.isCollection(e)||(lr.isScalar(e)?e.type===Bv.Scalar.BLOCK_FOLDED||e.type===Bv.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!f&&(d||!o),indent:a+c});let m=!1,h=!1,w=jv.stringify(e,r,()=>m=!0,()=>h=!0);if(!f&&!r.inFlow&&w.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(),w===""?"?":f?`? ${w}`:w}else if(o&&!d||t==null&&f)return w=`? ${w}`,p&&!m?w+=yi.lineComment(w,r.indent,l(p)):h&&s&&s(),w;m&&(p=null),f?(p&&(w+=yi.lineComment(w,r.indent,l(p))),w=`? ${w}
142
- ${a}:`):(w=`${w}:`,p&&(w+=yi.lineComment(w,r.indent,l(p))));let b,y,_;lr.isNode(t)?(b=!!t.spaceBefore,y=t.commentBefore,_=t.comment):(b=!1,y=null,_=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&lr.isScalar(t)&&(r.indentAtStart=w.length+1),h=!1,!u&&c.length>=2&&!r.inFlow&&!f&&lr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,v=jv.stringify(t,r,()=>k=!0,()=>h=!0),x=" ";if(p||b||y){if(x=b?`
143
- `:"",y){let A=l(y);x+=`
144
- ${yi.indentComment(A,r.indent)}`}v===""&&!r.inFlow?x===`
145
- `&&_&&(x=`
134
+ `&&(f=f.slice(0,-1)),f=f.replace(Jm,`$&${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 _=r.substring(0,y<b?y+1:b);_&&(r=r.substring(_.length),_=_.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=hl(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Lr.foldFlowLines(`${_}${S}${f}`,l,Lr.FOLD_BLOCK,C);if(!T)return`>${k}
137
+ ${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
138
+ ${l}${_}${r}${f}`}function pq(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
139
+ `)||u&&/[[\]{},]/.test(o))return 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):ml(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
141
+ `))return ml(e,t,r,n);if(gl(o)){if(c==="")return t.forceBlockIndent=!0,ml(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,hl(t,!1))}function fq(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):ml(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return gi(i.value,t);case xt.Scalar.QUOTE_SINGLE:return Wm(i.value,t);case xt.Scalar.PLAIN:return pq(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}BT.stringifyString=fq});var bi=I(Vm=>{"use strict";var mq=al(),Gr=K(),hq=mi(),gq=yi();function yq(e,t){let r=Object.assign({blockQuote:!0,commentString:hq.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 bq(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 wq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Gr.isScalar(e)||Gr.isCollection(e))&&e.anchor;o&&mq.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 _q(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=bq(t.doc.schema.tags,o));let i=wq(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)?gq.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}Vm.createStringifyContext=yq;Vm.stringify=_q});var HT=I(UT=>{"use strict";var fr=K(),jT=le(),qT=bi(),wi=mi();function Eq({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===jT.Scalar.BLOCK_FOLDED||e.type===jT.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=qT.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+=wi.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=wi.lineComment(b,r.indent,l(p))),b=`? ${b}
144
+ ${a}:`):(b=`${b}:`,p&&(b+=wi.lineComment(b,r.indent,l(p))));let y,_,w;fr.isNode(t)?(y=!!t.spaceBefore,_=t.commentBefore,w=t.comment):(y=!1,_=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=qT.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||_){if(T=y?`
145
+ `:"",_){let C=l(_);T+=`
146
+ ${wi.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
147
+ `&&w&&(T=`
146
148
 
147
- `):x+=`
148
- ${r.indent}`}else if(!f&&lr.isCollection(t)){let A=v[0],C=v.indexOf(`
149
- `),D=C!==-1,V=r.inFlow??t.flow??t.items.length===0;if(D||!V){let Y=!1;if(D&&(A==="&"||A==="!")){let Q=v.indexOf(" ");A==="&"&&Q!==-1&&Q<C&&v[Q+1]==="!"&&(Q=v.indexOf(" ",Q+1)),(Q===-1||C<Q)&&(Y=!0)}Y||(x=`
150
- ${r.indent}`)}}else(v===""||v[0]===`
151
- `)&&(x="");return w+=x+v,r.inFlow?k&&n&&n():_&&!k?w+=yi.lineComment(w,r.indent,l(_)):h&&s&&s(),w}qv.stringifyPair=VB});var Am=I(Cm=>{"use strict";var Hv=Xi("process");function KB(e,...t){e==="debug"&&console.log(...t)}function zB(e,t){(e==="debug"||e==="warn")&&(typeof Hv.emitWarning=="function"?Hv.emitWarning(t):console.warn(t))}Cm.debug=KB;Cm.warn=zB});var ul=I(ll=>{"use strict";var cl=W(),Wv=ce(),il="<<",al={identify:e=>e===il||typeof e=="symbol"&&e.description===il,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Wv.Scalar(Symbol(il)),{addToJSMap:Jv}),stringify:()=>il},YB=(e,t)=>(al.identify(t)||cl.isScalar(t)&&(!t.type||t.type===Wv.Scalar.PLAIN)&&al.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===al.tag&&r.default);function Jv(e,t,r){let n=Vv(e,r);if(cl.isSeq(n))for(let s of n.items)Pm(e,t,s);else if(Array.isArray(n))for(let s of n)Pm(e,t,s);else Pm(e,t,n)}function Pm(e,t,r){let n=Vv(e,r);if(!cl.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 Vv(e,t){return e&&cl.isAlias(t)?t.resolve(e.doc,e):t}ll.addMergeToJSMap=Jv;ll.isMergeKey=YB;ll.merge=al});var Lm=I(Yv=>{"use strict";var QB=Am(),Kv=ul(),XB=hi(),zv=W(),Im=Or();function ZB(e,t,{key:r,value:n}){if(zv.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(Kv.isMergeKey(e,r))Kv.addMergeToJSMap(e,t,n);else{let s=Im.toJS(r,"",e);if(t instanceof Map)t.set(s,Im.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=ej(r,s,e),i=Im.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 ej(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(zv.isNode(e)&&r?.doc){let n=XB.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)+'..."'),QB.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)}Yv.addPairToJSMap=ZB});var Ir=I(Gm=>{"use strict";var Qv=di(),tj=Uv(),rj=Lm(),dl=W();function nj(e,t,r){let n=Qv.createNode(e,void 0,r),s=Qv.createNode(t,void 0,r);return new pl(n,s)}var pl=class e{constructor(t,r=null){Object.defineProperty(this,dl.NODE_TYPE,{value:dl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return dl.isNode(r)&&(r=r.clone(t)),dl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return rj.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?tj.stringifyPair(this,t,r,n):JSON.stringify(this)}};Gm.Pair=pl;Gm.createPair=nj});var Nm=I(Zv=>{"use strict";var En=W(),Xv=hi(),fl=pi();function sj(e,t,r){return(t.inFlow??e.flow?ij:oj)(e,t,r)}function oj({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 h=t[m],w=null;if(En.isNode(h))!d&&h.spaceBefore&&p.push(""),ml(r,p,h.commentBefore,d),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(!d&&y.spaceBefore&&p.push(""),ml(r,p,y.commentBefore,d))}d=!1;let b=Xv.stringify(h,u,()=>w=null,()=>d=!0);w&&(b+=fl.lineComment(b,o,l(w))),d&&w&&(d=!1),p.push(n+b)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let h=p[m];f+=h?`
152
- ${c}${h}`:`
149
+ `):T+=`
150
+ ${r.indent}`}else if(!f&&fr.isCollection(t)){let C=S[0],O=S.indexOf(`
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
+ ${r.indent}`)}}else(S===""||S[0]===`
153
+ `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=wi.lineComment(b,r.indent,l(w)):g&&s&&s(),b}UT.stringifyPair=Eq});var zm=I(Km=>{"use strict";var WT=ea("process");function kq(e,...t){e==="debug"&&console.log(...t)}function Sq(e,t){(e==="debug"||e==="warn")&&(typeof WT.emitWarning=="function"?WT.emitWarning(t):console.warn(t))}Km.debug=kq;Km.warn=Sq});var El=I(_l=>{"use strict";var wl=K(),JT=le(),yl="<<",bl={identify:e=>e===yl||typeof e=="symbol"&&e.description===yl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new JT.Scalar(Symbol(yl)),{addToJSMap:VT}),stringify:()=>yl},Rq=(e,t)=>(bl.identify(t)||wl.isScalar(t)&&(!t.type||t.type===JT.Scalar.PLAIN)&&bl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===bl.tag&&r.default);function VT(e,t,r){let n=KT(e,r);if(wl.isSeq(n))for(let s of n.items)Ym(e,t,s);else if(Array.isArray(n))for(let s of n)Ym(e,t,s);else Ym(e,t,n)}function Ym(e,t,r){let n=KT(e,r);if(!wl.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 KT(e,t){return e&&wl.isAlias(t)?t.resolve(e.doc,e):t}_l.addMergeToJSMap=VT;_l.isMergeKey=Rq;_l.merge=bl});var Xm=I(QT=>{"use strict";var vq=zm(),zT=El(),Tq=bi(),YT=K(),Qm=Pr();function xq(e,t,{key:r,value:n}){if(YT.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(zT.isMergeKey(e,r))zT.addMergeToJSMap(e,t,n);else{let s=Qm.toJS(r,"",e);if(t instanceof Map)t.set(s,Qm.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Oq(r,s,e),i=Qm.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 Oq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(YT.isNode(e)&&r?.doc){let n=Tq.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)+'..."'),vq.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)}QT.addPairToJSMap=xq});var $r=I(Zm=>{"use strict";var XT=fi(),Aq=HT(),Cq=Xm(),kl=K();function Pq(e,t,r){let n=XT.createNode(e,void 0,r),s=XT.createNode(t,void 0,r);return new Sl(n,s)}var Sl=class e{constructor(t,r=null){Object.defineProperty(this,kl.NODE_TYPE,{value:kl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return kl.isNode(r)&&(r=r.clone(t)),kl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return Cq.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?Aq.stringifyPair(this,t,r,n):JSON.stringify(this)}};Zm.Pair=Sl;Zm.createPair=Pq});var eh=I(ex=>{"use strict";var Rn=K(),ZT=bi(),Rl=mi();function Iq(e,t,r){return(t.inFlow??e.flow?Gq:Lq)(e,t,r)}function Lq({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(""),vl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let _=Rn.isNode(g.key)?g.key:null;_&&(!d&&_.spaceBefore&&p.push(""),vl(r,p,_.commentBefore,d))}d=!1;let y=ZT.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=Rl.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
+ ${c}${g}`:`
153
155
  `}}return e?(f+=`
154
- `+fl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function ij({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 h=e[m],w=null;if(En.isNode(h))h.spaceBefore&&d.push(""),ml(t,d,h.commentBefore,!1),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(y.spaceBefore&&d.push(""),ml(t,d,y.commentBefore,!1),y.comment&&(l=!0));let _=En.isNode(h.value)?h.value:null;_?(_.comment&&(w=_.comment),_.commentBefore&&(l=!0)):h.value==null&&y?.comment&&(w=y.comment)}w&&(l=!0);let b=Xv.stringify(h,c,()=>w=null);l||(l=d.length>u||b.includes(`
155
- `)),m<e.length-1?b+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((y,_)=>y+_.length+2,2)+(b.length+2)>t.options.lineWidth)),l&&(b+=",")),w&&(b+=fl.lineComment(b,n,a(w))),d.push(b),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((h,w)=>h+w.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let h of d)m+=h?`
156
- ${o}${s}${h}`:`
156
+ `+Rl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function Gq({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(""),vl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let _=Rn.isNode(g.key)?g.key:null;_&&(_.spaceBefore&&d.push(""),vl(t,d,_.commentBefore,!1),_.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&&_?.comment&&(b=_.comment)}b&&(l=!0);let y=ZT.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((_,w)=>_+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Rl.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
+ ${o}${s}${g}`:`
157
159
  `;return`${m}
158
- ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function ml({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=fl.indentComment(t(n),e);r.push(o.trimStart())}}Zv.stringifyCollection=sj});var Gr=I($m=>{"use strict";var aj=Nm(),cj=Lm(),lj=el(),Lr=W(),gl=Ir(),uj=ce();function bi(e,t){let r=Lr.isScalar(t)?t.value:t;for(let n of e)if(Lr.isPair(n)&&(n.key===t||n.key===r||Lr.isScalar(n.key)&&n.key.value===r))return n}var Dm=class extends lj.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Lr.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(gl.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;Lr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new gl.Pair(t,t?.value):n=new gl.Pair(t.key,t.value);let s=bi(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Lr.isScalar(s.value)&&uj.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=bi(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=bi(this.items,t)?.value;return(!r&&Lr.isScalar(s)?s.value:s)??void 0}has(t){return!!bi(this.items,t)}set(t,r){this.add(new gl.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)cj.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Lr.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})),aj.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};$m.YAMLMap=Dm;$m.findPair=bi});var Os=I(tT=>{"use strict";var dj=W(),eT=Gr(),pj={collection:"map",default:!0,nodeClass:eT.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return dj.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>eT.YAMLMap.from(e,t,r)};tT.map=pj});var Nr=I(rT=>{"use strict";var fj=di(),mj=Nm(),gj=el(),yl=W(),hj=ce(),yj=Or(),Fm=class extends gj.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(yl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=hl(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=hl(t);if(typeof n!="number")return;let s=this.items[n];return!r&&yl.isScalar(s)?s.value:s}has(t){let r=hl(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=hl(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];yl.isScalar(s)&&hj.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(yj.toJS(o,String(s++),r));return n}toString(t,r,n){return t?mj.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(fj.createNode(a,void 0,n))}}return o}};function hl(e){let t=yl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}rT.YAMLSeq=Fm});var Cs=I(sT=>{"use strict";var bj=W(),nT=Nr(),wj={collection:"seq",default:!0,nodeClass:nT.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return bj.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>nT.YAMLSeq.from(e,t,r)};sT.seq=wj});var wi=I(oT=>{"use strict";var _j=gi(),Ej={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),_j.stringifyString(e,t,r,n)}};oT.string=Ej});var bl=I(cT=>{"use strict";var iT=ce(),aT={identify:e=>e==null,createNode:()=>new iT.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new iT.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&aT.test.test(e)?e:t.options.nullStr};cT.nullTag=aT});var Mm=I(uT=>{"use strict";var kj=ce(),lT={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new kj.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&lT.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};uT.boolTag=lT});var As=I(dT=>{"use strict";function Sj({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}dT.stringifyNumber=Sj});var jm=I(wl=>{"use strict";var Rj=ce(),Bm=As(),vj={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:Bm.stringifyNumber},Tj={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():Bm.stringifyNumber(e)}},xj={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 Rj.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:Bm.stringifyNumber};wl.float=xj;wl.floatExp=Tj;wl.floatNaN=vj});var Um=I(El=>{"use strict";var pT=As(),_l=e=>typeof e=="bigint"||Number.isInteger(e),qm=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function fT(e,t,r){let{value:n}=e;return _l(n)&&n>=0?r+n.toString(t):pT.stringifyNumber(e)}var Oj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>qm(e,2,8,r),stringify:e=>fT(e,8,"0o")},Cj={identify:_l,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>qm(e,0,10,r),stringify:pT.stringifyNumber},Aj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>qm(e,2,16,r),stringify:e=>fT(e,16,"0x")};El.int=Cj;El.intHex=Aj;El.intOct=Oj});var gT=I(mT=>{"use strict";var Pj=Os(),Ij=bl(),Lj=Cs(),Gj=wi(),Nj=Mm(),Hm=jm(),Wm=Um(),Dj=[Pj.map,Lj.seq,Gj.string,Ij.nullTag,Nj.boolTag,Wm.intOct,Wm.int,Wm.intHex,Hm.floatNaN,Hm.floatExp,Hm.float];mT.schema=Dj});var bT=I(yT=>{"use strict";var $j=ce(),Fj=Os(),Mj=Cs();function hT(e){return typeof e=="bigint"||Number.isInteger(e)}var kl=({value:e})=>JSON.stringify(e),Bj=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:kl},{identify:e=>e==null,createNode:()=>new $j.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:kl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:kl},{identify:hT,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})=>hT(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:kl}],jj={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},qj=[Fj.map,Mj.seq].concat(Bj,jj);yT.schema=qj});var Vm=I(wT=>{"use strict";var _i=Xi("buffer"),Jm=ce(),Uj=gi(),Hj={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof _i.Buffer=="function")return _i.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 _i.Buffer=="function")a=i instanceof _i.Buffer?i.toString("base64"):_i.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=Jm.Scalar.BLOCK_LITERAL),t!==Jm.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===Jm.Scalar.BLOCK_LITERAL?`
159
- `:" ")}return Uj.stringifyString({comment:e,type:t,value:a},n,s,o)}};wT.binary=Hj});var vl=I(Rl=>{"use strict";var Sl=W(),Km=Ir(),Wj=ce(),Jj=Nr();function _T(e,t){if(Sl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Sl.isPair(n)){if(Sl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new Km.Pair(new Wj.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
160
+ ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function vl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=Rl.indentComment(t(n),e);r.push(o.trimStart())}}ex.stringifyCollection=Iq});var Dr=I(rh=>{"use strict";var $q=eh(),Nq=Xm(),Dq=dl(),Nr=K(),Tl=$r(),Fq=le();function _i(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 th=class extends Dq.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(Tl.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 Tl.Pair(t,t?.value):n=new Tl.Pair(t.key,t.value);let s=_i(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Nr.isScalar(s.value)&&Fq.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=_i(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=_i(this.items,t)?.value;return(!r&&Nr.isScalar(s)?s.value:s)??void 0}has(t){return!!_i(this.items,t)}set(t,r){this.add(new Tl.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)Nq.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})),$q.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};rh.YAMLMap=th;rh.findPair=_i});var Ps=I(rx=>{"use strict";var Mq=K(),tx=Dr(),Bq={collection:"map",default:!0,nodeClass:tx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return Mq.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>tx.YAMLMap.from(e,t,r)};rx.map=Bq});var Fr=I(nx=>{"use strict";var jq=fi(),qq=eh(),Uq=dl(),Ol=K(),Hq=le(),Wq=Pr(),nh=class extends Uq.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Ol.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=xl(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=xl(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Ol.isScalar(s)?s.value:s}has(t){let r=xl(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=xl(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Ol.isScalar(s)&&Hq.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(Wq.toJS(o,String(s++),r));return n}toString(t,r,n){return t?qq.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(jq.createNode(a,void 0,n))}}return o}};function xl(e){let t=Ol.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}nx.YAMLSeq=nh});var Is=I(ox=>{"use strict";var Jq=K(),sx=Fr(),Vq={collection:"seq",default:!0,nodeClass:sx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Jq.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>sx.YAMLSeq.from(e,t,r)};ox.seq=Vq});var Ei=I(ix=>{"use strict";var Kq=yi(),zq={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),Kq.stringifyString(e,t,r,n)}};ix.string=zq});var Al=I(lx=>{"use strict";var ax=le(),cx={identify:e=>e==null,createNode:()=>new ax.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new ax.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&cx.test.test(e)?e:t.options.nullStr};lx.nullTag=cx});var sh=I(dx=>{"use strict";var Yq=le(),ux={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Yq.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&ux.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};dx.boolTag=ux});var Ls=I(px=>{"use strict";function Qq({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}px.stringifyNumber=Qq});var ih=I(Cl=>{"use strict";var Xq=le(),oh=Ls(),Zq={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:oh.stringifyNumber},eU={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():oh.stringifyNumber(e)}},tU={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 Xq.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:oh.stringifyNumber};Cl.float=tU;Cl.floatExp=eU;Cl.floatNaN=Zq});var ch=I(Il=>{"use strict";var fx=Ls(),Pl=e=>typeof e=="bigint"||Number.isInteger(e),ah=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function mx(e,t,r){let{value:n}=e;return Pl(n)&&n>=0?r+n.toString(t):fx.stringifyNumber(e)}var rU={identify:e=>Pl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>ah(e,2,8,r),stringify:e=>mx(e,8,"0o")},nU={identify:Pl,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>ah(e,0,10,r),stringify:fx.stringifyNumber},sU={identify:e=>Pl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>ah(e,2,16,r),stringify:e=>mx(e,16,"0x")};Il.int=nU;Il.intHex=sU;Il.intOct=rU});var gx=I(hx=>{"use strict";var oU=Ps(),iU=Al(),aU=Is(),cU=Ei(),lU=sh(),lh=ih(),uh=ch(),uU=[oU.map,aU.seq,cU.string,iU.nullTag,lU.boolTag,uh.intOct,uh.int,uh.intHex,lh.floatNaN,lh.floatExp,lh.float];hx.schema=uU});var wx=I(bx=>{"use strict";var dU=le(),pU=Ps(),fU=Is();function yx(e){return typeof e=="bigint"||Number.isInteger(e)}var Ll=({value:e})=>JSON.stringify(e),mU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Ll},{identify:e=>e==null,createNode:()=>new dU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Ll},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Ll},{identify:yx,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})=>yx(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:Ll}],hU={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},gU=[pU.map,fU.seq].concat(mU,hU);bx.schema=gU});var ph=I(_x=>{"use strict";var ki=ea("buffer"),dh=le(),yU=yi(),bU={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof ki.Buffer=="function")return ki.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 ki.Buffer=="function")a=i instanceof ki.Buffer?i.toString("base64"):ki.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=dh.Scalar.BLOCK_LITERAL),t!==dh.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===dh.Scalar.BLOCK_LITERAL?`
161
+ `:" ")}return yU.stringifyString({comment:e,type:t,value:a},n,s,o)}};_x.binary=bU});var Nl=I($l=>{"use strict";var Gl=K(),fh=$r(),wU=le(),_U=Fr();function Ex(e,t){if(Gl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Gl.isPair(n)){if(Gl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new fh.Pair(new wU.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
160
162
  ${s.key.commentBefore}`:n.commentBefore),n.comment){let o=s.value??s.key;o.comment=o.comment?`${n.comment}
161
- ${o.comment}`:n.comment}n=s}e.items[r]=Sl.isPair(n)?n:new Km.Pair(n)}}else t("Expected a sequence for this tag");return e}function ET(e,t,r){let{replacer:n}=r,s=new Jj.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(Km.createPair(a,c,r))}return s}var Vj={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:_T,createNode:ET};Rl.createPairs=ET;Rl.pairs=Vj;Rl.resolvePairs=_T});var Qm=I(Ym=>{"use strict";var kT=W(),zm=Or(),Ei=Gr(),Kj=Nr(),ST=vl(),kn=class e extends Kj.YAMLSeq{constructor(){super(),this.add=Ei.YAMLMap.prototype.add.bind(this),this.delete=Ei.YAMLMap.prototype.delete.bind(this),this.get=Ei.YAMLMap.prototype.get.bind(this),this.has=Ei.YAMLMap.prototype.has.bind(this),this.set=Ei.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(kT.isPair(s)?(o=zm.toJS(s.key,"",r),i=zm.toJS(s.value,o,r)):o=zm.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=ST.createPairs(t,r,n),o=new this;return o.items=s.items,o}};kn.tag="tag:yaml.org,2002:omap";var zj={collection:"seq",identify:e=>e instanceof Map,nodeClass:kn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=ST.resolvePairs(e,t),n=[];for(let{key:s}of r.items)kT.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new kn,r)},createNode:(e,t,r)=>kn.from(e,t,r)};Ym.YAMLOMap=kn;Ym.omap=zj});var OT=I(Xm=>{"use strict";var RT=ce();function vT({value:e,source:t},r){return t&&(e?TT:xT).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var TT={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 RT.Scalar(!0),stringify:vT},xT={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 RT.Scalar(!1),stringify:vT};Xm.falseTag=xT;Xm.trueTag=TT});var CT=I(Tl=>{"use strict";var Yj=ce(),Zm=As(),Qj={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:Zm.stringifyNumber},Xj={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():Zm.stringifyNumber(e)}},Zj={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 Yj.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:Zm.stringifyNumber};Tl.float=Zj;Tl.floatExp=Xj;Tl.floatNaN=Qj});var PT=I(Si=>{"use strict";var AT=As(),ki=e=>typeof e=="bigint"||Number.isInteger(e);function xl(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 eg(e,t,r){let{value:n}=e;if(ki(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return AT.stringifyNumber(e)}var eq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>xl(e,2,2,r),stringify:e=>eg(e,2,"0b")},tq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>xl(e,1,8,r),stringify:e=>eg(e,8,"0")},rq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>xl(e,0,10,r),stringify:AT.stringifyNumber},nq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>xl(e,2,16,r),stringify:e=>eg(e,16,"0x")};Si.int=rq;Si.intBin=eq;Si.intHex=nq;Si.intOct=tq});var rg=I(tg=>{"use strict";var Al=W(),Ol=Ir(),Cl=Gr(),Sn=class e extends Cl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Al.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Ol.Pair(t.key,null):r=new Ol.Pair(t,null),Cl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Cl.findPair(this.items,t);return!r&&Al.isPair(n)?Al.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=Cl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Ol.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(Ol.createPair(i,null,n));return o}};Sn.tag="tag:yaml.org,2002:set";var sq={collection:"map",identify:e=>e instanceof Set,nodeClass:Sn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Sn.from(e,t,r),resolve(e,t){if(Al.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Sn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};tg.YAMLSet=Sn;tg.set=sq});var sg=I(Pl=>{"use strict";var oq=As();function ng(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 IT(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return oq.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 iq={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})=>ng(e,r),stringify:IT},aq={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=>ng(e,!1),stringify:IT},LT={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(LT.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=ng(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$/,"")??""};Pl.floatTime=aq;Pl.intTime=iq;Pl.timestamp=LT});var DT=I(NT=>{"use strict";var cq=Os(),lq=bl(),uq=Cs(),dq=wi(),pq=Vm(),GT=OT(),og=CT(),Il=PT(),fq=ul(),mq=Qm(),gq=vl(),hq=rg(),ig=sg(),yq=[cq.map,uq.seq,dq.string,lq.nullTag,GT.trueTag,GT.falseTag,Il.intBin,Il.intOct,Il.int,Il.intHex,og.floatNaN,og.floatExp,og.float,pq.binary,fq.merge,mq.omap,gq.pairs,hq.set,ig.intTime,ig.floatTime,ig.timestamp];NT.schema=yq});var JT=I(lg=>{"use strict";var BT=Os(),bq=bl(),jT=Cs(),wq=wi(),_q=Mm(),ag=jm(),cg=Um(),Eq=gT(),kq=bT(),qT=Vm(),Ri=ul(),UT=Qm(),HT=vl(),$T=DT(),WT=rg(),Ll=sg(),FT=new Map([["core",Eq.schema],["failsafe",[BT.map,jT.seq,wq.string]],["json",kq.schema],["yaml11",$T.schema],["yaml-1.1",$T.schema]]),MT={binary:qT.binary,bool:_q.boolTag,float:ag.float,floatExp:ag.floatExp,floatNaN:ag.floatNaN,floatTime:Ll.floatTime,int:cg.int,intHex:cg.intHex,intOct:cg.intOct,intTime:Ll.intTime,map:BT.map,merge:Ri.merge,null:bq.nullTag,omap:UT.omap,pairs:HT.pairs,seq:jT.seq,set:WT.set,timestamp:Ll.timestamp},Sq={"tag:yaml.org,2002:binary":qT.binary,"tag:yaml.org,2002:merge":Ri.merge,"tag:yaml.org,2002:omap":UT.omap,"tag:yaml.org,2002:pairs":HT.pairs,"tag:yaml.org,2002:set":WT.set,"tag:yaml.org,2002:timestamp":Ll.timestamp};function Rq(e,t,r){let n=FT.get(t);if(n&&!e)return r&&!n.includes(Ri.merge)?n.concat(Ri.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(FT.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(Ri.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?MT[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(MT).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},[])}lg.coreKnownTags=Sq;lg.getTags=Rq});var pg=I(VT=>{"use strict";var ug=W(),vq=Os(),Tq=Cs(),xq=wi(),Gl=JT(),Oq=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,dg=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Gl.getTags(t,"compat"):t?Gl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Gl.coreKnownTags:{},this.tags=Gl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,ug.MAP,{value:vq.map}),Object.defineProperty(this,ug.SCALAR,{value:xq.string}),Object.defineProperty(this,ug.SEQ,{value:Tq.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?Oq:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};VT.Schema=dg});var zT=I(KT=>{"use strict";var Cq=W(),fg=hi(),vi=pi();function Aq(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=fg.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(vi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(Cq.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(vi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=fg.stringify(e.contents,s,()=>a=null,c);a&&(l+=vi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(fg.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
162
- `)?(r.push("..."),r.push(vi.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(vi.indentComment(o(c),"")))}return r.join(`
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(xi.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(xi.indentComment(o(c),"")))}return r.join(`
163
165
  `)+`
164
- `}KT.stringifyDocument=Aq});var Ti=I(YT=>{"use strict";var Pq=ui(),Ps=el(),ut=W(),Iq=Ir(),Lq=Or(),Gq=pg(),Nq=zT(),mg=Yc(),Dq=bm(),$q=di(),gg=ym(),hg=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ut.NODE_TYPE,{value:ut.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 gg.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,{[ut.NODE_TYPE]:{value:ut.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=ut.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Is(this.contents)&&this.contents.add(t)}addIn(t,r){Is(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=mg.anchorNames(this);t.anchor=!r||n.has(r)?mg.findNewAnchor(r||"a",n):r}return new Pq.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 w=y=>typeof y=="number"||y instanceof String||y instanceof Number,b=r.filter(w).map(String);b.length>0&&(r=r.concat(b)),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}=mg.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},h=$q.createNode(t,u,m);return a&&ut.isCollection(h)&&(h.flow=!0),p(),h}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new Iq.Pair(s,o)}delete(t){return Is(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ps.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):Is(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ut.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return Ps.isEmptyPath(t)?!r&&ut.isScalar(this.contents)?this.contents.value:this.contents:ut.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ut.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return Ps.isEmptyPath(t)?this.contents!==void 0:ut.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ps.collectionFromPath(this.schema,[t],r):Is(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ps.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ps.collectionFromPath(this.schema,Array.from(t),r):Is(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 gg.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 gg.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 Gq.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=Lq.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"?Dq.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 Nq.stringifyDocument(this,t)}};function Is(e){if(ut.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}YT.Document=hg});var Ci=I(Oi=>{"use strict";var xi=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},yg=class extends xi{constructor(t,r,n){super("YAMLParseError",t,r,n)}},bg=class extends xi{constructor(t,r,n){super("YAMLWarning",t,r,n)}},Fq=(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
166
+ `}zx.stringifyDocument=sH});var Oi=I(Qx=>{"use strict";var oH=pi(),Gs=dl(),ft=K(),iH=$r(),aH=Pr(),cH=Ph(),lH=Yx(),Lh=al(),uH=Dm(),dH=fi(),Gh=Nm(),$h=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 Gh.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=Lh.anchorNames(this);t.anchor=!r||n.has(r)?Lh.findNewAnchor(r||"a",n):r}return new oH.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let b=_=>typeof _=="number"||_ instanceof String||_ 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}=Lh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=dH.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 iH.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 Gh.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 Gh.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 cH.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=aH.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"?uH.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 lH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}Qx.Document=$h});var Pi=I(Ci=>{"use strict";var Ai=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Nh=class extends Ai{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Dh=class extends Ai{constructor(t,r,n){super("YAMLWarning",t,r,n)}},pH=(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
165
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+=`:
166
168
 
167
169
  ${i}
168
170
  ${l}
169
- `}};Oi.YAMLError=xi;Oi.YAMLParseError=yg;Oi.YAMLWarning=bg;Oi.prettifyError=Fq});var Ai=I(QT=>{"use strict";function Mq(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,h=null,w=null,b=null,y=null,_=null,k=null,v=null;for(let C of e)switch(m&&(C.type!=="space"&&C.type!=="newline"&&C.type!=="comma"&&o(C.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),h&&(l&&C.type!=="comment"&&C.type!=="newline"&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),C.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&C.source.includes(" ")&&(h=C),u=!0;break;case"comment":{u||o(C,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let D=C.source.substring(1)||" ";d?d+=p+D:d=D,p="",l=!1;break}case"newline":l?d?d+=C.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=C.source,l=!0,f=!0,(w||b)&&(y=C),u=!0;break;case"anchor":w&&o(C,"MULTIPLE_ANCHORS","A node can have at most one anchor"),C.source.endsWith(":")&&o(C.offset+C.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=C,v??(v=C.offset),l=!1,u=!1,m=!0;break;case"tag":{b&&o(C,"MULTIPLE_TAGS","A node can have at most one tag"),b=C,v??(v=C.offset),l=!1,u=!1,m=!0;break}case r:(w||b)&&o(C,"BAD_PROP_ORDER",`Anchors and tags must be after the ${C.source} indicator`),k&&o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.source} in ${t??"collection"}`),k=C,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){_&&o(C,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=C,l=!1,u=!1;break}default:o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.type} token`),l=!1,u=!1}let x=e[e.length-1],A=x?x.offset+x.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"),h&&(l&&h.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:_,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:w,tag:b,newlineAfterProp:y,end:A,start:v??A}}QT.resolveProps=Mq});var Nl=I(XT=>{"use strict";function wg(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
170
- `))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(wg(t.key)||wg(t.value))return!0}return!1;default:return!0}}XT.containsNewline=wg});var _g=I(ZT=>{"use strict";var Bq=Nl();function jq(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&Bq.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}ZT.flowIndentCheck=jq});var Eg=I(tx=>{"use strict";var ex=W();function qq(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||ex.isScalar(o)&&ex.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}tx.mapIncludes=qq});var ax=I(ix=>{"use strict";var rx=Ir(),Uq=Gr(),nx=Ai(),Hq=Nl(),sx=_g(),Wq=Eg(),ox="All mapping items must start at the same column";function Jq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??Uq.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,h=nx.resolveProps(d,{indicator:"explicit-key-ind",next:p??f?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),w=!h.found;if(w){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",ox)),!h.anchor&&!h.tag&&!f){l=h.end,h.comment&&(a.comment?a.comment+=`
171
- `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||Hq.containsNewline(p))&&s(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==n.indent&&s(c,"BAD_INDENT",ox);r.atKey=!0;let b=h.end,y=p?e(r,p,h,s):t(r,b,d,null,h,s);r.schema.compat&&sx.flowIndentCheck(n.indent,p,s),r.atKey=!1,Wq.mapIncludes(r,a.items,y)&&s(b,"DUPLICATE_KEY","Map keys must be unique");let _=nx.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:y.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=_.end,_.found){w&&(m?.type==="block-map"&&!_.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&h.start<_.found.offset-1024&&s(y.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,_,s):t(r,c,f,null,_,s);r.schema.compat&&sx.flowIndentCheck(n.indent,m,s),c=k.range[2];let v=new rx.Pair(y,k);r.options.keepSourceTokens&&(v.srcToken=u),a.items.push(v)}else{w&&s(y.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),_.comment&&(y.comment?y.comment+=`
172
- `+_.comment:y.comment=_.comment);let k=new rx.Pair(y);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}ix.resolveBlockMap=Jq});var lx=I(cx=>{"use strict";var Vq=Nr(),Kq=Ai(),zq=_g();function Yq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??Vq.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=Kq.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&&zq.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}cx.resolveBlockSeq=Yq});var Ls=I(ux=>{"use strict";function Qq(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}}ux.resolveEnd=Qq});var mx=I(fx=>{"use strict";var Xq=W(),Zq=Ir(),dx=Gr(),eU=Nr(),tU=Ls(),px=Ai(),rU=Nl(),nU=Eg(),kg="Block collections are not allowed within flow collections",Sg=e=>e&&(e.type==="block-map"||e.type==="block-seq");function sU({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?dx.YAMLMap:eU.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 w=0;w<n.items.length;++w){let b=n.items[w],{start:y,key:_,sep:k,value:v}=b,x=px.resolveProps(y,{flow:a,indicator:"explicit-key-ind",next:_??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!k&&!v){w===0&&x.comma?s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):w<n.items.length-1&&s(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),x.comment&&(l.comment?l.comment+=`
173
- `+x.comment:l.comment=x.comment),d=x.end;continue}!i&&r.options.strict&&rU.containsNewline(_)&&s(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(w===0)x.comma&&s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(x.comma||s(x.start,"MISSING_CHAR",`Missing , between ${a} items`),x.comment){let A="";e:for(let C of y)switch(C.type){case"comma":case"space":break;case"comment":A=C.source.substring(1);break e;default:break e}if(A){let C=l.items[l.items.length-1];Xq.isPair(C)&&(C=C.value??C.key),C.comment?C.comment+=`
174
- `+A:C.comment=A,x.comment=x.comment.substring(A.length+1)}}if(!i&&!k&&!x.found){let A=v?e(r,v,x,s):t(r,x.end,k,null,x,s);l.items.push(A),d=A.range[2],Sg(v)&&s(A.range,"BLOCK_IN_FLOW",kg)}else{r.atKey=!0;let A=x.end,C=_?e(r,_,x,s):t(r,A,y,null,x,s);Sg(_)&&s(C.range,"BLOCK_IN_FLOW",kg),r.atKey=!1;let D=px.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:v,offset:C.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(D.found){if(!i&&!x.found&&r.options.strict){if(k)for(let Q of k){if(Q===D.found)break;if(Q.type==="newline"){s(Q,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<D.found.offset-1024&&s(D.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else v&&("source"in v&&v.source?.[0]===":"?s(v,"MISSING_CHAR",`Missing space after : in ${a}`):s(D.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let V=v?e(r,v,D,s):D.found?t(r,D.end,k,null,D,s):null;V?Sg(v)&&s(V.range,"BLOCK_IN_FLOW",kg):D.comment&&(C.comment?C.comment+=`
175
- `+D.comment:C.comment=D.comment);let Y=new Zq.Pair(C,V);if(r.options.keepSourceTokens&&(Y.srcToken=b),i){let Q=l;nU.mapIncludes(r,Q.items,C)&&s(A,"DUPLICATE_KEY","Map keys must be unique"),Q.items.push(Y)}else{let Q=new dx.YAMLMap(r.schema);Q.flow=!0,Q.items.push(Y);let G=(V??C).range;Q.range=[C.range[0],G[1],G[2]],l.items.push(Q)}d=V?V.range[2]:D.end}}let p=i?"}":"]",[f,...m]=n.end,h=d;if(f?.source===p)h=f.offset+f.source.length;else{let w=a[0].toUpperCase()+a.substring(1),b=u?`${w} must end with a ${p}`:`${w} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",b),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let w=tU.resolveEnd(m,h,r.options.strict,s);w.comment&&(l.comment?l.comment+=`
176
- `+w.comment:l.comment=w.comment),l.range=[n.offset,h,w.offset]}else l.range=[n.offset,h,h];return l}fx.resolveFlowCollection=sU});var hx=I(gx=>{"use strict";var oU=W(),iU=ce(),aU=Gr(),cU=Nr(),lU=ax(),uU=lx(),dU=mx();function Rg(e,t,r,n,s,o){let i=r.type==="block-map"?lU.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?uU.resolveBlockSeq(e,t,r,n,o):dU.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 pU(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===aU.YAMLMap.tagName&&a==="map"||i===cU.YAMLSeq.tagName&&a==="seq")return Rg(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),Rg(e,t,r,s,i)}let l=Rg(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=oU.isNode(u)?u:new iU.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}gx.composeCollection=pU});var Tg=I(yx=>{"use strict";var vg=ce();function fU(e,t,r){let n=t.offset,s=mU(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?vg.Scalar.BLOCK_FOLDED:vg.Scalar.BLOCK_LITERAL,i=t.source?gU(t.source):[],a=i.length;for(let h=i.length-1;h>=0;--h){let w=i[h][1];if(w===""||w==="\r")a=h;else break}if(a===0){let h=s.chomp==="+"&&i.length>0?`
177
- `.repeat(Math.max(1,i.length-1)):"",w=n+s.length;return t.source&&(w+=t.source.length),{value:h,type:o,comment:s.comment,range:[n,w,w]}}let c=t.indent+s.indent,l=t.offset+s.length,u=0;for(let h=0;h<a;++h){let[w,b]=i[h];if(b===""||b==="\r")s.indent===0&&w.length>c&&(c=w.length);else{w.length<c&&r(l+w.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=w.length),u=h,c===0&&!e.atRoot&&r(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=w.length+b.length+1}for(let h=i.length-1;h>=a;--h)i[h][0].length>c&&(a=h+1);let d="",p="",f=!1;for(let h=0;h<u;++h)d+=i[h][0].slice(c)+`
178
- `;for(let h=u;h<a;++h){let[w,b]=i[h];l+=w.length+b.length+1;let y=b[b.length-1]==="\r";if(y&&(b=b.slice(0,-1)),b&&w.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-b.length-(y?2:1),"BAD_INDENT",k),w=""}o===vg.Scalar.BLOCK_LITERAL?(d+=p+w.slice(c)+b,p=`
179
- `):w.length>c||b[0]===" "?(p===" "?p=`
171
+ `}};Ci.YAMLError=Ai;Ci.YAMLParseError=Nh;Ci.YAMLWarning=Dh;Ci.prettifyError=pH});var Ii=I(Xx=>{"use strict";function fH(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,_=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)&&(_=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:_,end:C,start:S??C}}Xx.resolveProps=fH});var Jl=I(Zx=>{"use strict";function Fh(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(Fh(t.key)||Fh(t.value))return!0}return!1;default:return!0}}Zx.containsNewline=Fh});var Mh=I(e0=>{"use strict";var mH=Jl();function hH(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&mH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}e0.flowIndentCheck=hH});var Bh=I(r0=>{"use strict";var t0=K();function gH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||t0.isScalar(o)&&t0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}r0.mapIncludes=gH});var c0=I(a0=>{"use strict";var n0=$r(),yH=Dr(),s0=Ii(),bH=Jl(),o0=Mh(),wH=Bh(),i0="All mapping items must start at the same column";function _H({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??yH.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=s0.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",i0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
173
+ `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||bH.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",i0);r.atKey=!0;let y=g.end,_=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&o0.flowIndentCheck(n.indent,p,s),r.atKey=!1,wH.mapIncludes(r,a.items,_)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=s0.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:_.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(_.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&&o0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new n0.Pair(_,k);r.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}else{b&&s(_.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),w.comment&&(_.comment?_.comment+=`
174
+ `+w.comment:_.comment=w.comment);let k=new n0.Pair(_);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}a0.resolveBlockMap=_H});var u0=I(l0=>{"use strict";var EH=Fr(),kH=Ii(),SH=Mh();function RH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??EH.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=kH.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&&SH.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}l0.resolveBlockSeq=RH});var Ns=I(d0=>{"use strict";function vH(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}}d0.resolveEnd=vH});var h0=I(m0=>{"use strict";var TH=K(),xH=$r(),p0=Dr(),OH=Fr(),AH=Ns(),f0=Ii(),CH=Jl(),PH=Bh(),jh="Block collections are not allowed within flow collections",qh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function IH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?p0.YAMLMap:OH.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:_,key:w,sep:k,value:S}=y,T=f0.resolveProps(_,{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&&CH.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 _)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];TH.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],qh(S)&&s(C.range,"BLOCK_IN_FLOW",jh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,_,null,T,s);qh(w)&&s(O.range,"BLOCK_IN_FLOW",jh),r.atKey=!1;let G=f0.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?qh(S)&&s(q.range,"BLOCK_IN_FLOW",jh):G.comment&&(O.comment?O.comment+=`
177
+ `+G.comment:O.comment=G.comment);let Q=new xH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let J=l;PH.mapIncludes(r,J.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),J.items.push(Q)}else{let J=new p0.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=AH.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}m0.resolveFlowCollection=IH});var y0=I(g0=>{"use strict";var LH=K(),GH=le(),$H=Dr(),NH=Fr(),DH=c0(),FH=u0(),MH=h0();function Uh(e,t,r,n,s,o){let i=r.type==="block-map"?DH.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?FH.resolveBlockSeq(e,t,r,n,o):MH.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 BH(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===$H.YAMLMap.tagName&&a==="map"||i===NH.YAMLSeq.tagName&&a==="seq")return Uh(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),Uh(e,t,r,s,i)}let l=Uh(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=LH.isNode(u)?u:new GH.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}g0.composeCollection=BH});var Wh=I(b0=>{"use strict";var Hh=le();function jH(e,t,r){let n=t.offset,s=qH(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Hh.Scalar.BLOCK_FOLDED:Hh.Scalar.BLOCK_LITERAL,i=t.source?UH(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
+ `.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 _=y[y.length-1]==="\r";if(_&&(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-(_?2:1),"BAD_INDENT",k),b=""}o===Hh.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
181
+ `):b.length>c||y[0]===" "?(p===" "?p=`
180
182
  `:!f&&p===`
181
183
  `&&(p=`
182
184
 
183
- `),d+=p+w.slice(c)+b,p=`
184
- `,f=!0):b===""?p===`
185
+ `),d+=p+b.slice(c)+y,p=`
186
+ `,f=!0):y===""?p===`
185
187
  `?d+=`
186
188
  `:p=`
187
- `:(d+=p+b,p=" ",f=!1)}switch(s.chomp){case"-":break;case"+":for(let h=a;h<i.length;++h)d+=`
188
- `+i[h][0].slice(c);d[d.length-1]!==`
189
+ `:(d+=p+y,p=" ",f=!1)}switch(s.chomp){case"-":break;case"+":for(let g=a;g<i.length;++g)d+=`
190
+ `+i[g][0].slice(c);d[d.length-1]!==`
189
191
  `&&(d+=`
190
192
  `);break;default:d+=`
191
- `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function mU({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 h=f.source;h&&typeof h=="string"&&(d+=h.length)}}}return{mode:o,indent:i,chomp:a,comment:u,length:d}}function gU(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}yx.resolveBlockScalar=fU});var Og=I(wx=>{"use strict";var xg=ce(),hU=Ls();function yU(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=xg.Scalar.PLAIN,c=bU(o,l);break;case"single-quoted-scalar":a=xg.Scalar.QUOTE_SINGLE,c=wU(o,l);break;case"double-quoted-scalar":a=xg.Scalar.QUOTE_DOUBLE,c=_U(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=hU.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function bU(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}`),bx(e)}function wU(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),bx(e.slice(1,-1)).replace(/''/g,"'")}function bx(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
193
+ `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function qH({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 UH(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}b0.resolveBlockScalar=jH});var Vh=I(_0=>{"use strict";var Jh=le(),HH=Ns();function WH(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=Jh.Scalar.PLAIN,c=JH(o,l);break;case"single-quoted-scalar":a=Jh.Scalar.QUOTE_SINGLE,c=VH(o,l);break;case"double-quoted-scalar":a=Jh.Scalar.QUOTE_DOUBLE,c=KH(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=HH.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function JH(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}`),w0(e)}function VH(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),w0(e.slice(1,-1)).replace(/''/g,"'")}function w0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
192
194
  `,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
193
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===`
194
196
  `?s+=o:o=`
195
- `:(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 _U(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
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 KH(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
196
198
  `))if(s===`
197
- `){let{fold:o,offset:i}=EU(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=kU[o];if(i)r+=i;else if(o===`
199
+ `){let{fold:o,offset:i}=zH(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=YH[o];if(i)r+=i;else if(o===`
198
200
  `)for(o=e[n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="\r"&&e[n+1]===`
199
- `)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+=SU(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!==`
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+=QH(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!==`
200
202
  `&&!(i==="\r"&&e[n+2]===`
201
- `)&&(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 EU(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
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 zH(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
202
204
  `||n==="\r")&&!(n==="\r"&&e[t+2]!==`
203
205
  `);)n===`
204
206
  `&&(r+=`
205
- `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var kU={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
206
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SU(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}}wx.resolveFlowScalar=yU});var kx=I(Ex=>{"use strict";var Rn=W(),_x=ce(),RU=Tg(),vU=Og();function TU(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?RU.resolveBlockScalar(e,t,n):vU.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[Rn.SCALAR]:c?l=xU(e.schema,s,c,r,n):t.type==="scalar"?l=OU(e,s,t,n):l=e.schema[Rn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=Rn.isScalar(d)?d:new _x.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new _x.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 xU(e,t,r,n,s){if(r==="!")return e[Rn.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[Rn.SCALAR])}function OU({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[Rn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[Rn.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}Ex.composeScalar=TU});var Rx=I(Sx=>{"use strict";function CU(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}Sx.emptyScalarPosition=CU});var xx=I(Ag=>{"use strict";var AU=ui(),PU=W(),IU=hx(),vx=kx(),LU=Ls(),GU=Rx(),NU={composeNode:Tx,composeEmptyNode:Cg};function Tx(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=DU(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=vx.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=IU.composeCollection(NU,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=Cg(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&&(!PU.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 Cg(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:GU.emptyScalarPosition(t,r,n),indent:-1,source:""},d=vx.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 DU({options:e},{offset:t,source:r,end:n},s){let o=new AU.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=LU.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Ag.composeEmptyNode=Cg;Ag.composeNode=Tx});var Ax=I(Cx=>{"use strict";var $U=Ti(),Ox=xx(),FU=Ls(),MU=Ai();function BU(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new $U.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=MU.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?Ox.composeNode(l,s,u,i):Ox.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=FU.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}Cx.composeDoc=BU});var Ig=I(Lx=>{"use strict";var jU=Xi("process"),qU=ym(),UU=Ti(),Pi=Ci(),Px=W(),HU=Ax(),WU=Ls();function Ii(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 Ix(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?`
207
+ `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var YH={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 QH(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}}_0.resolveFlowScalar=WH});var S0=I(k0=>{"use strict";var xn=K(),E0=le(),XH=Wh(),ZH=Vh();function eW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?XH.resolveBlockScalar(e,t,n):ZH.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=tW(e.schema,s,c,r,n):t.type==="scalar"?l=rW(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 E0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new E0.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 tW(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 rW({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}k0.composeScalar=eW});var v0=I(R0=>{"use strict";function nW(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}R0.emptyScalarPosition=nW});var O0=I(zh=>{"use strict";var sW=pi(),oW=K(),iW=y0(),T0=S0(),aW=Ns(),cW=v0(),lW={composeNode:x0,composeEmptyNode:Kh};function x0(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=uW(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=T0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=iW.composeCollection(lW,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=Kh(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!oW.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function Kh(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:cW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=T0.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 uW({options:e},{offset:t,source:r,end:n},s){let o=new sW.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=aW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}zh.composeEmptyNode=Kh;zh.composeNode=x0});var P0=I(C0=>{"use strict";var dW=Oi(),A0=O0(),pW=Ns(),fW=Ii();function mW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new dW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=fW.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?A0.composeNode(l,s,u,i):A0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=pW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}C0.composeDoc=mW});var Qh=I(G0=>{"use strict";var hW=ea("process"),gW=Nm(),yW=Oi(),Li=Pi(),I0=K(),bW=P0(),wW=Ns();function Gi(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 L0(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?`
207
209
 
208
210
  `:`
209
- `)+(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 Pg=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Ii(r);o?this.warnings.push(new Pi.YAMLWarning(i,n,s)):this.errors.push(new Pi.YAMLParseError(i,n,s))},this.directives=new qU.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=Ix(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
210
- ${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(Px.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];Px.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
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 Yh=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Gi(r);o?this.warnings.push(new Li.YAMLWarning(i,n,s)):this.errors.push(new Li.YAMLParseError(i,n,s))},this.directives=new gW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=L0(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(I0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];I0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
211
213
  ${a}`:n}else{let i=o.commentBefore;o.commentBefore=i?`${n}
212
- ${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:Ix(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(jU.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Ii(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=HU.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 Pi.YAMLParseError(Ii(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 Pi.YAMLParseError(Ii(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=WU.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}
213
- ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Pi.YAMLParseError(Ii(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 UU.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}}};Lx.Composer=Pg});var Dx=I(Dl=>{"use strict";var JU=Tg(),VU=Og(),KU=Ci(),Gx=gi();function zU(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 KU.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return VU.resolveFlowScalar(e,t,n);case"block-scalar":return JU.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function YU(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=Gx.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:`
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:L0(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(hW.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Gi(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=bW.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 Li.YAMLParseError(Gi(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 Li.YAMLParseError(Gi(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=wW.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 Li.YAMLParseError(Gi(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 yW.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}}};G0.Composer=Yh});var D0=I(Vl=>{"use strict";var _W=Wh(),EW=Vh(),kW=Pi(),$0=yi();function SW(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 kW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return EW.resolveFlowScalar(e,t,n);case"block-scalar":return _W.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function RW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=$0.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:`
214
216
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
215
217
  `),u=a.substring(0,l),d=a.substring(l+1)+`
216
- `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return Nx(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
217
- `}),{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 QU(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=Gx.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">":XU(e,c);break;case'"':Lg(e,c,"double-quoted-scalar");break;case"'":Lg(e,c,"single-quoted-scalar");break;default:Lg(e,c,"scalar")}}function XU(e,t){let r=t.indexOf(`
218
+ `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return N0(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 vW(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=$0.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">":TW(e,c);break;case'"':Xh(e,c,"double-quoted-scalar");break;case"'":Xh(e,c,"single-quoted-scalar");break;default:Xh(e,c,"scalar")}}function TW(e,t){let r=t.indexOf(`
218
220
  `),n=t.substring(0,r),s=t.substring(r+1)+`
219
- `;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}];Nx(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
220
- `});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 Nx(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 Lg(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:`
221
- `};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})}}}Dl.createScalarToken=YU;Dl.resolveAsScalar=zU;Dl.setScalarValue=QU});var Fx=I($x=>{"use strict";var ZU=e=>"type"in e?Fl(e):$l(e);function Fl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Fl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=$l(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=$l(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=$l(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 $l({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Fl(t)),r)for(let o of r)s+=o.source;return n&&(s+=Fl(n)),s}$x.stringify=ZU});var qx=I(jx=>{"use strict";var Gg=Symbol("break visit"),eH=Symbol("skip children"),Mx=Symbol("remove item");function vn(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),Bx(Object.freeze([]),e,t)}vn.BREAK=Gg;vn.SKIP=eH;vn.REMOVE=Mx;vn.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};vn.parentCollection=(e,t)=>{let r=vn.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 Bx(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=Bx(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===Gg)return Gg;a===Mx&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}jx.visit=vn});var Ml=I(We=>{"use strict";var Ng=Dx(),tH=Fx(),rH=qx(),Dg="\uFEFF",$g="",Fg="",Mg="",nH=e=>!!e&&"items"in e,sH=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function oH(e){switch(e){case Dg:return"<BOM>";case $g:return"<DOC>";case Fg:return"<FLOW_END>";case Mg:return"<SCALAR>";default:return JSON.stringify(e)}}function iH(e){switch(e){case Dg:return"byte-order-mark";case $g:return"doc-mode";case Fg:return"flow-error-end";case Mg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
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}];N0(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 N0(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 Xh(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})}}}Vl.createScalarToken=RW;Vl.resolveAsScalar=SW;Vl.setScalarValue=vW});var M0=I(F0=>{"use strict";var xW=e=>"type"in e?zl(e):Kl(e);function zl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=zl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=Kl(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=Kl(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=Kl(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 Kl({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=zl(t)),r)for(let o of r)s+=o.source;return n&&(s+=zl(n)),s}F0.stringify=xW});var U0=I(q0=>{"use strict";var Zh=Symbol("break visit"),OW=Symbol("skip children"),B0=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),j0(Object.freeze([]),e,t)}On.BREAK=Zh;On.SKIP=OW;On.REMOVE=B0;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 j0(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=j0(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===Zh)return Zh;a===B0&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}q0.visit=On});var Yl=I(Ke=>{"use strict";var eg=D0(),AW=M0(),CW=U0(),tg="\uFEFF",rg="",ng="",sg="",PW=e=>!!e&&"items"in e,IW=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function LW(e){switch(e){case tg:return"<BOM>";case rg:return"<DOC>";case ng:return"<FLOW_END>";case sg:return"<SCALAR>";default:return JSON.stringify(e)}}function GW(e){switch(e){case tg:return"byte-order-mark";case rg:return"doc-mode";case ng:return"flow-error-end";case sg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
222
224
  `:case`\r
223
- `: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}We.createScalarToken=Ng.createScalarToken;We.resolveAsScalar=Ng.resolveAsScalar;We.setScalarValue=Ng.setScalarValue;We.stringify=tH.stringify;We.visit=rH.visit;We.BOM=Dg;We.DOCUMENT=$g;We.FLOW_END=Fg;We.SCALAR=Mg;We.isCollection=nH;We.isScalar=sH;We.prettyToken=oH;We.tokenType=iH});var qg=I(Hx=>{"use strict";var Li=Ml();function St(e){switch(e){case void 0:case" ":case`
224
- `:case"\r":case" ":return!0;default:return!1}}var Ux=new Set("0123456789ABCDEFabcdef"),aH=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Bl=new Set(",[]{}"),cH=new Set(` ,[]{}
225
- \r `),Bg=e=>!e||cH.has(e),jg=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===`
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=eg.createScalarToken;Ke.resolveAsScalar=eg.resolveAsScalar;Ke.setScalarValue=eg.setScalarValue;Ke.stringify=AW.stringify;Ke.visit=CW.visit;Ke.BOM=tg;Ke.DOCUMENT=rg;Ke.FLOW_END=ng;Ke.SCALAR=sg;Ke.isCollection=PW;Ke.isScalar=IW;Ke.prettyToken=LW;Ke.tokenType=GW});var ag=I(W0=>{"use strict";var $i=Yl();function Ot(e){switch(e){case void 0:case" ":case`
226
+ `:case"\r":case" ":return!0;default:return!1}}var H0=new Set("0123456789ABCDEFabcdef"),$W=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Ql=new Set(",[]{}"),NW=new Set(` ,[]{}
227
+ \r `),og=e=>!e||NW.has(e),ig=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===`
226
228
  `?!0:r==="\r"?this.buffer[t+1]===`
227
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===`
228
230
  `||!s&&!this.atEnd)return t+n+1}return r===`
229
- `||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&St(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(`
230
- `,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]===Li.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 Li.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==="...")&&St(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&&!St(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===":")&&St(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(Bg),"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("..."))&&St(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Li.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(Bg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||St(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(`
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]===$i.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 $i.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(og),"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 $i.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(og),"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(`
231
233
  `,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
232
- `,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=>St(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`
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`
233
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===`
234
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(`
235
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===`
236
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===`
237
- `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Li.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(St(o)||t&&Bl.has(o))break;r=n}else if(St(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
239
+ `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield $i.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&&Ql.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
238
240
  `?(n+=1,s=`
239
- `,o=this.buffer[n+1]):r=n),o==="#"||t&&Bl.has(o))break;if(s===`
240
- `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&Bl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Li.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(Bg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(St(n)||r&&Bl.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(;!St(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(aH.has(r))r=this.buffer[++t];else if(r==="%"&&Ux.has(this.buffer[t+1])&&Ux.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===`
241
+ `,o=this.buffer[n+1]):r=n),o==="#"||t&&Ql.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&&Ql.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield $i.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(og),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&Ql.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($W.has(r))r=this.buffer[++t];else if(r==="%"&&H0.has(this.buffer[t+1])&&H0.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===`
241
243
  `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
242
- `?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)}};Hx.Lexer=jg});var Hg=I(Wx=>{"use strict";var Ug=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}}}};Wx.LineCounter=Ug});var Jg=I(Yx=>{"use strict";var lH=Xi("process"),Jx=Ml(),uH=qg();function Dr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function Vx(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 zx(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 jl(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 Gs(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 ql(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 Kx(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Dr(t.start,"explicit-key-ind")&&!Dr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,zx(t.value)?t.value.end?ql(t.value.end,t.sep):t.value.end=t.sep:ql(t.start,t.sep),delete t.sep)}var Wg=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 uH.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,lH.env.LOG_TOKENS&&console.log("|",Jx.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=Jx.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"&&Kx(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&&Vx(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":{Vx(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=jl(this.peek(2)),n=Gs(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(`
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)}};W0.Lexer=ig});var lg=I(J0=>{"use strict";var cg=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}}}};J0.LineCounter=cg});var dg=I(Q0=>{"use strict";var DW=ea("process"),V0=Yl(),FW=ag();function Mr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function K0(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 Y0(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 Xl(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 Zl(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 z0(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,Y0(t.value)?t.value.end?Zl(t.value.end,t.sep):t.value.end=t.sep:Zl(t.start,t.sep),delete t.sep)}var ug=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 FW.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,DW.env.LOG_TOKENS&&console.log("|",V0.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=V0.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"&&z0(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&&K0(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":{K0(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=Xl(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(`
243
245
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
244
- `,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)){ql(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(Dr(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(zx(r.key)&&!Dr(r.sep,"newline")){let i=Gs(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(Dr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Gs(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]}):Dr(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&&!Dr(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)){ql(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||Dr(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=jl(n),o=Gs(s);Kx(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(`
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)){Zl(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(Y0(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)){Zl(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=Xl(n),o=Ds(s);z0(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(`
245
247
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
246
- `,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=jl(t),n=Gs(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=jl(t),n=Gs(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())}}};Yx.Parser=Wg});var t0=I(Ni=>{"use strict";var Qx=Ig(),dH=Ti(),Gi=Ci(),pH=Am(),fH=W(),mH=Hg(),Xx=Jg();function Zx(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new mH.LineCounter||null,prettyErrors:t}}function gH(e,t={}){let{lineCounter:r,prettyErrors:n}=Zx(t),s=new Xx.Parser(r?.addNewLine),o=new Qx.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Gi.prettifyError(e,r)),a.warnings.forEach(Gi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function e0(e,t={}){let{lineCounter:r,prettyErrors:n}=Zx(t),s=new Xx.Parser(r?.addNewLine),o=new Qx.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 Gi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Gi.prettifyError(e,r)),i.warnings.forEach(Gi.prettifyError(e,r))),i}function hH(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=e0(e,r);if(!s)return null;if(s.warnings.forEach(o=>pH.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 yH(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 fH.isDocument(e)&&!n?e.toString(r):new dH.Document(e,n,r).toString(r)}Ni.parse=hH;Ni.parseAllDocuments=gH;Ni.parseDocument=e0;Ni.stringify=yH});var n0=I(X=>{"use strict";var bH=Ig(),wH=Ti(),_H=pg(),Vg=Ci(),EH=ui(),$r=W(),kH=Ir(),SH=ce(),RH=Gr(),vH=Nr(),TH=Ml(),xH=qg(),OH=Hg(),CH=Jg(),Ul=t0(),r0=ii();X.Composer=bH.Composer;X.Document=wH.Document;X.Schema=_H.Schema;X.YAMLError=Vg.YAMLError;X.YAMLParseError=Vg.YAMLParseError;X.YAMLWarning=Vg.YAMLWarning;X.Alias=EH.Alias;X.isAlias=$r.isAlias;X.isCollection=$r.isCollection;X.isDocument=$r.isDocument;X.isMap=$r.isMap;X.isNode=$r.isNode;X.isPair=$r.isPair;X.isScalar=$r.isScalar;X.isSeq=$r.isSeq;X.Pair=kH.Pair;X.Scalar=SH.Scalar;X.YAMLMap=RH.YAMLMap;X.YAMLSeq=vH.YAMLSeq;X.CST=TH;X.Lexer=xH.Lexer;X.LineCounter=OH.LineCounter;X.Parser=CH.Parser;X.parse=Ul.parse;X.parseAllDocuments=Ul.parseAllDocuments;X.parseDocument=Ul.parseDocument;X.stringify=Ul.stringify;X.visit=r0.visit;X.visitAsync=r0.visitAsync});import{isUtf8 as AH}from"node:buffer";import{spawnSync as PH}from"node:child_process";import{isDeepStrictEqual as s0}from"node:util";function Kg(e,t={}){if(e.length===0||!AH(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=IH(n,t.decode??z,t.runTq??LH)??GH(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!s0(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function IH(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 s0(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function LH(e,t,r){let n=PH("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 GH(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:Te(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,o0.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 o0,zg=E(()=>{"use strict";J();o0=Zi(n0(),1)});async function Xg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Be(),up)),Promise.resolve().then(()=>(Zt(),Vn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await NH(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function NH(e,t){let r=DH(t.command)?e:Kg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=Qg(t.sizeThresholdBytes,8*1024),s=Qg(t.repetitionThresholdRows,20),o=Qg(t.topRows,t.level==="terse"?5:12),i=$H(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let b=await i0(e,t);if(!b)return{stdout:r,lossy:!1};let y=[...i].sort((x,A)=>A.size_kib-x.size_kib||x.path.localeCompare(A.path)),_=Math.min(o,y.length),k=y.length-_,v={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:y.length,rows_kept:_,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${_}; ${k} omitted`]},summary:{total_size_kib:y.reduce((x,A)=>x+A.size_kib,0),largest_size_kib:y[0]?.size_kib??0},rows:y.slice(0,_),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${b}`}};return{stdout:Buffer.from(`${M(v)}
247
- `),lossy:!0,handle:b,bytesElided:e.length}}let a=MH(FH(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=BH(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 i0(e,t);if(!p)return{stdout:r,lossy:!1};let f=Math.min(o,c.length),m=c.length-f,h={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:jH(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(h)}
248
- `),lossy:!0,handle:p,bytesElided:e.length}}function DH(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function i0(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 $H(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 FH(e){try{return z(e.toString("utf8"))}catch{return}}function Yg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function MH(e){if(Array.isArray(e)&&e.every(Yg))return{rows:e};if(!Yg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(Yg)).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 BH(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 jH(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:qH(s.reduce((o,i)=>o+i,0))})}return r}function qH(e){return Number(e.toPrecision(15))}function Qg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Zg=E(()=>{"use strict";J();zg()});import{existsSync as UH}from"node:fs";import{join as HH}from"node:path";function WH(){for(let e of(process.env.PATH??"").split(":"))if(e&&UH(HH(e,"rsp")))return!0;return!1}function Di(){return WH()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var eh=E(()=>{"use strict"});var Hl={};ne(Hl,{parseProxyCommandLine:()=>l0,rewriteProxyCommandLine:()=>c0,runProxy:()=>KH});import{spawn as JH}from"node:child_process";function VH(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function KH(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=l0(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=c0(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await zH(t.telemetryRoot,r,c),await a0(r,t.level??"lossless");throw c}for(let c of s)await YH(t.telemetryRoot,c);let i=await a0(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await fn(t.telemetryRoot,{collection:it,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 c0(e,t="lossless",r=Di()){let n=rW(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||tW(n,a)==="|")return i.text;let c=QH(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function l0(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 zH(e,t,r){await fn(e,{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:ct(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function YH(e,t){await fn(e,{collection:Ue,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 a0(e,t,r=e){let n=JH(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=Ye();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await fv(n,i=>Xg(i,r,o))}function QH(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=sW(o);if(!i)return null;let a=eW(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(mn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=XH(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(VH),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function XH(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}:ZH(t,r)}function ZH(e,t){return e[0]==="cat"&&e.length===2&&th(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&th(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])&&th(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function th(e){return!!e&&!e.startsWith("-")}function eW(e){let t=0;for(;t<e.length&&ys(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&ys(e[t].value);)t+=1;return t}function tW(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function rW(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=nW(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 nW(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 sW(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 Wl=E(()=>{"use strict";ye();mv();Zg();Uo();eh();Gt()});function p0(e,t={}){let r=oW(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=rh(o),l=rh(i),u=rh(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>dW(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:nh(p.length,c)+nh(p.tokens.length,l)+nh(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+lW(p.tokens,n,r.length)+uW(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 oW(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(u0(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(u0(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function u0(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:iW(n),tokens:aW(n),numbers:cW(n),length:n.length}}function iW(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 aW(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function cW(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function lW(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 uW(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function rh(e){let t=d0(e),r=d0(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function nh(e,t){return Math.abs(e-t.median)/t.mad}function d0(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 dW(e,t,r,n){return e<n&&r<t}var f0=E(()=>{"use strict"});var sh={};ne(sh,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>rr,GIT_LOG_MACHINE_FIELDS:()=>g0,StructuredUsageError:()=>Jl,cleanStatusPayload:()=>w0,recoveryInstruction:()=>Rt,renderGitContract:()=>h0,runGitWrapper:()=>fW});import{spawn as pW}from"node:child_process";async function fW(e,t){let r=y0(e),n=b0(r.argv),s=await yW(n,r.argv.slice(1));return h0(e,s,t)}async function h0(e,t,r){let n=y0(e);if((t.status??0)!==0||t.signal){let d=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=b0(n.argv),o;try{o=bW(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof Vl)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(mW(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=DW(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 ${Rt(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=Xl(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=Xl(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())}}};Q0.Parser=ug});var rO=I(Di=>{"use strict";var X0=Qh(),MW=Oi(),Ni=Pi(),BW=zm(),jW=K(),qW=lg(),Z0=dg();function eO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new qW.LineCounter||null,prettyErrors:t}}function UW(e,t={}){let{lineCounter:r,prettyErrors:n}=eO(t),s=new Z0.Parser(r?.addNewLine),o=new X0.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Ni.prettifyError(e,r)),a.warnings.forEach(Ni.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function tO(e,t={}){let{lineCounter:r,prettyErrors:n}=eO(t),s=new Z0.Parser(r?.addNewLine),o=new X0.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 Ni.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Ni.prettifyError(e,r)),i.warnings.forEach(Ni.prettifyError(e,r))),i}function HW(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=tO(e,r);if(!s)return null;if(s.warnings.forEach(o=>BW.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 WW(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 jW.isDocument(e)&&!n?e.toString(r):new MW.Document(e,n,r).toString(r)}Di.parse=HW;Di.parseAllDocuments=UW;Di.parseDocument=tO;Di.stringify=WW});var sO=I(X=>{"use strict";var JW=Qh(),VW=Oi(),KW=Ph(),pg=Pi(),zW=pi(),Br=K(),YW=$r(),QW=le(),XW=Dr(),ZW=Fr(),eJ=Yl(),tJ=ag(),rJ=lg(),nJ=dg(),eu=rO(),nO=ci();X.Composer=JW.Composer;X.Document=VW.Document;X.Schema=KW.Schema;X.YAMLError=pg.YAMLError;X.YAMLParseError=pg.YAMLParseError;X.YAMLWarning=pg.YAMLWarning;X.Alias=zW.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=YW.Pair;X.Scalar=QW.Scalar;X.YAMLMap=XW.YAMLMap;X.YAMLSeq=ZW.YAMLSeq;X.CST=eJ;X.Lexer=tJ.Lexer;X.LineCounter=rJ.LineCounter;X.Parser=nJ.Parser;X.parse=eu.parse;X.parseAllDocuments=eu.parseAllDocuments;X.parseDocument=eu.parseDocument;X.stringify=eu.stringify;X.visit=nO.visit;X.visitAsync=nO.visitAsync});import{isUtf8 as sJ}from"node:buffer";import{spawnSync as oJ}from"node:child_process";import{isDeepStrictEqual as oO}from"node:util";function fg(e,t={}){if(e.length===0||!sJ(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=iJ(n,t.decode??z,t.runTq??aJ)??cJ(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!oO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function iJ(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 oO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function aJ(e,t,r){let n=oJ("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 cJ(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,iO.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 iO,mg=E(()=>{"use strict";V();iO=ta(sO(),1)});async function yg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),Ep)),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 lJ(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function lJ(e,t){let r=uJ(t.command)?e:fg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=gg(t.sizeThresholdBytes,8*1024),s=gg(t.repetitionThresholdRows,20),o=gg(t.topRows,t.level==="terse"?5:12),i=dJ(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await aO(e,t);if(!y)return{stdout:r,lossy:!1};let _=[...i].sort((T,C)=>C.size_kib-T.size_kib||T.path.localeCompare(C.path)),w=Math.min(o,_.length),k=_.length-w,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:_.length,rows_kept:w,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${w}; ${k} omitted`]},summary:{total_size_kib:_.reduce((T,C)=>T+C.size_kib,0),largest_size_kib:_[0]?.size_kib??0},rows:_.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=fJ(pJ(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=mJ(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 aO(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:hJ(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 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)}
249
251
  `;return{stdout:Buffer.from(`${M(a.payload)}
250
- ${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 Rt(e){return e.startsWith("el:")?`rsp show ${e}`:e}function y0(e){let{argv:t,query:r,full:n}=sw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new Jl(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function mW(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!gW(e)||n.level!=="lossless")return!0;let s=NW(n.heavyGitByteThreshold,rr);return Buffer.byteLength(t)<=s}function gW(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function b0(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 hW(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${g0.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 yW(e,t){let r=pW("git",hW(e,t),{stdio:["ignore","pipe","pipe"]}),n=Ye();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 bW(e,t,r,n){switch(e){case"status":return wW(t,r,n);case"log":return xW(t,r,n);case"diff":return OW(t,r,n);case"commit":return Fr(CW(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return Fr(AW(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return PW(t,r,n);case"branch":return IW(t,r,n);case"show":return LW(t,r,n)}}function wW(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of _W(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=SW(l),o=!0;continue}let u=EW(l);if(u){o=!0,s.push(u);continue}let d=kW(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return w0(e.join(" "),n);throw new Vl("git-status-unparseable")}let a=Ae(s,r),c=_0(a,"state");return Fr({command:e.join(" "),branch:n,rows:a,summary:TW(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function _W(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function EW(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return $i(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(10).join(" "),r)}return e.startsWith("? ")?$i(e.slice(2),"??"):null}function kW(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?$i(RW(e.slice(3),t),t):null}function $i(e,t){let r=m0(t[0]??"."),n=m0(t[1]??".");return{path:vW(e),index:r,worktree:n,state:GW(`${r}${n}`)}}function m0(e){return e===" "?".":e}function SW(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function RW(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function vW(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function TW(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 w0(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 xW(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=Ae(n,r);return Fr({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 OW(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=Ae(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 Fr({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 CW(e,t){let r=t.split(`
251
- `)[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 AW(e,t){let r=t.split(`
252
- `).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 PW(e,t,r){let n=t.split(`
253
- `),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=Ae(s,r),a=_0(i,"author");return Fr({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 IW(e,t,r){let n=t.split(`
254
- `).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=Ae(n,r),o=s.find(i=>i.current)?.name??"";return Fr({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 LW(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 y of i.split(`
255
- `)){let _=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(y);if(!_)continue;let k=_[3]??"";f.push({path:(_[1]??"").trim(),changed:Number(_[2]??0),added:[...k].filter(v=>v==="+").length,deleted:[...k].filter(v=>v==="-").length,binary:k.startsWith("Bin")})}let m=Ae(f,r),h=0,w=0,b=0;for(let y of m)h+=typeof y.changed=="number"?y.changed:0,w+=typeof y.added=="number"?y.added:0,b+=typeof y.deleted=="number"?y.deleted:0;return Fr({command:e.join(" "),commit:a??"",short:c??"",author:l??"",date:u??"",subject:d??"",body_lines:p.trim()?p.trim().split(`
256
- `).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${h} changed, +${w} -${b}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function Fr(e,t,r){return t?Kt(e,r):e}function GW(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function _0(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function NW(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function DW(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 g0,Jl,Vl,Tn=E(()=>{"use strict";ye();J();Be();no();mt();Be();g0=["%h","%an","%as","%s"];Jl=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return $b(this.command,this.flag,this.validFlags,`${this.command} --help`)}},Vl=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var ch={};ne(ch,{NORMALIZATION_ALLOWLIST:()=>x0,NORMALIZE_ANSI:()=>zl,NORMALIZE_BLANK_LINES:()=>Xl,NORMALIZE_CR_PROGRESS:()=>Yl,NORMALIZE_JSON_TOON:()=>T0,NORMALIZE_TRAILING_WHITESPACE:()=>Ql,crushJsonArrayItems:()=>Fi,formatCodexNormalizeDecision:()=>I0,formatNormalizeDecision:()=>P0,hookDecisionFromClaudePostExecJson:()=>O0,hookDecisionFromCodexPostExecJson:()=>C0,normalizeOutput:()=>Zl,renderGenericJsonLane:()=>ih,runClaudePostExecHook:()=>MW,runCodexPostExecHook:()=>BW,transcodeJsonToToon:()=>v0});import{readFileSync as Kl}from"node:fs";function v0(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 oh(o,a)?i.trimEnd():e}async function ih(e,t={}){let r=HW(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=R0(t.minTokens,$W),i=R0(t.maxItems,FW);if(!(s>i&&zW(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Fi)(n,i)}catch(h){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:YW(h)}}}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(`
257
- `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Fi(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=WW(e),s=new Set;n&&e.forEach((a,c)=>{ah(a)!==n&&s.add(c)});let o=JW(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 Zl(e){let t=e;for(let r of x0)t=r.apply(t);return t}async function O0(e,t){return await A0(e,t)}async function C0(e,t){return await A0(e,t)}async function A0(e,t){let r=UW(e),n=QW(r,["cwd"])||t.cwd;if(!await(t.isEnabled??qW)(n))return{kind:"passthrough",reason:"disabled"};let o=XW(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??Zl)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function P0(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function I0(e){return{stdout:"",status:0}}async function MW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await O0(t,{cwd:process.cwd()}),n=P0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function BW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await C0(t,{cwd:process.cwd()}),n=I0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function jW(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&&E0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&E0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function E0(e){return e>=32&&e<=63}function qW(e){return Ie(e,process.env).enabled}function UW(e){try{let t=JSON.parse(e);return Ns(t)?t:{}}catch{return{}}}function HW(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Ns(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 WW(e){let t=new Map;for(let s of e){let o=ah(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 ah(e){return Array.isArray(e)?"array":Ns(e)?Object.keys(e).sort().map(t=>`${t}:${k0(e[t])}`).join("|"):k0(e)}function JW(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&ah(s)!==t))for(let[i,a]of L0(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 VW(s))r.add(o);for(let o of KW(s))r.add(o)}return r}function VW(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=S0(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=S0(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 KW(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 L0(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Ns(e)?Object.entries(e).flatMap(([r,n])=>L0(n,t?`${t}.${r}`:r)):[]}function k0(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function S0(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 zW(e){return Math.ceil(e.length/4)}function R0(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function YW(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 QW(e,t){let r=e;for(let n of t){if(!Ns(r))return"";r=r[n]}return typeof r=="string"?r:""}function XW(e,t){let r=e[t];return Ns(r)?r:null}function Ns(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function oh(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)=>oh(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)&&oh(r[i],n[i]))}var zl,Yl,Ql,Xl,T0,$W,FW,x0,Mi=E(()=>{"use strict";J();Be();zl={id:"ansi",apply:jW},Yl={id:"cr-progress",apply:e=>e.split(`
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 bO(e){let{argv:t,query:r,full:n}=Sw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new nu(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function qJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!UJ(e)||n.level!=="lossless")return!0;let s=l2(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function UJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function wO(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 HJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${gO.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 WJ(e,t){let r=BJ("git",HJ(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 JJ(e,t,r,n){switch(e){case"status":return VJ(t,r,n);case"log":return t2(t,r,n);case"diff":return r2(t,r,n);case"commit":return jr(n2(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return jr(s2(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return o2(t,r,n);case"branch":return i2(t,r,n);case"show":return a2(t,r,n)}}function VJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of KJ(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=QJ(l),o=!0;continue}let u=zJ(l);if(u){o=!0,s.push(u);continue}let d=YJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return _O(e.join(" "),n);throw new su("git-status-unparseable")}let a=Le(s,r),c=EO(a,"state");return jr({command:e.join(" "),branch:n,rows:a,summary:e2(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function KJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function zJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Mi(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Mi(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Mi(t.slice(10).join(" "),r)}return e.startsWith("? ")?Mi(e.slice(2),"??"):null}function YJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Mi(XJ(e.slice(3),t),t):null}function Mi(e,t){let r=hO(t[0]??"."),n=hO(t[1]??".");return{path:ZJ(e),index:r,worktree:n,state:c2(`${r}${n}`)}}function hO(e){return e===" "?".":e}function QJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function XJ(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function ZJ(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function e2(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 _O(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 t2(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 r2(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 n2(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 s2(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 o2(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=EO(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 i2(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 a2(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 _ of i.split(`
257
+ `)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(_);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 _ of m)g+=typeof _.changed=="number"?_.changed:0,b+=typeof _.added=="number"?_.added:0,y+=typeof _.deleted=="number"?_.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 c2(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function EO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function l2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function u2(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 gO,nu,su,An=E(()=>{"use strict";we();V();Ue();io();bt();Ue();gO=["%h","%an","%as","%s"];nu=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return rw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},su=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var xg={};se(xg,{NORMALIZATION_ALLOWLIST:()=>OO,NORMALIZE_ANSI:()=>iu,NORMALIZE_BLANK_LINES:()=>lu,NORMALIZE_CR_PROGRESS:()=>au,NORMALIZE_JSON_TOON:()=>xO,NORMALIZE_TRAILING_WHITESPACE:()=>cu,crushJsonArrayItems:()=>Bi,formatCodexNormalizeDecision:()=>LO,formatNormalizeDecision:()=>IO,hookDecisionFromClaudePostExecJson:()=>AO,hookDecisionFromCodexPostExecJson:()=>CO,normalizeOutput:()=>uu,renderGenericJsonLane:()=>vg,runClaudePostExecHook:()=>f2,runCodexPostExecHook:()=>m2,transcodeJsonToToon:()=>TO});import{readFileSync as ou}from"node:fs";function TO(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 Rg(o,a)?i.trimEnd():e}async function vg(e,t={}){let r=b2(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=vO(t.minTokens,d2),i=vO(t.maxItems,p2);if(!(s>i&&S2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Bi)(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:R2(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 Bi(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=w2(e),s=new Set;n&&e.forEach((a,c)=>{Tg(a)!==n&&s.add(c)});let o=_2(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 uu(e){let t=e;for(let r of OO)t=r.apply(t);return t}async function AO(e,t){return await PO(e,t)}async function CO(e,t){return await PO(e,t)}async function PO(e,t){let r=y2(e),n=v2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??g2)(n))return{kind:"passthrough",reason:"disabled"};let o=T2(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??uu)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function IO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function LO(e){return{stdout:"",status:0}}async function f2(e){let t=e?ou(e,"utf8"):ou(0,"utf8"),r=await AO(t,{cwd:process.cwd()}),n=IO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function m2(e){let t=e?ou(e,"utf8"):ou(0,"utf8"),r=await CO(t,{cwd:process.cwd()}),n=LO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function h2(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&&kO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&kO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function kO(e){return e>=32&&e<=63}function g2(e){return $e(e,process.env).enabled}function y2(e){try{let t=JSON.parse(e);return Fs(t)?t:{}}catch{return{}}}function b2(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 w2(e){let t=new Map;for(let s of e){let o=Tg(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 Tg(e){return Array.isArray(e)?"array":Fs(e)?Object.keys(e).sort().map(t=>`${t}:${SO(e[t])}`).join("|"):SO(e)}function _2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Tg(s)!==t))for(let[i,a]of GO(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 E2(s))r.add(o);for(let o of k2(s))r.add(o)}return r}function E2(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=RO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=RO(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 k2(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 GO(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])=>GO(n,t?`${t}.${r}`:r)):[]}function SO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function RO(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 S2(e){return Math.ceil(e.length/4)}function vO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function R2(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 v2(e,t){let r=e;for(let n of t){if(!Fs(r))return"";r=r[n]}return typeof r=="string"?r:""}function T2(e,t){let r=e[t];return Fs(r)?r:null}function Fs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Rg(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)=>Rg(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)&&Rg(r[i],n[i]))}var iu,au,cu,lu,xO,d2,p2,OO,ji=E(()=>{"use strict";V();Ue();iu={id:"ansi",apply:h2},au={id:"cr-progress",apply:e=>e.split(`
258
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(`
259
- `)},Ql={id:"trailing-whitespace",apply:e=>e.split(`
261
+ `)},cu={id:"trailing-whitespace",apply:e=>e.split(`
260
262
  `).map(t=>t.replace(/[ \t]+$/,"")).join(`
261
- `)},Xl={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
263
+ `)},lu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
262
264
 
263
- `)};T0={id:"json-to-toon",apply:e=>v0(e)},$W=200,FW=15;x0=[zl,Yl,Ql,Xl,T0]});var qi={};ne(qi,{parseExecCommandLine:()=>M0,renderExecContract:()=>F0,runExecWrapper:()=>nJ});import{isUtf8 as ZW}from"node:buffer";import{spawn as eJ}from"node:child_process";async function nJ(e,t){let r=M0(e),n=await sJ(r);return await F0(r,n,t)}async function F0(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=Me(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=oJ(n),i=o.kind==="text"?Buffer.from(o.text):n,a=vJ(r.heavyByteThreshold,tJ);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"?aJ(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):cJ(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 M0(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 sJ(e){let t=eJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=Ye();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 oJ(e){return ZW(e)?{kind:"text",text:iJ(e.toString("utf8"))}:{kind:"bytes"}}function iJ(e){let t=e;for(let r of[zl,Yl,Ql,Xl])t=r.apply(t);return t}function aJ(e,t,r,n,s,o=bJ,i=Fi){let c=Math.max(1,Math.floor((n==="terse"?$0:rJ)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=yJ(e,c,u,o),p=lJ(e),f=uJ(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=B0(s,p,t,RJ(l),r,f.summary),h=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:J0(d.error)}:f.degradation;return{text:W0(m),degradation:h}}function cJ(e,t,r,n){let s=Math.max(1,Math.floor($0/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:W0(B0(n,"bytes",t,0,r,o))}}function B0(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:Rt(s)}}}function lJ(e){let t=e.trim();return t?q0(t)?"json":U0(e)?"jsonl":wJ(e)?"unified-diff":H0(e)?"tabular":_J(e)?"log-like":EJ(e)?"prose":"untyped":"untyped"}function uJ(e,t,r,n,s,o,i=Fi){switch(e){case"json":return dJ(t,i);case"jsonl":return{summary:pJ(t)};case"unified-diff":return{summary:fJ(t)};case"tabular":return{summary:mJ(t)};case"log-like":return{summary:gJ(t,o)};case"prose":return{summary:hJ(t)};case"bytes":return{summary:{}};case"untyped":return{summary:j0(r,n,s,o)}}}function dJ(e,t){let r=q0(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(Mr),item_keys:uh(r)}}}catch(n){return{summary:N0(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:J0(n)}}}return{summary:N0(r)}}if(ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Mr(o)]))}}}return{summary:{root_type:typeof r,value:Mr(r)}}}function N0(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Mr),item_keys:uh(e)}}function pJ(e){let t=U0(e)??[],r=kJ(t,"level");return{records:t.length,keys:uh(t),levels:r,first:Mr(t[0]),last:Mr(t.at(-1))}}function fJ(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 mJ(e){let t=H0(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:j0(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function gJ(e,t){let r=Bi(e);return{entries:r.length,levels:SJ(r),first:xn(r[0]??""),last:xn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:xn(n.text)}))}}function hJ(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:xn(t[0]??""),closing:xn(t.at(-1)??"")}}function j0(e,t,r,n){let s=D0(e.subarray(0,t)),o=D0(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:xn(i.text)}))}}function yJ(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function bJ(e,t){return p0(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function q0(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return ji(r)||Array.isArray(r)?r:null}catch{return null}}function U0(e){let t=Bi(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 wJ(e){let t=Bi(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 H0(e){let t=Bi(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 _J(e){let t=Bi(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 EJ(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 Bi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function uh(e){let t=new Map;for(let r of e)if(ji(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function kJ(e,t){let r=new Map;for(let n of e){if(!ji(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function SJ(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 Mr(e){return typeof e=="string"?xn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Mr):ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Mr(r)])):String(e)}function xn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=G0?t:`${t.slice(0,G0-1)}\u2026`}function W0(e){let t=M(e).trimEnd(),r=z(t);if(!lh(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
264
- `}function lh(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)=>lh(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)&&lh(r[i],n[i]))}function ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J0(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 D0(e){return e.toString("utf8").replace(/�$/g,"")}function RJ(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 vJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var tJ,rJ,$0,G0,Ui=E(()=>{"use strict";ye();J();f0();Tn();Mi();mt();tJ=8*1024,rJ=2*1024,$0=1024,G0=240});var uu={};ne(uu,{RSP_WRAPPER_CAPABILITIES:()=>Ji,_testOnlyResetBinaryState:()=>DJ,formatCodexHookDecision:()=>oO,formatHookDecision:()=>sO,hookDecisionFromClaudePreExecJson:()=>HJ,hookDecisionFromCodexPreExecJson:()=>WJ,rewriteCommand:()=>rO,rewriteTableFromCapabilities:()=>tO,runClaudePreExecHook:()=>JJ,runCodexPreExecHook:()=>VJ});import{accessSync as IJ,constants as LJ,existsSync as GJ,readFileSync as au}from"node:fs";import{fileURLToPath as NJ}from"node:url";function DJ(){iu=void 0,dh=!1}function $J(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return IJ(`${t}/rsp`,LJ.X_OK),!0}catch{}return!1}function FJ(e){return iu===void 0&&(iu=e()),iu}function MJ(){dh||(dh=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function tO(e){let t=new Map;for(let r of e)t.set(d2(r.command),["rsp",...r.wrapper]);return t}function rO(e,t=Di()){let r=qJ(e,t);if(r)return r;let n=r2(e);if(n)return n;let s=e2(e);if(!s)return ou(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&ys(o[0]))return ou(e,t);let i=UJ(s,t);if(i)return i;let a=jJ(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return ou(e,t);let c=[...Ji].sort((d,p)=>p.command.length-d.command.length).find(d=>t2(o,d.command));if(!c)return ou(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=uO(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Tt),...u].join(" "),capabilityId:c.id}}function jJ(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(Tt).join(" "),capabilityId:"gh:api:read"}}function qJ(e,t){let r=t.map(Tt).join(" "),n=lu(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 ${Tt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function UJ(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=uO(e.redirectSuffix),o=t.map(Tt);return n==="cat"&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",Tt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Tt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&su(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Tt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&su(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Tt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function su(e){return!!e&&!e.startsWith("-")}async function HJ(e,t){return await nO(e,t)}async function WJ(e,t){return await nO(e,t)}async function nO(e,t){return(await fh(e,t,"pre-exec")).decision}async function fh(e,t,r){let n=mO(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Ds({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=vt(s,["cwd"])||vt(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??KJ)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:ph(s),decision:m,reason:"disabled"})}}let a=ph(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??Di();if(!FJ(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||$J()))){MJ();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=Ie(o,process.env).proxyEnabled?n2(a,c):(t.rewrite??(m=>rO(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:Ds({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await YJ(o,t.wakeResident??zJ),{decision:p,telemetryRoot:o,event:Ds({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function sO(e){return e.kind==="rewrite"?iO(e.command):{stdout:"",status:0}}function oO(e){return e.kind==="rewrite"?iO(e.command):{stdout:"",status:0}}function iO(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
265
- `,status:0}}async function JJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await fh(t,{cwd:process.cwd()},"claude-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;cO("claude-pre-exec",n);let s=sO(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),aO("claude-pre-exec",t,r)),lO("claude-pre-exec",r),0}}async function VJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await fh(t,{cwd:process.cwd()},"codex-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;cO("codex-pre-exec",n);let s=oO(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),aO("codex-pre-exec",t,r)),lO("codex-pre-exec",r),0}}function cu(e,t){fn(e,t).catch(()=>{})}function Ds(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:e.hook,command:t||"unknown",command_family:ct(t),decision:r?"contributed":"passed",reason:e.reason,capability_id:r,decision_ms:e.decisionMs}}function aO(e,t,r){let n=mO(t),s=n.ok?ph(n.payload):"";return{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:ct(s),decision:"failed-open",reason:"hook-exception",error:mh(r)}}function KJ(e){return Ie(e,process.env).enabled}async function zJ(e){let t=Ie(e,process.env);if(!t.enabled||!ZJ(t))return;let r=tt(e);await Oa(r,XJ(t))}async function YJ(e,t){try{await Promise.resolve(t(e))}catch(r){QJ(r)}}function cO(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
265
+ `)};xO={id:"json-to-toon",apply:e=>TO(e)},d2=200,p2=15;OO=[iu,au,cu,lu,xO]});var Hi={};se(Hi,{parseExecCommandLine:()=>BO,renderExecContract:()=>MO,runExecWrapper:()=>P2});import{isUtf8 as x2}from"node:buffer";import{spawn as O2}from"node:child_process";async function P2(e,t){let r=BO(e),n=await I2(r);return await MO(r,n,t)}async function MO(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=L2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=Z2(r.heavyByteThreshold,A2);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"?$2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):N2(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 BO(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 I2(e){let t=O2(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 L2(e){return x2(e)?{kind:"text",text:G2(e.toString("utf8"))}:{kind:"bytes"}}function G2(e){let t=e;for(let r of[iu,au,cu,lu])t=r.apply(t);return t}function $2(e,t,r,n,s,o=J2,i=Bi){let c=Math.max(1,Math.floor((n==="terse"?FO:C2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=W2(e,c,u,o),p=D2(e),f=F2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=jO(s,p,t,X2(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:VO(d.error)}:f.degradation;return{text:JO(m),degradation:g}}function N2(e,t,r,n){let s=Math.max(1,Math.floor(FO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:JO(jO(n,"bytes",t,0,r,o))}}function jO(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function D2(e){let t=e.trim();return t?UO(t)?"json":HO(e)?"jsonl":V2(e)?"unified-diff":WO(e)?"tabular":K2(e)?"log-like":z2(e)?"prose":"untyped":"untyped"}function F2(e,t,r,n,s,o,i=Bi){switch(e){case"json":return M2(t,i);case"jsonl":return{summary:B2(t)};case"unified-diff":return{summary:j2(t)};case"tabular":return{summary:q2(t)};case"log-like":return{summary:U2(t,o)};case"prose":return{summary:H2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:qO(r,n,s,o)}}}function M2(e,t){let r=UO(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:Ag(r)}}}catch(n){return{summary:NO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:VO(n)}}}return{summary:NO(r)}}if(Ui(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 NO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(qr),item_keys:Ag(e)}}function B2(e){let t=HO(e)??[],r=Y2(t,"level");return{records:t.length,keys:Ag(t),levels:r,first:qr(t[0]),last:qr(t.at(-1))}}function j2(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 q2(e){let t=WO(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:qO(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function U2(e,t){let r=qi(e);return{entries:r.length,levels:Q2(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 H2(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 qO(e,t,r,n){let s=DO(e.subarray(0,t)),o=DO(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 W2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function J2(e,t){return fO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function UO(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Ui(r)||Array.isArray(r)?r:null}catch{return null}}function HO(e){let t=qi(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 V2(e){let t=qi(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 WO(e){let t=qi(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 K2(e){let t=qi(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 z2(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 qi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Ag(e){let t=new Map;for(let r of e)if(Ui(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 Y2(e,t){let r=new Map;for(let n of e){if(!Ui(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 Q2(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):Ui(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<=$O?t:`${t.slice(0,$O-1)}\u2026`}function JO(e){let t=M(e).trimEnd(),r=z(t);if(!Og(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
266
+ `}function Og(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)=>Og(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)&&Og(r[i],n[i]))}function Ui(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function VO(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 DO(e){return e.toString("utf8").replace(/�$/g,"")}function X2(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 Z2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var A2,C2,FO,$O,Wi=E(()=>{"use strict";we();V();mO();An();ji();bt();A2=8*1024,C2=2*1024,FO=1024,$O=240});var Eu={};se(Eu,{RSP_WRAPPER_CAPABILITIES:()=>Ki,_testOnlyResetBinaryState:()=>uV,formatCodexHookDecision:()=>iA,formatHookDecision:()=>oA,hookDecisionFromClaudePreExecJson:()=>bV,hookDecisionFromCodexPreExecJson:()=>wV,rewriteCommand:()=>nA,rewriteTableFromCapabilities:()=>rA,runClaudePreExecHook:()=>_V,runCodexPreExecHook:()=>EV});import{accessSync as iV,constants as aV,existsSync as cV,readFileSync as bu}from"node:fs";import{fileURLToPath as lV}from"node:url";function uV(){yu=void 0,Cg=!1}function dV(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return iV(`${t}/rsp`,aV.X_OK),!0}catch{}return!1}function pV(e){return yu===void 0&&(yu=e()),yu}function fV(){Cg||(Cg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function rA(e){let t=new Map;for(let r of e)t.set(MV(r.command),["rsp",...r.wrapper]);return t}function nA(e,t=Fi()){let r=gV(e,t);if(r)return r;let n=CV(e);if(n)return n;let s=OV(e);if(!s)return gu(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&_s(o[0]))return gu(e,t);let i=yV(s,t);if(i)return i;let a=hV(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return gu(e,t);let c=[...Ki].sort((d,p)=>p.command.length-d.command.length).find(d=>AV(o,d.command));if(!c)return gu(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=dA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function hV(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 gV(e,t){let r=t.map(Pt).join(" "),n=_u(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 yV(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=dA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&hu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&hu(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])&&hu(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])&&hu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function hu(e){return!!e&&!e.startsWith("-")}async function bV(e,t){return await sA(e,t)}async function wV(e,t){return await sA(e,t)}async function sA(e,t){return(await Ig(e,t,"pre-exec")).decision}async function Ig(e,t,r){let n=hA(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??kV)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:Pg(s),decision:m,reason:"disabled"})}}let a=Pg(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??Fi();if(!pV(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||dV()))){fV();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?PV(a,c):(t.rewrite??(m=>nA(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 RV(o,t.wakeResident??SV),{decision:p,telemetryRoot:o,event:Ms({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function oA(e){return e.kind==="rewrite"?aA(e.command):{stdout:"",status:0}}function iA(e){return e.kind==="rewrite"?aA(e.command):{stdout:"",status:0}}function aA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
267
+ `,status:0}}async function _V(e){let t="";try{t=e?bu(e,"utf8"):bu(0,"utf8");let r=await Ig(t,{cwd:process.cwd()},"claude-pre-exec");wu(r.telemetryRoot,r.event);let n=r.decision;lA("claude-pre-exec",n);let s=oA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return wu(process.cwd(),cA("claude-pre-exec",t,r)),uA("claude-pre-exec",r),0}}async function EV(e){let t="";try{t=e?bu(e,"utf8"):bu(0,"utf8");let r=await Ig(t,{cwd:process.cwd()},"codex-pre-exec");wu(r.telemetryRoot,r.event);let n=r.decision;lA("codex-pre-exec",n);let s=iA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return wu(process.cwd(),cA("codex-pre-exec",t,r)),uA("codex-pre-exec",r),0}}function wu(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 cA(e,t,r){let n=hA(t),s=n.ok?Pg(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:Lg(r)}}function kV(e){return $e(e,process.env).enabled}async function SV(e){let t=$e(e,process.env);if(!t.enabled||!xV(t))return;let r=st(e);await Ca(r,TV(t))}async function RV(e,t){try{await Promise.resolve(t(e))}catch(r){vV(r)}}function lA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
266
268
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
267
- `)}}function lO(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${mh(t)}
268
- `)}function QJ(e){qd(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${mh(e)}
269
- `)}function mh(e){return e instanceof Error?e.name||"Error":typeof e}function XJ(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 ZJ(e){if(!e.storeUri.startsWith("file://"))return!0;try{return GJ(NJ(e.storeUri))}catch{return!1}}function ph(e){return vt(e,["tool_input","command"])||vt(e,["tool_input","cmd"])||vt(e,["tool_input","args","command"])||vt(e,["input","command"])||vt(e,["input","cmd"])||vt(e,["arguments","command"])||vt(e,["arguments","cmd"])||vt(e,["command"])||vt(e,["cmd"])}function e2(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=lu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&ys(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 lu(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 t2(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function r2(e){let t=lu(e.trim()).map(r=>r.text);return mn(t)?{kind:"passthrough",reason:BJ}:null}function uO(e){return e.map(t=>t.text)}function Tt(e){return/[^\w@%+=:,./-]/.test(e)?gh(e):e}function n2(e,t){let r=o2(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Tt).join(" ")} proxy -- ${gh(e.trim())}`,capabilityId:"proxy:universal"}}function s2(e){if(!process.argv[1])return!1;let t=lu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function o2(e){let t=e.trim();if(!t)return"missing-command";if(pO(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=qo(jo(t)[0]??"")[0];if(r==="rsp"||s2(t))return"opt-out";if(r&&dO.has(r))return"interactive"}function ou(e,t){let r=e.trim();return i2(r)?{kind:"rewrite",command:`${t.map(Tt).join(" ")} exec -- ${gh(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function i2(e){return!(!e||!a2(e)||!c2(e)||pO(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||l2(e,"rsp")||fO(e,dO)||u2(e))}function a2(e){return/&&|[;|]/.test(e)}function pO(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 c2(e){return jo(e).some(t=>{let r=qo(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 fO(e,t){return jo(e).some(r=>{let n=qo(r)[0];return n?t.has(n):!1})}function l2(e,t){return fO(e,new Set([t]))}function u2(e){return jo(e).some(t=>{let r=qo(t);return r[0]==="grep"&&r.includes("-q")})}function gh(e){return`'${e.replace(/'/g,"'\\''")}'`}function d2(e){return e.join("\0")}function mO(e){try{let t=JSON.parse(e);return gO(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function vt(e,t){let r=e;for(let n of t){if(!gO(r))return"";r=r[n]}return typeof r=="string"?r:""}function gO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var iu,dh,Ji,Gne,BJ,dO,Vi=E(()=>{"use strict";Uo();Be();gt();Zt();eh();Gt();dh=!1;Ji=[{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"]}],Gne=tO(Ji),BJ="lossless-gh-json-jq";dO=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var kO={};ne(kO,{fastTelemetryRoot:()=>yh,isFastGitStatus:()=>du,runFastGitStatus:()=>pu});import{spawnSync as _O}from"node:child_process";import{existsSync as EO,readdirSync as _2}from"node:fs";function du(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function pu(){if(E2(process.cwd()))return{stdout:hh(),stderr:Buffer.alloc(0),status:0,signal:null};if(_O("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:hh(),stderr:Buffer.alloc(0),status:0,signal:null};let t=_O("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?hh():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function yh(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(gt(),sn));return t(e).rootDir}catch{return e}}function hh(){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"})}
270
- `)}function E2(e){try{return!EO(`${e}/.git`)||EO(`${e}/.git/index`)?!1:_2(e).every(t=>t===".git")}catch{return!1}}var bh=E(()=>{"use strict";Vt()});async function Fs(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 vO(e,t,r,n={}){F2(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=M2(["id","number",...r]).map(p=>B2($2[p],6)).join(`
269
+ `)}}function uA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Lg(t)}
270
+ `)}function vV(e){Zd(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Lg(e)}
271
+ `)}function Lg(e){return e instanceof Error?e.name||"Error":typeof e}function TV(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 xV(e){if(!e.storeUri.startsWith("file://"))return!0;try{return cV(lV(e.storeUri))}catch{return!1}}function Pg(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 OV(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=_u(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 _u(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 AV(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function CV(e){let t=_u(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:mV}:null}function dA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?Gg(e):e}function PV(e,t){let r=LV(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${Gg(e.trim())}`,capabilityId:"proxy:universal"}}function IV(e){if(!process.argv[1])return!1;let t=_u(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function LV(e){let t=e.trim();if(!t)return"missing-command";if(fA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Ho(Uo(t)[0]??"")[0];if(r==="rsp"||IV(t))return"opt-out";if(r&&pA.has(r))return"interactive"}function gu(e,t){let r=e.trim();return GV(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${Gg(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function GV(e){return!(!e||!$V(e)||!NV(e)||fA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||DV(e,"rsp")||mA(e,pA)||FV(e))}function $V(e){return/&&|[;|]/.test(e)}function fA(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 NV(e){return Uo(e).some(t=>{let r=Ho(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 mA(e,t){return Uo(e).some(r=>{let n=Ho(r)[0];return n?t.has(n):!1})}function DV(e,t){return mA(e,new Set([t]))}function FV(e){return Uo(e).some(t=>{let r=Ho(t);return r[0]==="grep"&&r.includes("-q")})}function Gg(e){return`'${e.replace(/'/g,"'\\''")}'`}function MV(e){return e.join("\0")}function hA(e){try{let t=JSON.parse(e);return gA(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(!gA(r))return"";r=r[n]}return typeof r=="string"?r:""}function gA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var yu,Cg,Ki,bie,mV,pA,zi=E(()=>{"use strict";Wo();Ue();wt();nr();wg();Ft();Cg=!1;Ki=[{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"]}],bie=rA(Ki),mV="lossless-gh-json-jq";pA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var SA={};se(SA,{fastTelemetryRoot:()=>Ng,isFastGitStatus:()=>ku,runFastGitStatus:()=>Su});import{spawnSync as EA}from"node:child_process";import{existsSync as kA,readdirSync as KV}from"node:fs";function ku(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Su(){if(zV(process.cwd()))return{stdout:$g(),stderr:Buffer.alloc(0),status:0,signal:null};if(EA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:$g(),stderr:Buffer.alloc(0),status:0,signal:null};let t=EA("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?$g():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Ng(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function $g(){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 zV(e){try{return!kA(`${e}/.git`)||kA(`${e}/.git/index`)?!1:KV(e).every(t=>t===".git")}catch{return!1}}var Dg=E(()=>{"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 TA(e,t,r,n={}){pK(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=fK(["id","number",...r]).map(p=>mK(dK[p],6)).join(`
271
273
  `),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
272
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(`
273
- `);return{kind:e,query:d,aliases:o,labelAliases:i}}function TO(e,t){let r=$s(t),n=$s(r.data),s=$s(n.repository),o=Array.isArray(r.errors)?r.errors.map($s):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(CO(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:AO(l?.message)||"not found"}})}function xO(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: ${jr(o.nodeId)}, labelIds: ${RO(t)}, clientMutationId: ${jr(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: ${jr(o.nodeId)}, labelIds: ${RO(r)}, clientMutationId: ${jr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
274
- `)}}function OO(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${jr(e.nodeId)}, subIssueId: ${jr(s.nodeId)}, clientMutationId: ${jr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
275
- `)}}function wh(e,t){let r=$s(t),n=Array.isArray(r.errors)?r.errors.map($s):[],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,AO(i.message)||"mutation failed")}return s}function F2(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 M2(e){return[...new Set(e)]}function B2(e,t){let r=" ".repeat(t);return e.split(`
275
+ `);return{kind:e,query:d,aliases:o,labelAliases:i}}function xA(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(CA(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:PA(l?.message)||"not found"}})}function OA(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: ${vA(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: ${vA(r)}, clientMutationId: ${Hr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
276
+ `)}}function AA(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 Fg(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,PA(i.message)||"mutation failed")}return s}function pK(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 fK(e){return[...new Set(e)]}function mK(e,t){let r=" ".repeat(t);return e.split(`
276
278
  `).map(n=>`${r}${n}`).join(`
277
- `)}function jr(e){return JSON.stringify(e)}function RO(e){return`[${e.map(jr).join(", ")}]`}function $s(e){return CO(e)?e:{}}function CO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function AO(e){return typeof e=="string"?e:""}var $2,PO=E(()=>{$2={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(`
278
- `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as q2,spawnSync as U2}from"node:child_process";function kh(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function GO(e,t={}){let r=nV(e),n=r.repo??t.repo??process.env.GH_REPO??oV();if(!n||!n.includes("/"))return vh(e,"repository is required; pass --repo owner/repo");let s=t.exec??iV,o=Math.max(1,Math.floor(t.restConcurrency??LO));return r.verb==="issues"||r.verb==="prs"?await J2(r,n,s,o,e):r.verb==="edit-labels"?await K2(r,n,s,o,e):await Y2(r,n,s,o,e)}async function J2(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=NO(e),a=[],c=[];for(let u of Rh(e.numbers,100)){let d=vO(o,u,i.query),p=await Sh(r,t,d.query);if(xh(p))return await V2(e,t,r,n,s);if(p.code!==0){c.push(p.stderr),a.push(...u.map(f=>({number:f,value:{error:dt(p)||`failed to read ${f}`},failed:!0})));continue}a.push(...TO(d,qr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:X2(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return mu({command:gu(s),transport:"graphql",order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
279
- `))}async function V2(e,t,r,n,s){let o=NO(e),i=e.verb==="issues"?"issues":"pulls",a=await Fs(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:dt(u)||"REST fallback failed"}};let d=Ft(qr(u.stdout));if(e.verb==="prs"&&o.output.some(DO)){let p=fe(Ft(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:dt(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:dt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:eV(Ft(qr(f.stdout)),Ft(qr(m.stdout)))}}return{number:l,value:Z2(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return mu({command:gu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function K2(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return vh(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([$O(e.numbers,t,r,n),Fs(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(Ft(qr(f.stdout)).node_id),error:f.code===0?"":dt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Bs(s,e.numbers,Th(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 Rh(d,100)){let f=xO(p,e.add.map(w=>c.get(w)),e.remove.map(w=>c.get(w))),m=await Sh(r,t,f.query);if(xh(m))return await z2(e,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"label mutation failed"});continue}let h=wh(f.aliases,qr(m.stdout));for(let w of p){let y=f.aliases.filter(_=>_.number===w.number).map(_=>h.get(_.alias)).find(Boolean);u.set(w.number,y?{error:y}:{ok:!0})}}return Bs(s,e.numbers,FO(e.numbers,u),"graphql")}async function z2(e,t,r,n,s){let o=await Fs(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:dt(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:dt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Bs(s,e.numbers,Ki(o),"rest-fallback",n)}async function Y2(e,t,r,n,s){if(e.numbers.length<2)return vh(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await $O(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Bs(s,i,Th(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 Rh(d,100)){let f=OO({number:o,nodeId:l},p),m=await Sh(r,t,f.query);if(xh(m))return await Q2(o,i,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"sub-issue mutation failed"});continue}let h=wh(f.aliases,qr(m.stdout));for(let w of f.aliases){let b=h.get(w.alias);u.set(w.number,b?{error:b}:{ok:!0})}}return Bs(s,i,FO(i,u),"graphql")}async function Q2(e,t,r,n,s,o){let i=await Fs(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:dt(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:dt(u)||"REST link failed"}}});return Bs(o,t,Ki(i),"rest-fallback",s)}function Bs(e,t,r,n,s){let o=Object.values(r).filter(i=>js(i)&&"error"in i).length;return mu({command:gu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??LO}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function NO(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return IO(r,H2),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return IO(t,W2),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function IO(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function X2(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=_h(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=rV(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=MO(t[s]));return"number"in n||(n.number=Oh(t.number)),n}function Z2(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(js):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(DO(s))n[s]=Ft(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]=MO(t[s]);return"number"in n||(n.number=Oh(t.number)),n}function eV(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(js):[],n=Array.isArray(t.statuses)?t.statuses.filter(js):[],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()||tV(s.map(o=>o.state)),contexts:s}}function tV(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 DO(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function rV(e){let t=_h(e).at(-1),r=Ft(Ft(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:_h(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Sh(e,t,r){let[n,s]=sV(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function $O(e,t,r,n){return await Fs(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=Ft(qr(o.stdout)),a=fe(i.node_id),c=Oh(i.id);return o.code!==0||!a?{number:s,error:dt(o)||"REST issue lookup failed"}:{number:s,nodeId:a,databaseId:c>0?c:void 0}})}function Rh(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function nV(e){if(!kh(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(...Ms(e[++a]??""));else if(c.startsWith("--json="))n.push(...Ms(c.slice(7)));else if(c==="--add")s.push(...Ms(e[++a]??""));else if(c.startsWith("--add="))s.push(...Ms(c.slice(6)));else if(c==="--remove")o.push(...Ms(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Ms(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 mu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
280
- `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function vh(e,t){return mu({command:gu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Th(e,t){return Ki(e.map(r=>({number:r,value:t(r)})))}function Ki(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function FO(e,t){return Th(e,r=>t.get(r)??{error:"mutation skipped"})}function xh(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
281
- ${e.stdout}`)}function dt(e){return(e.stderr||e.stdout).trim().split(`
282
- `)[0]?.slice(0,240)??""}function qr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function _h(e){let t=Ft(e).nodes;return Array.isArray(t)?t.filter(js):[]}function MO(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Oh(e){let t=Number(e);return Number.isFinite(t)?t:0}function Ms(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function sV(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function gu(e){return`rsp ${e.join(" ")}`}function oV(){let e=U2("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 iV(e){let t=q2("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ye();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 Ft(e){return js(e)?e:{}}function js(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var LO,H2,W2,BO=E(()=>{"use strict";ye();J();PO();LO=4,H2=new Set(["number","title","state","labels","body"]),W2=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function Ch(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"?aV(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 jO(e,t=st){let r=Ch(e);if(!r){let s=Me(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=Me(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 aV(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 Ah=E(()=>{"use strict";J();Ro();mt()});var Fh={};ne(Fh,{parseGhApiRead:()=>Ch,renderGhContract:()=>VO,runGhWrapper:()=>fV});import{spawn as cV}from"node:child_process";async function fV(e,t){if(kh(e))return await GO(e);if(e[0]==="gh"&&e[1]==="api")return await jO(e);let r=KO(e),n=await gV(r);return VO(e,n,t)}async function VO(e,t,r){if((t.status??0)!==0||t.signal){let f=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=KO(e),s=zi(t.stdout),o=SV(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=PV(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=IV(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 ${Rt(d)}
279
+ `)}function Hr(e){return JSON.stringify(e)}function vA(e){return`[${e.map(Hr).join(", ")}]`}function Bs(e){return CA(e)?e:{}}function CA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function PA(e){return typeof e=="string"?e:""}var dK,IA=E(()=>{dK={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 gK,spawnSync as yK}from"node:child_process";function jg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function $A(e,t={}){let r=PK(e),n=r.repo??t.repo??process.env.GH_REPO??LK();if(!n||!n.includes("/"))return Hg(e,"repository is required; pass --repo owner/repo");let s=t.exec??GK,o=Math.max(1,Math.floor(t.restConcurrency??GA));return r.verb==="issues"||r.verb==="prs"?await _K(r,n,s,o,e):r.verb==="edit-labels"?await kK(r,n,s,o,e):await RK(r,n,s,o,e)}async function _K(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=NA(e),a=[],c=[];for(let u of Ug(e.numbers,100)){let d=TA(o,u,i.query),p=await qg(r,t,d.query);if(Jg(p))return await EK(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(...xA(d,Wr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:TK(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return vu({command:Tu(s),transport:"graphql",order:e.numbers,[e.verb]:Yi(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
281
+ `))}async function EK(e,t,r,n,s){let o=NA(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(DA)){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:OK(qt(Wr(f.stdout)),qt(Wr(m.stdout)))}}return{number:l,value:xK(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return vu({command:Tu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Yi(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function kK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Hg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([FA(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,Wg(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 Ug(d,100)){let f=OA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await qg(r,t,f.query);if(Jg(m))return await SK(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=Fg(f.aliases,Wr(m.stdout));for(let b of p){let _=f.aliases.filter(w=>w.number===b.number).map(w=>g.get(w.alias)).find(Boolean);u.set(b.number,_?{error:_}:{ok:!0})}}return Us(s,e.numbers,MA(e.numbers,u),"graphql")}async function SK(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,Yi(o),"rest-fallback",n)}async function RK(e,t,r,n,s){if(e.numbers.length<2)return Hg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await FA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Us(s,i,Wg(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 Ug(d,100)){let f=AA({number:o,nodeId:l},p),m=await qg(r,t,f.query);if(Jg(m))return await vK(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=Fg(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,MA(i,u),"graphql")}async function vK(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,Yi(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 vu({command:Tu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??GA}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function NA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return LA(r,bK),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return LA(t,wK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function LA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function TK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Mg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=CK(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=BA(t[s]));return"number"in n||(n.number=Vg(t.number)),n}function xK(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(DA(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]=BA(t[s]);return"number"in n||(n.number=Vg(t.number)),n}function OK(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()||AK(s.map(o=>o.state)),contexts:s}}function AK(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 DA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function CK(e){let t=Mg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Mg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function qg(e,t,r){let[n,s]=IK(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function FA(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=Vg(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 Ug(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function PK(e){if(!jg(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 vu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
282
+ `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Hg(e,t){return vu({command:Tu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Wg(e,t){return Yi(e.map(r=>({number:r,value:t(r)})))}function Yi(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function MA(e,t){return Wg(e,r=>t.get(r)??{error:"mutation skipped"})}function Jg(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
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 Mg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Hs):[]}function BA(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Vg(e){let t=Number(e);return Number.isFinite(t)?t:0}function qs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function IK(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Tu(e){return`rsp ${e.join(" ")}`}function LK(){let e=yK("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 GK(e){let t=gK("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 GA,bK,wK,jA=E(()=>{"use strict";we();V();IA();GA=4,bK=new Set(["number","title","state","labels","body"]),wK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function Kg(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"?$K(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 qA(e,t=at){let r=Kg(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 $K(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 zg=E(()=>{"use strict";V();xo();bt()});var ny={};se(ny,{parseGhApiRead:()=>Kg,renderGhContract:()=>KA,runGhWrapper:()=>jK});import{spawn as NK}from"node:child_process";async function jK(e,t){if(jg(e))return await $A(e);if(e[0]==="gh"&&e[1]==="api")return await qA(e);let r=zA(e),n=await UK(r);return KA(e,n,t)}async function KA(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=zA(e),s=Qi(t.stdout),o=QK(n,e,s);if(typeof o=="string")return{stdout:Buffer.from(o),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal};let i=oz(o);if(i){if(!r.store)throw new Error("truncated gh output requires an elision store");let f=await r.store.mint(Buffer.from(i.original),{command:e.join(" "),loss:{level:n.full?"brief":r.level,bytes_elided:i.bytes}});i.target.truncated.handle=f}let a=i?.target.truncated.handle||void 0,c=M(o);if(r.level!=="terse")return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let l=iz(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)}
283
285
  `;return{stdout:Buffer.from(`${M(l.payload)}
284
- ${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 KO(e){let t=ro(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=UO(u[++f]??""):m.startsWith("--fields=")?l=UO(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 mV(p),p}function qO(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?uV[t]:lV[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function UO(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function mV(e){if(e.fields.size===0)return;if(e.action!=="list")throw new hu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=pV[t];for(let n of e.fields)if(!r.includes(n))throw new hu(e,`unknown field: ${n}`,r)}async function gV(e){if(e.action==="combined")return await hV(e);let t=yV(e);if(!t)return await kV(qO(e));let r=await st({...t,command:["gh",...qO(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await bV(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function hV(e){let t=e.target??"",[r,n,s]=await Promise.all([st({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),st({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),st({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=YO(zi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:Xe(zi(s.stdout)).map(_V)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function yV(e){let t=QO(e.passthrough),r=EV(e.passthrough,"--limit")??30,n=Mt(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:Mt(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 bV(e,t){let r=zi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return Xe(r).map(zO);case"pr:view":return YO(r);case"issue:list":return Xe(r).filter(n=>!An(n.pull_request)).map(HO);case"issue:view":return HO(r);case"run:list":return{items:Xe(ie(r).workflow_runs).map(WO),total:Je(ie(r),"total_count")};case"run:view":{let n=WO(r),s=QO(e.passthrough);if(!s)return n;let o=await st({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?Xe(ie(zi(o.stdout)).jobs).map(wV):[]}}default:return r}}function zO(e){let t=ie(e);return{number:Je(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:Dh(t.user),labels:Xe(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ie(t.base),"ref"),headRefName:B(ie(t.head),"ref")}}function YO(e){return zO(e)}function HO(e){let t=ie(e);return{number:Je(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:Xe(t.labels).map(r=>({name:B(r,"name")})),author:Dh(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function WO(e){let t=ie(e);return{databaseId:Je(t,"database_id")||Je(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 wV(e){let t=ie(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function _V(e){let t=ie(e);return{author:Dh(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function Dh(e){let t=ie(e);return{login:B(t,"login")}}function QO(e){return e.find(t=>!t.startsWith("-"))}function Mt(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function EV(e,t){let r=Mt(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function kV(e){let t=cV("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ye();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 SV(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Ph(r,"prs"),o=s.rows.map(c=>XO(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):qs({...n,prs:i,aggregate:a,summary:`${Gh(i.length,o.length,e.query)} ${JO(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return qs({...n,pr:ZO(ie(r),e),summary:`PR #${Je(ie(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return RV(e,t,ie(r));case"issue:list":{let s=Ph(r,"issues"),o=s.rows.map(c=>eC(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):qs({...n,issues:i,aggregate:a,summary:`${Gh(i.length,o.length,e.query)} ${JO(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return qs({...n,issue:CV(ie(r),e),summary:`issue #${Je(ie(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Ph(r,"runs"),o=s.rows.map(c=>tC(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):qs({...n,runs:i,aggregate:a,summary:`${Gh(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 qs({...n,run:AV(ie(r),e),summary:`run ${Je(ie(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function RV(e,t,r){let n=ZO(ie(r.view),{...e,action:"view",wide:!0}),s=Ae(Xe(r.checks).map(vV),e.query),o=ie(r.comments).comments,i=Ae(Xe(o).map(TV).slice(-3),e.query);return Kt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${Je(ie(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 vV(e){return{name:B(e,"name"),state:Yi(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function TV(e){return{author:nC(e.author),body:yu(e,"body",Nh,!1),created:B(e,"createdAt")}}function Ph(e,t){if(Array.isArray(e))return{rows:Xe(e)};let r=ie(e),n=Je(r,"total")||Je(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:Xe(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:Xe(r.workflow_runs),total:n}:{rows:[]}}function Ih(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Lh(e,t,r,n,s){return Kt({...e,empty:!0,scope:xV(t),[r]:[],aggregate:n,summary:`0 ${OV(t)}`},s)}function xV(e){let t=Mt(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Mt(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Mt(e.passthrough,"--branch")??Mt(e.passthrough,"-b"),s=Mt(e.passthrough,"--workflow")??Mt(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function OV(e){let t=Mt(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function XO(e,t){let r={number:Je(e,"number"),title:B(e,"title"),state:Yi(e),draft:!!e.isDraft};return $h(r,e,t,["author","labels","url","updated"]),r}function ZO(e,t){let r=XO(e,t);return r.body=yu(e,"body",Nh,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function eC(e,t){let r={number:Je(e,"number"),title:B(e,"title"),state:Yi(e),labels:rC(e.labels)};return $h(r,e,t,["author","url","updated"]),r}function CV(e,t){let r=eC(e,t);return r.body=yu(e,"body",Nh,t.full),r}function tC(e,t){let r={id:Je(e,"databaseId"),name:B(e,"name"),status:Yi(e),conclusion:B(e,"conclusion")};return $h(r,e,t,["event","branch","workflow","created"]),r}function AV(e,t){let r=tC(e,t),n=Xe(e.jobs).map(s=>({name:B(s,"name"),status:Yi(s),conclusion:B(s,"conclusion"),log:yu(s,"log",dV,t.full)}));return r.jobs=n,r}function yu(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 PV(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(An(r)){if(An(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 IV(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 JO(e,t){return e.every(r=>r.state===t)?t:"returned"}function Gh(e,t,r){return r?`${e}/${t}`:String(e)}function qs(e,t,r){return t.query?Kt(e,r):e}function Yi(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function $h(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=nC(t.author):s==="labels"?e.labels=rC(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 rC(e){return Array.isArray(e)?e.map(t=>An(t)?B(t,"name"):String(t)).filter(Boolean):[]}function nC(e){return An(e)?B(e,"login"):""}function zi(e){return e.trim()?JSON.parse(e):null}function Xe(e){return Array.isArray(e)?e.filter(An):[]}function ie(e){return An(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Je(e,t){let r=e[t];return typeof r=="number"?r:0}function An(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var lV,uV,Nh,dV,pV,hu,Mh=E(()=>{"use strict";ye();J();Ro();BO();Ah();Tn();no();mt();Ah();lV={"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"]},uV={"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"]},Nh=160,dV=160,pV={"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"]};hu=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 qh={};ne(qh,{renderTestContract:()=>sC,runTestWrapper:()=>$V});import{spawn as LV}from"node:child_process";async function $V(e,t){let r=ro(e),n=await qV(r.argv);return await sC(e,n,t)}async function sC(e,t,r){let n=ro(e),o=oC(n.argv)==="vitest"?UV(t.stdout):HV(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=Me(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 ${VV(o.durationSeconds)}`,c=Ae(o.failures,n.query);if(r.level==="terse")return await FV(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let h=await WV(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:h.text}),u??=h.handle,d+=h.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?Kt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:jh(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 FV(e,t,r,n,s,o,i){let a=MV(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?Kt(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((_,k)=>_.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:jh(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(_=>({suite:_.suite,name:_.name,excerpt:_.excerpt})));let m=M(f),h=Buffer.byteLength(m),w=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:h}});if(!w)throw new Error("terse test output requires an elision store");let y=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${h}) \u2014 ${Rt(w)}`;return{stdout:Buffer.from(`${u}
285
- ${y}`),stderr:Buffer.from(t.stderr),status:jh(t.status),signal:t.signal,payload:l,mintedHandle:w,bytesElided:h,rowsElided:d,rawOutput:Buffer.from(m)}}function jh(e){return e===0||e===null?0:1}function MV(e){let t=[],r=NV;for(let n of e.slice(0,DV)){let s=BV(n.excerpt,Math.min(GV,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function BV(e,t){if(t<=0)return"";let r=e.split(`
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
+ ${_}`),stderr:Buffer.from(t.stderr),status:iy(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function iy(e){return e===0||e===null?0:1}function fz(e){let t=[],r=lz;for(let n of e.slice(0,uz)){let s=mz(n.excerpt,Math.min(cz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function mz(e,t){if(t<=0)return"";let r=e.split(`
286
288
  `),n=r.length<=2?e:`${r[0]}
287
289
  \u2026
288
- ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function oC(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 jV(e){if(oC(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 qV(e){let t=jV(e),r=LV(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=Ye();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 UV(e){let t=iC(e);if(!Ur(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Hr(t.numTotalTests),o=Hr(t.numFailedTests),i=KV(Hr(t.startTime),Hr(t.endTime));for(let a of r){if(!Ur(a))continue;let c=Bt(a.name)||Bt(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Ur(u)&&u.status==="failed"&&n.push({suite:c,name:Bt(u.fullName)||Bt(u.title)||Bt(u.name),excerpt:JV(u.failureMessages)||Bt(u.failureMessage)})}return s||=r.reduce((a,c)=>!Ur(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Ur(c)?a+Hr(c.perfStats&&Ur(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function HV(e){let t=e.split(`
289
- `).filter(Boolean).map(c=>iC(c)).filter(Ur);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+=Hr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Hr(c.failed),i+=Hr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Bt(c.name).split("::").slice(0,-1).join("::"),name:Bt(c.name),excerpt:Bt(c.stdout)});continue}if(c.reason==="compiler-message"&&Ur(c.message)){let l=Bt(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(`
290
- `)}),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 WV(e,t,r){let n=Buffer.from(e);if(n.length<=Bh)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,Bh).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
291
- \u2026 elided ${i} bytes (+${n.length}) \u2014 ${Rt(s)}`,handle:s,bytesElided:n.length}}function iC(e){try{return JSON.parse(e)}catch{return null}}function JV(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
292
- `):""}function VV(e){return`${Number(e.toFixed(1))}s`}function KV(e,t){return e>0&&t>e?(t-e)/1e3:0}function Hr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Bt(e){return typeof e=="string"?e:""}function Ur(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Bh,GV,NV,DV,Uh=E(()=>{"use strict";ye();J();Tn();no();mt();Bh=320,GV=160,NV=Bh,DV=3});var Jh={};ne(Jh,{parseCatCommand:()=>Wh,renderCatContract:()=>rK,runCatWrapper:()=>tK});import{isUtf8 as zV}from"node:buffer";import{readFile as YV}from"node:fs/promises";import{extname as QV}from"node:path";async function tK(e,t){let r=Wh(e),n;try{n=await YV(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=Me(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
293
- `),status:1,signal:null}}return pC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await dC(e,r,n,t)}async function rK(e,t,r){if((t.status??0)!==0||t.signal){let i=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=Wh(e),s=Buffer.from(t.stdout,"utf8");return pC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await dC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function Wh(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=uC(t[++i],Hh);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=uC(l,Hh);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 dC(e,t,r,n){let s=r.toString("utf8"),o=oK(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>lC(n.heavyByteThreshold,aC)||o.truncated;if(!cC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=cC(t.file)?nK(e,t.file,r,s,n.level,o):sK(e,t.file,r,s,o),c=`${M(a)}
294
- `;if(!i&&Buffer.byteLength(c)<=lC(n.heavyByteThreshold,aC))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 ${Rt(l)}
295
- `;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function nK(e,t,r,n,s,o){let i=bu(n),a=s==="terse"?ZV:XV,c=bu(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:iK(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function sK(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:bu(n).length,content:bu(s.text),truncated:s.truncated}}function oK(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
296
- `),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??Hh,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
290
+ ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function iC(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 hz(e){if(iC(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 gz(e){let t=hz(e),r=az(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 yz(e){let t=aC(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Vr(t.numTotalTests),o=Vr(t.numFailedTests),i=kz(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:_z(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 bz(e){let t=e.split(`
291
+ `).filter(Boolean).map(c=>aC(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 wz(e,t,r){let n=Buffer.from(e);if(n.length<=oy)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,oy).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 aC(e){try{return JSON.parse(e)}catch{return null}}function _z(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
294
+ `):""}function Ez(e){return`${Number(e.toFixed(1))}s`}function kz(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 oy,cz,lz,uz,cy=E(()=>{"use strict";we();V();An();io();bt();oy=320,cz=160,lz=oy,uz=3});var dy={};se(dy,{parseCatCommand:()=>uy,renderCatContract:()=>Cz,runCatWrapper:()=>Az});import{isUtf8 as Sz}from"node:buffer";import{readFile as Rz}from"node:fs/promises";import{extname as vz}from"node:path";async function Az(e,t){let r=uy(e),n;try{n=await Rz(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 fC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await pC(e,r,n,t)}async function Cz(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=uy(e),s=Buffer.from(t.stdout,"utf8");return fC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await pC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function uy(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=dC(t[++i],ly);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=dC(l,ly);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 pC(e,t,r,n){let s=r.toString("utf8"),o=Lz(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>uC(n.heavyByteThreshold,cC)||o.truncated;if(!lC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=lC(t.file)?Pz(e,t.file,r,s,n.level,o):Iz(e,t.file,r,s,o),c=`${M(a)}
296
+ `;if(!i&&Buffer.byteLength(c)<=uC(n.heavyByteThreshold,cC))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 Pz(e,t,r,n,s,o){let i=Au(n),a=s==="terse"?xz:Tz,c=Au(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:Gz(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function Iz(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Au(n).length,content:Au(s.text),truncated:s.truncated}}function Lz(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??ly,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
297
299
  `)}${n&&i.length>0?`
298
- `:""}`,truncated:i.length<s.length}}function iK(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&&!aK(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function bu(e){let t=e.split(`
299
- `);return t.at(-1)===""?t.slice(0,-1):t}function pC(e){return e.includes(0)||!zV(e)}function cC(e){return eK.has(QV(e).toLowerCase())}function aK(e){return["for","if","switch","while"].includes(e)}function lC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function uC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var aC,Hh,XV,ZV,eK,Vh=E(()=>{"use strict";J();Tn();mt();aC=8*1024,Hh=10,XV=8,ZV=2,eK=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var _C={};ne(_C,{REPO_STORE_PATH:()=>Yh,mergeRspBlock:()=>yC,provisionRspRepoStore:()=>yK});import{constants as cK}from"node:fs";import{access as lK,copyFile as uK,mkdir as mC,readFile as dK,rename as pK,writeFile as gC}from"node:fs/promises";import{dirname as fK,join as Qi,resolve as mK}from"node:path";async function yK(e,t={}){let r=mK(e),n=Qi(r,".red"),s=Qi(n,"config.yaml"),o=Qi(r,Yh);await mC(n,{recursive:!0}),await mC(fK(o),{recursive:!0});let i="";try{i=await dK(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=yC(i,{enabled:!0,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt,heavyGitByteThreshold:t.heavyGitByteThreshold??rr}),c=a!==i;c&&await gC(s,a,"utf8");let l=!await zh(o),u=!1,d=!1;if(l){let f=Qi(r,gK),m=Qi(r,hK);if(await zh(f))await pK(f,o),d=!0;else if(await zh(m))await uK(m,o),u=!0;else{let{provisionElisionStore:h}=await Promise.resolve().then(()=>(Hc(),cv)),w=process.env.REDDB_BIN;try{await h({uri:`file://${o}`,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt})}finally{w===void 0?delete process.env.REDDB_BIN:process.env.REDDB_BIN=w}}}let p=bK(a,Yh);return p!==a&&await gC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function yC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${wu(t.ttlDays,ht)}`,` ephemeralTtlHours: ${wu(t.ephemeralTtlHours,yt)}`,` byteBudget: ${wu(t.byteBudget,bt)}`,` heavyGitByteThreshold: ${wu(t.heavyGitByteThreshold,rr)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
300
- `),s=bC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
300
+ `:""}`,truncated:i.length<s.length}}function Gz(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&&!$z(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Au(e){let t=e.split(`
301
+ `);return t.at(-1)===""?t.slice(0,-1):t}function fC(e){return e.includes(0)||!Sz(e)}function lC(e){return Oz.has(vz(e).toLowerCase())}function $z(e){return["for","if","switch","while"].includes(e)}function uC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function dC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var cC,ly,Tz,xz,Oz,py=E(()=>{"use strict";V();An();bt();cC=8*1024,ly=10,Tz=8,xz=2,Oz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var EC={};se(EC,{REPO_STORE_PATH:()=>hy,mergeRspBlock:()=>bC,provisionRspRepoStore:()=>Wz});import{constants as Nz}from"node:fs";import{access as Dz,copyFile as Fz,mkdir as hC,readFile as Mz,rename as Bz,writeFile as gC}from"node:fs/promises";import{dirname as jz,join as Zi,resolve as qz}from"node:path";async function Wz(e,t={}){let r=qz(e),n=Zi(r,".red"),s=Zi(n,"config.yaml"),o=Zi(r,hy);await hC(n,{recursive:!0}),await hC(jz(o),{recursive:!0});let i="";try{i=await Mz(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=bC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await gC(s,a,"utf8");let l=!await my(o),u=!1,d=!1;if(l){let f=Zi(r,Uz),m=Zi(r,Hz);if(await my(f))await Bz(f,o),d=!0;else if(await my(m))await Fz(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(tl(),lT)),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=Jz(a,hy);return p!==a&&await gC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function bC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${Cu(t.ttlDays,_t)}`,` ephemeralTtlHours: ${Cu(t.ephemeralTtlHours,Et)}`,` byteBudget: ${Cu(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${Cu(t.heavyGitByteThreshold,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
302
+ `),s=wC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
301
303
  `)}
302
- `}let o=Qh(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
304
+ `}let o=gy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
303
305
  `)}
304
- `}function bC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Zh(n)&&Xh(n)===0&&wC(n)===t)return r}return-1}function Qh(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Zh(e[s])&&Xh(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Xh(e){return(e.match(/^ */)?.[0]??"").length}function Zh(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function wC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function wu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function bK(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
305
- `),n=bC(r,"plugins");if(n===-1)return e;let s=Qh(r,n,0),o=hC(r,"memory",n+1,s,2);if(o===-1)return e;let i=Qh(r,o,2),a=[...r],c=hC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
306
+ `}function wC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(by(n)&&yy(n)===0&&_C(n)===t)return r}return-1}function gy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(by(e[s])&&yy(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function yy(e){return(e.match(/^ */)?.[0]??"").length}function by(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function _C(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Cu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Jz(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
307
+ `),n=wC(r,"plugins");if(n===-1)return e;let s=gy(r,n,0),o=yC(r,"memory",n+1,s,2);if(o===-1)return e;let i=gy(r,o,2),a=[...r],c=yC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
306
308
  `)}
307
- `}function hC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Zh(i)&&Xh(i)===s&&wC(i)===t)return o}return-1}async function zh(e){try{return await lK(e,cK.F_OK),!0}catch{return!1}}var Yh,gK,hK,EC=E(()=>{"use strict";ze();Be();Yh=lp,gK=Xb,hK=".red/memory/graph.rdb"});var xC={};ne(xC,{runRspMcpServer:()=>_K});import{createInterface as wK}from"node:readline";async function _K(){let e=Ie(process.cwd(),process.env),t=wK({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 EK(n,e);RC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){RC({jsonrpc:"2.0",id:typeof vC(r)?.id>"u"?null:vC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function EK(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:SC(t)}]};if(!t.enabled)return{content:[{type:"text",text:SC(t)}],isError:!0};let n=CK(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Pn({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:Pn({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:Pn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Pn(kK(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await SK(r.arguments,n)}]}}return{}}function Pn(e){return`${ge(e)}
308
- `}function kK(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function SK(e,t){let r=vK(e?.payload);try{return await RK(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return TC(r)}}async function RK(e,t,r){let n=TK(t?.level),s=await ih(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return TC(s.output);let o=Zl(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Pn({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 xK(o,i.length,a,n)}function vK(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function TK(e){return e==="terse"?"terse":"brief"}function xK(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=kC(o.subarray(0,i)),c=kC(o.subarray(Math.max(0,o.length-i)));return Pn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:OK(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function TC(e){return e.endsWith(`
309
+ `}function yC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(by(i)&&yy(i)===s&&_C(i)===t)return o}return-1}async function my(e){try{return await Dz(e,Nz.F_OK),!0}catch{return!1}}var hy,Uz,Hz,kC=E(()=>{"use strict";Xe();Ue();hy=_p,Uz=yw,Hz=".red/memory/graph.rdb"});var OC={};se(OC,{runRspMcpServer:()=>Kz});import{createInterface as Vz}from"node:readline";async function Kz(){let e=$e(process.cwd(),process.env),t=Vz({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 zz(n,e);vC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){vC({jsonrpc:"2.0",id:typeof TC(r)?.id>"u"?null:TC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function zz(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:RC(t)}]};if(!t.enabled)return{content:[{type:"text",text:RC(t)}],isError:!0};let n=nY(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(Yz(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await Qz(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
310
+ `}function Yz(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function Qz(e,t){let r=Zz(e?.payload);try{return await Xz(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return xC(r)}}async function Xz(e,t,r){let n=eY(t?.level),s=await vg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return xC(s.output);let o=uu(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 tY(o,i.length,a,n)}function Zz(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function eY(e){return e==="terse"?"terse":"brief"}function tY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=SC(o.subarray(0,i)),c=SC(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:rY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function xC(e){return e.endsWith(`
309
311
  `)?e:`${e}
310
- `}function kC(e){return e.toString("utf8").replace(/�$/g,"")}function OK(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 CK(e){return po(process.cwd(),e)}function SC(e){let t=e.enabled?gr(process.cwd(),e.overhead):null;return Pn({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 RC(e){process.stdout.write(`${JSON.stringify(e)}
311
- `)}function vC(e){try{return JSON.parse(e)}catch{return null}}var OC=E(()=>{"use strict";Vt();Be();ye();Mi();Zt()});var AC={};ne(AC,{renderShellInit:()=>AK});function AK(e,t=Ji){if(e==="fish")return PK(t);if(e==="bash"||e==="zsh")return IK(e,t);throw new Error(`unsupported shell: ${e}`)}function PK(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(Eu))].map(r=>` abbr --add --position command -- ${r} '${DK(`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(`
312
- `)}function IK(e,t){let r=GK(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,..._u("git",r.get("git")??[]),..._u("gh",r.get("gh")??[]),..._u("vitest",r.get("vitest")??[]),..._u("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(`
313
- `)}function _u(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(Eu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Eu)),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 LK(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${NK(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 LK(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 GK(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Eu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Eu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function CC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function NK(e){return e.replace(/'/g,"'\\''")}function DK(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var PC=E(()=>{"use strict";Vi()});function ey(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"&&$K(t.chosenOption)&&FK(t.outcome)&&MK(t.cost)}function $K(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function FK(e){return e==="success"||e==="failure"||e==="escalated"}function MK(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 IC=E(()=>{});import{createHash as BK}from"node:crypto";function HC(e,t){return new ry(e,t)}function LC(e){let t=Number(e.red_entity_id??e.rid),r=ny(e.properties??e.PROPERTIES),n=WC(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 GC(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=JC(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:ny(e.properties??e.PROPERTIES)}}function UK(e){let t=Number(e.red_entity_id??e.rid),r=ny(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!ey(r)?null:{rid:t,event:r}}function ny(e){return e==null?{}:typeof e=="string"?JSON.parse(e):ku(e)?e:{}}function WC(e){let t=e==="contact"?"person":e;if(jK.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function JC(e){if(qK.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function HK(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 Ln(e){return ku(e)?e:{}}function DC(e,t){return Ln(e)[t]}function $C(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function FC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function MC(e){let t=Ln(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Ve(e){return typeof e=="string"&&e.length>0?e:void 0}function ku(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ty(e){return e!=null}function WK(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function JK(e){return BK("sha256").update(JSON.stringify(e)).digest("hex")}function VK(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function BC(e){return`artifact-hash:${e}`}function jC(e,t,r){return`connection:${e}:${t}:${r}`}function qC(){return"model-tier-bandit:v1"}function KK(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function UC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function VC(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+UC(r,a)*3+UC(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 zK(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=KC({...VC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return In(s)}function KC(e){return{...e,lexical:In(e.lexical),tags:In(e.tags),kind:In(e.kind),connections:In(e.connections),vector:In(e.vector),total:In(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function In(e){return Math.round(e*1e3)/1e3}function YK(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 QK(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 XK(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var jt,jK,qK,ry,zC=E(()=>{"use strict";IC();jt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},jK=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),qK=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),ry=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(Ln(r));if(t==="getArtifact")return await this.getArtifact(DC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Ln(r);return await this.search($C(n,"query"),FC(n,"limit")??10,MC(n.options))}if(t==="think"){let n=Ln(r);return await this.think($C(n,"query"),FC(n,"limit")??8,MC(n.options))}if(t==="link")return await this.link(Ln(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(Ln(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 ${jt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:XK(t.map(n=>n.kind))}}async capture(t){let r=Ve(t.title)||"Untitled artifact",n=Ve(t.content);if(!n)throw new Error("brain capture requires content");let s=WC(Ve(t.kind)||"note"),o=WK(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=JK([s,r,n,o,Ve(t.sourcePath),Ve(t.sourceSession)]),c=await this.kv().get(BC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${VK(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Ve(t.sourceAgent),source_runner:Ve(t.sourceRunner),source_session:Ve(t.sourceSession),source_path:Ve(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:ku(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${jt.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=LC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(BC(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 ${jt.artifacts}`)).rows.map(LC).filter(ty)}async search(t,r,n={}){let s=KK(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=VC(l,s),d=KC({...u,connections:zK(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:YK(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 QK(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=JC(Ve(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:Ve(t.reason),confidence:Ve(t.confidence)||"explicit",created_at:Date.now(),metadata:ku(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${jt.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=GC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(jC(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 ${jt.connections}`)).rows.map(GC).filter(ty)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=HK(Ve(t.interval)||"day"),s=Ve(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(!ey(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${jt.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 ${jt.outcomeEvents}`)).rows.map(UK).filter(ty).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(qC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(qC(),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(jC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(jt.kv)}}});var cA={};ne(cA,{runResidentServer:()=>oz});import{randomUUID as Us}from"node:crypto";import{execFileSync as rA,spawn as ZK}from"node:child_process";import{existsSync as ez}from"node:fs";import{mkdir as nA,rename as tz,rm as YC,writeFile as sA}from"node:fs/promises";import{createServer as rz}from"node:net";import{dirname as ay,join as Su}from"node:path";import{fileURLToPath as nz,pathToFileURL as sz}from"node:url";async function oz(e){await nA(ay(e.socketPath),{recursive:!0});let t=bz();yz();let r=e.telemetryDrainTimeoutMs??oA,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??xz(e.rootDir??process.cwd()),a=e.idleMs??Ya,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=rz(v=>{d.add(v),v.once("close",()=>d.delete(v)),h(),vz(v,async(x,A)=>{h();let C=await Tz(n,x,e.storeUri,e.residentVersion??"0.0.0-dev",i),D={id:x.id,ok:!0,value:C,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};A(D),x.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=hz(l),f.close();for(let v of d)v.destroy()}function h(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let b=["SIGINT","SIGTERM"].map(v=>{let x=()=>{Ru(),f.close();for(let A of d)A.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(v,x),{signal:v,handler:x}});await new Promise((v,x)=>{f.once("error",x),f.listen(e.socketPath,()=>{f.off("error",x),v()})}),(async()=>{let v=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let x=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(x)&&x>0&&await new Promise(V=>setTimeout(V,x));let A=await bn.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),C=Number(process.hrtime.bigint()-v)/1e6,D=new iy(A,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Ka,byteBudget:e.telemetryByteBudget??e.byteBudget??za});if(o){await A.close();return}if(await sy(D,r),o){await A.close();return}n={kind:"ready",store:A,telemetry:D,storeOpenCount:1,storeElapsedMs:C},s=setInterval(()=>{let V=n.kind==="ready"?n:void 0;V&&sy(V.telemetry,r)},p),s.unref(),h()})().catch(v=>{n={kind:"failed",error:v instanceof Error?v:new Error(String(v))},h()}),e.pidPath&&await sA(e.pidPath,`${process.pid}
314
- `,{encoding:"utf8",mode:384});let y=e.residentVersion??"0.0.0-dev",_=e.registryPath??Su(ae(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ca(_,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:y})}catch{}await new Promise(v=>f.once("close",v)),c&&clearTimeout(c),s&&clearInterval(s),await YC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await sy(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:v,handler:x}of b)process.off(v,x);t?.kill("SIGTERM"),Ru(),e.pidPath&&await YC(e.pidPath,{force:!0}),await Aa(_)}async function dz(e,t,r=new Date){let n=await Wc(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=Su(ae(t),lz),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 nA(ay(a),{recursive:!0}),await sA(c,`${ge(l)}
315
- `,{encoding:"utf8",mode:384}),await tz(c,a)}async function sy(e,t=oA,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await aA(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
316
- `)}}async function pz(e){let t=[];for(let r of uz){let n=await fz(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await mz(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${iA(r)}`))}return t}async function fz(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 mz(e,t,r){let n=gz(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${iA(t)}`)}function gz(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 iA(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function hz(e){return e&&clearTimeout(e),setTimeout(()=>{Ru(),process.exit(0)},cz)}function yz(){QC||(QC=!0,process.on("exit",()=>Ru()))}function bz(){if(process.platform==="win32")return;let t=ZK(process.execPath,["-e",`
312
+ `}function SC(e){return e.toString("utf8").replace(/�$/g,"")}function rY(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 nY(e){return ho(process.cwd(),e)}function RC(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 vC(e){process.stdout.write(`${JSON.stringify(e)}
313
+ `)}function TC(e){try{return JSON.parse(e)}catch{return null}}var AC=E(()=>{"use strict";Qt();Ue();we();ji();nr()});var PC={};se(PC,{renderShellInit:()=>sY});function sY(e,t=Ki){if(e==="fish")return oY(t);if(e==="bash"||e==="zsh")return iY(e,t);throw new Error(`unsupported shell: ${e}`)}function oY(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Iu))].map(r=>` abbr --add --position command -- ${r} '${uY(`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 iY(e,t){let r=cY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Pu("git",r.get("git")??[]),...Pu("gh",r.get("gh")??[]),...Pu("vitest",r.get("vitest")??[]),...Pu("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 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 _=e.residentVersion??"0.0.0-dev",w=e.registryPath??Gu(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Pa(w,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:_})}catch{}await new Promise(S=>f.once("close",S)),c&&clearTimeout(c),s&&clearInterval(s),await QC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Sy(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"),$u(),e.pidPath&&await QC(e.pidPath,{force:!0}),await Ia(w)}async function MY(e,t,r=new Date){let n=await rl(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=Gu(ce(t),DY),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 sP(Ty(a),{recursive:!0}),await oP(c,`${ge(l)}
317
+ `,{encoding:"utf8",mode:384}),await AY(c,a)}async function Sy(e,t=iP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await cP(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 BY(e){let t=[];for(let r of FY){let n=await jY(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await qY(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${aP(r)}`))}return t}async function jY(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 qY(e,t,r){let n=UY(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${aP(t)}`)}function UY(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 aP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function HY(e){return e&&clearTimeout(e),setTimeout(()=>{$u(),process.exit(0)},NY)}function WY(){XC||(XC=!0,process.on("exit",()=>$u()))}function JY(){if(process.platform==="win32")return;let t=xY(process.execPath,["-e",`
317
319
  const { execFileSync } = require("node:child_process");
318
320
  const parentPid = Number(process.argv[1]);
319
321
  const known = new Set();
@@ -354,31 +356,28 @@ const timer = setInterval(() => {
354
356
  clearInterval(timer);
355
357
  process.exit(0);
356
358
  }, 500);
357
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Ru(){for(let e of wz())try{process.kill(e,"SIGTERM")}catch{}}function wz(){if(process.platform==="win32")return[];let e="";try{e=rA("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 _z(e){if(e.collection!==it)return e;let t=await XC(e.raw_text,eA(e.raw_bytes)),r=await XC(e.emitted_text,eA(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 XC(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=iz)try{return await aA((async()=>({tokens:(await Ez())("cl100k_base").encode(e).length,estimated:!1}))(),az,"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 Ez(){return ZC??=import(sz(kz()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await ZC}function kz(){let e=ay(nz(import.meta.url)),r=[Su(e,"..","node_modules","js-tiktoken","dist","index.js"),Su(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>ez(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function eA(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ce(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function oy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function aA(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 Sz(e){try{return JSON.parse(e)}catch{return e}}function Rz(e){return tA(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>tA(t)&&(t.collection===qe||t.collection===Ue||t.collection===it||t.collection===Et)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function tA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vz(e,t){Tw(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Us(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function Tz(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 Wc(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 fm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return Cz(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 Oz(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function xz(e){let t;return{async read(r){if(!t){let n=String(rA("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=pc({rootDir:e,token:n,balance:dc(n)})}return await t.read(r)}}}async function Oz(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await HC(s,t).request(r,n)}function Cz(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var iz,az,oA,cz,lz,uz,iy,QC,ZC,lA=E(()=>{"use strict";ze();Pa();Ra();Vt();Hc();zC();tf();Gt();Be();iz=256*1024,az=500,oA=2e3,cz=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),lz="rsp-status-summary.toon",uz=[qe,Ue,it,Et,Fo],iy=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 pz(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 Pf(this.opts.rootDir,async a=>{let c=hs(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:Ce(c.command)||"unknown",source_id:Ce(c.id),source_collection:Ce(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 dz(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:Us(),a={...await _z(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===qe?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===qe||r.accounting_recorded===!0?null:r.collection===it?await this.writeEvent(t,{collection:qe,id:`mirror:${Ce(r.id)||Us()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:oy(Ce(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===Et?await this.writeEvent(t,{collection:qe,id:`mirror:${Ce(r.id)||Us()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:oy(Ce(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ce(r.reason)||"unknown",wrapper_family:Ce(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ce(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Et,id:Us(),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:qe,id:`mirror:${Us()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:oy(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(Fo).get("index:v1"),n=typeof r=="string"?Sz(r):r;return Rz(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Fo).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})}};QC=!1});Lu();mt();var Fb={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},iI={json:{kind:"boolean"}},aI={help:{kind:"boolean",aliases:["h"]}},cI={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 Mb(e){let{command:t,args:r}=Iu(e,lI);return t==="--version"?{kind:"version",json:Ks(r,iI).values.json===!0}:uI(e)?{kind:"help"}:{kind:"command"}}var lI={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function uI(e){return Kr(e,aI).values.help===!0}function Bb(e){let{values:t,rest:r}=pI(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw fa.unknownFlag(n);let s=Iu(r,cI).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 fa=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:dI})}},dI=Object.keys(Fb).map(e=>`--${e}`);function pI(e){try{return Kr(e,Fb)}catch(t){throw new fa(t instanceof Error?t.message:String(t))}}function jb(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function qb(e){return e instanceof Vs}function Un(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var fI={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:mr},"ephemeral-ttl-hours":{kind:"value",coerce:mr},"byte-budget":{kind:"value",coerce:mr},"telemetry-ttl-days":{kind:"value",coerce:mr},"telemetry-byte-budget":{kind:"value",coerce:mr},"telemetry-drain-interval-ms":{kind:"value",coerce:mr},"telemetry-drain-timeout-ms":{kind:"value",coerce:mr},"idle-ms":{kind:"value",coerce:mr}};function cd(e){return Ks(e,fI).values}var Ub={since:{kind:"value",coerce:gI},full:{kind:"boolean"}};function ma(e,t){return Ks(e,Ub).values.since??t}function Hb(e){return Ks(e,Ub).values.full===!0}var mI={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function Wb(e){let{values:t,rest:r}=Kr(e,mI),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 mr(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function gI(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}ld();mt();import{existsSync as Az}from"node:fs";import{fileURLToPath as Pz}from"node:url";Vt();no();ye();gt();import{existsSync as BF}from"node:fs";import{fileURLToPath as jF}from"node:url";Vt();jd();ye();import{existsSync as WL}from"node:fs";import{fileURLToPath as JL}from"node:url";async function Kn(e,t){let r={stats:VL(e.telemetryByteBudget),telemetry:Wd(t)};if(!e.storeUri.startsWith("file://"))return r;let n=JL(e.storeUri);if(!WL(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(Zt(),Vn)),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:Wd(t)}}catch{return r}finally{await o.close()}}function t_(e,t=Wd(30),r=!1,n=n_()){return`${ge(Jd(e,t,r,n))}
358
- `}function r_(e,t){return`${ge({...e,overhead:s_(t)})}
359
- `}function n_(){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 s_(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 Jd(e,t,r,n=n_()){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??Ia(),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:KL(t.savings),dollars_saved_estimate_usd_display:zL(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:s_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:Hd(t.health.degradation_rate),show_hit_rate_display:Hd(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:Hd(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:Ud(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:Ud(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:Ud(t.latency.store_elapsed_ms_avg)}}}function o_(e){return`${ge(e)}
360
- `}function Wd(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 VL(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Ia()}}function Ia(){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 i_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
361
- `)}function KL(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 zL(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?uo(e.dollars_saved_estimate_usd):`${uo(e.dollars_saved_low_usd)}-${uo(e.dollars_saved_high_usd)} (estimate_midpoint: ${uo(e.dollars_saved_estimate_usd)})`}function Ud(e){return e==null?"none":String(e)}function Hd(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function rR(e){let{stats:t,telemetry:r}=await Kn(e,30),[n,s]=await Promise.all([qF(e),Promise.resolve().then(()=>(Ef(),_f)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:gr(tt(process.cwd()).rootDir,e.overhead)}}function nR(e){let t=Jd(e.stats,e.telemetry,!1,e.overhead),r=fd({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??Ia()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},UF(e));return`${ge(r)}
362
- `}async function qF(e){if(!e.storeUri.startsWith("file://"))return[];let t=jF(e.storeUri);if(!BF(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(Zt(),Vn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function UF(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"]}Vt();ye();mt();import{existsSync as p2}from"node:fs";import{fileURLToPath as f2}from"node:url";Gt();import{spawn as eu}from"node:child_process";async function K0(e,t,r){let n=process.hrtime.bigint(),s=await z0(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return TJ(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function z0(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(()=>(Wl(),Hl)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Ui(),qi)).then(i=>i.parseExecCommandLine(e));r=eu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=eu(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)}
363
- `;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 Y0(e){return e>0&&Math.random()<e}async function Wi(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
364
- `);let s=await eO(t);if(n){let o=xJ(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Gt(),oi));ru(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:tu(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})),ru(i(n,{collection:c,ts:new Date().toISOString(),command:tu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function Q0(e,t,r){let n=await z0(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Gt(),oi)),a={ts:new Date().toISOString(),command:tu(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 ru(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})),ru(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function X0(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${nu()}, passing through
365
- `),await eO(e)}function nu(){return"rsp is not enabled in this directory; run /red-setup"}function Z0(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function $t(e){return tu(e.positional)}function tu(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 Hi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function TJ(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:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Rr(e,{collection:"rsp_accounting_events_v1",...i}),Rr(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function xJ(e,t,r){let n=t[0]??"unknown",s=OJ(r)||e;return{reason:V0(r)==="ENOENT"||V0(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:AJ(r)??1,stderrHead:CJ(s,240)}}function OJ(e){return e instanceof Error?Hi(e.message):Hi(String(e??""))}function CJ(e,t){let r=Hi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function V0(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function AJ(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 ru(e){e.catch(()=>{})}async function eO(e){if(e[0]==="exec"||e[0]==="proxy")return await PJ(e);let t=e[0];if(!t)return 2;let r=eu(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)}
366
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function PJ(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(Wl(),Hl));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Ui(),qi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
367
- `),2}let r=eu(t,{shell:!0,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 yO(e,t,r){let n=[],s=!e.enabled;if(n.push(s?Ee("config_gate_resolution","rsp disabled in this directory; run /red-setup to opt in"):Ee("config_gate_resolution","rsp.enabled resolved true for this directory")),s)return n.push(Ee("hook_wiring","skipped because rsp is disabled"),Ee("proxy_mode","skipped because rsp is disabled"),Ee("resident_liveness","skipped because rsp is disabled"),Ee("store_provisioning","skipped because rsp is disabled"),Ee("recent_degradation_rate","skipped because rsp is disabled"),Ee("overhead_budget","skipped because rsp is disabled")),hO("disabled",n,r);n.push(await m2(e)),n.push(e.proxyEnabled?Ee("proxy_mode","proxy routing enabled for pre-exec rewrites"):On("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(gt(),sn));if(n.push(g2(await o(t))),n.push(h2(e)),wO(e)){let{telemetry:i}=await Kn(e,r);n.push(y2(i,r))}else n.push(Ee("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(b2(gr(process.cwd(),e.overhead))),hO(n.some(i=>!i.pass)?"fail":"pass",n,r)}function bO(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
369
- `}async function m2(e){try{if(e.proxyEnabled)return Ee("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Vi(),uu)),r=t("git status");return r.kind==="rewrite"?Ee("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):On("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return On("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Hi(t.message):"unknown error"}`,"rsp setup")}}function g2(e){return e.state==="registered-alive-socket-healthy"?Ee("resident_liveness","resident registry points at a healthy socket"):On("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function h2(e){return e.storeUri.startsWith("file://")?wO(e)?Ee("store_provisioning","rsp store exists for this directory"):On("store_provisioning","rsp store is not provisioned","rsp setup"):Ee("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function y2(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Ee("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 On("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,w2(s,t))}function b2(e){return e.verdict==="green"?Ee("overhead_budget",e.summary):On("overhead_budget",e.summary,"rsp status")}function w2(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 wO(e){if(!e.storeUri.startsWith("file://"))return!0;try{return p2(f2(e.storeUri))}catch{return!1}}function Ee(e,t){return{name:e,pass:!0,finding:t}}function On(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:ad({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function hO(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)}}bh();function SO(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${k2(t).join(`
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 E_(e,t){return`${ge({...e,overhead:S_(t)})}
361
+ `}function k_(){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 S_(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 np(e,t,r,n=k_()){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??Ga(),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:zG(t.savings),dollars_saved_estimate_usd_display:YG(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:S_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:tp(t.health.degradation_rate),show_hit_rate_display:tp(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:tp(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:ep(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:ep(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:ep(t.latency.store_elapsed_ms_avg)}}}function R_(e){return`${ge(e)}
362
+ `}function rp(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 KG(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Ga()}}function Ga(){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 v_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
363
+ `)}function zG(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 YG(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 ep(e){return e==null?"none":String(e)}function tp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function nv(e){let{stats:t,telemetry:r}=await Qn(e,30),[n,s]=await Promise.all([gM(e),Promise.resolve().then(()=>(Bf(),Mf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(st(process.cwd()).rootDir,e.overhead)}}function sv(e){let t=np(e.stats,e.telemetry,!1,e.overhead),r=Rd({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??Ga()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},yM(e));return`${ge(r)}
364
+ `}async function gM(e){if(!e.storeUri.startsWith("file://"))return[];let t=hM(e.storeUri);if(!mM(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 yM(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 BV}from"node:fs";import{fileURLToPath as jV}from"node:url";Ft();import{spawn as du}from"node:child_process";async function zO(e,t,r){let n=process.hrtime.bigint(),s=await YO(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return eV(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function YO(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(()=>(ru(),tu)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Wi(),Hi)).then(i=>i.parseExecCommandLine(e));r=du(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=du(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 QO(e){return e>0&&Math.random()<e}async function Vi(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 tA(t);if(n){let o=tV(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),ai));fu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:pu(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})),fu(i(n,{collection:c,ts:new Date().toISOString(),command:pu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function XO(e,t,r){let n=await YO(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),ai)),a={ts:new Date().toISOString(),command:pu(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 fu(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})),fu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function ZO(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${mu()}, passing through
367
+ `),await tA(e)}function mu(){return"rsp is not enabled in this directory; run /red-setup"}function eA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return pu(e.positional)}function pu(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 Ji(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function eV(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 tV(e,t,r){let n=t[0]??"unknown",s=rV(r)||e;return{reason:KO(r)==="ENOENT"||KO(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:sV(r)??1,stderrHead:nV(s,240)}}function rV(e){return e instanceof Error?Ji(e.message):Ji(String(e??""))}function nV(e,t){let r=Ji(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function KO(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function sV(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 fu(e){e.catch(()=>{})}async function tA(e){if(e[0]==="exec"||e[0]==="proxy")return await oV(e);let t=e[0];if(!t)return 2;let r=du(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 oV(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(ru(),tu));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Wi(),Hi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
369
+ `),2}let r=du(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 bA(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")),yA("disabled",n,r);n.push(await qV(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(UV(await o(t))),n.push(HV(e)),_A(e)){let{telemetry:i}=await Qn(e,r);n.push(WV(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(JV(wr(process.cwd(),e.overhead))),yA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function wA(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
371
+ `}async function qV(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(zi(),Eu)),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?Ji(t.message):"unknown error"}`,"rsp setup")}}function UV(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 HV(e){return e.storeUri.startsWith("file://")?_A(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 WV(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})`,VV(s,t))}function JV(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function VV(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 _A(e){if(!e.storeUri.startsWith("file://"))return!0;try{return BV(jV(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:bd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function yA(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)}}Dg();function RA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${YV(t).join(`
370
372
  `)}
371
- `}function k2(e){switch(e){case"stats":return oe("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 oe("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 oe("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 oe("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 oe("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 oe("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 oe("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 oe("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 oe('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 oe("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 oe("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return oe("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return oe("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 oe("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return oe("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return oe("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return oe("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 oe("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 oe("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 oe("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return oe("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 oe(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function oe(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}ze();ye();Gt();import{spawn as S2}from"node:child_process";import{createHash as R2}from"node:crypto";import{existsSync as v2,readFileSync as T2,statSync as x2}from"node:fs";import{tmpdir as O2}from"node:os";import{dirname as C2,join as Br}from"node:path";async function Le(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&&P2(s,o);let c=A2(e,t,a);return bd(s,c,i),n?Cn(N2(s,e,t,c,i,n.lastResponseMetrics())):D2(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function A2(e,t,r){let n=Ed(),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 Cn(e){e.catch(()=>{})}async function fu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Gt(),oi));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 P2(e,t){try{let r=or(e),n=x2(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!G2(r,Date.now()-s))return;let o=I2(e),i=L2(o),a=Br(i,"rsp.sock"),c=Br(i,"rsp.pid"),l=Br(ae(o),"rsp-resident.pid.toon"),u=Br(o,".red","tmp","rsp","wake.lock");S2(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 I2(e){let t=e;for(;;){if(v2(Br(t,".git")))return t;let r=C2(t);if(r===t)return e;t=r}}function L2(e){let t=R2("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Br(r,"red-skills",t);if(Br(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Br(O2(),`red-skills-${n}`,t)}function G2(e,t){try{let r=T2(e,"utf8");oo(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 N2(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ea(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Gt(),oi));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:$t(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:$t(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:$t(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:$t(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function D2(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ea(n,s);Rr(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:$t(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}),Rr(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:$t(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 Wr=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}},Kh=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function fC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new Kh,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(bh(),kO));if(i(e.positional))return await Le(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(Tn(),sh)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Le(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(Mh(),Fh)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(Uh(),qh)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(Vh(),Jh)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ui(),qi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s)}}catch(i){return Un(i)?(process.stdout.write(i.render()),2):await Wi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Wi("wrapper failed",e.positional,n,r)}async function Iz(e=process.argv.slice(2)){let t=ga("rsp"),r=Mb(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
372
- `:`${Jb(t)}
373
- `),0;if(r.kind==="help")return process.stdout.write(SO(e)),0;let n;try{n=Bb(e)}catch(b){if(qb(b))return process.stdout.write(jb(b)),2;throw b}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:b}=await Promise.resolve().then(()=>(Mi(),ch));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:b}=await Promise.resolve().then(()=>(Mi(),ch));return await b()}if(n.command==="setup"){let{provisionRspRepoStore:b}=await Promise.resolve().then(()=>(EC(),_C)),y=await b(process.cwd());return process.stdout.write(i_(y)),0}if(n.command==="mcp"){let{runRspMcpServer:b}=await Promise.resolve().then(()=>(OC(),xC));return await b(),0}if(n.command==="wait"){let{runWait:b}=await Promise.resolve().then(()=>(Ef(),_f));return await b(n.positional)}if(n.command==="shell-init"){let b=n.positional[1];if(b!=="fish"&&b!=="bash"&&b!=="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:y}=await Promise.resolve().then(()=>(PC(),AC));return process.stdout.write(y(b)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Be(),up)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:b}=await Promise.resolve().then(()=>(gt(),sn)),y=b(process.cwd()),_=await yO(o,y,ma(n.positional,1));return process.stdout.write(bO(_)),_.exitCode}let i=Z0(n.command);if(!o.enabled)return i?await X0(n.positional):(process.stdout.write(`${nu()}
374
- `),0);if(n.command==="git"&&du(n.positional)){let b=process.hrtime.bigint();return await Le(n,await pu(),b,void 0,await yh(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(gt(),sn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:b}=await Promise.resolve().then(()=>(ye(),Sa)),y=b(l.rootDir,n.command);if(y)return await Q0(n.positional,l.rootDir,y)}if(i&&Y0(o.measurementHoldoutShare))return await K0(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:b}=await Promise.resolve().then(()=>(lA(),cA)),y=a(process.cwd()),_=cd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await b({socketPath:_.socket??y.socketPath,pidPath:_["pid-file"]??y.pidPath,rootDir:y.rootDir,storeUri:k.storeUri,ttlDays:_["ttl-days"]??k.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:_["byte-budget"]??k.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??k.idleMs,residentVersion:_["resident-version"]??t.version,registryPath:_.registry??y.registryPath}),0):(process.stdout.write(`${nu()}
375
- `),0)}if(n.command==="warm-resident"){let b=a(process.cwd()),y=cd(n.positional),_=s(process.cwd(),process.env,n.storeUri);if(!_.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(gt(),sn));return await k({...b,socketPath:y.socket??b.socketPath,wakeLockPath:y["wake-lock"]??b.wakeLockPath},{storeUri:_.storeUri,ttlDays:y["ttl-days"]??_.ttlDays,ephemeralTtlHours:y["ephemeral-ttl-hours"]??_.ephemeralTtlHours,byteBudget:y["byte-budget"]??_.byteBudget,telemetryTtlDays:y["telemetry-ttl-days"]??_.telemetryTtlDays,telemetryByteBudget:y["telemetry-byte-budget"]??_.telemetryByteBudget,telemetryDrainIntervalMs:y["telemetry-drain-interval-ms"]??_.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:y["telemetry-drain-timeout-ms"]??_.telemetryDrainTimeoutMs,idleMs:y["idle-ms"]??_.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:b}=await Promise.resolve().then(()=>(Wl(),Hl));return await b(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:b,sweepResidentRegistry:y}=await Promise.resolve().then(()=>(gt(),sn)),_=n.command==="sweep"?await y(l):await b(l);if(n.command==="sweep"){let{sweepGhEtagCache:x}=await Promise.resolve().then(()=>(Va(),U_));await x(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(ye(),Sa)),v=k(l.rootDir,o.overhead);return process.stdout.write(r_(_,v)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:b}=await Promise.resolve().then(()=>(Ro(),tE)),y=Wb(n.positional);if(!y)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 _=await b({path:y.path,params:y.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(_.stdout),_.stderr&&process.stderr.write(`${_.stderr}
376
- `),_.status}if(n.command==="dashboard"){let b=await rR(o);return process.stdout.write(nR(b)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!Az(Pz(o.storeUri)))return i?await fC(n,o,l.rootDir):(process.stdout.write(ee({command:$t(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(()=>(Zt(),Vn)),f=(b=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:b,paths:l})),m=()=>c(l,u(o,t.version)).catch(b=>void p(b)),h=()=>f(),w;try{if(n.command==="stats"){let{stats:b,telemetry:y}=await Kn(o,ma(n.positional,30)),{overheadHealth:_}=await Promise.resolve().then(()=>(ye(),Sa));return process.stdout.write(t_(b,y,Hb(n.positional),_(l.rootDir,o.overhead))),0}if(n.command==="gains"){let b=await h();w=()=>b.close();let y;try{y=await b.telemetryGains(ma(n.positional,28))}catch(_){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:_ instanceof Error?_.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(o_(y)),0}if(n.command==="git"){if(Cn(m()),du(n.positional)){let v=process.hrtime.bigint();return await Le(n,await pu(),v,void 0,l.rootDir,o)}let{runGitWrapper:b}=await Promise.resolve().then(()=>(Tn(),sh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="gh"){Cn(m());let{runGhWrapper:b}=await Promise.resolve().then(()=>(Mh(),Fh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){Cn(m());let{runTestWrapper:b}=await Promise.resolve().then(()=>(Uh(),qh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="cat"){Cn(m());let{runCatWrapper:b}=await Promise.resolve().then(()=>(Vh(),Jh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="exec"){Cn(m());let{runExecWrapper:b}=await Promise.resolve().then(()=>(Ui(),qi)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="show"&&n.handle){let b=await h();w=()=>b.close();let y=await b.get(n.handle);if(y&&"original"in y&&y.original)return process.stdout.write(y.original),await fu(l.rootDir,n.handle,!0,y.original.length),0;if(y?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${y.expired_at}`,help:y.command});return process.stdout.write(k),await fu(l.rootDir,n.handle,!1,k.length),1}let _=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(_),await fu(l.rootDir,n.handle,!1,_.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(b){if(Un(b))return process.stdout.write(b.render()),2;if(i)return await Wi("wrapper failed",n.positional,b,l.rootDir);throw b}finally{await w?.()}}mt();zg();Zg();function Goe(e){return Un(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{Iz as main,Xg as renderAutomaticCommandOutput,Goe as renderCliFailure,Kg as renderStructuredBoundary};
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
+ `:`${dw(t)}
375
+ `),0;if(r.kind==="help")return process.stdout.write(RA(e)),0;let n;try{n=ow(e)}catch(y){if(aw(y))return process.stdout.write(iw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(zi(),Eu));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(zi(),Eu));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(ji(),xg));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(ji(),xg));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(kC(),EC)),_=await y(process.cwd());return process.stdout.write(v_(_)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(AC(),OC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(Bf(),Mf));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:_}=await Promise.resolve().then(()=>(IC(),PC));return process.stdout.write(_(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),Ep)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),cn)),_=y(process.cwd()),w=await bA(o,_,ga(n.positional,1));return process.stdout.write(wA(w)),w.exitCode}let i=eA(n.command);if(!o.enabled)return i?await ZO(n.positional):(process.stdout.write(`${mu()}
376
+ `),0);if(n.command==="git"&&ku(n.positional)){let y=process.hrtime.bigint();return await De(n,await Su(),y,void 0,await Ng(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(),va)),_=y(l.rootDir,n.command);if(_)return await XO(n.positional,l.rootDir,_)}if(i&&QO(o.measurementHoldoutShare))return await zO(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(uP(),lP)),_=a(process.cwd()),w=wd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:w.socket??_.socketPath,pidPath:w["pid-file"]??_.pidPath,rootDir:_.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??_.registryPath}),0):(process.stdout.write(`${mu()}
377
+ `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),_=wd(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:_.socket??y.socketPath,wakeLockPath:_["wake-lock"]??y.wakeLockPath},{storeUri:w.storeUri,ttlDays:_["ttl-days"]??w.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??w.ephemeralTtlHours,byteBudget:_["byte-budget"]??w.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??w.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??w.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??w.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??w.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??w.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(ru(),tu));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:_}=await Promise.resolve().then(()=>(wt(),cn)),w=n.command==="sweep"?await _(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(za(),cE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),va)),S=k(l.rootDir,o.overhead);return process.stdout.write(E_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(xo(),_E)),_=uw(n.positional);if(!_)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:_.path,params:_.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 nv(o);return process.stdout.write(sv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!s8(o8(o.storeUri)))return i?await mC(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:_}=await Qn(o,ga(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),va));return process.stdout.write(__(y,_,lw(n.positional),w(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let _;try{_=await y.telemetryGains(ga(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(R_(_)),0}if(n.command==="git"){if(In(m()),ku(n.positional)){let S=process.hrtime.bigint();return await De(n,await Su(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Sg)),_=new Kr(()=>f(!1));b=()=>_.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:_,heavyGitByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,_,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(sy(),ny)),_=new Kr(()=>f(!1));b=()=>_.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:_});return await De(n,k,w,_,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(cy(),ay)),_=new Kr(()=>f(!1));b=()=>_.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:_});return await De(n,k,w,_,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(py(),dy)),_=new Kr(()=>f(!1));b=()=>_.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:_,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,_,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(Wi(),Hi)),_=new Kr(()=>f(!1));b=()=>_.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:_,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,_,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let _=await y.get(n.handle);if(_&&"original"in _&&_.original)return process.stdout.write(_.original),await Ru(l.rootDir,n.handle,!0,_.original.length),0;if(_?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${_.expired_at}`,help:_.command});return process.stdout.write(k),await Ru(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 Ru(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 Vi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();mg();bg();function bce(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{i8 as main,yg as renderAutomaticCommandOutput,bce as renderCliFailure,fg as renderStructuredBoundary};
377
379
  /*! Bundled license information:
378
380
 
379
- @octokit/request-error/dist-src/index.js:
380
- (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
381
-
382
381
  content-type/dist/index.js:
383
382
  (*!
384
383
  * content-type
@@ -386,10 +385,41 @@ content-type/dist/index.js:
386
385
  * MIT Licensed
387
386
  *)
388
387
 
388
+ @octokit/request-error/dist-src/index.js:
389
+ (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
390
+
389
391
  @octokit/request/dist-bundle/index.js:
390
392
  (* v8 ignore next -- @preserve *)
391
393
  (* v8 ignore else -- @preserve *)
392
394
 
395
+ @octokit/oauth-methods/dist-bundle/index.js:
396
+ (* v8 ignore next: we always pass a custom request in tests -- @preserve *)
397
+
398
+ @octokit/auth-oauth-device/dist-bundle/index.js:
399
+ (* v8 ignore next 2 -- @preserve *)
400
+
401
+ @octokit/auth-oauth-user/dist-bundle/index.js:
402
+ (* v8 ignore if -- @preserve *)
403
+ (* v8 ignore next -- @preserve *)
404
+
405
+ @octokit/auth-oauth-app/dist-bundle/index.js:
406
+ (* v8 ignore next -- @preserve *)
407
+
408
+ toad-cache/dist/toad-cache.mjs:
409
+ (**
410
+ * toad-cache
411
+ *
412
+ * @copyright 2026 Igor Savin <kibertoad@gmail.com>
413
+ * @license MIT
414
+ * @version 3.7.3
415
+ *)
416
+
417
+ @octokit/auth-app/dist-node/index.js:
418
+ (* v8 ignore next - permissions are optional per OpenAPI spec, but we think that is incorrect -- @preserve *)
419
+ (* v8 ignore next - repositorySelection are optional per OpenAPI spec, but we think that is incorrect -- @preserve *)
420
+ (* v8 ignore start - due to skipped tests, see https://github.com/octokit/auth-app.js/pull/580 -- @preserve *)
421
+ (* v8 ignore end -- @preserve *)
422
+
393
423
  @octokit/graphql/dist-bundle/index.js:
394
424
  (* v8 ignore if -- @preserve *)
395
425
  */