@reddb-io/red-skills 3.18.4 → 3.18.6

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,67 +1,67 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var yP=Object.create;var ju=Object.defineProperty;var bP=Object.getOwnPropertyDescriptor;var wP=Object.getOwnPropertyNames;var _P=Object.getPrototypeOf,EP=Object.prototype.hasOwnProperty;var ta=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t)=>{for(var r in t)ju(e,r,{get:t[r],enumerable:!0})},kP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of wP(t))!EP.call(e,s)&&s!==r&&ju(e,s,{get:()=>t[s],enumerable:!(n=bP(t,s))||n.enumerable});return e};var ra=(e,t,r)=>(r=e!=null?yP(_P(e)):{},kP(t||!e||!e.__esModule?ju(r,"default",{value:e,enumerable:!0}):r,e));function RP(e,t){return typeof t=="string"?{separator:e,to:t,typed:!1,prefix:!1}:{separator:e,to:t.to,typed:t.typed??!1,prefix:t.prefix??!1}}function vP(e=Fy){return Object.entries(e).map(([t,r])=>RP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function TP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!TP(e))}function na(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function My(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>My(r.trim())):e}function Yr(e,t){switch(t){case"boolean":return xP(e);case"number":return OP(e);case"array":return e.split(",").map(r=>na(r.trim()));case"string":default:return e}}function xP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function OP(e){if(e.trim()==="")throw new TypeError(`Cannot convert "${e}" to number`);let t=Number(e);if(Number.isNaN(t))throw new TypeError(`Cannot convert "${e}" to number`);return t}function hr(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function AP(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function re(e,t){return{type:e,value:t}}function CP(e){let t=[],r=IP(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
2
+ var _P=Object.create;var qu=Object.defineProperty;var EP=Object.getOwnPropertyDescriptor;var kP=Object.getOwnPropertyNames;var SP=Object.getPrototypeOf,RP=Object.prototype.hasOwnProperty;var ra=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t)=>{for(var r in t)qu(e,r,{get:t[r],enumerable:!0})},vP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of kP(t))!RP.call(e,s)&&s!==r&&qu(e,s,{get:()=>t[s],enumerable:!(n=EP(t,s))||n.enumerable});return e};var na=(e,t,r)=>(r=e!=null?_P(SP(e)):{},vP(t||!e||!e.__esModule?qu(r,"default",{value:e,enumerable:!0}):r,e));function xP(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 OP(e=By){return Object.entries(e).map(([t,r])=>xP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function AP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!AP(e))}function sa(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 jy(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=>jy(r.trim())):e}function Yr(e,t){switch(t){case"boolean":return CP(e);case"number":return PP(e);case"array":return e.split(",").map(r=>sa(r.trim()));case"string":default:return e}}function CP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function PP(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 IP(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 LP(e){let t=[],r=$P(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
3
3
  `),re("newline",`
4
4
  `)),e.positional&&e.positional.length>0){t.push(re("section-header","Arguments:"),re("newline",`
5
5
  `));for(let n of e.positional)if(n.description){let s=n.variadic?`${n.name}...`:n.name;t.push(re("indent"," "),re("positional-name",`<${s}>`)),n.required||t.push(re("positional-optional"," (optional)")),t.push(re("newline",`
6
6
  `),re("indent"," "),re("option-description",n.description),re("newline",`
7
7
  `))}t.push(re("newline",`
8
8
  `))}if(e.options&&Object.keys(e.options).length>0){t.push(re("section-header","Options:"),re("newline",`
9
- `));let n=LP(e.options);t.push(...n)}return t}function PP(e,t){let r=CP(e);return AP(r,t)}function IP(e){let t=["[options]"];if(e.positional)for(let r of e.positional)r.variadic?t.push(r.required?`<${r.name}...>`:`[${r.name}...]`):t.push(r.required?`<${r.name}>`:`[${r.name}]`);return t.join(" ")}function LP(e,t=!1){let r=[],n=[],s=t?"global-option-flag":"option-flag",o=t?"global-option-type":"option-type",i=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[l,u]of Object.entries(e)){if(u.hidden)continue;let d=[],p=g=>{d.includes(g)||d.push(g)};u.short&&p(`-${u.short}`),p(`--${l}`);for(let g of u.aliases??[])g.length===1?p(`-${g}`):p(`--${g}`);let f=d.join(", "),m=u.type&&u.type!=="boolean"?`<${u.type}>`:void 0;n.push({flags:f,type:m,desc:u.description??"",default:u.default!==void 0?String(u.default):void 0})}let c=Math.max(...n.map(l=>l.flags.length+(l.type?l.type.length+1:0)),20);for(let l of n){let u=l.flags.length+(l.type?l.type.length+1:0),d=" ".repeat(c-u+2);r.push(re("indent"," ")),r.push(re(s,l.flags)),l.type&&(r.push(re("text"," ")),r.push(re(o,l.type))),r.push(re("text",d)),r.push(re(a,l.desc)),l.default!==void 0&&(r.push(re("text"," ")),r.push(re(i,`(default: ${l.default})`))),r.push(re("newline",`
10
- `))}return r}function By(e){let t=BP(e.options??{},e.autoShort??!1),r=vP(e.separators??Fy);return{schema:e,parse(n){return GP(n,e,t,r)},help(){return PP(e,e.formatter)}}}function GP(e,t,r,n){let s={positional:{},options:{},errors:[],rest:[]},o=new Set(n.map(u=>u.to));for(let u of o)s[u]={};let i=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&i>0){s.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(i<a.length){let p=a[i];if(p.variadic){let f=[];for(;c<e.length;){let m=e[c];f.push(p.type?Yr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Yr(u,p.type):u;s.positional[p.name]=f,i++,c++}}else t.allowUnknown!==!1&&(s.rest=s.rest??[],s.rest.push(u)),c++;continue}if(u.startsWith("--")){c=FP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!WP(u)){c=MP(u,c,e,s,r,t);continue}let d=$P(u,n);if(d){let{key:p,value:f,config:m}=d,g=s,b=g[m.to]??(g[m.to]={});b[p]=m.typed?My(f):hr(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let g=e[c];m.push(p.type?Yr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Yr(u,p.type):u;s.positional[p.name]=f,i++}else t.allowUnknown!==!1?s.rest.push(u):s.errors.push(`Unexpected positional argument: ${u}`);c++}return qP(s,t,r),UP(s,t,a),HP(s,t,r),s}function $P(e,t){if(SP.test(e))return null;for(let r of t){if(r.prefix&&e.startsWith(r.separator)){let s=e.slice(r.separator.length),o=s.indexOf(":");if(o>0){let i=s.slice(0,o),a=s.slice(o+1);if(NP(i))return{key:i,value:a,config:r}}continue}let n=e.indexOf(r.separator);if(n>0){let s=e.slice(0,n),o=e.slice(n+r.separator.length);if(DP(s,o,r))return{key:s,value:o,config:r}}}return null}function NP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function DP(e,t,r){return e?r.separator===":"?e.includes("/")||e.includes(".")||/^\d+$/.test(t)?!1:/^[A-Z][a-zA-Z0-9-]*$/.test(e):!((r.separator==="="||r.separator===":=")&&e.includes("/")):!1}function FP(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return sa(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?sa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function MP(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=qu(c,s);return u?sa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=na(hr(l))),t+1)}if(i.length===1){let a=qu(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?sa(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Fn(c))return n.options[i]=na(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=qu(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function sa(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Yr(hr(t),i.type):hr(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Yr(hr(t),i.type):hr(t);if(i.type==="array"){let c=n.options[e];Array.isArray(c)?c.push(...a):n.options[e]=a}else n.options[e]=a}else o.strict?n.errors.push(`Unknown option: --${e}`):o.allowUnknown!==!1&&(n.options[e]=na(hr(t)));return r}function BP(e,t=!1){let r=new Map,n=Object.entries(e).sort(([o],[i])=>o.localeCompare(i)),s=new Set;for(let[,o]of n)o.short&&s.add(o.short);for(let[o,i]of n){let a=i.short??"";t&&!a&&(a=jP(o,s),a&&s.add(a));let c={name:o,short:a,aliases:i.aliases??[],type:i.type??"string",description:i.description??"",required:i.required??!1,hidden:i.hidden??!1,negatable:i.negatable??!0,default:i.default,choices:i.choices,env:i.env,validate:i.validate};r.set(o,c);for(let l of c.aliases)r.set(l,c)}return r}function jP(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function qu(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function qP(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let s=process.env[n.env];e.options[n.name]=n.type?Yr(s,n.type):s}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function UP(e,t,r){if(t.options)for(let[n,s]of Object.entries(t.options))s.required&&e.options[n]===void 0&&e.errors.push(`Missing required option: --${n}`);for(let n of r)n.required&&e.positional[n.name]===void 0&&e.errors.push(`Missing required argument: <${n.name}>`)}function HP(e,t,r){for(let n of r.values()){let s=e.options[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}for(let n of t.positional??[]){let s=e.positional[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}}function WP(e){return/^-\d+(\.\d+)?$/.test(e)}var Fy,SP,jy=_(()=>{Fy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},SP=/^[a-z][a-z0-9+.-]*:\/\//i});function JP(e){let t={};for(let[r,n]of Object.entries(e))t[r]={type:n.kind==="boolean"?"boolean":"string",...r.length===1?{short:r}:{},...n.aliases===void 0?{}:{aliases:n.aliases}};return t}function VP(e,t){let r=new Map;for(let[s,o]of Object.entries(t))if(!(o.kind!=="value"||o.type!=="array")){r.set(s,s);for(let i of o.aliases??[])r.set(i,s)}let n=new Map;for(let s=0;s<e.length;s+=1){let o=e[s];if(o==="--")break;let i=o.match(/^--([^=]+)(?:=(.*))?$/)??o.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let c=i[2];if(c===void 0&&Fn(e[s+1])&&(c=e[s+1],s+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Qs(e,t,r={}){let s=By({options:JP(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=VP(e,t),a=s.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(s.errors.length>0)throw new Error(s.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(s.options))if(!c.has(l))throw new Uu(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=s.options[c];u!==void 0&&(l.kind==="boolean"?o[c]=u:l.type==="array"?o[c]=(i.get(c)??[]).map(d=>l.coerce(d)):o[c]=l.coerce(String(u)))}return{values:o,positionals:s.rest}}function YP(e){let t=new Map;for(let[r,n]of Object.entries(e)){t.set(r,r);for(let s of n.aliases??[])t.set(s,r)}return t}function Qr(e,t,r={}){let n=YP(t),s=r.stopAtSeparator??!0,o={},i=[];for(let a=0;a<e.length;a+=1){let c=e[a];if(c==="--"&&s){i.push(...e.slice(a));break}let l=KP.exec(c)??zP.exec(c),u=l===null?void 0:n.get(l[1]),d=u===void 0?void 0:t[u];if(u===void 0||d===void 0){i.push(c);continue}if(d.kind==="boolean"){o[u]=!0;continue}let p=l[2];if(p===void 0&&Fn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function Hu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Ys(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Uu,KP,zP,Ys,Wu=_(()=>{jy();Uu=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};KP=/^--([^=]+)(?:=([\s\S]*))?$/,zP=/^-([^-=])(?:=([\s\S]*))?$/;Ys=class extends Error{token;known;constructor(t,r){super(`unknown command '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownCommandError",this.token=t,this.known=r}}});function Uy(e){return QP.test(e)}var QP,qy,Hy=_(()=>{QP=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,qy="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new gr(e,t,r)}function Y(e,t){return new Xr(e,t)}function Bn(e){return e instanceof Xr?e:e instanceof gr?new Xr(e.line,e.reason):new Xr(0,String(e&&e.message?e.message:e))}var Mn,gr,Xr,Kt=_(()=>{Mn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},gr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},Xr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function Zr(e){return e instanceof Ju}var XP,Ju,Xs=_(()=>{XP=/(?:^\uFEFF?|\n) *#/,Ju=class{value;constructor(t){if(XP.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function Vy(e){let t=e.split(`
11
- `);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function Gt(e){return F(e,"invalid quoted string")}function Be(e,t){if(e==="")return"";if(e.startsWith('"'))return Ky(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(ZP(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function yr(e,t){let r=e.trim();if(r.startsWith('"'))return[Ky(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Ky(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){Wy.lastIndex=n;let s=Wy.exec(e);if(s===null)break;if(s[0]==='"'){if(e.slice(s.index+1).trim()==="")return r+e.slice(n,s.index);throw Gt(t)}if(s[0]!=="\\")throw Gt(t);r+=e.slice(n,s.index);let o=e[s.index+1];switch(n=s.index+2,o){case'"':r+='"';break;case"\\":r+="\\";break;case"n":r+=`
12
- `;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let i=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(i))throw Gt(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw Gt(t);r+=String.fromCharCode(a),n+=4;break}default:throw Gt(t)}}throw Gt(t)}function zy(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw Gt(r);t=s+2;continue}if(n===-1)throw Gt(r);return n+1}}function en(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=zy(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function gt(e,t,r){let n=0;for(;n<e.length;){let s=e.indexOf('"',n),o=e.indexOf(t,n);if(o!==-1&&(s===-1||o<s))return o;if(s===-1)return-1;n=zy(e,s+1,r)}return-1}function ZP(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function eI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function tI(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function Zs(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(Zr(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return tI(e);if(typeof e=="string")return nI(e,t);throw F(0,"not a primitive")}function rI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return rI(e)?e:oa(e)}function nI(e,t){return Vu(e,t)?oa(e):e}function Vu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||eI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function oa(e){return`"${Yy(e)}"`}function Yy(e){let t="",r=0;Jy.lastIndex=0;let n;for(;(n=Jy.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function tn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var zt,Wy,Jy,rn=_(()=>{Kt();Xs();zt=",";Wy=/["\\\u0000-\u0008\u000a-\u001f]/g;Jy=/["\\\u0000-\u001f]/g});var Qy,sI,eo,Xy,nn,Zy,to=_(()=>{Qy={comma:",",tab:" ",pipe:"|"},sI=Qy.comma,eo=1e3,Xy=["type","kind","event"],nn="|",Zy=new Set(["order","discriminator","rows","common"])});function*tb(e,t,r,n,s,o,i){yield*rb(r,e,n,t,{index:0},s,i,!0,o)}function*rb(e,t,r,n,s,o,i,a,c){let l=ob(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!ia(p.content,r,p.number))break;let f=en(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:aa(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*sb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*nb(t,f,p,n,m,o+1,r,i),yield{type:"endObject",line:p.number}),m.cellIndex!==f.length)throw F(p.number,"array row length mismatch");s.index=m.nextIndex,u++}if(u!==e)throw cI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&ia(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*nb(e,t,r,n,s,o,i,a){for(let c=0;c<e.length;c++){let l=e[c];yield{type:"key",key:l.name,line:r.number},yield*oI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*oI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*sb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=eb(r,o,n.number),d=en(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:Be(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=aa(e.children),d=r[o.cellIndex],p=ab(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],g=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(g||r.length!==o.flatWidth&&f<u+aI(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let E={index:o.nextIndex};yield*rb(p,e.children,a,s,E,i,c,!1,n.number),o.nextIndex=E.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*nb(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=eb(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*sb(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:Be(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function eb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function ob(e,t,r,n,s,o,i){let a=t.filter(l=>l.children!==void 0);if(a.length===0)return new Set;if(a.length>12)return;let c;for(let l=0;l<1<<a.length;l++){let u=new Set;a.forEach((p,f)=>{l&1<<f&&u.add(p)});let d=ib(e,t,u,r,n,s,o,i);d!==void 0&&(c===void 0||d.consumed>c.consumed||d.consumed===c.consumed&&u.size<c.fields.size)&&(c={fields:u,consumed:d.consumed})}return c?.fields}function ib(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!ia(p.content,n,p.number))return;let f=iI(t,r,en(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&ia(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function iI(e,t,r,n,s,o,i,a){let c=0,l=o,u=0;for(let d of e){if(d.fixedLength!==void 0)c+=d.fixedLength;else if(d.children!==void 0)if(t.has(d)){let p=ab(r[c]);if(p===void 0)return;c++;let f=ob(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=ib(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=aa(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function ab(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function aa(e){return e.reduce((t,r)=>t+cb(r),0)}function cb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?aa(e.children):1}function aI(e){return e.reduce((t,r)=>t+(r.children===void 0?cb(r):1),0)}function ia(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s!==-1&&s<n}function cI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var lb=_(()=>{Kt();rn()});function lI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*uI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*dI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Xu(e,t){let r=gt(e,"[",t);if(r===-1)return null;let n=gt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let g=i.slice(l+1);if(i=i.slice(0,l),a=!0,g===" "||g==="|")c=g;else if(g!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!pI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=db(d,t);p=fI(d.slice(1,g),c,t),d=d.slice(g+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=$t(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:yr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function db(e,t){let r=0,n=!1;for(let s=0;s<e.length;s++){let o=e[s];if(n){o==="\\"?s++:o==='"'&&(n=!1);continue}if(o==='"')n=!0;else if(o==="{")r++;else if(o==="}"&&(r--,r===0))return s}throw F(t,"malformed tabular header fields")}function fI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return ca(e,",",t,r);try{return ca(e,t,t,r)}catch(n){if(t===",")throw n;return ca(e,",",t,r)}}function ca(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(mI(u,t,r,n))};for(let u=0;u<e.length;u++){let d=e[u];if(c){d==="\\"?u++:d==='"'&&(c=!1);continue}d==='"'?c=!0:d==="{"?i++:d==="}"?i--:d==="["?a++:d==="]"?a--:d===t&&i===0&&a===0&&(l(e.slice(o,u)),o=u+1)}return l(e.slice(o)),s}function mI(e,t,r,n){let s=$t(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?hI(s,n)+1:0,i=s.indexOf("{",o),a=s.indexOf("[",o),c=i===-1?a:a===-1?i:Math.min(i,a);if(c===-1)return{name:yr(s,n)[0]};let l=yr(s.slice(0,c),n)[0];if(c===a){let p=s.indexOf("]",a);if(p===-1||p!==s.length-1)throw F(n,"invalid array header");let f=s.slice(a+1,p),m=/^(0|[1-9]\d*)(\t|\|)?$/.exec(f);if(m!==null){if((m[2]??",")!==r)throw F(n,"invalid array header");return{name:l,fixedLength:Number(m[1])}}if(f.length!==1||f===r||/[ \t\r\n"[\]{}:]/.test(f))throw F(n,"invalid array header");return{name:l,listDelimiter:f}}let u=db(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=ca(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function hI(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function Zu(e){let t=0;for(let r of e)t+=r.children===void 0?1:Zu(r.children);return t}function ed(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&ed(s.children,t,r)}}function $t(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function td(e,t,r){if($t(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push($t(e.slice(s,i))),s=i+1)}return n.push($t(e.slice(s))),n}function pb(e,t){return gt(e,":",t)!==-1}function fb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function mb(e){let t=e?.maxDepth??eo;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*hb(e){let t=new zu,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Ku(t,e);return}let n=null,s=!1;try{n=Xu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&ua(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*wb(t,r,n,e):yield*nd(t,r,n,e),yield*Ku(t,e);return}if((n===null||s)&&!pb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be($t(r.content),r.number),line:r.number};return}yield*gb(t,0,r.number,e),yield*Ku(t,e)}function*Ku(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*gb(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*Yu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Yu(e,t,r,n,s,o){let i=null;try{i=Xu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(ua(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{Qu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*wb(e,{...t,depth:n},i,s):yield*nd(e,{...t,depth:n},i,s);return}let a=gt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=fb($t(r.slice(0,a)),t.number),l=$t(r.slice(a+1));if(Qu(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*gb(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Be(l,t.number),line:t.number}}function Qu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*nd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(ed(r.fields,t.number,n),yb(r.fields,n)){if(!n.objectArrayColumns&&bb(r.fields))throw F(t.number,"invalid array header");let i=[];for(;;){let a=yield*e.peek();if(a===void 0||a.depth<=t.depth)break;i.push(yield*e.take(n))}yield*tb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*yI(e,t,r,n);return}if(r.inline!==void 0){let i=td(r.inline,r.delimiter,t.number);od(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:Be(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*gI(e,i,n)}s>0&&e.spanActive--;let o=e.lastNumber(t.number);if(n.strict&&s!==r.length)throw F(o,`expected ${r.length} list items, but got ${s}`);yield{type:"endArray",line:o}}function yb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&yb(r.children,t))}function bb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&bb(t.children))}function*gI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=$t(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=Xu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(ua(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Be(n,t.number),line:t.number};return}yield*nd(e,t,s,r);return}if(s!=null&&s.key!==void 0||pb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Yu(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*Yu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Be(n,t.number),line:t.number}}function*yI(e,t,r,n){let s=r.fields,o=Zu(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!bI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=td(l.content,r.delimiter,l.number);od(u.length,o,l.number,"row cells",n),yield*sd(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function bI(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*sd(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:Be(o,n),line:n}}else yield*sd(s.children,t,r,n);yield{type:"endObject",line:n}}function*wb(e,t,r,n){let s=r.fields;ed(s,t.number,n);let o=Zu(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=gt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=fb($t(u.content.slice(0,d)),u.number);Qu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=td(u.content.slice(d+1),r.delimiter,u.number);od(f.length,o,u.number,"entry row cells",n),yield*sd(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function od(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function _b(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function ua(e,t,r,n=1){if(e!==void 0){_b(n,t,r);for(let s of e)s.children!==void 0&&ua(s.children,t,r,n+1)}}function*Eb(e,t){let r=mb(t),n=new la(r),s=uI(e,n),o=hb(r),i=o.next();try{for(;!i.done;)if(i.value===rd){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Sb(a,n)}finally{o.return(),s.return(void 0)}}async function*kb(e,t){let r=mb(t),n=new la(r),s=dI(e,n),o=hb(r),i=o.next();try{for(;!i.done;)if(i.value===rd){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Sb(a,n)}finally{o.return(),await s.return(void 0)}}function Sb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Mn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function id(e,t){return Symbol.asyncIterator in e?kb(e,t):Eb(e,t)}var la,pI,rd,ub,zu,da=_(()=>{Kt();rn();to();lb();la=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(lI(r))return;let n=0,s=0,o=0;for(;n<r.length&&(r[n]===" "||r[n]===" ");){if(r[n]===" "){if(this.ctx.strict)throw F(this.number,"tab used as indentation");s++}else o++;n++}let i;if(o%this.ctx.indentSize===0)i=o/this.ctx.indentSize;else{if(this.ctx.strict)throw F(this.number,"invalid indentation");i=Math.floor(o/this.ctx.indentSize)}i+=s,_b(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};pI=/^(0|[1-9]\d*)$/;rd=Symbol("need line"),ub=2,zu=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=ub)throw new Error(`decoder lookahead exceeds ${ub} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield rd;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Qe(e){if(e===null)return null;if(Zr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Qe(t)}if(typeof e=="string")return Rb(e,"string value"),e;if(typeof e=="boolean")return e;if(typeof e=="number")return Object.is(e,-0)?0:Number.isFinite(e)?e:null;if(typeof e=="bigint")return e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER?Number(e):e.toString();if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(Qe);if(e instanceof Set)return Array.from(e,Qe);if(e instanceof Map){let t={};for(let[r,n]of e)jn(t,String(r),Qe(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Rb(r,"object key"),jn(t,r,Qe(e[r]));return t}return null}function Rb(e,t){if(wI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function rt(e){return e===null||Zr(e)||["string","number","boolean"].includes(typeof e)}function jn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var wI,qn=_(()=>{Xs();wI=/[\uD800-\uDFFF]/});function xb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=_I(n,1);if(s===void 0)return e;tn(t,r,s)}return t}function _I(e,t){if(!ne(e)||!EI(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw xe(t);let o=kI(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(ne))throw Ob(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Zy.has(d)){if(!Array.isArray(p)||!p.every(ne))throw xe(t);c.set(d,p)}if(c.size===0)throw xe(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw ad(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw ad(t);return l.set(d,m+1),SI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw ad(t);return u}function EI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function kI(e,t,r){if(!e.startsWith("cycle("))throw xe(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw xe(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw xe(r);let a=o.split(",").map(u=>xI(u,r));if(a.some(u=>u===""))throw xe(r);let c=TI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Ob(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function SI(e,t,r,n,s){let o={};tn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}for(let[i,a]of Object.entries(RI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}return o}function RI(e,t){let r={};for(let[n,s]of Object.entries(e))vI(r,n.split("."),s,t);return pa(r,t)}function vI(e,t,r,n){if(t.some(o=>o===""))throw xe(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!ne(s))throw xe(n)}}function pa(e,t){return Array.isArray(e)?e.map(r=>pa(r,t)):ne(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return pa(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,pa(n,t)])):e}function TI(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw xe(t);let r=Number(e);if(!Number.isSafeInteger(r))throw xe(t);return r}function xI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function vb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Ob(e){return F(e,"cyclic array length mismatch")}function ad(e){return F(e,"cyclic array group length mismatch")}function Ab(e){if(!ne(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=OI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)II(n,s,o);return n.join("")}function OI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=AI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=CI(r);if(n===void 0)return;let s=PI(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!cd(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=GI(c);if(l===void 0||l.length===0)return;i.push({fields:l,label:a,rows:c})}return{common:s,commonRows:e.map(a=>Object.fromEntries(s.map(c=>[c,a[c]]))),discriminator:t,groups:i,order:n,rows:e}}function AI(e){return Xy.find(t=>e.every(r=>typeof r[t]=="string"))}function CI(e){if(!(e.length<12))for(let t=2;t<=Math.min(8,Math.floor(e.length/3));t+=1){if(e.length%t!==0)continue;let r=e.slice(0,t);if(new Set(r).size<2||!e.every((i,a)=>i===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(vb).join(","),o=`cycle(${r.map(vb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function PI(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let o of n.slice(s).filter(i=>i!==t)){if(!LI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Zs(i[o])))break;r.push(o)}return r}function II(e,t,r){e.push(Te(t),`:
9
+ `));let n=NP(e.options);t.push(...n)}return t}function GP(e,t){let r=LP(e);return IP(r,t)}function $P(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 NP(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 qy(e){let t=UP(e.options??{},e.autoShort??!1),r=OP(e.separators??By);return{schema:e,parse(n){return DP(n,e,t,r)},help(){return GP(e,e.formatter)}}}function DP(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=jP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!KP(u)){c=qP(u,c,e,s,r,t);continue}let d=FP(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?jy(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 WP(s,t,r),JP(s,t,a),VP(s,t,r),s}function FP(e,t){if(TP.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(MP(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(BP(s,o,r))return{key:s,value:o,config:r}}}return null}function MP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function BP(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 jP(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 oa(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)?oa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function qP(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=Uu(c,s);return u?oa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=sa(hr(l))),t+1)}if(i.length===1){let a=Uu(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?oa(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]=sa(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Uu(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 oa(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]=sa(hr(t)));return r}function UP(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=HP(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 HP(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 Uu(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function WP(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 JP(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 VP(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 KP(e){return/^-\d+(\.\d+)?$/.test(e)}var By,TP,Uy=_(()=>{By={"=":"data",":=":{to:"data",typed:!0},":":"meta"},TP=/^[a-z][a-z0-9+.-]*:\/\//i});function zP(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 YP(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=qy({options:zP(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=YP(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 Hu(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=QP.exec(c)??XP.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 Wu(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 Hu,QP,XP,Ys,Ju=_(()=>{Uy();Hu=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}};QP=/^--([^=]+)(?:=([\s\S]*))?$/,XP=/^-([^-=])(?:=([\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 Wy(e){return eI.test(e)}var eI,Hy,Jy=_(()=>{eI=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,Hy="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new gr(e,t,r)}function Y(e,t){return new Xr(e,t)}function Bn(e){return e instanceof Xr?e:e instanceof gr?new Xr(e.line,e.reason):new Xr(0,String(e&&e.message?e.message:e))}var Mn,gr,Xr,Kt=_(()=>{Mn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},gr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},Xr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function Zr(e){return e instanceof Vu}var tI,Vu,Xs=_(()=>{tI=/(?:^\uFEFF?|\n) *#/,Vu=class{value;constructor(t){if(tI.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function zy(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 Yy(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(rI(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[Yy(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Yy(e,t){if(e.charCodeAt(0)!==34)throw Gt(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 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 Qy(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=Qy(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=Qy(e,s+1,r)}return-1}function rI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function nI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function sI(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 sI(e);if(typeof e=="string")return iI(e,t);throw F(0,"not a primitive")}function oI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return oI(e)?e:ia(e)}function iI(e,t){return Ku(e,t)?ia(e):e}function Ku(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||nI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ia(e){return`"${Xy(e)}"`}function Xy(e){let t="",r=0;Ky.lastIndex=0;let n;for(;(n=Ky.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,Vy,Ky,rn=_(()=>{Kt();Xs();zt=",";Vy=/["\\\u0000-\u0008\u000a-\u001f]/g;Ky=/["\\\u0000-\u001f]/g});var Zy,aI,eo,eb,nn,tb,to=_(()=>{Zy={comma:",",tab:" ",pipe:"|"},aI=Zy.comma,eo=1e3,eb=["type","kind","event"],nn="|",tb=new Set(["order","discriminator","rows","common"])});function*nb(e,t,r,n,s,o,i){yield*sb(r,e,n,t,{index:0},s,i,!0,o)}function*sb(e,t,r,n,s,o,i,a,c){let l=ab(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(!aa(p.content,r,p.number))break;let f=en(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ca(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*ib(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*ob(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 dI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&aa(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*ob(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*cI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*cI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*ib(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=rb(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=ca(e.children),d=r[o.cellIndex],p=lb(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+uI(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let E={index:o.nextIndex};yield*sb(p,e.children,a,s,E,i,c,!1,n.number),o.nextIndex=E.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*ob(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=rb(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*ib(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 rb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function ab(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=cb(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 cb(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||!aa(p.content,n,p.number))return;let f=lI(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&&aa(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function lI(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=lb(r[c]);if(p===void 0)return;c++;let f=ab(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=cb(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=ca(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function lb(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function ca(e){return e.reduce((t,r)=>t+ub(r),0)}function ub(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ca(e.children):1}function uI(e){return e.reduce((t,r)=>t+(r.children===void 0?ub(r):1),0)}function aa(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 dI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var db=_(()=>{Kt();rn()});function pI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*fI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*mI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Zu(e,t){let r=gt(e,"[",t);if(r===-1)return null;let n=gt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let g=i.slice(l+1);if(i=i.slice(0,l),a=!0,g===" "||g==="|")c=g;else if(g!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!hI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=fb(d,t);p=gI(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 fb(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 gI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return la(e,",",t,r);try{return la(e,t,t,r)}catch(n){if(t===",")throw n;return la(e,",",t,r)}}function la(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(yI(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 yI(e,t,r,n){let s=$t(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?bI(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=fb(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=la(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function bI(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function ed(e){let t=0;for(let r of e)t+=r.children===void 0?1:ed(r.children);return t}function td(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&td(s.children,t,r)}}function $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 rd(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 mb(e,t){return gt(e,":",t)!==-1}function hb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function gb(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*yb(e){let t=new Yu,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*zu(t,e);return}let n=null,s=!1;try{n=Zu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&da(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Eb(t,r,n,e):yield*sd(t,r,n,e),yield*zu(t,e);return}if((n===null||s)&&!mb(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*bb(t,0,r.number,e),yield*zu(t,e)}function*zu(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*bb(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*Qu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Qu(e,t,r,n,s,o){let i=null;try{i=Zu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(da(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{Xu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Eb(e,{...t,depth:n},i,s):yield*sd(e,{...t,depth:n},i,s);return}let a=gt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=hb($t(r.slice(0,a)),t.number),l=$t(r.slice(a+1));if(Xu(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*bb(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Be(l,t.number),line:t.number}}function Xu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*sd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(td(r.fields,t.number,n),wb(r.fields,n)){if(!n.objectArrayColumns&&_b(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*nb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*_I(e,t,r,n);return}if(r.inline!==void 0){let i=rd(r.inline,r.delimiter,t.number);id(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:Be(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*wI(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 wb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&wb(r.children,t))}function _b(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&_b(t.children))}function*wI(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=Zu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(da(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Be(n,t.number),line:t.number};return}yield*sd(e,t,s,r);return}if(s!=null&&s.key!==void 0||mb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Qu(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*Qu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Be(n,t.number),line:t.number}}function*_I(e,t,r,n){let s=r.fields,o=ed(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!EI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=rd(l.content,r.delimiter,l.number);id(u.length,o,l.number,"row cells",n),yield*od(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function EI(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*od(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:Be(o,n),line:n}}else yield*od(s.children,t,r,n);yield{type:"endObject",line:n}}function*Eb(e,t,r,n){let s=r.fields;td(s,t.number,n);let o=ed(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=gt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=hb($t(u.content.slice(0,d)),u.number);Xu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=rd(u.content.slice(d+1),r.delimiter,u.number);id(f.length,o,u.number,"entry row cells",n),yield*od(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function id(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function kb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function da(e,t,r,n=1){if(e!==void 0){kb(n,t,r);for(let s of e)s.children!==void 0&&da(s.children,t,r,n+1)}}function*Sb(e,t){let r=gb(t),n=new ua(r),s=fI(e,n),o=yb(r),i=o.next();try{for(;!i.done;)if(i.value===nd){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw vb(a,n)}finally{o.return(),s.return(void 0)}}async function*Rb(e,t){let r=gb(t),n=new ua(r),s=mI(e,n),o=yb(r),i=o.next();try{for(;!i.done;)if(i.value===nd){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw vb(a,n)}finally{o.return(),await s.return(void 0)}}function vb(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 ad(e,t){return Symbol.asyncIterator in e?Rb(e,t):Sb(e,t)}var ua,hI,nd,pb,Yu,pa=_(()=>{Kt();rn();to();db();ua=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(pI(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,kb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};hI=/^(0|[1-9]\d*)$/;nd=Symbol("need line"),pb=2,Yu=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=pb)throw new Error(`decoder lookahead exceeds ${pb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield nd;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Qe(e){if(e===null)return null;if(Zr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Qe(t)}if(typeof e=="string")return Tb(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))Tb(r,"object key"),jn(t,r,Qe(e[r]));return t}return null}function Tb(e,t){if(kI.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 kI,qn=_(()=>{Xs();kI=/[\uD800-\uDFFF]/});function Ab(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=SI(n,1);if(s===void 0)return e;tn(t,r,s)}return t}function SI(e,t){if(!ne(e)||!RI(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=vI(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 Cb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!tb.has(d)){if(!Array.isArray(p)||!p.every(ne))throw xe(t);c.set(d,p)}if(c.size===0)throw xe(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw cd(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw cd(t);return l.set(d,m+1),TI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw cd(t);return u}function RI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function vI(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=>CI(u,r));if(a.some(u=>u===""))throw xe(r);let c=AI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Cb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function TI(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(xI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);tn(o,i,a)}return o}function xI(e,t){let r={};for(let[n,s]of Object.entries(e))OI(r,n.split("."),s,t);return fa(r,t)}function OI(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 fa(e,t){return Array.isArray(e)?e.map(r=>fa(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 fa(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,fa(n,t)])):e}function AI(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 CI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function xb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Cb(e){return F(e,"cyclic array length mismatch")}function cd(e){return F(e,"cyclic array group length mismatch")}function Pb(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=PI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)$I(n,s,o);return n.join("")}function PI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=II(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=LI(r);if(n===void 0)return;let s=GI(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!ld(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=DI(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 II(e){return eb.find(t=>e.every(r=>typeof r[t]=="string"))}function LI(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(xb).join(","),o=`cycle(${r.map(xb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function GI(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(!NI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Zs(i[o])))break;r.push(o)}return r}function $I(e,t,r){e.push(Te(t),`:
13
13
  `),e.push(" order: ",ve(r.order.encoded,nn),`
14
14
  `),e.push(" discriminator: ",ve(r.discriminator,nn),`
15
15
  `),e.push(" rows: ",String(r.rows.length),`
16
- `),r.common.length>0&&Tb(e,"common",r.common,r.commonRows);for(let n of r.groups)Tb(e,n.label,n.fields,n.rows)}function Tb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),nn,"]{",r.map(Te).join(nn),`}:
16
+ `),r.common.length>0&&Ob(e,"common",r.common,r.commonRows);for(let n of r.groups)Ob(e,n.label,n.fields,n.rows)}function Ob(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),nn,"]{",r.map(Te).join(nn),`}:
17
17
  `);for(let s of n)e.push(" ",r.map(o=>ve(s[o],nn)).join(nn),`
18
- `)}function LI(e){return e!==""&&ld(e)}function cd(e,t,r,n=new Set){if(!ld(t))return!1;if(Zs(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>cd(o,`${t}.${i}`,r,n));return n.delete(e),s}if(ne(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&cd(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function GI(e){let t=Object.keys(e[0]??{});if(e.every(r=>$I(Object.keys(r),t)))return t.every(ld)?t:void 0}function $I(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function ld(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var ud=_(()=>{to();qn();Kt();rn()});function dd(e,t){let r=pd(e,t,[]),n=t("",r,[]);return n===void 0?r:Qe(n)}function pd(e,t,r){return Array.isArray(e)?DI(e,t,r):ne(e)?NI(e,t,r):e}function NI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,pd(o,t,i),i);a!==void 0&&jn(n,s,Qe(a))}return n}function DI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),pd(e[s],t,o),o);i!==void 0&&n.push(Qe(i))}return n}var Cb=_(()=>{qn()});function Ib(e){let t=[],r,n=Pb,s=o=>{let i=t[t.length-1];i===void 0?n=o:Array.isArray(i)?i.push(o):Object.defineProperty(i,r,{value:o,enumerable:!0,writable:!0,configurable:!0})};for(let o of e)switch(o.type){case"startObject":{let i={};s(i),t.push(i);break}case"startArray":{let i=[];s(i),t.push(i);break}case"endObject":case"endArray":t.pop();break;case"key":r=o.key;break;case"primitive":s(o.value);break}return n===Pb?{}:n}function Lb(e,t){let r=Ib(id(e,t));return t?.reviver?dd(r,t.reviver):r}function fd(e,t){let{reviver:r,...n}=t??{},s=Lb(FI(e),n),o=t?.cyclicDiscriminatedArrays===!0?xb(s):s;return r?dd(o,r):o}function*FI(e){let t=0;for(;;){let r=e.indexOf(`
19
- `,t);if(r===-1){yield e.slice(t);return}yield e.slice(t,r),t=r+1}}var Pb,fa=_(()=>{da();ud();Cb();Pb=Symbol("unset")});function Gb(e,t){let r=t("",e,[]);return r===void 0?md(e,t,[]):hd(e,r,t,[])}function hd(e,t,r,n){return Zr(t)&&(Array.isArray(e)||ne(e))?md(e,r,n):md(Qe(t),r,n)}function md(e,t,r){return Array.isArray(e)?BI(e,t,r):ne(e)?MI(e,t,r):e}function MI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){let i=[...r,s],a=t(s,o,i);a!==void 0&&jn(n,s,hd(o,a,t,i))}return n}function BI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),e[s],o);i!==void 0&&n.push(hd(e[s],i,t,o))}return n}var $b=_(()=>{qn();Xs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=Nb(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!ne(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(rt)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(rt))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=Nb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Un(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>ne(a)&&Object.keys(a).length>0))return;let i=Un(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function ma(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>ne(n)&&Object.keys(n).length>0))return Un(r,t)}function Nb(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(rt))?t:void 0}var Db=_(()=>{qn()});function M(e,t={}){return Array.from(Fb(e,t)).join(`
20
- `)}function Fb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??eo,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Qe(e),a=t.replacer?Gb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=Ab(a);if(l!==void 0)return l.trimEnd().split(`
21
- `)}return jI(a,c)}function jI(e,t){if(rt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Bb(void 0,e,0,t);let r=ma(e,t);return r===void 0?ha(e,0,t):Mb(void 0,e,r,0,t)}function ha(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>qI(n,s,t,r))}function qI(e,t,r,n){let s=he(r,n)+Te(e);if(rt(t))return[`${s}: ${ve(t,n.delimiter)}`];if(Array.isArray(t))return Bb(e,t,r,n);let o=ma(t,n);if(o!==void 0)return Mb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ha(t,r+1,n)),i}function Mb(e,t,r,n,s){Wn(n,s);let o=Object.entries(t);ro(r,n+1,s);let i=[he(n,s)+yt(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,r,n+2,s);i.push(he(n+1,s)+Te(a)+": "+l.cells),i.push(...l.children)}return i}function Bb(e,t,r,n){Wn(r,n);let s=he(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Te(e)}: []`];if(t.every(rt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+yd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return UI(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...gd(a,r+1,n));return i}function UI(e,t,r,n,s){ro(r,n+1,s);let o=[he(n,s)+yt(e,t.length,r,s.delimiter)];for(let i of t){let a=Hn(i,r,n+2,s);o.push(he(n+1,s)+a.cells),o.push(...a.children)}return o}function gd(e,t,r){Wn(t,r);let n=he(t,r)+"-";if(rt(e))return[`${n} ${ve(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${yt(void 0,0,void 0,r.delimiter)}`];if(e.every(rt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${yd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...gd(o,t+1,r));return s}return HI(e,t,r)}function HI(e,t,r){Wn(t,r);let n=Object.entries(e);if(n.length===0)return[he(t,r)+"-"];let[[s,o],...i]=n,a=WI(s,o,t,r),c;if(a!==void 0)c=a;else if(rt(o))c=[he(t,r)+"- "+Te(s)+": "+ve(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[he(t,r)+"- "+Te(s)+": []"];else{c=[he(t,r)+"- "+yt(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...gd(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ha(o,t+2,r));return i.length>0&&c.push(...ha(Object.fromEntries(i),t+1,r)),c}function WI(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(rt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+yd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Un(t,n);if(s!==void 0){ro(s,r+1,n);let o=[he(r,n)+"- "+yt(e,t.length,s,n.delimiter)];for(let i of t){let a=Hn(i,s,r+3,n);o.push(he(r+2,n)+a.cells),o.push(...a.children)}return o}}if(ne(t)){let s=ma(t,n);if(s!==void 0){ro(s,r+1,n);let o=Object.entries(t),i=[he(r,n)+"- "+yt(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,s,r+3,n);i.push(he(r+2,n)+Te(a)+": "+l.cells),i.push(...l.children)}return i}}}function yt(e,t,r,n,s=!1){let o=e===void 0?"":Te(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${jb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function jb(e,t){return e.map(r=>{let n=Te(r.name);if(r.listDelimiter!==void 0)return`${n}[${r.listDelimiter}]`;if(r.fixedLength!==void 0){let s=t===","?"":t;return`${n}[${r.fixedLength}${s}]`}return n+(r.children===void 0?"":`{${jb(r.children,t)}}`)}).join(t)}function Hn(e,t,r,n){let s=[],o=[];for(let i of t){let a=i.self===!0?e:e[i.name];if(i.childTable===!0){s.push(String(a.length));for(let c of a){let l=Hn(c,i.children??[],r+1,n);o.push(he(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>ve(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>JI(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=Hn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(ve(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function JI(e,t,r){return typeof e!="string"?ve(e,t):Vu(e,t)||e.includes(r)?oa(e):e}function yd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Wn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function ro(e,t,r){Wn(t,r);for(let n of e)n.children!==void 0&&ro(n.children,t+1,r)}var no=_(()=>{rn();Kt();to();qn();$b();Db();ud()});var qb=_(()=>{});var Ub=_(()=>{Kt();da()});var Hb=_(()=>{no()});function KI(e,t){if(!(e.startsWith("[=")&&e.endsWith("]")))return null;let r=e.slice(2,-1);if(!/^[0-9]+$/.test(r))throw Y(t,"invalid trailer count");return Number.parseInt(r,10)}function tw(e,t){if(!ew.test(e))throw Y(t,"invalid tag")}function zI(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!ew.test(n)){if(/^[A-Za-z0-9_-]/.test(n)&&/^[^,[\]|{}:\t ]+$/.test(n))throw Y(t,"invalid tag");return null}return{tag:n,cellsText:e.slice(r+1)}}function YI(e,t){if(!e.startsWith("["))return null;let r=e.slice(1),n=r.indexOf("]");if(n===-1)throw Y(t,"invalid header");let s=r.slice(0,n),o=s.startsWith("~"),i=o?s.slice(1):s;if(!o&&i.startsWith("="))return null;if(!Xb.includes(i)&&i!=="")throw Y(t,"invalid header delimiter");let a=i===""?zt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw Y(t,"invalid tag");if(l=c.slice(1,p),tw(l,t),i!=="")throw Y(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw Y(t,"invalid header");let u=c.slice(1,-2),d;try{d=en(u,a,t).map(p=>yr(p,t)[0])}catch(p){throw Bn(p)}if(d.length===0||d.some(p=>p===""))throw Y(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function QI(e,t,r){if(e===null||e.delimiter===void 0)throw Y(r,"continuation header before header");if(e.delimiter!==t.delimiter||e.fieldText!==t.fieldText)throw Y(r,"continuation header mismatch")}function Wb(e,t,r,n){let s;try{s=en(e,t,n)}catch(o){throw Bn(o)}if(s.length!==r)throw Y(n,"row arity mismatch");for(let o of s)try{Be(o,n)}catch(i){throw Bn(i)}return s}function XI(e,t,r){let n={};return e.forEach((s,o)=>{try{tn(n,s,Be(t[o],r))}catch(i){throw Bn(i)}}),n}function ZI(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=KI(e,t);if(n!==null){if(r===null||r.delimiter===void 0)throw Y(t,"trailer without header");if(r.rowCount!==n)throw Y(t,"trailer count mismatch");return{kind:"trailer"}}let s=YI(e,t);if(s!==null)return s.continuation?(QI(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=zI(e,t);if(o!==null){let i=r?.taggedLanes?.get(o.tag);if(i===void 0)throw Y(t,"unknown tag");return{kind:"tagged-row",tag:o.tag,cells:Wb(o.cellsText,i.delimiter,i.fields.length,t)}}if(r===null||r.delimiter===void 0)throw Y(t,"row before header");return{kind:"row",cells:Wb(e,r.delimiter,r.fields.length,t)}}function eL(e,t={}){let r=[],n=new Map,s=[],o=[],i=null,a=!1,c=!1;function l(f,m){let g=o.at(-1);if(g!==void 0&&g.lane===f.lane&&g.delimiter===f.delimiter&&g.fieldText===f.fieldText){g.rows.push(m);return}o.push({lane:f.lane,delimiter:f.delimiter,fields:f.fields,fieldText:f.fieldText,rows:[m]})}function u(){i!==null&&s.push({delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,lane:i.lane,rows:i.rows})}function d(f,m,g){let b=n.get(f);if(b===void 0){if(n.size>=Zb)throw Y(g,"too many tagged lanes");b={segments:[],current:null},n.set(f,b),r.push(f)}else b.current!==null&&b.segments.push(b.current);b.current={lane:f,delimiter:m.delimiter,fields:m.fields,fieldText:m.fieldText,rows:[]},b.delimiter=m.delimiter,b.fields=m.fields,b.fieldText=m.fieldText}if(Vy(e).forEach((f,m)=>{let g=m+1;if(f==="")return;let b=i===null?{taggedLanes:n}:{delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,rowCount:i.rows.length,taggedLanes:n},y=ZI(f,g,b);if(y.kind==="trailer"){u(),i=null;return}if(y.kind!=="continuation"){if(y.kind==="tag-header"){c=!0,d(y.header.tag,y.header,g);return}if(y.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:y.header.delimiter,fields:y.header.fields,fieldText:y.header.fieldText,rows:[]};return}if(y.kind==="tagged-row"){c=!0;let E=n.get(y.tag).current;E.rows.push(y.cells),l(E,y.cells);return}if(i===null)throw Y(g,"row before header");i.rows.push(y.cells),l(i,y.cells)}}),!c)return u(),t.preserveInterleaving===!0,s;let p=[];u();for(let f of r){if(f===null){p.push(...s);continue}let m=n.get(f);p.push(...m.segments),m.current!==null&&p.push(m.current)}return t.preserveInterleaving===!0?o:p}function Oe(e){return eL(e).flatMap(t=>t.rows.map(r=>XI(t.fields,r,0)))}function tL(e){if(!Xb.includes(e))throw Y(0,"invalid header delimiter")}function Jb(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
22
- `}function Vb(e,t){return`[]<${e}>{${t}}:
23
- `}function bd(e,t){return t.map(Te).join(e)}function rL(e){if(!Array.isArray(e)||e.length===0)throw Y(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=yr(String(t),0)}catch(n){throw Bn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function Kb(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function zb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function nL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function Yb(e){if(e===null||typeof e!="object"||Array.isArray(e))throw Y(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw Y(0,"TOONL output requires object rows");if(t.some(r=>!Zs(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function sL(e){return JSON.stringify([...e].sort())}function Qb(e,t){let r=sL(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function je({delimiter:e=zt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){tL(e),zb(r),zb(n);let s=null,o="",i=new Map,a=0,c=0,l=0,u=new Map,d=!1,p={continuationEveryRows:r,continuationEveryBytes:n},f=()=>s===null||!t?"":`[=${a}]
24
- `,m=()=>nL(p,c,l)?(c=0,l=0,Jb(e,o,!0)):"",g=b=>{tw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=Zb)throw Y(0,"too many tagged lanes");y={fields:null,fieldsByShape:new Map},u.set(b,y)}return y};return{push(b){if(d)throw Y(0,"TOONL encoder is closed");let y=Qb(Yb(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=bd(e,s),a=0,c=0,l=0,E+=Jb(e,o));let w=s.map(S=>ve(b[S],e));E+=m();let k=`${w.join(e)}
25
- `;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=rL(y),w=bd(zt,E),k=g(b);return Kb(k.fields,E)?"":(k.fields=E,Vb(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),w=Qb(Yb(y),E.fieldsByShape),k=bd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return Kb(E.fields,w)||(E.fields=w,T+=Vb(b,k)),`${T}${b}:${S.join(zt)}
26
- `},end(){return d?"":(d=!0,f())}}}var Xb,Zb,ew,d4,p4,rw=_(()=>{Kt();fa();no();rn();Xb=[zt,"|"," "],Zb=8,ew=/^[A-Za-z0-9_-]+$/,d4=new TextEncoder,p4=new TextDecoder});var z,V=_(()=>{fa();no();qb();Kt();to();Ub();no();Xs();rn();da();fa();Hb();rw();z=fd});function iL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(wd(e))}
27
- `)}function wd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??iL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=aL(e.diagnostics,3)),t}function qe(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Uy(s)?{command:e,category:"transient",error:so(s)||"GitHub API rate limit exceeded",help:qy,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:so(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:so(s)||"not a git repository",help:"git status",diagnostics:s}:o.includes("repository not found")||o.includes("could not resolve host")?{command:e,category:"real-error",error:so(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:so(s)||"command failed",help:`${e} --help`,diagnostics:s}}function nw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function so(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function aL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
- `).trim()}var bt=_(()=>{"use strict";Hy();V()});function ba(e){let t={app:e,version:bL(Vn("__RED_BUILD_VERSION__",()=>"3.18.4")??"0.0.0-dev"),gitSha:Vn("__RED_BUILD_GIT_SHA__",()=>"03a7c5319d38545fcb9a332cd1e558d55771bce0")??"unknown",buildTime:Vn("__RED_BUILD_TIME__",()=>"2026-08-13T12:15:20-03:00")??"unknown",bundleAsset:Vn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Vn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Vn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function bL(e){return e.startsWith("v")?e.slice(1):e}function pw(e){return`${e.app} ${e.version} ${e.gitSha}`}function Vn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var Ed=_(()=>{});import{isAbsolute as wL,join as Yt,resolve as kd}from"node:path";function kL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function mw(e){return Yt(kL(e),fw)}function hw(e){return Yt(mw(e),"state")}function gw(e){return Yt(mw(e),"tmp")}function ce(e){return Yt(hw(e),"rsp")}function SL(e){return Yt(hw(e),"red-skills.rdb")}function RL(e){return Yt(gw(e),"red-skills.rdb")}function ww(e,t){let r=SL(e);if(t(r))return r;let n=RL(e);if(t(n))throw vL();return r}function vL(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}function _w(e){return Yt(gw(e),"waits")}function Ew(e){let t=e.overrideEnvVars??Sd;for(let n of t){let s=e.env[n];if(s)return wL(s)?s:kd(e.startDir,s)}let r=kd(e.startDir);for(;;){if(e.exists(Yt(r,fw)))return r;let n=Yt(r,".."),s=kd(n);if(s===r)break;r=s}return e.startDir}var fw,_L,EL,Sd,yw,bw,Xe=_(()=>{fw=".red",_L="MEMORY_ROOT",EL="RED_BRAIN_ROOT",Sd=[_L,EL];yw=".red/state/red-skills.rdb";bw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var TL,xL,s3,Qt=_(()=>{V();Xe();TL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],xL=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.toon",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.toon",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.toon",kind:"toon"}],s3=[...TL,...xL]});function oo(e){let{values:t,rest:r}=Qr(e,{query:kw.query},Sw);return{argv:r,query:t.query?.trim()||void 0}}function Rw(e){let{values:t,rest:r}=Qr(e,kw,Sw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function OL(e,t){if(!t)return!0;let r=Rd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>OL(r,t)):[...e]}function Xt(e,t){return vd(e,t,{includeLegacyHelp:!0})}function vd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Rd(e){return Array.isArray(e)?e.map(Rd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Rd).join(" "):String(e??"")}var kw,Sw,io=_(()=>{"use strict";Wu();kw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Sw={stopAtSeparator:!1}});var Ta={};se(Ta,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>wa,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>_a,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>ka,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Sa,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ea,RSP_OVERHEAD_FAMILIES:()=>$L,RSP_OVERHEAD_LEDGER_FILE:()=>xw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Ow,classifyOverheadSample:()=>Od,noteChildProcessMs:()=>Cw,noteSelfStateBytesRead:()=>co,overheadCounters:()=>Ld,overheadFamilyDisabled:()=>NL,overheadHealth:()=>wr,overheadLedgerPath:()=>Ad,overheadMsOf:()=>Aw,overheadTelemetryFields:()=>Ra,readOverheadLedger:()=>ao,readSelfStateFile:()=>va,readSelfStateFileSync:()=>ML,recordOverheadSample:()=>Cd,resetOverheadCounters:()=>FL,resetOverheadLedger:()=>DL,startChildProcessTimer:()=>Ze});import{existsSync as AL,mkdirSync as CL,readFileSync as vw,renameSync as PL,writeFileSync as IL}from"node:fs";import{readFile as LL}from"node:fs/promises";import{dirname as GL,join as Tw}from"node:path";function Aw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,xd(t)):0}function Od(e,t=Zt){let r=Aw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function Ra(e,t=Zt){let r=Od(e,t);return{wrapper_ms:xd(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:xd(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function Ad(e){return Tw(ce(e),xw)}function ao(e){try{let t=vw(Ad(e),"utf8"),r=UL(t);if(HL(r))return r}catch{}return{version:1,families:{}}}function Cd(e,t,r=Zt,n=Date.now()){let s=ao(e),o=Od(t,r),i=s.families[t.family]??qL(t.family,n),a=Gd(i,n)?Pw(i):i,c=o.breached?a.consecutive_breaches+1:0,l={...a,family:t.family,invocations:a.invocations+1,breaches:a.breaches+(o.breached?1:0),consecutive_breaches:c,breached:o.breached,reasons:o.reasons,last_overhead_ms:o.overhead_ms,last_self_state_bytes_read:Math.max(0,Math.trunc(t.selfStateBytesRead)),last_bytes_saved:Math.max(0,Math.trunc(t.bytesSaved)),updated_at:new Date(n).toISOString()};return o.breached?c>=r.consecutiveBreaches&&(l.disabled=!0,l.disabled_at=new Date(n).toISOString(),l.disabled_until=new Date(n+r.cooldownMs).toISOString(),l.disabled_reason=BL(t.family,c,o,r)):(l.disabled=!1,l.disabled_at=null,l.disabled_until=null,l.disabled_reason=null),s.families[t.family]=l,Iw(e,s),l}function NL(e,t,r=Date.now()){let n=ao(e).families[t];return!n?.disabled||Gd(n,r)?null:n}function DL(e,t){let r=ao(e);return t?delete r.families[t]:r.families={},Iw(e,r),r}function wr(e,t=Zt,r=Date.now()){let n=Object.values(ao(e).families).map(a=>Gd(a,r)?Pw(a):a).sort((a,c)=>a.family.localeCompare(c.family)),s=n.filter(a=>a.disabled),o=n.filter(a=>a.consecutive_breaches>0),i=s.length>0||o.length>0?"red":"green";return{schema_version:Ow,verdict:i,summary:jL(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function co(e){Number.isFinite(e)&&e>0&&(Pd+=e)}function Cw(e){Number.isFinite(e)&&e>0&&(Id+=e)}function Ld(){return{selfStateBytesRead:Pd,childMs:Id}}function FL(){Pd=0,Id=0}function Ze(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Cw(Number(process.hrtime.bigint()-e)/1e6))}}async function va(e){let t=await LL(e,"utf8");return co(Buffer.byteLength(t)),t}function ML(e){let t=vw(e,"utf8");return co(Buffer.byteLength(t)),t}function BL(e,t,r,n){let s=r.reasons.map(o=>o==="wall-clock-ceiling"?`added ${r.overhead_ms}ms > ${n.maxOverheadMs}ms`:o==="self-state-byte-ceiling"?`self-state read > ${n.maxSelfStateBytes}B`:"self-state read exceeded bytes saved").join("; ");return`rsp ${e} exceeded its overhead ceiling on ${t} consecutive invocations (${s}); wrapper self-disabled, commands pass through raw`}function jL(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function Gd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Pw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function qL(e,t){return{family:e,invocations:0,breaches:0,consecutive_breaches:0,breached:!1,reasons:[],disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,last_overhead_ms:0,last_self_state_bytes_read:0,last_bytes_saved:0,updated_at:new Date(t).toISOString()}}function Iw(e,t){try{let r=Ad(e);if(!AL(Tw(e,".red")))return;CL(GL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;IL(n,`${M(t)}
29
- `,{encoding:"utf8",mode:384}),PL(n,r)}catch{}}function UL(e){try{return JSON.parse(e)}catch{return z(e)}}function HL(e){return!Td(e)||e.version!==1||!Td(e.families)?!1:Object.values(e.families).every(WL)}function WL(e){return Td(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Td(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xd(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var xw,Ow,wa,_a,Ea,ka,Sa,$L,Zt,Pd,Id,we=_(()=>{"use strict";Xe();V();xw="overhead-budget.toon",Ow="red.rsp.overhead.v1",wa=250,_a=1024*1024,Ea=64*1024,ka=3,Sa=6*60*60*1e3,$L=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:wa,maxSelfStateBytes:_a,netLossFloorBytes:Ea,consecutiveBreaches:ka,cooldownMs:Sa};Pd=0,Id=0});function $w(e){return e.trimStart().startsWith("{")?"json":"toon"}function Nd(e){let t=0;for(;e[t]===`
30
- `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=$w(r);if(n==="json"){let o=r.indexOf(`
18
+ `)}function NI(e){return e!==""&&ud(e)}function ld(e,t,r,n=new Set){if(!ud(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)=>ld(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(".")&&ld(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function DI(e){let t=Object.keys(e[0]??{});if(e.every(r=>FI(Object.keys(r),t)))return t.every(ud)?t:void 0}function FI(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function ud(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var dd=_(()=>{to();qn();Kt();rn()});function pd(e,t){let r=fd(e,t,[]),n=t("",r,[]);return n===void 0?r:Qe(n)}function fd(e,t,r){return Array.isArray(e)?BI(e,t,r):ne(e)?MI(e,t,r):e}function MI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,fd(o,t,i),i);a!==void 0&&jn(n,s,Qe(a))}return n}function BI(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),fd(e[s],t,o),o);i!==void 0&&n.push(Qe(i))}return n}var Ib=_(()=>{qn()});function Gb(e){let t=[],r,n=Lb,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===Lb?{}:n}function $b(e,t){let r=Gb(ad(e,t));return t?.reviver?pd(r,t.reviver):r}function md(e,t){let{reviver:r,...n}=t??{},s=$b(jI(e),n),o=t?.cyclicDiscriminatedArrays===!0?Ab(s):s;return r?pd(o,r):o}function*jI(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 Lb,ma=_(()=>{pa();dd();Ib();Lb=Symbol("unset")});function Nb(e,t){let r=t("",e,[]);return r===void 0?hd(e,t,[]):gd(e,r,t,[])}function gd(e,t,r,n){return Zr(t)&&(Array.isArray(e)||ne(e))?hd(e,r,n):hd(Qe(t),r,n)}function hd(e,t,r){return Array.isArray(e)?UI(e,t,r):ne(e)?qI(e,t,r):e}function qI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){let i=[...r,s],a=t(s,o,i);a!==void 0&&jn(n,s,gd(o,a,t,i))}return n}function UI(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(gd(e[s],i,t,o))}return n}var Db=_(()=>{qn();Xs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=Fb(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=Fb(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 ha(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 Fb(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 Mb=_(()=>{qn()});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??eo,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Qe(e),a=t.replacer?Nb(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=Pb(a);if(l!==void 0)return l.trimEnd().split(`
21
+ `)}return HI(a,c)}function HI(e,t){if(rt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return qb(void 0,e,0,t);let r=ha(e,t);return r===void 0?ga(e,0,t):jb(void 0,e,r,0,t)}function ga(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>WI(n,s,t,r))}function WI(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 qb(e,t,r,n);let o=ha(t,n);if(o!==void 0)return jb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ga(t,r+1,n)),i}function jb(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 qb(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)+" "+bd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return JI(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...yd(a,r+1,n));return i}function JI(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 yd(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)} ${bd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...yd(o,t+1,r));return s}return VI(e,t,r)}function VI(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=KI(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(...yd(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ga(o,t+2,r));return i.length>0&&c.push(...ga(Object.fromEntries(i),t+1,r)),c}function KI(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)+" "+bd(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=ha(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?"":`{${Ub(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Ub(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?"":`{${Ub(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=>zI(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 zI(e,t,r){return typeof e!="string"?ve(e,t):Ku(e,t)||e.includes(r)?ia(e):e}function bd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Wn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function ro(e,t,r){Wn(t,r);for(let n of e)n.children!==void 0&&ro(n.children,t+1,r)}var no=_(()=>{rn();Kt();to();qn();Db();Mb();dd()});var Hb=_(()=>{});var Wb=_(()=>{Kt();pa()});var Jb=_(()=>{no()});function QI(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 nw(e,t){if(!rw.test(e))throw Y(t,"invalid tag")}function XI(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!rw.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(!ew.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),nw(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 eL(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 Vb(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 tL(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 rL(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=QI(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?(eL(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=XI(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:Vb(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:Vb(e,r.delimiter,r.fields.length,t)}}function nL(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>=tw)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(zy(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=rL(f,g,b);if(y.kind==="trailer"){u(),i=null;return}if(y.kind!=="continuation"){if(y.kind==="tag-header"){c=!0,d(y.header.tag,y.header,g);return}if(y.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:y.header.delimiter,fields:y.header.fields,fieldText:y.header.fieldText,rows:[]};return}if(y.kind==="tagged-row"){c=!0;let E=n.get(y.tag).current;E.rows.push(y.cells),l(E,y.cells);return}if(i===null)throw Y(g,"row before header");i.rows.push(y.cells),l(i,y.cells)}}),!c)return u(),t.preserveInterleaving===!0,s;let p=[];u();for(let f of r){if(f===null){p.push(...s);continue}let m=n.get(f);p.push(...m.segments),m.current!==null&&p.push(m.current)}return t.preserveInterleaving===!0?o:p}function Oe(e){return nL(e).flatMap(t=>t.rows.map(r=>tL(t.fields,r,0)))}function sL(e){if(!ew.includes(e))throw Y(0,"invalid header delimiter")}function Kb(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
22
+ `}function zb(e,t){return`[]<${e}>{${t}}:
23
+ `}function wd(e,t){return t.map(Te).join(e)}function oL(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 Yb(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Qb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function iL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function Xb(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 aL(e){return JSON.stringify([...e].sort())}function Zb(e,t){let r=aL(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}={}){sL(e),Qb(r),Qb(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=()=>iL(p,c,l)?(c=0,l=0,Kb(e,o,!0)):"",g=b=>{nw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=tw)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=Zb(Xb(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=wd(e,s),a=0,c=0,l=0,E+=Kb(e,o));let w=s.map(S=>ve(b[S],e));E+=m();let k=`${w.join(e)}
25
+ `;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=oL(y),w=wd(zt,E),k=g(b);return Yb(k.fields,E)?"":(k.fields=E,zb(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),w=Zb(Xb(y),E.fieldsByShape),k=wd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return Yb(E.fields,w)||(E.fields=w,T+=zb(b,k)),`${T}${b}:${S.join(zt)}
26
+ `},end(){return d?"":(d=!0,f())}}}var ew,tw,rw,m3,h3,sw=_(()=>{Kt();ma();no();rn();ew=[zt,"|"," "],tw=8,rw=/^[A-Za-z0-9_-]+$/,m3=new TextEncoder,h3=new TextDecoder});var z,V=_(()=>{ma();no();Hb();Kt();to();Wb();no();Xs();rn();pa();ma();Jb();sw();z=md});function lL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(_d(e))}
27
+ `)}function _d(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??lL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=uL(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)&&Wy(s)?{command:e,category:"transient",error:so(s)||"GitHub API rate limit exceeded",help:Hy,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 ow(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 uL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
+ `).trim()}var bt=_(()=>{"use strict";Jy();V()});function wa(e){let t={app:e,version:EL(Vn("__RED_BUILD_VERSION__",()=>"3.18.6")??"0.0.0-dev"),gitSha:Vn("__RED_BUILD_GIT_SHA__",()=>"2de166d3e45dd9d00348211598f521c283ee4164")??"unknown",buildTime:Vn("__RED_BUILD_TIME__",()=>"2026-08-13T17:09:46-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 EL(e){return e.startsWith("v")?e.slice(1):e}function mw(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 kd=_(()=>{});import{isAbsolute as kL,join as Yt,resolve as Sd}from"node:path";function vL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function gw(e){return Yt(vL(e),hw)}function yw(e){return Yt(gw(e),"state")}function bw(e){return Yt(gw(e),"tmp")}function ce(e){return Yt(yw(e),"rsp")}function TL(e){return Yt(yw(e),"red-skills.rdb")}function xL(e){return Yt(bw(e),"red-skills.rdb")}function Ew(e,t){let r=TL(e);if(t(r))return r;let n=xL(e);if(t(n))throw OL();return r}function OL(){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 kw(e){return Yt(bw(e),"waits")}function Sw(e){let t=e.overrideEnvVars??Rd;for(let n of t){let s=e.env[n];if(s)return kL(s)?s:Sd(e.startDir,s)}let r=Sd(e.startDir);for(;;){if(e.exists(Yt(r,hw)))return r;let n=Yt(r,".."),s=Sd(n);if(s===r)break;r=s}return e.startDir}var hw,SL,RL,Rd,ww,_w,Xe=_(()=>{hw=".red",SL="MEMORY_ROOT",RL="RED_BRAIN_ROOT",Rd=[SL,RL];ww=".red/state/red-skills.rdb";_w=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var AL,CL,a4,Qt=_(()=>{V();Xe();AL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],CL=[{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"}],a4=[...AL,...CL]});function oo(e){let{values:t,rest:r}=Qr(e,{query:Rw.query},vw);return{argv:r,query:t.query?.trim()||void 0}}function Tw(e){let{values:t,rest:r}=Qr(e,Rw,vw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function PL(e,t){if(!t)return!0;let r=vd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>PL(r,t)):[...e]}function Xt(e,t){return Td(e,t,{includeLegacyHelp:!0})}function Td(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function vd(e){return Array.isArray(e)?e.map(vd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(vd).join(" "):String(e??"")}var Rw,vw,io=_(()=>{"use strict";Ju();Rw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},vw={stopAtSeparator:!1}});var xa={};se(xa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>_a,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Ea,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>Sa,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ra,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>ka,RSP_OVERHEAD_FAMILIES:()=>FL,RSP_OVERHEAD_LEDGER_FILE:()=>Aw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Cw,classifyOverheadSample:()=>Ad,noteChildProcessMs:()=>Iw,noteSelfStateBytesRead:()=>co,overheadCounters:()=>Gd,overheadFamilyDisabled:()=>ML,overheadHealth:()=>wr,overheadLedgerPath:()=>Cd,overheadMsOf:()=>Pw,overheadTelemetryFields:()=>va,readOverheadLedger:()=>ao,readSelfStateFile:()=>Ta,readSelfStateFileSync:()=>qL,recordOverheadSample:()=>Pd,resetOverheadCounters:()=>jL,resetOverheadLedger:()=>BL,startChildProcessTimer:()=>Ze});import{existsSync as IL,mkdirSync as LL,readFileSync as xw,renameSync as GL,writeFileSync as $L}from"node:fs";import{readFile as NL}from"node:fs/promises";import{dirname as DL,join as Ow}from"node:path";function Pw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Od(t)):0}function Ad(e,t=Zt){let r=Pw(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 va(e,t=Zt){let r=Ad(e,t);return{wrapper_ms:Od(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Od(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 Cd(e){return Ow(ce(e),Aw)}function ao(e){try{let t=xw(Cd(e),"utf8"),r=JL(t);if(VL(r))return r}catch{}return{version:1,families:{}}}function Pd(e,t,r=Zt,n=Date.now()){let s=ao(e),o=Ad(t,r),i=s.families[t.family]??WL(t.family,n),a=$d(i,n)?Lw(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=UL(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,Gw(e,s),l}function ML(e,t,r=Date.now()){let n=ao(e).families[t];return!n?.disabled||$d(n,r)?null:n}function BL(e,t){let r=ao(e);return t?delete r.families[t]:r.families={},Gw(e,r),r}function wr(e,t=Zt,r=Date.now()){let n=Object.values(ao(e).families).map(a=>$d(a,r)?Lw(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:HL(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function co(e){Number.isFinite(e)&&e>0&&(Id+=e)}function Iw(e){Number.isFinite(e)&&e>0&&(Ld+=e)}function Gd(){return{selfStateBytesRead:Id,childMs:Ld}}function jL(){Id=0,Ld=0}function Ze(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Iw(Number(process.hrtime.bigint()-e)/1e6))}}async function Ta(e){let t=await NL(e,"utf8");return co(Buffer.byteLength(t)),t}function qL(e){let t=xw(e,"utf8");return co(Buffer.byteLength(t)),t}function UL(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 HL(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 $d(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Lw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function WL(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 Gw(e,t){try{let r=Cd(e);if(!IL(Ow(e,".red")))return;LL(DL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;$L(n,`${M(t)}
29
+ `,{encoding:"utf8",mode:384}),GL(n,r)}catch{}}function JL(e){try{return JSON.parse(e)}catch{return z(e)}}function VL(e){return!xd(e)||e.version!==1||!xd(e.families)?!1:Object.values(e.families).every(KL)}function KL(e){return xd(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function xd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Od(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Aw,Cw,_a,Ea,ka,Sa,Ra,FL,Zt,Id,Ld,we=_(()=>{"use strict";Xe();V();Aw="overhead-budget.toon",Cw="red.rsp.overhead.v1",_a=250,Ea=1024*1024,ka=64*1024,Sa=3,Ra=6*60*60*1e3,FL=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:_a,maxSelfStateBytes:Ea,netLossFloorBytes:ka,consecutiveBreaches:Sa,cooldownMs:Ra};Id=0,Ld=0});function Dw(e){return e.trimStart().startsWith("{")?"json":"toon"}function Dd(e){let t=0;for(;e[t]===`
30
+ `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Dw(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 Dd(e){let t=$w(e)==="json"?$d:Lw,r=t===$d?Lw:$d;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function $d(e){return JSON.parse(e)}function Lw(e){return z(e)}function Fd(e,t){if(t==="toon"){let r=VL(e);if(r!==null)return r.endsWith(`
33
+ `);return s<0?null:{frame:r.slice(0,s+1),dialect:n,rest:r.slice(s+2)}}function Fd(e){let t=Dw(e)==="json"?Nd:$w,r=t===Nd?$w:Nd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Nd(e){return JSON.parse(e)}function $w(e){return z(e)}function Md(e,t){if(t==="toon"){let r=YL(e);if(r!==null)return r.endsWith(`
34
34
  `)?`${r}
35
35
  `:`${r}
36
36
 
37
37
  `}return`${JSON.stringify(e)}
38
- `}function VL(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=M(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function Nw(e,t){return!Gw(e)||!Gw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Gw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fw(e){return Dw.has(e)?"json":JL}function Mw(e){Dw.add(e)}var JL,Dw,Bw=_(()=>{V();JL="toon";Dw=new Set});import{createHash as KL}from"node:crypto";import{constants as Md}from"node:fs";import{mkdir as qw,open as zL,readFile as YL,rm as Uw,stat as QL}from"node:fs/promises";import{createConnection as XL}from"node:net";import{tmpdir as ZL}from"node:os";import{dirname as Hw,join as lo}from"node:path";async function Ww(e,t,r="resident server"){let n=e.wire,s=n??Fw(e.socketPath),o=await jw(e,t,r,s);return n||s==="json"||!Nw(t,o)?o:(Mw(e.socketPath),await jw(e,t,r,"json"))}async function jw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=XL(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>i(new Error(`${r} timed out`))),a.destroy()},s);function d(p){c||(c=!0,clearTimeout(u),p())}a.on("connect",()=>{a.write(Fd(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Nd(l);f&&(l=f.rest,d(()=>{try{o(Dd(f.frame))}catch(m){i(m)}}),a.end())}),a.on("error",p=>d(()=>i(p))),a.on("close",()=>{c||d(()=>i(new Error(`${r} closed without response`)))})})}function Jw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Nd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Fd(a,o.dialect))}catch{}};(async()=>{let a;try{a=Dd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Bd(e){await qw(Hw(e),{recursive:!0,mode:448});try{return await zL(e,Md.O_CREAT|Md.O_EXCL|Md.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Kw(e,t={}){let r=t.maxAgeMs??tG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await qw(Hw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Bd(e);if(c)return await c.writeFile(`${Vw} pid=${s} taken=${new Date(n()).toISOString()}
39
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await sG(e),u=await iG(e,l,n());if(a>=rG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=nG(l,u,r,o);if(d==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let p={lockPath:e,reason:d,holder:l,ageMs:u};await Uw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function zw(e){await e.handle.close().catch(()=>{}),await Uw(e.lockPath,{force:!0})}function nG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Yw(e){let t=e.ageMs==null?"of unknown age":`taken ${Math.round(e.ageMs/1e3)}s ago`,r=e.holder==null?"an owner it does not name":`pid ${e.holder.pid} (at ${e.holder.takenAt})`;return`no spawn was attempted: the spawn lock ${JSON.stringify(e.lockPath)} is held by ${r}, ${t}. If that process is gone, remove the file to clear it`}async function sG(e){try{return oG(await YL(e,"utf8"))}catch{return null}}function oG(e){let t=e.split(`
40
- `,1)[0]?.trim()??"";if(!t.startsWith(Vw))return null;let r=Number(/\bpid=(\d+)\b/.exec(t)?.[1]??""),n=/\btaken=(\S+)/.exec(t)?.[1]??"";return!Number.isInteger(r)||r<=0||!Number.isFinite(Date.parse(n))?null:{pid:r,takenAt:n}}async function iG(e,t,r){let n=t==null?Number.NaN:Date.parse(t.takenAt);if(Number.isFinite(n))return Math.max(0,r-n);try{return Math.max(0,r-(await QL(e)).mtimeMs)}catch{return null}}function _r(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function jd(e,t=1e3){if(!_r(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function Qw(e){let t=e.env??process.env,r=KL("sha256").update(e.key).digest("hex").slice(0,20),n=c=>lo(c,e.socketFileName).length<eG,s=t.XDG_RUNTIME_DIR;if(s){let c=lo(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=lo(`red-skills-${o}`,r),a=lo(ZL(),i);return n(a)||process.platform==="win32"?a:lo(aG,i)}var eG,tG,Vw,rG,aG,xa=_(()=>{Bw();eG=108;tG=6e4,Vw="resident-spawn-lock v1",rG=3;aG="/tmp"});async function Kn(e,t){return await Ww(e,t,"resident rsp server")}var qd=_(()=>{xa()});var Xw=_(()=>{"use strict";qd()});import{existsSync as cG,readdirSync as lG}from"node:fs";import{homedir as uG}from"node:os";import{basename as Hd,dirname as Ud,join as nt,resolve as Oa}from"node:path";function dG(e){return"command"in e}function Aa(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??cG,s=t.execPath??process.execPath,o=t.execArgv??process.execArgv,i=t.callerEntry===void 0?process.argv[1]:t.callerEntry,a=(l,u)=>({command:s,args:[...o,l],source:u});if(r.RSP_BIN)return{command:r.RSP_BIN,args:[],source:"env-rsp-bin"};if(i&&mG(i))return a(Oa(i),"caller-entry");let c=[];for(let[l,u]of gG(i,t.rootDir,r,t.listDir??_G))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:Oa(i)}:{}}}function e_(e={},t={}){let r=Aa(e,t);if(dG(r))return r;throw new zn(r)}function mG(e){let t=Hd(e);return t===sn||Wd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:hG(Oa(e))}function hG(e){let t=Ud(e);for(let r=0;r<4;r++){if(Hd(t)==="rsp")return!0;let n=Ud(t);if(n===t)return!1;t=n}return!1}function*gG(e,t,r,n){if(e){let o=Ud(Oa(e));yield[nt(o,sn),"caller-sibling-bundle"];let i=pG.exec(Hd(e));i&&(yield[nt(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[nt(o,"..","dist",sn),"caller-sibling-bundle"]}for(let o of fG){let i=r[o];i&&(yield[nt(i,"dist",sn),"plugin-root-bundle"],yield[nt(i,"..","..","dist",sn),"plugin-root-bundle"])}t&&(yield[nt(t,"dist",sn),"repo-bundle"],yield[nt(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[nt(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=yG(r);yield[nt(s,sn),"bundle-cache"];for(let o of bG(s,n))yield[nt(s,o),"bundle-cache"]}function yG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||nt(e.HOME||uG(),".cache");return nt(t,"red-skills","bundles")}function bG(e,t){return t(e).filter(r=>Wd.test(r)).sort((r,n)=>wG(Zw(n),Zw(r)))}function Zw(e){return Wd.exec(e)?.[1]??""}function wG(e,t){let r=o=>o.split(".").map(i=>Number.parseInt(i,10)),[n,s]=[r(e),r(t)];for(let o=0;o<Math.max(n.length,s.length);o++){let[i,a]=[n[o],s[o]];if(Number.isNaN(i)||i===void 0)return Number.isNaN(a)||a===void 0?e.localeCompare(t):-1;if(Number.isNaN(a)||a===void 0)return 1;if(i!==a)return i-a}return 0}function _G(e){try{return lG(e)}catch{return[]}}var er,zn,sn,pG,Wd,fG,Jd=_(()=>{er="rsp-resident-entry-unresolved";zn=class extends Error{code=er;searched;callerEntry;constructor(t){super(`${er}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
38
+ `}function YL(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 Fw(e,t){return!Nw(e)||!Nw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Nw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Bw(e){return Mw.has(e)?"json":zL}function jw(e){Mw.add(e)}var zL,Mw,qw=_(()=>{V();zL="toon";Mw=new Set});import{createHash as QL}from"node:crypto";import{constants as Bd}from"node:fs";import{mkdir as Hw,open as XL,readFile as ZL,rm as Ww,stat as eG}from"node:fs/promises";import{createConnection as tG}from"node:net";import{tmpdir as rG}from"node:os";import{dirname as Jw,join as lo}from"node:path";async function Vw(e,t,r="resident server"){let n=e.wire,s=n??Bw(e.socketPath),o=await Uw(e,t,r,s);return n||s==="json"||!Fw(t,o)?o:(jw(e.socketPath),await Uw(e,t,r,"json"))}async function Uw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=tG(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(Md(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Dd(l);f&&(l=f.rest,d(()=>{try{o(Fd(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 Kw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Dd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Md(a,o.dialect))}catch{}};(async()=>{let a;try{a=Fd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function jd(e){await Hw(Jw(e),{recursive:!0,mode:448});try{return await XL(e,Bd.O_CREAT|Bd.O_EXCL|Bd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Yw(e,t={}){let r=t.maxAgeMs??sG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await Hw(Jw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await jd(e);if(c)return await c.writeFile(`${zw} pid=${s} taken=${new Date(n()).toISOString()}
39
+ `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await aG(e),u=await lG(e,l,n());if(a>=oG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=iG(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 Ww(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Qw(e){await e.handle.close().catch(()=>{}),await Ww(e.lockPath,{force:!0})}function iG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Xw(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 aG(e){try{return cG(await ZL(e,"utf8"))}catch{return null}}function cG(e){let t=e.split(`
40
+ `,1)[0]?.trim()??"";if(!t.startsWith(zw))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 lG(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 eG(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 qd(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 Zw(e){let t=e.env??process.env,r=QL("sha256").update(e.key).digest("hex").slice(0,20),n=c=>lo(c,e.socketFileName).length<nG,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(rG(),i);return n(a)||process.platform==="win32"?a:lo(uG,i)}var nG,sG,zw,oG,uG,Oa=_(()=>{qw();nG=108;sG=6e4,zw="resident-spawn-lock v1",oG=3;uG="/tmp"});async function Kn(e,t){return await Vw(e,t,"resident rsp server")}var Ud=_(()=>{Oa()});var e_=_(()=>{"use strict";Ud()});import{existsSync as dG,readdirSync as pG}from"node:fs";import{homedir as fG}from"node:os";import{basename as Wd,dirname as Hd,join as nt,resolve as Aa}from"node:path";function mG(e){return"command"in e}function Ca(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??dG,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&&yG(i))return a(Aa(i),"caller-entry");let c=[];for(let[l,u]of wG(i,t.rootDir,r,t.listDir??SG))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:Aa(i)}:{}}}function r_(e={},t={}){let r=Ca(e,t);if(mG(r))return r;throw new zn(r)}function yG(e){let t=Wd(e);return t===sn||Jd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:bG(Aa(e))}function bG(e){let t=Hd(e);for(let r=0;r<4;r++){if(Wd(t)==="rsp")return!0;let n=Hd(t);if(n===t)return!1;t=n}return!1}function*wG(e,t,r,n){if(e){let o=Hd(Aa(e));yield[nt(o,sn),"caller-sibling-bundle"];let i=hG.exec(Wd(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 gG){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=_G(r);yield[nt(s,sn),"bundle-cache"];for(let o of EG(s,n))yield[nt(s,o),"bundle-cache"]}function _G(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||nt(e.HOME||fG(),".cache");return nt(t,"red-skills","bundles")}function EG(e,t){return t(e).filter(r=>Jd.test(r)).sort((r,n)=>kG(t_(n),t_(r)))}function t_(e){return Jd.exec(e)?.[1]??""}function kG(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 SG(e){try{return pG(e)}catch{return[]}}var er,zn,sn,hG,Jd,gG,Vd=_(()=>{er="rsp-resident-entry-unresolved";zn=class extends Error{code=er;searched;callerEntry;constructor(t){super(`${er}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
41
41
  searched:
42
42
  ${t.searched.map(r=>` ${r}`).join(`
43
- `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},sn="rsp.bundle.min.mjs",pG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Wd=/^rsp-(.+)\.bundle\.min\.mjs$/,fG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as o_}from"node:crypto";import{spawn as i_}from"node:child_process";import{readFileSync as EG}from"node:fs";import{mkdir as zd,readFile as a_,rename as kG,rm as rr,stat as SG,writeFile as RG}from"node:fs/promises";import{dirname as on,join as tr,resolve as Yd}from"node:path";import{fileURLToPath as vG}from"node:url";function st(e){let t=DG(e)??Yd(e),r=NG(t),n=ce(t);return{rootDir:t,socketPath:tr(r,"rsp.sock"),pidPath:tr(r,"rsp.pid"),lockPath:tr(r,"rsp.lock"),wakeLockPath:tr(t,".red","tmp","rsp","wake.lock"),summaryPath:tr(n,"rsp-status-summary.toon"),registryPath:tr(n,"rsp-resident.pid.toon")}}async function Ca(e,t){if(await zd(on(e.socketPath),{recursive:!0,mode:448}),await n_(e.socketPath,t))return;await r_(e,t);let r=await Kw(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
44
- `)});if(r.acquired)try{if(await n_(e.socketPath,t))return;await r_(e,t),await OG(e.socketPath);let n=CG(e,t);await t_(e.socketPath,n);return}finally{await zw(r)}try{await t_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Yw(r)}`)}}async function an(e,t=200){try{return await l_(e,t)!=null}catch{return!1}}async function l_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:o_(),op:"ping"});return r.ok?m_(r.value)?{version:jG(r.value.version)}:{}:null}async function Pa(e,t){if(await zd(on(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await AG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=p_(e,t);return i_(n,[...s,"warm-resident","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath,"--wake-lock",e.wakeLockPath],{cwd:e.rootDir,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref(),!0}async function u_(e,t){try{await Ca(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function po(e){try{let t=LG(await a_(e,"utf8"));return qG(t)?t:null}catch{return null}}async function Ia(e,t){let r={version:c_,pid:t.pid??process.pid,socket_path:t.socket_path,store_uri:t.store_uri,resident_version:t.resident_version,started_at:t.started_at??new Date().toISOString()};await zd(on(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await RG(n,`${M(r)}
45
- `,{encoding:"utf8",mode:384}),await kG(n,e)}async function La(e,t=process.pid){try{let r=await po(e);if(r&&r.pid!==t)return;await rr(e,{force:!0})}catch{}}async function uo(e){let t=await po(e.registryPath);if(!t)try{return await a_(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!_r(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await an(t.socket_path,100);return r&&await $G(t.store_uri)?{registry_path:e.registryPath,state:"registered-alive-store-missing",entry:t}:{registry_path:e.registryPath,state:r?"registered-alive-socket-healthy":"registered-alive-socket-dead",entry:t}}async function d_(e){let t=await uo(e);return t.state==="registered-dead"||t.state==="invalid"?(await rr(e.registryPath,{force:!0}),await uo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await jd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await uo(e)):t}async function t_(e,t){let r=Date.now()+xG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Vd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Vd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Vd("resident rsp server did not start",t):"resident rsp server did not start")}function xG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:TG}async function OG(e){await rr(e,{force:!0})}function CG(e,t){let[r,n]=p_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=i_(r,[...n,"server","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath],{cwd:e.rootDir,detached:!0,stdio:s?["ignore","ignore","pipe"]:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return a.on("error",c=>{o=c}),s&&(a.stderr?.setEncoding("utf8"),a.stderr?.on("data",c=>{i=IG(`${i}${c}`,PG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Vd(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let s=t.stderrTail().trimEnd();return s&&n.push(`stderr tail:
43
+ `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},sn="rsp.bundle.min.mjs",hG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Jd=/^rsp-(.+)\.bundle\.min\.mjs$/,gG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as a_}from"node:crypto";import{spawn as c_}from"node:child_process";import{readFileSync as RG}from"node:fs";import{mkdir as Yd,readFile as l_,rename as vG,rm as rr,stat as TG,writeFile as xG}from"node:fs/promises";import{dirname as on,join as tr,resolve as Qd}from"node:path";import{fileURLToPath as OG}from"node:url";function st(e){let t=BG(e)??Qd(e),r=MG(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 Pa(e,t){if(await Yd(on(e.socketPath),{recursive:!0,mode:448}),await o_(e.socketPath,t))return;await s_(e,t);let r=await Yw(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 o_(e.socketPath,t))return;await s_(e,t),await PG(e.socketPath);let n=LG(e,t);await n_(e.socketPath,n);return}finally{await Qw(r)}try{await n_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Xw(r)}`)}}async function an(e,t=200){try{return await d_(e,t)!=null}catch{return!1}}async function d_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:a_(),op:"ping"});return r.ok?g_(r.value)?{version:HG(r.value.version)}:{}:null}async function Ia(e,t){if(await Yd(on(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await IG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=m_(e,t);return c_(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 p_(e,t){try{await Pa(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function po(e){try{let t=NG(await l_(e,"utf8"));return WG(t)?t:null}catch{return null}}async function La(e,t){let r={version:u_,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 Yd(on(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await xG(n,`${M(r)}
45
+ `,{encoding:"utf8",mode:384}),await vG(n,e)}async function Ga(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 l_(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 FG(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 f_(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 qd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await uo(e)):t}async function n_(e,t){let r=Date.now()+CG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Kd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Kd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Kd("resident rsp server did not start",t):"resident rsp server did not start")}function CG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:AG}async function PG(e){await rr(e,{force:!0})}function LG(e,t){let[r,n]=m_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=c_(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=$G(`${i}${c}`,GG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Kd(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 IG(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function LG(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function r_(e,t){try{let r=await po(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!_r(r.pid)){await rr(e.registryPath,{force:!0});return}if(await an(r.socket_path,100))return;if(f_(t.clientVersion,r.resident_version)&&(await GG(r.pid,1500),!_r(r.pid))){await rr(e.registryPath,{force:!0});return}await jd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function GG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function $G(e){if(!e.startsWith("file://"))return!1;try{return await SG(vG(e)),!1}catch(t){return t.code==="ENOENT"}}function p_(e,t){let r=e_(t,{rootDir:e.rootDir});return[r.command,r.args]}function NG(e){return Qw({key:e,socketFileName:"rsp.sock"})}function DG(e){let t=Yd(e);for(let r=0;r<32;r++){try{let s=Kd(tr(t,".git"));if(s!=null)return FG(t,s)??t;if(Kd(tr(t,".git","HEAD"))!=null||Kd(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=on(t);if(n===t)return null;t=n}return null}function FG(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Yd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?on(on(on(n))):null}function Kd(e){try{return EG(e,"utf8")}catch{return null}}async function n_(e,t){let r=await l_(e).catch(()=>null);return r?f_(t.clientVersion,r.version)?(await MG(e,t.clientVersion),await UG(e),!1):!0:!1}async function MG(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:o_(),op:"handover",clientVersion:t})}catch{}}function f_(e,t){return!e||!t?!1:BG(e,t)>0}function BG(e,t){let r=s_(e),n=s_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function s_(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function m_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function jG(e){return typeof e=="string"&&e.length>0?e:void 0}function qG(e){return m_(e)&&e.version===c_&&Number.isInteger(e.pid)&&typeof e.socket_path=="string"&&typeof e.store_uri=="string"&&typeof e.resident_version=="string"&&typeof e.started_at=="string"}async function UG(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var c_,TG,AG,PG,Ga=_(()=>{V();Xe();xa();qd();Jd();Jd();c_=1,TG=5e3;AG=Bd;PG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>fo,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Ca,kickResidentServer:()=>Pa,pingResident:()=>an,readResidentRegistry:()=>po,removeResidentRegistry:()=>La,residentRegistryStatus:()=>uo,resolveResidentPaths:()=>st,resolveRspEntry:()=>Aa,sweepResidentRegistry:()=>d_,warmResidentServer:()=>u_,writeResidentRegistry:()=>Ia});import{randomUUID as HG}from"node:crypto";function h_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fo,wt=_(()=>{"use strict";Xw();Ga();fo=class{constructor(t,r,n={}){this.paths=t;this.config=r;this.opts=n}metrics;lastResponseMetrics(){return this.metrics}async mint(t,r){let s=(await this.request({op:"mint",original:Buffer.from(t).toString("base64"),meta:r})).handle;if(!s?.startsWith("el:"))throw new Error("resident rsp returned invalid handle");return s}async get(t){let r=await this.request({op:"get",handle:t});return r?h_(r)&&r.status==="expired"?r:!h_(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await Ca(this.paths,this.config);let r=await Kn(this.paths,{...t,id:HG()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Xd(e,t,r=g_){let n=Math.max(0,Math.floor(e)),s=r in y_?r:g_,o=y_[s],i=t?Math.floor(n*(1-.25)):null,a=t?Math.ceil(n*(1+.25)):null;return{tokens_saved:n,tokens_saved_estimated:t,token_estimate_range_pct:t?.25:null,tokens_saved_low:i,tokens_saved_high:a,dollars_saved_estimate_usd:Qd(n,o),dollars_saved_low_usd:i==null?null:Qd(i,o),dollars_saved_high_usd:a==null?null:Qd(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:WG}}function Qd(e,t){return JG(Math.max(0,e)/1e6*t)}function mo(e){return`$${e.toFixed(6)}`}function JG(e){return Math.round(e*1e6)/1e6}var g_,y_,WG,Zd=_(()=>{"use strict";g_="gpt-5",y_={"gpt-5":1.25,"gpt-5-mini":.25,"gpt-5-nano":.05,"gpt-4.1":2,"gpt-4.1-mini":.4,"gpt-4o":2.5,"gpt-4o-mini":.15,"claude-opus-4.1":15,"claude-opus-4":15,"claude-sonnet-4.5":3,"claude-sonnet-4":3,"claude-haiku-4.5":1,"claude-haiku-3.5":.8},WG="estimate derived from byte-based token estimate when token counts are estimated"});var Yn={};se(Yn,{isResidentEntryUnresolved:()=>__,reportResidentEntryDiagnostic:()=>ep,residentConfigFor:()=>w_,residentElisionStore:()=>ho});function w_(e,t){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs,...t?{clientVersion:t}:{}}}function ho(e,t,r={}){let n=r.paths??st(e);return new fo(n,w_(t,ba("rsp").version),{ensureResident:r.ensureResident})}function ep(e){return __(e)?(b_||(b_=!0,process.stderr.write(`rsp: ${er} \u2014 elision is off until an rsp entry is installed
47
+ `)}function $G(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function NG(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function s_(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(h_(t.clientVersion,r.resident_version)&&(await DG(r.pid,1500),!_r(r.pid))){await rr(e.registryPath,{force:!0});return}await qd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function DG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function FG(e){if(!e.startsWith("file://"))return!1;try{return await TG(OG(e)),!1}catch(t){return t.code==="ENOENT"}}function m_(e,t){let r=r_(t,{rootDir:e.rootDir});return[r.command,r.args]}function MG(e){return Zw({key:e,socketFileName:"rsp.sock"})}function BG(e){let t=Qd(e);for(let r=0;r<32;r++){try{let s=zd(tr(t,".git"));if(s!=null)return jG(t,s)??t;if(zd(tr(t,".git","HEAD"))!=null||zd(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=on(t);if(n===t)return null;t=n}return null}function jG(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Qd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?on(on(on(n))):null}function zd(e){try{return RG(e,"utf8")}catch{return null}}async function o_(e,t){let r=await d_(e).catch(()=>null);return r?h_(t.clientVersion,r.version)?(await qG(e,t.clientVersion),await JG(e),!1):!0:!1}async function qG(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:a_(),op:"handover",clientVersion:t})}catch{}}function h_(e,t){return!e||!t?!1:UG(e,t)>0}function UG(e,t){let r=i_(e),n=i_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function i_(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 g_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function HG(e){return typeof e=="string"&&e.length>0?e:void 0}function WG(e){return g_(e)&&e.version===u_&&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 JG(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var u_,AG,IG,GG,$a=_(()=>{V();Xe();Oa();Ud();Vd();Vd();u_=1,AG=5e3;IG=jd;GG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>fo,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Pa,kickResidentServer:()=>Ia,pingResident:()=>an,readResidentRegistry:()=>po,removeResidentRegistry:()=>Ga,residentRegistryStatus:()=>uo,resolveResidentPaths:()=>st,resolveRspEntry:()=>Ca,sweepResidentRegistry:()=>f_,warmResidentServer:()=>p_,writeResidentRegistry:()=>La});import{randomUUID as VG}from"node:crypto";function y_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var fo,wt=_(()=>{"use strict";e_();$a();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?y_(r)&&r.status==="expired"?r:!y_(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 Pa(this.paths,this.config);let r=await Kn(this.paths,{...t,id:VG()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Zd(e,t,r=b_){let n=Math.max(0,Math.floor(e)),s=r in w_?r:b_,o=w_[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:Xd(n,o),dollars_saved_low_usd:i==null?null:Xd(i,o),dollars_saved_high_usd:a==null?null:Xd(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:KG}}function Xd(e,t){return zG(Math.max(0,e)/1e6*t)}function mo(e){return`$${e.toFixed(6)}`}function zG(e){return Math.round(e*1e6)/1e6}var b_,w_,KG,ep=_(()=>{"use strict";b_="gpt-5",w_={"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},KG="estimate derived from byte-based token estimate when token counts are estimated"});var Yn={};se(Yn,{isResidentEntryUnresolved:()=>k_,reportResidentEntryDiagnostic:()=>tp,residentConfigFor:()=>E_,residentElisionStore:()=>ho});function E_(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,E_(t,wa("rsp").version),{ensureResident:r.ensureResident})}function tp(e){return k_(e)?(__||(__=!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){return typeof e=="object"&&e!==null&&e.code===er}var b_,nr=_(()=>{"use strict";Ed();wt();b_=!1});function ap(e){return e==="success"?0:e==="failure"?1:2}function cp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function ot(e,t,r){return{status:e,exitCode:ap(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function sr(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var x_,O_,A_,op,C_,P_,I_,L_,ip,ln=_(()=>{"use strict";x_="rsp.wait.result",O_="rsp.wait.registry",A_="rsp.wait.list",op={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},C_=16*1024,P_=1e4,I_=2e3,L_=6e4,ip={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",job:"github-job:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as XG,readFile as ZG}from"node:fs/promises";async function Xn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Da(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(G_(e,"SIGTERM"),Na(n,"SIGTERM"),await $_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Da(r)])];G_(e,"SIGKILL"),Na(o,"SIGKILL");let i=Math.max(1e3,t);await e$(e,i);let a=await $_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function G_(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function Na(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function e$(e,t){return e.exitCode!==null||e.signalCode!==null?!0:await new Promise(r=>{let n=setTimeout(()=>r(!1),t);e.once("close",()=>{clearTimeout(n),r(!0)})})}async function $_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await t$(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Da(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await XG("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await N_(o);if(!i)continue;let a=Number(i[1]);if(!Number.isSafeInteger(a))continue;let c=t.get(a)??[];c.push(o),t.set(a,c)}let r=[],n=[...t.get(e)??[]];for(;n.length>0;){let s=n.shift();r.push(s),n.push(...t.get(s)??[])}return r.reverse()}async function go(e){return(await N_(e))?.[19]}async function Zn(e,t){if(!un(e))return!1;if(!t)return!0;let r=await go(e);return r===void 0?process.platform!=="linux":r===t}function un(e){try{return process.kill(e,0),!0}catch{return!1}}async function N_(e){if(process.platform!=="linux")return null;try{let t=await ZG(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function t$(e){await new Promise(t=>setTimeout(t,e))}var or=_(()=>{"use strict"});import{constants as r$}from"node:os";async function D_(e){let t=e[1],r={timeoutMs:op.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:P_,terminateGraceMs:I_,probeTimeoutMs:L_,format:"toon",captureBytes:C_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=op[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=yo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=o$(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=yo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=yo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=yo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=s$(e[++i]??"","capture bytes"):t==="run"&&a==="--branch"?n.branch=e[++i]??"":t==="run"&&a==="--latest"?n.latest=!0:t==="release"&&a==="--tag"?n.tagGlob=e[++i]??"":t==="release"&&a==="--existing"?n.existing=!0:!a.startsWith("--")&&!n.target&&(n.target=a)}return await n$(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function n$(e){if(!(e.signal in r$.signals))throw new Error(`invalid signal: ${e.signal}`);if(e.signalPid!==void 0){if(!Number.isSafeInteger(e.signalPid)||e.signalPid<=0)throw new Error(`invalid signal pid: ${e.signalPid}`);if(!un(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await go(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function yo(e){let t=/^([1-9][0-9]*)(ms|s|m|h)?$/.exec(e);if(!t)throw new Error(`invalid timeout: ${e}`);let r=Number(t[1]),n=t[2]??"ms";return n==="ms"?r:n==="s"?r*1e3:n==="m"?r*6e4:r*60*6e4}function es(e,t,r=process.env){let n=r[e];if(!n)return t;try{return yo(n)}catch{return t}}function s$(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function o$(e){return e.startsWith("SIG")?e:`SIG${e}`}var F_=_(()=>{"use strict";ln();or()});import{existsSync as lp,readFileSync as i$,statSync as a$}from"node:fs";import{basename as M_,dirname as Fa,isAbsolute as c$,join as B_,resolve as bo}from"node:path";function wo(e,t=process.env){let r=bo(e);if(Sd.map(i=>t[i]).find(Boolean))return Ew({startDir:r,env:t,exists:lp});let s=u$(r),o=l$(r,s);return o||(s??r)}function l$(e,t){let r=e;for(;;){if(lp(B_(r,".red")))return r;if(t&&r===t)return null;let n=bo(r,"..");if(n===r)return null;r=n}}function u$(e){let t=e;for(;;){let r=B_(t,".git");if(lp(r))return f$(r)?t:d$(r)??t;let n=bo(t,"..");if(n===t)return null;t=n}}function d$(e){let t=p$(e);if(!t)return null;let r=Fa(t),n=Fa(r);return M_(r)!=="worktrees"||M_(n)!==".git"?null:Fa(n)}function p$(e){let t;try{t=i$(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return c$(n)?bo(n):bo(Fa(e),n)}function f$(e){try{return a$(e).isDirectory()}catch{return!1}}var Ma=_(()=>{Xe()});import{join as m$}from"node:path";function g$(e,t=process.env){return wo(e,t)}function ts(e,t=process.env){return _w(g$(e,t))}function j_(e,t=process.env){return m$(ts(e,t),h$)}var h$,up=_(()=>{"use strict";Xe();Ma();h$="spool"});import{randomUUID as y$}from"node:crypto";import{existsSync as b$}from"node:fs";import{mkdir as w$,readdir as _$,readFile as E$,rename as k$,rm as dp,writeFile as S$}from"node:fs/promises";import{dirname as R$,join as U_}from"node:path";function H_(e,t,r=process.env){return U_(ts(e,r),`${t}${v$}`)}async function rs(e,t){await pp(e,`${ge(t)}
50
- `)}async function Ba(e,t,r){t.status=r,await rs(e,t)}async function ja(e,t=process.env){let r=ts(e,t);if(!b$(r))return[];let n=await _$(r).catch(()=>[]),s=[];for(let o of n.filter(i=>T$.some(a=>i.endsWith(a)))){let i=U_(r,o),a=await x$(i);if(!a){await dp(i,{force:!0});continue}if(!await O$(a)){await dp(i,{force:!0});continue}s.push(a)}return s}async function x$(e){let t;try{t=await E$(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=A$(r);return n&&Object.keys(n).length>0?n:null}async function O$(e){let t=typeof e.pid=="number"?e.pid:0;if(!t||!Number.isSafeInteger(t)||t<=0)return!1;let r=typeof e.pid_start_time=="string"?e.pid_start_time:void 0;return await Zn(t,r)}function A$(e){try{let t=z(e);if(q_(t))return t}catch{}try{let t=JSON.parse(e);if(q_(t))return t}catch{}return null}async function pp(e,t){await w$(R$(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${y$()}`;try{await S$(r,t,"utf8"),await k$(r,e)}finally{await dp(r,{force:!0})}}function fp(e){return{schema:O_,version:1,...e}}function q_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var v$,T$,Eo=_(()=>{"use strict";V();Qt();ln();up();or();v$=".toon",T$=[".toon",".json"]});function ns(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function it(e){return ns(e)?e:{}}function dn(e){return Array.isArray(e)?e.filter(ns):[]}function oe(e,t){let r=e[t];return typeof r=="string"?r:""}function pn(e,t){let r=e[t];return typeof r=="number"?r:0}function ko(e){let t=JSON.parse(e);if(!ns(t))throw new Error("expected JSON object");return t}function qa(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ua=_(()=>{"use strict"});import{spawn as C$}from"node:child_process";import{resolve as P$}from"node:path";async function W_(e,t,r){let n=[];if(e.signalPid){let s=await I$(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await L$(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function I$(e){let t=e.signalPid;if(!await Zn(t,e.signalPidStartTime))return{hook:"signal-pid",error:"target process is no longer the process the wait was asked to signal",pid:t,signal:e.signal};try{return process.kill(t,e.signal),null}catch(r){return{hook:"signal-pid",error:J_(r),pid:t,signal:e.signal}}}async function L$(e,t,r){let n=it(t.wait),s=it(t.verdict);return await G$(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?P$(r,e.resultFile):"",RSP_WAIT_STATUS:String(n.status??"indeterminate"),RSP_WAIT_EXIT_CODE:String(s.target_exit_code??2),RSP_WAIT_TARGET:String(n.target??""),RSP_WAIT_RESULT_SCHEMA:"rsp.wait.result@1"})}async function G$(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=C$(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,Xn(l,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);l.once("error",d=>{clearTimeout(u),c({error:J_(d)})}),l.once("close",(d,p)=>{clearTimeout(u),!a&&c(d===0?null:{error:`exited with ${p??d??"unknown"}`,status:d??null,signal:p??null})})})}function J_(e){return e instanceof Error?e.message:String(e)}var V_=_(()=>{"use strict";Ua();or()});import{resolve as $$}from"node:path";async function K_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=N$(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=So(t,r,o,{status:"pending"},i);await Ro(n.resultFile,a,n.format);let c=await W_(n,a,s),l=So(t,r,o,c,i);return await Ro(n.resultFile,l,n.format),{result:l,exitCode:z_(o,c)}}function z_(e,t){return t.status!=="success"||e.status==="running"?2:ap(e.status)}function N$(e,t,r=[]){return t!==!1?e:{status:"indeterminate",exitCode:2,summary:`${e.summary}; could not verify process cleanup`,details:{...e.details??{},cleanup:{verified:!1,survivors:r}}}}function So(e,t,r,n,s){return{schema:x_,version:1,wait:{id:t.id,target:t.target,kind:e,status:r.status,reason:t.reason,started_at:t.started_at,completed_at:s,poll_tier:t.poll_tier},verdict:{exit_code:z_(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function Ro(e,t,r){e&&await pp($$(e),ss(t,r))}function ss(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
49
+ `)),!0):!1}function k_(e){return typeof e=="object"&&e!==null&&e.code===er}var __,nr=_(()=>{"use strict";kd();wt();__=!1});function cp(e){return e==="success"?0:e==="failure"?1:2}function lp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function ot(e,t,r){return{status:e,exitCode:cp(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 A_,C_,P_,ip,I_,L_,G_,$_,ap,ln=_(()=>{"use strict";A_="rsp.wait.result",C_="rsp.wait.registry",P_="rsp.wait.list",ip={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},I_=16*1024,L_=1e4,G_=2e3,$_=6e4,ap={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 t$,readFile as r$}from"node:fs/promises";async function Xn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Fa(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(N_(e,"SIGTERM"),Da(n,"SIGTERM"),await D_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Fa(r)])];N_(e,"SIGKILL"),Da(o,"SIGKILL");let i=Math.max(1e3,t);await n$(e,i);let a=await D_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function N_(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 Da(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function n$(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 D_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await s$(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Fa(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await t$("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await F_(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 F_(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 F_(e){if(process.platform!=="linux")return null;try{let t=await r$(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function s$(e){await new Promise(t=>setTimeout(t,e))}var or=_(()=>{"use strict"});import{constants as o$}from"node:os";async function M_(e){let t=e[1],r={timeoutMs:ip.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:L_,terminateGraceMs:G_,probeTimeoutMs:$_,format:"toon",captureBytes:I_},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=ip[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=c$(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=a$(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 i$(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function i$(e){if(!(e.signal in o$.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 a$(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function c$(e){return e.startsWith("SIG")?e:`SIG${e}`}var B_=_(()=>{"use strict";ln();or()});import{existsSync as up,readFileSync as l$,statSync as u$}from"node:fs";import{basename as j_,dirname as Ma,isAbsolute as d$,join as q_,resolve as bo}from"node:path";function wo(e,t=process.env){let r=bo(e);if(Rd.map(i=>t[i]).find(Boolean))return Sw({startDir:r,env:t,exists:up});let s=f$(r),o=p$(r,s);return o||(s??r)}function p$(e,t){let r=e;for(;;){if(up(q_(r,".red")))return r;if(t&&r===t)return null;let n=bo(r,"..");if(n===r)return null;r=n}}function f$(e){let t=e;for(;;){let r=q_(t,".git");if(up(r))return g$(r)?t:m$(r)??t;let n=bo(t,"..");if(n===t)return null;t=n}}function m$(e){let t=h$(e);if(!t)return null;let r=Ma(t),n=Ma(r);return j_(r)!=="worktrees"||j_(n)!==".git"?null:Ma(n)}function h$(e){let t;try{t=l$(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return d$(n)?bo(n):bo(Ma(e),n)}function g$(e){try{return u$(e).isDirectory()}catch{return!1}}var Ba=_(()=>{Xe()});import{join as y$}from"node:path";function w$(e,t=process.env){return wo(e,t)}function ts(e,t=process.env){return kw(w$(e,t))}function U_(e,t=process.env){return y$(ts(e,t),b$)}var b$,dp=_(()=>{"use strict";Xe();Ba();b$="spool"});import{randomUUID as _$}from"node:crypto";import{existsSync as E$}from"node:fs";import{mkdir as k$,readdir as S$,readFile as R$,rename as v$,rm as pp,writeFile as T$}from"node:fs/promises";import{dirname as x$,join as W_}from"node:path";function J_(e,t,r=process.env){return W_(ts(e,r),`${t}${O$}`)}async function rs(e,t){await fp(e,`${ge(t)}
50
+ `)}async function ja(e,t,r){t.status=r,await rs(e,t)}async function qa(e,t=process.env){let r=ts(e,t);if(!E$(r))return[];let n=await S$(r).catch(()=>[]),s=[];for(let o of n.filter(i=>A$.some(a=>i.endsWith(a)))){let i=W_(r,o),a=await C$(i);if(!a){await pp(i,{force:!0});continue}if(!await P$(a)){await pp(i,{force:!0});continue}s.push(a)}return s}async function C$(e){let t;try{t=await R$(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=I$(r);return n&&Object.keys(n).length>0?n:null}async function P$(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 I$(e){try{let t=z(e);if(H_(t))return t}catch{}try{let t=JSON.parse(e);if(H_(t))return t}catch{}return null}async function fp(e,t){await k$(x$(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${_$()}`;try{await T$(r,t,"utf8"),await v$(r,e)}finally{await pp(r,{force:!0})}}function mp(e){return{schema:C_,version:1,...e}}function H_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var O$,A$,Eo=_(()=>{"use strict";V();Qt();ln();dp();or();O$=".toon",A$=[".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 Ua(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ha=_(()=>{"use strict"});import{spawn as L$}from"node:child_process";import{resolve as G$}from"node:path";async function V_(e,t,r){let n=[];if(e.signalPid){let s=await $$(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await N$(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function $$(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:K_(r),pid:t,signal:e.signal}}}async function N$(e,t,r){let n=it(t.wait),s=it(t.verdict);return await D$(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?G$(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 D$(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=L$(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:K_(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 K_(e){return e instanceof Error?e.message:String(e)}var z_=_(()=>{"use strict";Ha();or()});import{resolve as F$}from"node:path";async function Y_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=M$(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 V_(n,a,s),l=So(t,r,o,c,i);return await Ro(n.resultFile,l,n.format),{result:l,exitCode:Q_(o,c)}}function Q_(e,t){return t.status!=="success"||e.status==="running"?2:cp(e.status)}function M$(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: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:Q_(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 fp(F$(e),ss(t,r))}function ss(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
51
51
  `:`${ge(e)}
52
- `}var Y_=_(()=>{"use strict";Qt();ln();Eo();V_()});import{createWriteStream as D$,mkdirSync as F$}from"node:fs";import{readFile as M$,rm as B$}from"node:fs/promises";import{dirname as j$}from"node:path";import{join as Q_}from"node:path";function X_(e,t,r){return{stdout:new Ha(r,Q_(e,`${t}.stdout.bin`)),stderr:new Ha(r,Q_(e,`${t}.stderr.bin`))}}function q$(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!U$(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function U$(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ha,Z_=_(()=>{"use strict";Ha=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...q$(n),truncated:s};if(!s)return await this.discardSpool(),o;if(await this.closeSpool(),this.spoolError)return o.recovery_error=this.spoolError,o;try{let i=await M$(this.spoolPath);o.handle=await t.mint(Buffer.concat([n,i]),{command:r,loss:{level:"terse",bytes_elided:this.total-this.headBytes}}),await this.discardSpool()}catch(i){o.recovery_error=i instanceof Error?i.message:String(i),o.spool_path=this.spoolPath}return o}async discard(){this.closed=!0,await this.closeSpool(),await this.discardSpool()}openSpool(){if(this.spool||this.spoolError)return;let t;try{F$(j$(this.spoolPath),{recursive:!0}),t=D$(this.spoolPath,{flags:"w"})}catch(r){this.spoolError=r instanceof Error?r.message:String(r);return}t.on("error",r=>{this.spoolError=r instanceof Error?r.message:String(r)}),this.spool=t}appendSpool(t){let r=this.spool;r&&(this.spoolReady=this.spoolReady.then(()=>new Promise(n=>{r.write(t)?n():r.once("drain",()=>n())})))}async closeSpool(){let t=this.spool;t&&(this.spool=null,await this.spoolReady.catch(()=>{}),await new Promise(r=>t.end(()=>r())))}async discardSpool(){await B$(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as H$,readFileSync as W9}from"node:fs";import{dirname as W$,join as J$}from"node:path";function mp(e,t){let r=e;for(let n=0;n<16;n++){let s=J$(r,t);if(H$(s))return s;let o=W$(r);if(o===r)break;r=o}return null}function V$(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function vo(e,t){let r=[];for(let n of e.split(`
53
- `)){let s=n.replace(/\r$/,""),o=s.trim();if(!o||o.startsWith("#"))continue;let i=s.indexOf(":");if(i<0)continue;let a=s.length-s.trimStart().length,c=s.slice(0,i).trim();if(!c)continue;let l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return V$(l)}}var Wa=_(()=>{});var lE={};se(lE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>is,GH_ETAG_CACHE_DIR_NAME:()=>nE,LEGACY_GH_ETAG_CACHE_FILE:()=>sE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>oE,enforceGhEtagCacheCeiling:()=>bp,ghEtagCacheDir:()=>Ja,ghEtagEntryPath:()=>Va,isCacheEntry:()=>za,legacyGhEtagCachePaths:()=>yp,migrateLegacyGhEtagCache:()=>_p,readGhEtagCache:()=>Ka,readGhEtagEntry:()=>eN,resetGhEtagCacheMigrationMemo:()=>rN,sweepGhEtagCache:()=>wp,writeGhEtagEntry:()=>tN});import{existsSync as K$}from"node:fs";import{mkdir as z$,readdir as Y$,rename as Q$,rm as eE,stat as tE,unlink as rE,writeFile as X$}from"node:fs/promises";import{dirname as Z$,join as os}from"node:path";function Ja(e){return os(ce(e),nE)}function Va(e,t){return os(Ja(e),`${iN(t)}.toon`)}function yp(e){let t=ce(e);return[os(t,sE),os(t,oE)]}async function eN(e,t){await _p(e);try{let r=cE(await va(Va(e,t)));return za(r)?r:void 0}catch{return}}async function tN(e,t,r={}){return await aE(Va(e,t.key),t),await bp(e,r.maxBytes??is)}async function bp(e,t=is){let r=await sN(e),n=r.reduce((o,i)=>o+i.bytes,0);if(n<=t)return{evictedEntries:0,bytes:n};r.sort((o,i)=>o.mtimeMs-i.mtimeMs||o.path.localeCompare(i.path));let s=0;for(let o of r){if(n<=t)break;try{await rE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function wp(e,t={}){let r=await _p(e,{force:!0}),n=await nN(e);return{...await bp(e,t.maxBytes??is),reclaimedTmp:n,migratedEntries:r}}async function Ka(e){for(let t of yp(e))try{let r=cE(await va(t));if(aN(r))return r}catch{}return{version:1,entries:{}}}async function _p(e,t={}){if(!t.force&&hp.has(e))return 0;hp.add(e);let r=yp(e).filter(o=>K$(o));if(r.length===0)return 0;let n=await Ka(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!za(i))continue;let a=Va(e,o);await oN(a)||(await aE(a,{...i,key:o}),s+=1)}for(let o of r)await eE(o,{force:!0});return s}function rN(){hp.clear()}async function nN(e){let t=0;for(let r of[ce(e),Ja(e)])for(let n of await iE(r))if(n.endsWith(".tmp"))try{await rE(os(r,n)),t+=1}catch{}return t}async function sN(e){let t=Ja(e),r=[];for(let n of await iE(t)){if(!n.endsWith(".toon"))continue;let s=os(t,n);try{let o=await tE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function iE(e){try{return await Y$(e)}catch{return[]}}async function oN(e){try{return await tE(e),!0}catch{return!1}}async function aE(e,t){await z$(Z$(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await X$(r,`${M(t)}
54
- `,{encoding:"utf8",mode:384}),await Q$(r,e)}catch(n){throw await eE(r,{force:!0}),n}}function iN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function cE(e){try{return JSON.parse(e)}catch{return z(e)}}function aN(e){return gp(e)&&e.version===1&&gp(e.entries)&&Object.values(e.entries).every(za)}function za(e){return gp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function gp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var nE,sE,oE,is,hp,Ya=_(()=>{"use strict";Xe();V();we();nE="gh-etag",sE="gh-etag-cache.toon",oE="gh-etag-cache.json",is=4*1024*1024;hp=new Set});var kp={};se(kp,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>Za,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>mE,DEFAULT_RSP_STORE_PATH:()=>Ep,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Xa,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>dE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>pE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Qa,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>fE,resolveRspConfig:()=>$e});import{existsSync as cN,readFileSync as lN}from"node:fs";import{join as uN,resolve as uE}from"node:path";function $e(e,t,r){let n=mp(uE(e),uN(".red","config.yaml")),s=n?lN(n,"utf8"):"",o=vo(s,"rsp.enabled")==="true",i=vo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge(Nt(t.RSP_EPHEMERAL_TTL_HOURS)??_e(s,"rsp.ephemeralTtlHours"),Et),u=Ge(_e(s,"rsp.byteBudget"),kt),d=Ge(_e(s,"rsp.telemetryTtlDays"),Qa),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),Xa),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),dE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),pE),g=dN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),Za,fE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=pN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),mE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),is),w={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),wa),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),_a),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Ea),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),ka),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Sa)},k=st(e).rootDir,S=r??t.RSP_STORE_URI??`file://${ww(uE(k),cN)}`;return{enabled:o,proxyEnabled:a,storeUri:S,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:g,heavyGitByteThreshold:b,measurementHoldoutShare:y,ghEtagCacheMaxBytes:E,overhead:w}}function _e(e,t){let r=vo(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Ge(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function dN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function pN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function Nt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,Ep,_t,Et,kt,Qa,Xa,dE,pE,Za,fE,mE,Ue=_(()=>{"use strict";Wa();Xe();Ga();we();Ya();ir=8*1024,Ep=yw,_t=7,Et=6,kt=64*1024*1024,Qa=90,Xa=4*1024*1024,dE=3e4,pE=2e3,Za=5*6e4,fE=5e3,mE=0});function hE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),o=s(e,$e(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var gE=_(()=>{"use strict";Ue()});import{spawn as fN}from"node:child_process";async function bE(e){let{commandLine:t,options:r,cwd:n,registryPath:s,entry:o,signal:i}=e;if(!t.trim())return{verdict:ue("missing command line")};let a=e.store??hE(n),c=X_(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async y=>{u||(u=!0,i.removeEventListener("abort",g),await Ba(s,o,y.verdict.status).catch(()=>{}),l(y))},f=fN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",y=>c.stdout.write(Buffer.from(y))),f.stderr?.on("data",y=>c.stderr.write(Buffer.from(y)));let m=async(y,E)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Xn(f,r.terminateGraceMs),k=await yE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:w.cleaned,survivors:w.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${wE(r.timeoutMs)}`)},r.timeoutMs);f.once("error",y=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:y.message}})}),f.once("close",(y,E)=>{if(clearTimeout(b),u||d)return;let w=y===0;yE(y,E,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function To(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:mN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(g){u=ue(g instanceof Error?g.message:String(g))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=Sp(u),await rs(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await Ba(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await hN(f,i,m)}return await Ba(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${wE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Sp(l)}:{attempts:c}}}}async function yE(e,t,r,n,s){let[o,i]=await Promise.all([r.stdout.finish(n,`${s} # stdout`),r.stderr.finish(n,`${s} # stderr`)]);return{status:e??null,signal:t??null,stdout:o,stderr:i}}function Sp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function mN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Sp(e)}:{}})}async function hN(e,t,r){t.aborted||e<=0||r?.aborted||await new Promise(n=>{let s=setTimeout(o,e);function o(){clearTimeout(s),t.removeEventListener("abort",i),r?.removeEventListener("abort",a),n()}let i=()=>o(),a=()=>o();t.addEventListener("abort",i,{once:!0}),r?.addEventListener("abort",a,{once:!0})})}function wE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var _E=_(()=>{"use strict";Z_();gE();ln();or();Eo()});var EE={};se(EE,{readGhConditionalJson:()=>at,readGhEtagCache:()=>Ka,sweepGhEtagCache:()=>wp});import{execFileSync as gN}from"node:child_process";async function at(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=wN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??bN(e.path),path:e.path,actor:yN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=$e(t,r),c=ho(t,a);try{i=await c.githubRead(o)}finally{await c.close()}}return{status:i.status,stdout:i.stdout,stderr:i.stderr,quotaFree:i.quotaFree}}catch(i){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:"rsp-github-resident-unavailable",repair:"restore the rsp resident and GitHub credential, then retry",detail:i instanceof Error?i.message:String(i)}),quotaFree:!1}}}function yN(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function bN(e){return/\/pulls\/[^/]+\/?$/.test(e)?["pr","view"]:/\/pulls\/?$/.test(e)?["pr","list"]:/\/issues\/[^/]+\/?$/.test(e)?["issue","view"]:/\/issues\/?$/.test(e)?["issue","list"]:/\/actions\/runs\/[^/]+\/?$/.test(e)?["run","view"]:/\/actions\/runs\/?$/.test(e)?["run","list"]:["api",e]}function wN(e){let t="";try{t=String(gN("git",["config","--get","remote.origin.url"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]})).trim()}catch{return null}let n=t.replace(/^git@[^:]+:/,"").replace(/^ssh:\/\/git@[^/]+\//,"").replace(/^https?:\/\/[^/]+\//,"").replace(/\.git$/,"").replace(/^\/+|\/+$/g,"").split("/").filter(Boolean);return n.length<2?null:{owner:n[n.length-2],repo:n[n.length-1]}}var xo=_(()=>{"use strict";Ue();nr();Ya()});function kE(e){return e==="single-object"?"rest":"graphql"}function SE(e,t){return e==="stable-poll"?"rest":kE(t)}function ct(e){return{none:e}}function de(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??SE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function He(e,t,r,n){return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,fallback:null,noFallbackBecause:"a mutation has one observed GitHub API method",why:n}}function vE(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function Rp(e){let t=vE(e);if(t.length===0)return"";if(t[0]==="api")return t[1]==="graphql"?"api graphql":"api rest";let r=t.length===1?t[0]:`${t[0]} ${t[1]}`;return t[1]==="list"&&e.includes("--search")?`${r} (search)`:r}function TE(e){return _N.get(Rp(e))??null}function vp(e){let t=TE(e);if(!t)throw new ec(e);return t}var RE,_N,ec,xE=_(()=>{RE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",ct("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",ct("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",ct("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",ct("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",ct("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",ct("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",ct("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",ct("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",ct("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",ct("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),He("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues` so filing shares the REST mutation rail"),He("issue edit","rest","rest","the write plan PATCHes labels and body at `repos/{o}/{r}/issues/{n}`"),He("issue close","rest","rest","the write plan PATCHes issue state and state reason at `repos/{o}/{r}/issues/{n}`"),He("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),He("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),He("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),He("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),He("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),He("pr merge","rest","rest","the default merge uses PUT `repos/{o}/{r}/pulls/{n}/merge` so a dry GraphQL pool cannot strand a finished Worker"),He("pr close","graphql","graphql","gh closes with a GraphQL mutation"),He("pr edit","graphql","graphql","gh edits with GraphQL mutations"),He("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),He("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),He("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],_N=new Map(RE.map(e=>[e.key,e]));ec=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Rp(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});function OE(e){return e instanceof as}function tc(e=process.env){let t=e[Tp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function cs(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new as(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function Oo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??tc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=EN(n);try{return await cs(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw OE(l)?l:o.aborted&&i?.aborted!==!0?new as(c,r,{cause:l}):l}}}function EN(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var Tp,as,xp=_(()=>{Tp="RED_GITHUB_REQUEST_TIMEOUT_MS",as=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Tp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function CE(e){if(e===!0)return"on";if(typeof e!="string")return rc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":rc}function Op(e){return(e??rc)==="on"}function Ap(e=process.env){return CE(e[AE])}var rc,AE,Cp=_(()=>{rc="off",AE="RED_GITHUB_BUDGET_GATE"});import{execFile as kN}from"node:child_process";import{renameSync as SN,rmSync as RN,statSync as vN,writeFileSync as TN}from"node:fs";import{readdir as x6,readFile as xN,rename as ON,rm as AN,stat as CN,writeFile as PN}from"node:fs/promises";import{promisify as IN}from"node:util";function IE(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function LE(e){return e.code==="ENOENT"}async function ls(e,t,r,n=CN){let s=IE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!LE(i))throw i}return o+t>s}function GE(e,t,r,n=vN){let s=IE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!LE(i))throw i}return o+t>s}async function $N(e,t,r){try{return await LN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function NN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function DN(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function FN(e,t){let r=`${e}.retaining-${process.pid}`;try{await PN(r,t,{encoding:"utf8",mode:384}),await ON(r,e)}finally{await AN(r,{force:!0})}}function $E(e,t){let r=`${e}.retaining-${process.pid}`;try{TN(r,t,{encoding:"utf8",mode:384}),SN(r,e)}finally{RN(r,{force:!0})}}async function us(e,t,r={}){NN(t);let n=r.timeoutMs??GN;if(await(r.runTq??$N)(e,t,n))return"tq";let o=await xN(e,"utf8"),i=o.endsWith(`
52
+ `}var X_=_(()=>{"use strict";Qt();ln();Eo();z_()});import{createWriteStream as B$,mkdirSync as j$}from"node:fs";import{readFile as q$,rm as U$}from"node:fs/promises";import{dirname as H$}from"node:path";import{join as Z_}from"node:path";function eE(e,t,r){return{stdout:new Wa(r,Z_(e,`${t}.stdout.bin`)),stderr:new Wa(r,Z_(e,`${t}.stderr.bin`))}}function W$(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!J$(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function J$(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Wa,tE=_(()=>{"use strict";Wa=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,...W$(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 q$(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{j$(H$(this.spoolPath),{recursive:!0}),t=B$(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 U$(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as V$,readFileSync as K9}from"node:fs";import{dirname as K$,join as z$}from"node:path";function hp(e,t){let r=e;for(let n=0;n<16;n++){let s=z$(r,t);if(V$(s))return s;let o=K$(r);if(o===r)break;r=o}return null}function Y$(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 Y$(l)}}var Ja=_(()=>{});var dE={};se(dE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>is,GH_ETAG_CACHE_DIR_NAME:()=>oE,LEGACY_GH_ETAG_CACHE_FILE:()=>iE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>aE,enforceGhEtagCacheCeiling:()=>wp,ghEtagCacheDir:()=>Va,ghEtagEntryPath:()=>Ka,isCacheEntry:()=>Ya,legacyGhEtagCachePaths:()=>bp,migrateLegacyGhEtagCache:()=>Ep,readGhEtagCache:()=>za,readGhEtagEntry:()=>nN,resetGhEtagCacheMigrationMemo:()=>oN,sweepGhEtagCache:()=>_p,writeGhEtagEntry:()=>sN});import{existsSync as Q$}from"node:fs";import{mkdir as X$,readdir as Z$,rename as eN,rm as rE,stat as nE,unlink as sE,writeFile as tN}from"node:fs/promises";import{dirname as rN,join as os}from"node:path";function Va(e){return os(ce(e),oE)}function Ka(e,t){return os(Va(e),`${lN(t)}.toon`)}function bp(e){let t=ce(e);return[os(t,iE),os(t,aE)]}async function nN(e,t){await Ep(e);try{let r=uE(await Ta(Ka(e,t)));return Ya(r)?r:void 0}catch{return}}async function sN(e,t,r={}){return await lE(Ka(e,t.key),t),await wp(e,r.maxBytes??is)}async function wp(e,t=is){let r=await aN(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 sE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function _p(e,t={}){let r=await Ep(e,{force:!0}),n=await iN(e);return{...await wp(e,t.maxBytes??is),reclaimedTmp:n,migratedEntries:r}}async function za(e){for(let t of bp(e))try{let r=uE(await Ta(t));if(uN(r))return r}catch{}return{version:1,entries:{}}}async function Ep(e,t={}){if(!t.force&&gp.has(e))return 0;gp.add(e);let r=bp(e).filter(o=>Q$(o));if(r.length===0)return 0;let n=await za(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ya(i))continue;let a=Ka(e,o);await cN(a)||(await lE(a,{...i,key:o}),s+=1)}for(let o of r)await rE(o,{force:!0});return s}function oN(){gp.clear()}async function iN(e){let t=0;for(let r of[ce(e),Va(e)])for(let n of await cE(r))if(n.endsWith(".tmp"))try{await sE(os(r,n)),t+=1}catch{}return t}async function aN(e){let t=Va(e),r=[];for(let n of await cE(t)){if(!n.endsWith(".toon"))continue;let s=os(t,n);try{let o=await nE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function cE(e){try{return await Z$(e)}catch{return[]}}async function cN(e){try{return await nE(e),!0}catch{return!1}}async function lE(e,t){await X$(rN(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await tN(r,`${M(t)}
54
+ `,{encoding:"utf8",mode:384}),await eN(r,e)}catch(n){throw await rE(r,{force:!0}),n}}function lN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function uE(e){try{return JSON.parse(e)}catch{return z(e)}}function uN(e){return yp(e)&&e.version===1&&yp(e.entries)&&Object.values(e.entries).every(Ya)}function Ya(e){return yp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function yp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var oE,iE,aE,is,gp,Qa=_(()=>{"use strict";Xe();V();we();oE="gh-etag",iE="gh-etag-cache.toon",aE="gh-etag-cache.json",is=4*1024*1024;gp=new Set});var Sp={};se(Sp,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>ec,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>gE,DEFAULT_RSP_STORE_PATH:()=>kp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>Za,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>fE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>mE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Xa,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>hE,resolveRspConfig:()=>$e});import{existsSync as dN,readFileSync as pN}from"node:fs";import{join as fN,resolve as pE}from"node:path";function $e(e,t,r){let n=hp(pE(e),fN(".red","config.yaml")),s=n?pN(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"),Xa),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),Za),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),fE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),mE),g=mN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),ec,hE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=hN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),gE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),is),w={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),_a),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),Ea),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),ka),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),Sa),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Ra)},k=st(e).rootDir,S=r??t.RSP_STORE_URI??`file://${Ew(pE(k),dN)}`;return{enabled:o,proxyEnabled:a,storeUri:S,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:g,heavyGitByteThreshold:b,measurementHoldoutShare:y,ghEtagCacheMaxBytes:E,overhead:w}}function _e(e,t){let r=vo(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Ge(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function mN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function hN(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,kp,_t,Et,kt,Xa,Za,fE,mE,ec,hE,gE,Ue=_(()=>{"use strict";Ja();Xe();$a();we();Qa();ir=8*1024,kp=ww,_t=7,Et=6,kt=64*1024*1024,Xa=90,Za=4*1024*1024,fE=3e4,mE=2e3,ec=5*6e4,hE=5e3,gE=0});function yE(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 bE=_(()=>{"use strict";Ue()});import{spawn as gN}from"node:child_process";async function _E(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??yE(n),c=eE(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async y=>{u||(u=!0,i.removeEventListener("abort",g),await ja(s,o,y.verdict.status).catch(()=>{}),l(y))},f=gN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",y=>c.stdout.write(Buffer.from(y))),f.stderr?.on("data",y=>c.stderr.write(Buffer.from(y)));let m=async(y,E)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Xn(f,r.terminateGraceMs),k=await wE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:w.cleaned,survivors:w.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${EE(r.timeoutMs)}`)},r.timeoutMs);f.once("error",y=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:y.message}})}),f.once("close",(y,E)=>{if(clearTimeout(b),u||d)return;let w=y===0;wE(y,E,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function To(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:yN(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=Rp(u),await rs(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await ja(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await bN(f,i,m)}return await ja(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${EE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Rp(l)}:{attempts:c}}}}async function wE(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 Rp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function yN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Rp(e)}:{}})}async function bN(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 EE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var kE=_(()=>{"use strict";tE();bE();ln();or();Eo()});var SE={};se(SE,{readGhConditionalJson:()=>at,readGhEtagCache:()=>za,sweepGhEtagCache:()=>_p});import{execFileSync as wN}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=kN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??EN(e.path),path:e.path,actor:_N(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 _N(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function EN(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 kN(e){let t="";try{t=String(wN("git",["config","--get","remote.origin.url"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]})).trim()}catch{return null}let n=t.replace(/^git@[^:]+:/,"").replace(/^ssh:\/\/git@[^/]+\//,"").replace(/^https?:\/\/[^/]+\//,"").replace(/\.git$/,"").replace(/^\/+|\/+$/g,"").split("/").filter(Boolean);return n.length<2?null:{owner:n[n.length-2],repo:n[n.length-1]}}var xo=_(()=>{"use strict";Ue();nr();Qa()});function RE(e){return e==="single-object"?"rest":"graphql"}function vE(e,t){return e==="stable-poll"?"rest":RE(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??vE(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 xE(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 vp(e){let t=xE(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 OE(e){return SN.get(vp(e))??null}function Tp(e){let t=OE(e);if(!t)throw new tc(e);return t}var TE,SN,tc,AE=_(()=>{TE=[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")],SN=new Map(TE.map(e=>[e.key,e]));tc=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=vp(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 as}function rc(e=process.env){let t=e[xp];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??rc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=RN(n);try{return await cs(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw CE(l)?l:o.aborted&&i?.aborted!==!0?new as(c,r,{cause:l}):l}}}function RN(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 xp,as,Op=_(()=>{xp="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 ${xp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function IE(e){if(e===!0)return"on";if(typeof e!="string")return nc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":nc}function Ap(e){return(e??nc)==="on"}function Cp(e=process.env){return IE(e[PE])}var nc,PE,Pp=_(()=>{nc="off",PE="RED_GITHUB_BUDGET_GATE"});import{execFile as vN}from"node:child_process";import{renameSync as TN,rmSync as xN,statSync as ON,writeFileSync as AN}from"node:fs";import{readdir as C6,readFile as CN,rename as PN,rm as IN,stat as LN,writeFile as GN}from"node:fs/promises";import{promisify as $N}from"node:util";function GE(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function $E(e){return e.code==="ENOENT"}async function ls(e,t,r,n=LN){let s=GE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!$E(i))throw i}return o+t>s}function NE(e,t,r,n=ON){let s=GE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!$E(i))throw i}return o+t>s}async function FN(e,t,r){try{return await NN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function MN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function BN(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function jN(e,t){let r=`${e}.retaining-${process.pid}`;try{await GN(r,t,{encoding:"utf8",mode:384}),await PN(r,e)}finally{await IN(r,{force:!0})}}function DE(e,t){let r=`${e}.retaining-${process.pid}`;try{AN(r,t,{encoding:"utf8",mode:384}),TN(r,e)}finally{xN(r,{force:!0})}}async function us(e,t,r={}){MN(t);let n=r.timeoutMs??DN;if(await(r.runTq??FN)(e,t,n))return"tq";let o=await CN(e,"utf8"),i=o.endsWith(`
55
55
  `)?o:o.slice(0,o.lastIndexOf(`
56
- `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await FN(e,DN(c)),"js"}var LN,et,GN,C6,Er,PE,St,fn=_(()=>{V();LN=IN(kN),et=.5,GN=5e3,C6=256*1024*1024,Er=1024*1024,PE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*Er,maxAgeMs:PE,targetRatio:et},"github-spend":{maxBytes:8*Er,targetRatio:et},"github-balance":{maxBytes:64*1024,targetRatio:et},"github-balance-history":{maxBytes:2*Er,targetRatio:et},"castle-singleton-events":{maxBytes:2*Er,targetRatio:et},"rsp-telemetry-spool":{maxBytes:8*Er,targetRatio:et},"rsp-telemetry-corrections":{maxBytes:Er,targetRatio:et},"death-attributions":{maxBytes:Er,maxAgeMs:PE,targetRatio:et},"worker-log":{maxLines:5e4,targetRatio:et},"worker-liveness":{maxBytes:Er,targetRatio:et},"castle-history":{maxLines:1e4,targetRatio:et}}});import{appendFile as MN,mkdir as BN,readFile as NE}from"node:fs/promises";import{dirname as jN}from"node:path";function Ip(e){let t=e.now??(()=>new Date().toISOString()),r=St["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=WN(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(VN(i)),c=s.then(async()=>{await BN(jN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await ls(e.path,l,n)){let u=n.maxBytes;if(l>u)throw new Error(`GitHub spend observation exceeds its ${u}-byte lane ceiling`);let d=await qN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await us(e.path,UN(d,l,p))}await MN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Pp(o.from,"report window start"),a=Pp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await JN(e.path),l=new Map;for(let d of c.observations){let p=Date.parse(d.observed_at);if(p<i||p>=a||o.pool!==void 0&&d.pool!==o.pool)continue;let f=`${d.pool}\0${d.operation_key}\0${d.actor??""}`,m=l.get(f);l.set(f,{operation_key:d.operation_key,pool:d.pool,...d.actor===void 0?{}:{actor:d.actor},count:(m?.count??0)+1,cost:(m?.cost??0)+d.cost})}let u=[...l.values()].sort((d,p)=>p.cost-d.cost||p.count-d.count||d.operation_key.localeCompare(p.operation_key)||d.pool.localeCompare(p.pool)||(d.actor??"").localeCompare(p.actor??""));return{version:1,origin:"process-attribution",window:{from:o.from,to:o.to},pool:o.pool??null,total_count:u.reduce((d,p)=>d+p.count,0),total_cost:u.reduce((d,p)=>d+p.cost,0),operations:u,unreadable_records:c.unreadable}}}}async function qN(e){try{let t=await NE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(DE(t)&&t.code==="ENOENT")return[];throw t}}function UN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=HN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function HN(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function WN(e,t,r,n,s){if(Pp(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,...s===void 0?{}:{identity:s},pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function JN(e){let t;try{t=await NE(e,"utf8")}catch(o){if(DE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
56
+ `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await jN(e,BN(c)),"js"}var NN,et,DN,L6,Er,LE,St,fn=_(()=>{V();NN=$N(vN),et=.5,DN=5e3,L6=256*1024*1024,Er=1024*1024,LE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*Er,maxAgeMs:LE,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:LE,targetRatio:et},"worker-log":{maxLines:5e4,targetRatio:et},"worker-liveness":{maxBytes:Er,targetRatio:et},"castle-history":{maxLines:1e4,targetRatio:et}}});import{appendFile as qN,mkdir as UN,readFile as FE}from"node:fs/promises";import{dirname as HN}from"node:path";function Lp(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=KN(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(YN(i)),c=s.then(async()=>{await UN(HN(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 WN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await us(e.path,JN(d,l,p))}await qN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Ip(o.from,"report window start"),a=Ip(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await zN(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 WN(e){try{let t=await FE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(ME(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=VN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function VN(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function KN(e,t,r,n,s){if(Ip(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 zN(e){let t;try{t=await FE(e,"utf8")}catch(o){if(ME(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
57
57
  `);for(let o=0;o<s.length;o+=1){let i=s[o];if(i.trim()==="")continue;let a=s[o+1];if(!i.startsWith("[]{")||a===void 0||a.trim()===""){n+=1;continue}let c;try{c=Oe(`${i}
58
58
  ${a}
59
- `)[0]}catch{n+=1,o+=1;continue}if(!KN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function VN(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,...e.identity===void 0?{}:{identity:e.identity},pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function KN(e){return zN(e)?e.version===1&&typeof e.observed_at=="string"&&Number.isFinite(Date.parse(e.observed_at))&&typeof e.operation_key=="string"&&e.operation_key!==""&&(e.pool==="rest"||e.pool==="graphql"||e.pool==="search")&&(e.actor===void 0||typeof e.actor=="string"&&e.actor!=="")&&typeof e.cost=="number"&&Number.isSafeInteger(e.cost)&&e.cost>=0:!1}function Pp(e,t){let r=Date.parse(e);if(!Number.isFinite(r))throw new Error(`${t} must be an ISO-8601 instant; received ${JSON.stringify(e)}`);return r}function zN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function DE(e){return e instanceof Error&&"code"in e}var FE=_(()=>{fn();V()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var ar=_(()=>{});function ZN(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function eD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function jE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{eD(t[n])?n in e?r[n]=jE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function ME(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Gp(e,t,r){if(typeof t=="string"){let[s,o]=t.split(" ");r=Object.assign(o?{method:s,url:o}:{url:s},r)}else r=Object.assign({},t);r.headers=ZN(r.headers),ME(r),ME(r.headers);let n=jE(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(n.mediaType.previews=e.mediaType.previews.filter(s=>!n.mediaType.previews.includes(s)).concat(n.mediaType.previews)),n.mediaType.previews=(n.mediaType.previews||[]).map(s=>s.replace(/-preview/,""))),n}function tD(e,t){let r=/\?/.test(e)?"&":"?",n=Object.keys(t);return n.length===0?e:e+r+n.map(s=>s==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${s}=${encodeURIComponent(t[s])}`).join("&")}function nD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function sD(e){let t=e.match(rD);return t?t.map(nD).reduce((r,n)=>r.concat(n),[]):[]}function BE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function qE(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function ps(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Ao(e,t,r){return t=e==="+"||e==="#"?qE(t):ps(t),r?ps(r)+"="+t:t}function ds(e){return e!=null}function Lp(e){return e===";"||e==="&"||e==="?"}function oD(e,t,r,n){var s=e[r],o=[];if(ds(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),o.push(Ao(t,s,Lp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ds).forEach(function(i){o.push(Ao(t,i,Lp(t)?r:""))}):Object.keys(s).forEach(function(i){ds(s[i])&&o.push(Ao(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(ds).forEach(function(a){i.push(Ao(t,a))}):Object.keys(s).forEach(function(a){ds(s[a])&&(i.push(ps(a)),i.push(Ao(t,s[a].toString())))}),Lp(t)?o.push(ps(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?ds(s)&&o.push(ps(r)):s===""&&(t==="&"||t==="?")?o.push(ps(r)+"="):s===""&&o.push("");return o}function iD(e){return{expand:aD.bind(null,e)}}function aD(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(n,s,o){if(s){let a="",c=[];if(r.indexOf(s.charAt(0))!==-1&&(a=s.charAt(0),s=s.substr(1)),s.split(/,/g).forEach(function(l){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(l);c.push(oD(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var i=",";return a==="?"?i="&":a!=="#"&&(i=a),(c.length!==0?a:"")+c.join(i)}else return c.join(",")}else return qE(o)}),e==="/"?e:e.replace(/\/$/,"")}function UE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=BE(e,["method","baseUrl","url","headers","request","mediaType"]),i=sD(r);r=iD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=BE(o,a);if(!/application\/octet-stream/i.test(n.accept)&&(e.mediaType.format&&(n.accept=n.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=n.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];n.accept=u.concat(e.mediaType.previews).map(d=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${d}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=tD(r,c):"data"in c?s=c.data:Object.keys(c).length&&(s=c),!n["content-type"]&&typeof s<"u"&&(n["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof s>"u"&&(s=""),Object.assign({method:t,url:r,headers:n},typeof s<"u"?{body:s}:null,e.request?{request:e.request}:null)}function cD(e,t,r){return UE(Gp(e,t,r))}function HE(e,t){let r=Gp(e,t),n=cD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:HE.bind(null,r),merge:Gp.bind(null,r),parse:UE})}var YN,QN,XN,rD,WE,JE=_(()=>{ar();YN="0.0.0-development",QN=`octokit-endpoint.js/${YN} ${Ae()}`,XN={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":QN},mediaType:{format:""}};rD=/\{[^{}}]+\}/g;WE=HE(null,XN)});var ZE=I(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.format=pD;nc.parse=fD;var lD=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,KE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,uD=/[\\"]/g,dD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,zE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function pD(e){let{type:t,parameters:r}=e;if(!t||!dD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!KE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${yD(r[s])}`}return n}function fD(e,t){let r=e.length,n=Np(e,0,r),s=n;n=$p(e,n,r);let o=Dp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new zE:gD(e,n,r);return{type:i,parameters:a}}var YE=32,QE=9,XE=59,mD=61,VE=34,hD=92;function gD(e,t,r){let n=new zE;e:for(;t<r;){t=Np(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===XE)continue e;if(o===mD){let i=Dp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Np(e,t+1,r),t<r&&e.charCodeAt(t)===VE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===VE){t=$p(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===hD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=$p(e,t,r),n[a]===void 0){let l=Dp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function $p(e,t,r){for(;t<r&&e.charCodeAt(t)!==XE;)t++;return t}function Np(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==YE&&n!==QE)break;t++}return t}function Dp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==YE&&n!==QE)break;r--}return r}function yD(e){if(KE.test(e))return e;if(lD.test(e))return`"${e.replace(uD,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var bD,oc,kr,Fp,sk,ek,tk,Mp,Bp,wD,ok,sc,_D,ED,kD,ik,rk,SD,RD,vD,nk,ak,ck=_(()=>{bD=/^-?\d+$/,oc=/^-?\d+n+$/,kr=JSON.stringify,Fp=JSON.parse,sk=/^-?\d+n$/,ek=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,tk=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Mp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Bp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",wD=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,g,b)=>(b!==null&&typeof b=="object"&&typeof b.toJSON=="function"&&(b=b.toJSON(g)),typeof b=="string"&&oc.test(b)?b+"n":typeof b=="bigint"?"rawJSON"in JSON?JSON.rawJSON(b.toString()):b.toString()+"n":(s&&(b=t.call(m,g,b)),b!==null&&typeof b=="object"&&(b instanceof Number||b instanceof String||b instanceof Boolean)&&(b=b.valueOf()),b)),a=i({"":e},"",e);if(Mp(a))return;let c=a===null||typeof a!="object",l=Bp(a);if(c||l)return kr(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let g=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
60
- `+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(Mp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",w=Bp(y);if(E&&!w){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(kr(y)),m.first=!1,m.index++}}else g=!0;else{for(;m.index<m.keys.length;){let y=m.keys[m.index++];if(o&&!o.has(y))continue;let w=m.val[y],k=i(m.val,y,w);if(Mp(k))continue;m.first||u.push(","),n?u.push(`
61
- `+n.repeat(d)+kr(y)+": "):u.push(kr(y)+":");let S=k!==null&&typeof k=="object",T=Bp(k);if(S&&!T){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:y,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(kr(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(g=!0)}g&&(d--,!m.first&&n&&u.push(`
62
- `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},ok=(e,t,r)=>{try{return"rawJSON"in JSON?kr(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?kr(e,(a,c)=>typeof c=="string"&&oc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(ek,"$1$2$3").replace(tk,"$1$2$3"):kr(e,t,r)}catch(n){if(n instanceof RangeError){let s=wD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(ek,"$1$2$3").replace(tk,"$1$2$3")}throw n}},sc=new Map,_D=()=>{let e=JSON.parse.toString();if(sc.has(e))return sc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return sc.set(e,t),t}catch{return sc.set(e,!1),!1}},ED=(e,t,r,n)=>typeof t=="string"&&sk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&oc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,kD=(e,t)=>JSON.parse(e,(r,n,s)=>{let o=typeof n=="number",i=n>Number.MAX_SAFE_INTEGER||n<Number.MIN_SAFE_INTEGER,a=o&&i,c=s&&bD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),ik=Number.MAX_SAFE_INTEGER.toString(),rk=ik.length,SD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,RD=/^"-?\d+n+"$/,vD=(e,t)=>{let r={"":e},n=[{parent:r,key:"",visited:!1}];for(;n.length>0;){let s=n[n.length-1];if(s.visited){let{parent:o,key:i}=s,a=o[i];typeof a=="string"&&(sk.test(a)?a=BigInt(a.slice(0,-1)):oc.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},nk=e=>e.replace(SD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&RD.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<rk||r.length===rk&&r<=ik);return o||a||c?t:'"'+t+'n"'}),ak=(e,t)=>{if(!e)return Fp(e,t);try{if(_D())return kD(e,t);let r=nk(e);return Fp(r,(n,s,o)=>ED(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=nk(e),s=Fp(n);return vD(s,t)}throw r}}});var Rt,ic=_(()=>{Rt=class extends Error{name;status;request;response;constructor(t,r,n){super(t,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function OD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function uk(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,n=e.request?.parseSuccessResponseBody!==!1,s=OD(e.body)||Array.isArray(e.body)?ok(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([d,p])=>[d,String(p)])),i;try{i=await t(e.url,{method:e.method,body:s,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(d){let p="Unknown Error";if(d instanceof Error){if(d.name==="AbortError")throw d.status=500,d;p=d.message,d.name==="TypeError"&&"cause"in d&&(d.cause instanceof Error?p=d.cause.message:typeof d.cause=="string"&&(p=d.cause))}let f=new Rt(p,500,{request:e});throw f.cause=d,f}let a=i.status,c=i.url,l={};for(let[d,p]of i.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.link.match(/<([^<>]+)>; rel="deprecation"/),p=d&&d.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Rt(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await jp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await jp(i),new Rt(CD(u.data),a,{response:u,request:e});return u.data=n?await jp(i):i.body,u}async function jp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(lk);let r=(0,dk.parse)(t);if(AD(r)){let n="";try{return n=await e.text(),ak(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(lk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function AD(e){return e.type==="application/json"||e.type==="application/scim+json"}function CD(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if(typeof e=="object"&&e!==null&&"message"in e){let t=e,r="documentation_url"in t?` - ${t.documentation_url}`:"";return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(n=>JSON.stringify(n)).join(", ")}${r}`:`${t.message}${r}`}return`Unknown error: ${JSON.stringify(e)}`}function qp(e,t){let r=e.defaults(t);return Object.assign(function(s,o){let i=r.merge(s,o);if(!i.request||!i.request.hook)return uk(r.parse(i));let a=(c,l)=>uk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:qp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:qp.bind(null,r)})}var dk,TD,xD,lk,te,Ne=_(()=>{JE();ar();dk=ra(ZE(),1);ck();ic();TD="10.0.13",xD={headers:{"user-agent":`octokit-request.js/${TD} ${Ae()}`}};lk=()=>"";te=qp(WE,xD);});function PD(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?"https://github.com":/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace("api.",""):t.baseUrl.replace("/api/v3","")}async function ac(e,t,r){let n={baseUrl:PD(e),headers:{accept:"application/json"},...r},s=await e(t,n);if("error"in s.data){let o=new Rt(`${s.data.error_description} (${s.data.error}, ${s.data.error_uri})`,400,{request:e.endpoint.merge(t,n)});throw o.response=s,o}return s}async function hk(e){let t=e.request||te,r=await ac(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=pk(s,r.data.expires_in),n.refreshTokenExpiresAt=pk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function pk(e,t){return new Date(e+t*1e3).toISOString()}async function gk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),ac(t,"POST /login/device/code",r)}async function Up(e){let t=e.request||te,r=await ac(t,"POST /login/oauth/access_token",{client_id:e.clientId,device_code:e.code,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),n={clientType:e.clientType,clientId:e.clientId,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if("clientSecret"in e&&(n.clientSecret=e.clientSecret),e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=fk(s,r.data.expires_in),n.refreshTokenExpiresAt=fk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function fk(e,t){return new Date(e+t*1e3).toISOString()}async function yk(e){let r=await(e.request||te)("POST /applications/{client_id}/token",{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.token,scopes:r.data.scopes};return r.data.expires_at&&(n.expiresAt=r.data.expires_at),e.clientType==="github-app"&&delete n.scopes,{...r,authentication:n}}async function bk(e){let t=e.request||te,r=await ac(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:e.refreshToken}),n=new Date(r.headers.date).getTime(),s={clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,refreshToken:r.data.refresh_token,expiresAt:mk(n,r.data.expires_in),refreshTokenExpiresAt:mk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function mk(e,t){return new Date(e+t*1e3).toISOString()}async function wk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`),n=await t("PATCH /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token}),s={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:n.data.token,scopes:n.data.scopes};return n.data.expires_at&&(s.expiresAt=n.data.expires_at),e.clientType==="github-app"&&delete s.scopes,{...n,authentication:s}}async function _k(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/token",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}async function Ek(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var cc=_(()=>{ic();Ne();Ne();Ne();Ne();Ne();Ne();Ne();Ne();});async function Sk(e,t){let r=ID(e,t.auth);if(r)return r;let{data:n}=await gk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Hp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function ID(e,t){if(t.refresh===!0||!e.authentication)return!1;if(e.clientType==="github-app")return e.authentication;let r=e.authentication,n=("scopes"in t&&t.scopes||e.scopes).join(" "),s=r.scopes.join(" ");return n===s?r:!1}async function kk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Hp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Up({...s,clientType:"oauth-app"}):await Up({...s,clientType:"github-app"});return{type:"token",tokenType:"oauth",...o}}catch(s){if(!s.response)throw s;let o=s.response.data.error;if(o==="authorization_pending")return await kk(n.interval),Hp(e,t,r,n);if(o==="slow_down")return await kk(n.interval+7),Hp(e,t,r,n);throw s}}async function LD(e,t){return Sk(e,{auth:t})}async function GD(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);let{token:o}=await Sk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Rk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${$D} ${Ae()}`}}),{request:r=t,...n}=e,s=e.clientType==="github-app"?{...n,clientType:"github-app",request:r}:{...n,clientType:"oauth-app",request:r,scopes:e.scopes||[]};if(!e.clientId)throw new Error('[@octokit/auth-oauth-device] "clientId" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)');if(!e.onVerification)throw new Error('[@octokit/auth-oauth-device] "onVerification" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)');return Object.assign(LD.bind(null,s),{hook:GD.bind(null,s)})}var $D,vk=_(()=>{ar();Ne();cc();$D="0.0.0-development";});async function Tk(e){if("code"in e.strategyOptions){let{authentication:t}=await hk({clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request});return{type:"token",tokenType:"oauth",...t}}if("onVerification"in e.strategyOptions){let r=await Rk({clientType:e.clientType,clientId:e.clientId,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request})({type:"oauth"});return{clientSecret:e.clientSecret,...r}}if("token"in e.strategyOptions)return{type:"token",tokenType:"oauth",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions};throw new Error("[@octokit/auth-oauth-user] Invalid strategy options")}async function Wp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Tk(e):await Tk(e)),e.authentication.invalid)throw new Error("[@octokit/auth-oauth-user] Token is invalid");let r=e.authentication;if("expiresAt"in r&&(t.type==="refresh"||new Date(r.expiresAt)<new Date)){let{authentication:n}=await bk({clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:r.refreshToken,request:e.request});e.authentication={tokenType:"oauth",type:"token",...n}}if(t.type==="refresh"){if(e.clientType==="oauth-app")throw new Error("[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens");if(!r.hasOwnProperty("expiresAt"))throw new Error("[@octokit/auth-oauth-user] Refresh token missing");await e.onTokenCreated?.(e.authentication,{type:t.type})}if(t.type==="check"||t.type==="reset"){let n=t.type==="check"?yk:wk;try{let{authentication:s}=await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request});return e.authentication={tokenType:"oauth",type:"token",...s},t.type==="reset"&&await e.onTokenCreated?.(e.authentication,{type:t.type}),e.authentication}catch(s){throw s.status===404&&(s.message="[@octokit/auth-oauth-user] Token is invalid",e.authentication.invalid=!0),s}}if(t.type==="delete"||t.type==="deleteAuthorization"){let n=t.type==="delete"?_k:Ek;try{await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request})}catch(s){if(s.status!==404)throw s}return e.authentication.invalid=!0,e.authentication}return e.authentication}function Co(e){return e&&ND.test(e)}async function DD(e,t,r,n={}){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(Co(s.url)){let i=btoa(`${e.clientId}:${e.clientSecret}`);return s.headers.authorization=`basic ${i}`,t(s)}let{token:o}=e.clientType==="oauth-app"?await Wp({...e,request:t}):await Wp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function lc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${xk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Wp.bind(null,i),{hook:DD.bind(null,i)})}var xk,ND,uc=_(()=>{ar();Ne();vk();cc();cc();xk="0.0.0-development";ND=/\/applications\/[^/]+\/(token|grant)s?/;lc.VERSION=xk;});async function FD(e,t){if(t.type==="oauth-app")return{type:"oauth-app",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if("factory"in t){let{type:s,...o}={...t,...e};return t.factory(o)}let r={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType==="oauth-app"?await lc({...r,clientType:e.clientType}):await lc({...r,clientType:e.clientType}))()}async function MD(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(e.clientType==="github-app"&&!Co(s.url))throw new Error(`[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${s.method} ${s.url}" is not supported.`);let o=btoa(`${e.clientId}:${e.clientSecret}`);s.headers.authorization=`basic ${o}`;try{return await t(s)}catch(i){throw i.status!==401||(i.message=`[@octokit/auth-oauth-app] "${s.method} ${s.url}" does not support clientId/clientSecret basic authentication.`),i}}function Ok(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${BD} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(FD.bind(null,t),{hook:MD.bind(null,t)})}var BD,Ak=_(()=>{ar();Ne();uc();uc();BD="0.0.0-development";});function dc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Pk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Jp(e){let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0,s=e.length;n<s;n++)r[n]=e.charCodeAt(n);return t}function Ik(e){let t=e.trim().split(`
63
- `).slice(1,-1).join(""),r=atob(t);return Jp(r)}function Lk(e,t){return`${Ck(e)}.${Ck(t)}`}function Gk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return $k(btoa(t))}function $k(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ck(e){return $k(btoa(JSON.stringify(e)))}var Vp=_(()=>{});import{subtle as Kp}from"node:crypto";import{createPrivateKey as jD}from"node:crypto";function Nk(e){return dc(e)?jD(e).export({type:"pkcs8",format:"pem"}):e}var Dk=_(()=>{Vp()});async function Fk({privateKey:e,payload:t}){let r=Nk(e);if(dc(r))throw new Error("[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats");if(Pk(r))throw new Error("[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats");let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s={alg:"RS256",typ:"JWT"},o=Ik(r),i=await Kp.importKey("pkcs8",o,n,!1,["sign"]),a=Lk(s,t),c=Jp(a),l=await Kp.sign(n.name,i,c),u=Gk(l);return`${a}.${u}`}var Mk=_(()=>{Vp();Dk()});async function zp({id:e,privateKey:t,now:r=Math.floor(Date.now()/1e3)}){let n=t.replace(/\\n/g,`
64
- `),s=r-30,o=s+60*10,a=await Fk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Bk=_(()=>{Mk()});function qD(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid max value");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid ttl value")}var pc,jk=_(()=>{pc=class{constructor(t=1e3,r=0){qD(t,r),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){let r=this.items[t];r!==void 0&&(delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev))}deleteMany(t){for(var r=0;r<t.length;r++)this.delete(t[r])}evict(){if(this.size>0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){let r=this.items[t];if(r!==void 0)return r.expiry}get(t){let r=this.items[t];if(r!==void 0){if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=new Array(t.length);for(var n=0;n<t.length;n++)r[n]=this.get(t[n]);return r}keys(){return Object.keys(this.items)}set(t,r){let n=this.items[t];if(n!==void 0){n.value=r,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let s={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=s,++this.size===1?this.first=s:this.last.next=s,this.last=s}}});async function mc({appId:e,privateKey:t,timeDifference:r,createJwt:n}){try{if(n){let{jwt:i,expiresAt:a}=await n(e,r);return{type:"app",token:i,appId:e,expiresAt:a}}let s={id:e,privateKey:t};r&&Object.assign(s,{now:Math.floor(Date.now()/1e3)+r});let o=await zp(s);return{type:"app",token:o.token,appId:o.appId,expiresAt:new Date(o.expiration*1e3).toISOString()}}catch(s){throw t==="-----BEGIN RSA PRIVATE KEY-----"?new Error("The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"):s}}function UD(){return new pc(15e3,1e3*60*59)}async function HD(e,t){let r=Yp(t),n=await e.get(r);if(!n)return;let[s,o,i,a,c,l]=n.split("|"),u=t.permissions||c.split(/,/).reduce((d,p)=>(/!$/.test(p)?d[p.slice(0,-1)]="write":d[p]="read",d),{});return{token:s,createdAt:o,expiresAt:i,permissions:u,repositoryIds:t.repositoryIds,repositoryNames:t.repositoryNames,singleFileName:l,repositorySelection:a}}async function WD(e,t,r){let n=Yp(t),s=t.permissions?"":Object.keys(r.permissions).map(i=>`${i}${r.permissions[i]==="write"?"!":""}`).join(","),o=[r.token,r.createdAt,r.expiresAt,r.repositorySelection,s,r.singleFileName].join("|");await e.set(n,o)}function Yp({installationId:e,permissions:t={},repositoryIds:r=[],repositoryNames:n=[]}){let s=Object.keys(t).sort().map(a=>t[a]==="read"?a:`${a}!`).join(","),o=r.sort().join(","),i=n.join(",");return[e,o,i,s].filter(Boolean).join("|")}function qk({installationId:e,token:t,createdAt:r,expiresAt:n,repositorySelection:s,permissions:o,repositoryIds:i,repositoryNames:a,singleFileName:c}){return Object.assign({type:"token",tokenType:"installation",token:t,installationId:e,permissions:o,createdAt:r,expiresAt:n,repositorySelection:s},i?{repositoryIds:i}:null,a?{repositoryNames:a}:null,c?{singleFileName:c}:null)}async function Uk(e,t,r){let n=Number(t.installationId||e.installationId);if(!n)throw new Error("[@octokit/auth-app] installationId option is required for installation authentication.");if(t.factory){let{type:o,factory:i,oauthApp:a,...c}={...e,...t};return i(c)}let s=r||e.request;return JD(e,{...t,installationId:n},s)}function JD(e,t,r){let n=Yp(t);if(fc.has(n))return fc.get(n);let s=VD(e,t,r).finally(()=>fc.delete(n));return fc.set(n,s),s}async function VD(e,t,r){if(!t.refresh){let E=await HD(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return qk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await mc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await WD(e.cache,t,b);let y={installationId:t.installationId,token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};return u&&Object.assign(y,{singleFileName:u}),qk(y)}async function KD(e,t){switch(t.type){case"app":return mc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Uk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function YD(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function XD(e){return!!e&&QD.test(e.split("?")[0])}function eF(e){return!(e.message.match(/'Expiration time' claim \('exp'\) is too far in the future/)||e.message.match(/'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/)||e.message.match(/'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/))}async function tF(e,t,r,n){let s=t.endpoint.merge(r,n),o=s.url;if(/\/login\/oauth\/access_token$/.test(o))return t(s);if(XD(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await mc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(eF(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await mc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Co(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await Uk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Hk(e,t,s,a)}async function Hk(e,t,r,n,s=0){let o=+new Date-+new Date(n);try{return await t(r)}catch(i){if(i.status!==401)throw i;if(o>=ZD)throw s>0&&(i.message=`After ${s} retries within ${o/1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`),i;++s;let a=s*1e3;return e.log.warn(`[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${s}, wait: ${a/1e3}s)`),await new Promise(c=>setTimeout(c,a)),Hk(e,t,r,n,s)}}function Wk(e){if(!e.appId)throw new Error("[@octokit/auth-app] appId option is required");if(!e.privateKey&&!e.createJwt)throw new Error("[@octokit/auth-app] privateKey option is required");if(e.privateKey&&e.createJwt)throw new Error("[@octokit/auth-app] privateKey and createJwt options are mutually exclusive");if("installationId"in e&&!e.installationId)throw new Error("[@octokit/auth-app] installationId is set to a falsy value");let t=e.log||{};typeof t.warn!="function"&&(t.warn=console.warn.bind(console));let r=e.request||te.defaults({headers:{"user-agent":`octokit-auth-app.js/${rF} ${Ae()}`}}),n=Object.assign({request:r,cache:UD()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Ok({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(KD.bind(null,n),{hook:tF.bind(null,n)})}var fc,zD,QD,ZD,rF,Jk=_(()=>{ar();Ne();Ak();Bk();jk();uc();fc=new Map;zD=["/app","/app/hook/config","/app/hook/deliveries","/app/hook/deliveries/{delivery_id}","/app/hook/deliveries/{delivery_id}/attempts","/app/installations","/app/installations/{installation_id}","/app/installations/{installation_id}/access_tokens","/app/installations/{installation_id}/suspended","/app/installation-requests","/marketplace_listing/accounts/{account_id}","/marketplace_listing/plan","/marketplace_listing/plans","/marketplace_listing/plans/{plan_id}/accounts","/marketplace_listing/stubbed/accounts/{account_id}","/marketplace_listing/stubbed/plan","/marketplace_listing/stubbed/plans","/marketplace_listing/stubbed/plans/{plan_id}/accounts","/orgs/{org}/installation","/repos/{owner}/{repo}/installation","/users/{username}/installation","/enterprises/{enterprise}/installation"];QD=YD(zD);ZD=5*1e3;rF="8.3.0";});var Zp=I((Qp,Xp)=>{(function(e,t){typeof Qp=="object"&&typeof Xp<"u"?Xp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Qp,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(D){return D&&D.default||D}var r=function(D,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=D[v])!=null?x:A;return h},n=function(D,R,h={}){var v,x;for(v in D)x=D[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,N;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return N=typeof A.cb=="function"?A.cb(...h):void 0,typeof N?.then=="function"?await N:N}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(x)).find(function(A){return A!=null}))}catch(A){return v=A,this.trigger("error",v),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(R){var h;this.Events=new u(this),this._length=0,this._lists=function(){var v,x,A;for(A=[],h=v=1,x=R;1<=x?v<=x:v>=x;h=1<=x?++v:--v)A.push(new l(()=>this.incr(),()=>this.decr()));return A}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(R){return this._lists[R.options.priority].push(R)}queued(R){return R!=null?this._lists[R].length:this._length}shiftAll(R){return this._lists.forEach(function(h){return h.forEachShift(R)})}getFirst(R=this._lists){var h,v,x;for(h=0,v=R.length;h<v;h++)if(x=R[h],x.length>0)return x;return[]}shiftLastFrom(R){return this.getFirst(this._lists.slice(R).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,g,b,y,E,w;E=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,N,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=N,this.Promise=Z,this.options=w.load(v,x),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===x.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((be,Re)=>{this._resolve=be,this._reject=Re}),this.retryCount=0}_sanitizePriority(R){var h;return h=~~R!==R?b:R,h<0?0:h>E-1?E-1:h}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:R,message:h="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(R??new g(h)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(R){var h;if(h=this._states.jobStatus(this.options.id),!(h===R||R==="DONE"&&h===null))throw new g(`Invalid job status ${h}, expected ${R}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(R,h){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:R,blocked:h})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(R,h,v,x){var A,P,N;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(N=await(R!=null?R.schedule(this.options,this.task,...this.args):this.task(...this.args)),h())return this.doDone(P),await x(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(Z){return A=Z,this._onFailure(A,P,h,v,x)}}doExpire(R,h,v){var x,A;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),A={args:this.args,options:this.options,retryCount:this.retryCount},x=new g(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(x,A,R,h,v)}async _onFailure(R,h,v,x,A){var P,N;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,h),this.retryCount++,x(N)):(this.doDone(h),await A(this.options,h),this._assertStatus("DONE"),this._reject(R))}doDone(R){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",R)}};var k=y,S,T,C;C=s,S=m,T=class{constructor(R,h,v){this.instance=R,this.storeOptions=h,this.clientId=this.instance._randomIndex(),C.load(v,v,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var R;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(R=this.heartbeat=setInterval(()=>{var h,v,x,A,P;if(A=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&A>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=A,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&A>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:h,reservoirIncreaseMaximum:x,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=A,v=x!=null?Math.min(h,x-P):h,v>0))return this.storeOptions.reservoir+=v,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?R.unref():void 0:clearInterval(this.heartbeat)}async __publish__(R){return await this.yieldLoop(),this.instance.Events.trigger("message",R.toString())}async __disconnect__(R){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(R=0){return new this.Promise(function(h,v){return setTimeout(h,R)})}computePenalty(){var R;return(R=this.storeOptions.penalty)!=null?R:15*this.storeOptions.minTime||5e3}async __updateSettings__(R){return await this.yieldLoop(),C.overwrite(R,R,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(R){return await this.yieldLoop(),this._nextRequest+this.timeout<R}computeCapacity(){var R,h;return{maxConcurrent:R,reservoir:h}=this.storeOptions,R!=null&&h!=null?Math.min(R-this._running,h):R!=null?R-this._running:h??null}conditionsCheck(R){var h;return h=this.computeCapacity(),h==null||R<=h}async __incrementReservoir__(R){var h;return await this.yieldLoop(),h=this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity()),h}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(R){return this._unblockTime>=R}check(R,h){return this.conditionsCheck(R)&&this._nextRequest-h<=0}async __check__(R){var h;return await this.yieldLoop(),h=Date.now(),this.check(R,h)}async __register__(R,h,v){var x,A;return await this.yieldLoop(),x=Date.now(),this.conditionsCheck(h)?(this._running+=h,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=h),A=Math.max(this._nextRequest-x,0),this._nextRequest=x+A+this.storeOptions.minTime,{success:!0,wait:A,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(R,h){var v,x,A;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&h>this.storeOptions.maxConcurrent)throw new S(`Impossible to add a job having a weight of ${h} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return x=Date.now(),A=this.storeOptions.highWater!=null&&R===this.storeOptions.highWater&&!this.check(h,x),v=this.strategyIsBlock()&&(A||this.isBlocked(x)),v&&(this._unblockTime=x+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:A,blocked:v,strategy:this.storeOptions.strategy}}async __free__(R,h){return await this.yieldLoop(),this._running-=h,this._done+=h,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,G,q;G=m,q=class{constructor(R){this.status=R,this._jobs={},this.counts=this.status.map(function(){return 0})}next(R){var h,v;if(h=this._jobs[R],v=h+1,h!=null&&v<this.status.length)return this.counts[h]--,this.counts[v]++,this._jobs[R]++;if(h!=null)return this.counts[h]--,delete this._jobs[R]}start(R){var h;return h=0,this._jobs[R]=h,this.counts[h]++}remove(R){var h;return h=this._jobs[R],h!=null&&(this.counts[h]--,delete this._jobs[R]),h!=null}jobStatus(R){var h;return(h=this.status[this._jobs[R]])!=null?h:null}statusJobs(R){var h,v,x,A,P;if(R!=null){if(v=this.status.indexOf(R),v<0)throw new G(`status must be one of ${this.status.join(", ")}`);x=this._jobs,A=[];for(h in x)P=x[h],P===v&&A.push(h);return A}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((R,h,v)=>(R[this.status[v]]=h,R),{})}};var Q=q,J,$;J=i,$=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await N(...R),function(){return A(P)}}catch(Z){return v=Z,function(){return x(v)}}}(),this._running--,this._tryToRun(),h()}schedule(R,...h){var v,x,A;return A=x=null,v=new this.Promise(function(P,N){return A=P,x=N}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=$,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Vt,Dn,mr;mr=s,It=c,Vt=L,Me=U,Dn=Jt,Fe=function(){class D{constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=Ny,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Vt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Me(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(h=""){var v;return(v=this.instances[h])!=null?v:(()=>{var x;return x=this.instances[h]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${h}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",x,h),x})()}async deleteKey(h=""){var v,x;return x=this.instances[h],this.connection&&(v=await this.connection.__runCommand__(["del",...Dn.allKeys(`${this.id}-${h}`)])),x!=null&&(delete this.instances[h],await x.disconnect()),x!=null||v>0}limiters(){var h,v,x,A;v=this.instances,x=[];for(h in v)A=v[h],x.push({key:h,limiter:A});return x}keys(){return Object.keys(this.instances)}async clusterKeys(){var h,v,x,A,P,N,Z,be,Re;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],h=null,Re=`b_${this.id}-`.length,v=9;h!==0;)for([be,x]=await this.connection.__runCommand__(["scan",h??0,"match",`b_${this.id}-*_settings`,"count",1e4]),h=~~be,A=0,Z=x.length;A<Z;A++)P=x[A],N.push(P.slice(Re,-v));return N}_startAutoCleanup(){var h;return clearInterval(this.interval),typeof(h=this.interval=setInterval(async()=>{var v,x,A,P,N,Z;N=Date.now(),A=this.instances,P=[];for(x in A){Z=A[x];try{await Z._store.__groupCheck__(N)?P.push(this.deleteKey(x)):P.push(void 0)}catch(be){v=be,P.push(Z.Events.trigger("error",v))}}return P},this.timeout/2)).unref=="function"?h.unref():void 0}updateSettings(h={}){if(mr.overwrite(h,this.defaults,this),mr.overwrite(h,h,this.limiterOptions),h.timeout!=null)return this._startAutoCleanup()}disconnect(h=!0){var v;if(!this.sharedConnection)return(v=this.connection)!=null?v.disconnect(h):void 0}}return D.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},D}.call(e);var Vs=Fe,zr,Ks,Oy;Oy=s,Ks=c,zr=function(){class D{constructor(h={}){this.options=h,Oy.load(this.options,this.defaults,this),this.Events=new Ks(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return D.prototype.defaults={maxTime:null,maxSize:null,Promise},D}.call(e);var pP=zr,fP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),mP=t(me),Ay,Cy,Du,Fu,Py,Mu,Iy,Ly,Gy,Bu,Lt,$y=[].splice;Mu=10,Cy=5,Lt=s,Iy=p,Fu=k,Py=O,Ly=fP,Du=c,Gy=Q,Bu=H,Ay=function(){class D{constructor(h={},...v){var x,A;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(h,v),Lt.load(h,this.instanceDefaults,this),this._queues=new Iy(Mu),this._scheduled={},this._states=new Gy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Du(this),this._submitLock=new Bu("submit",this.Promise),this._registerLock=new Bu("register",this.Promise),A=Lt.load(h,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return x=Lt.load(h,this.redisStoreDefaults,{}),new Ly(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Py(this,A,x);throw new D.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(h,v){if(!(h!=null&&typeof h=="object"&&v.length===0))throw new D.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(h){return this._store.__publish__(h)}disconnect(h=!0){return this._store.__disconnect__(h)}chain(h){return this._limiter=h,this}queued(h){return this._queues.queued(h)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(h){return this._states.jobStatus(h)}jobs(h){return this._states.statusJobs(h)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(h=1){return this._store.__check__(h)}_clearGlobalState(h){return this._scheduled[h]!=null?(clearTimeout(this._scheduled[h].expiration),delete this._scheduled[h],!0):!1}async _free(h,v,x,A){var P,N;try{if({running:N}=await this._store.__free__(h,x.weight),this.Events.trigger("debug",`Freed ${x.id}`,A),N===0&&this.empty())return this.Events.trigger("idle")}catch(Z){return P=Z,this.Events.trigger("error",P)}}_run(h,v,x){var A,P,N;return v.doRun(),A=this._clearGlobalState.bind(this,h),N=this._run.bind(this,h,v),P=this._free.bind(this,h,v),this._scheduled[h]={timeout:setTimeout(()=>v.doExecute(this._limiter,A,N,P),x),expiration:v.options.expiration!=null?setTimeout(function(){return v.doExpire(A,N,P)},x+v.options.expiration):void 0,job:v}}_drainOne(h){return this._registerLock.schedule(()=>{var v,x,A,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:v}=A=N.first(),h!=null&&P.weight>h?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:v,options:P}),x=this._randomIndex(),this._store.__register__(x,P.weight,P.expiration).then(({success:Z,wait:be,reservoir:Re})=>{var zs;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?(N.shift(),zs=this.empty(),zs&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",zs),this._run(x,A,be),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(h,v=0){return this._drainOne(h).then(x=>{var A;return x!=null?(A=h!=null?h-x:h,this._drainAll(A,v+x)):this.Promise.resolve(v)}).catch(x=>this.Events.trigger("error",x))}_dropAllQueued(h){return this._queues.shiftAll(function(v){return v.doDrop({message:h})})}stop(h={}){var v,x;return h=Lt.load(h,this.stopDefaults),x=A=>{var P;return P=()=>{var N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===A},new this.Promise((N,Z)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},v=h.dropWaitingJobs?(this._run=function(A,P){return P.doDrop({message:h.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var A,P,N;P=this._scheduled;for(A in P)N=P[A],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:h.dropErrorMessage}));return this._dropAllQueued(h.dropErrorMessage),x(0)}))):this.schedule({priority:Mu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new D.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new D.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,N,Z,be;({args:v,options:P}=h);try{({reachedHWM:N,blocked:x,strategy:be}=await this._store.__submit__(this.queued(),P.weight))}catch(Re){return A=Re,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:v,options:P,error:A}),h.doDrop({error:A}),!1}return x?(h.doDrop(),!0):N&&(Z=be===D.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===D.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===D.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===D.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),N):(h.doQueue(N,x),this._queues.push(h),await this._drainAll(),N)}_receive(h){return this._states.jobStatus(h.options.id)!=null?(h._reject(new D.prototype.BottleneckError(`A job with the same id already exists (id=${h.options.id})`)),!1):(h.doReceive(),this._submitLock.schedule(this._addToQueue,h))}submit(...h){var v,x,A,P,N,Z,be;return typeof h[0]=="function"?(N=h,[x,...h]=N,[v]=$y.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=$y.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(zs,gP){return x(...Re,function(...Dy){return(Dy[0]!=null?gP:zs)(Dy)})}),A=new Fu(be,h,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),A.promise.then(function(Re){return typeof v=="function"?v(...Re):void 0}).catch(function(Re){return Array.isArray(Re)?typeof v=="function"?v(...Re):void 0:typeof v=="function"?v(Re):void 0}),this._receive(A)}schedule(...h){var v,x,A;return typeof h[0]=="function"?([A,...h]=h,x={}):[x,A,...h]=h,v=new Fu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return D.default=D,D.Events=Du,D.version=D.prototype.version=mP.version,D.strategy=D.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},D.BottleneckError=D.prototype.BottleneckError=m,D.Group=D.prototype.Group=Vs,D.RedisConnection=D.prototype.RedisConnection=L,D.IORedisConnection=D.prototype.IORedisConnection=U,D.Batcher=D.prototype.Batcher=pP,D.prototype.jobDefaults={priority:Cy,weight:1,expiration:null,id:"<no-id>"},D.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:D.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},D.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},D.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},D.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},D.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},D}.call(e);var Ny=Ay,hP=Ny;return hP})});function sF(e){return e.request!==void 0}async function Vk(e,t,r,n){if(!sF(r)||!r?.request.request)throw r;if(r.status>=400&&!e.doNotRetry.includes(r.status)){let s=n.request.retries!=null?n.request.retries:e.retries,o=Math.pow((n.request.retryCount||0)+1,2);throw t.retry.retryRequest(r,s,o)}throw r}async function oF(e,t,r,n){let s=new Kk.default;return s.on("failed",function(o,i){let a=~~o.request.request?.retries,c=~~o.request.request?.retryAfter;if(n.request.retryCount=i.retryCount+1,a>i.retryCount)return c*e.retryAfterBaseValue}),s.schedule(iF.bind(null,e,t,r),n)}async function iF(e,t,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let o=new Rt(s.data.errors[0].message,500,{request:n,response:s});return Vk(e,t,o,n)}return s}function ef(e,t){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},t.retry),n={retry:{retryRequest:(s,o,i)=>(s.request.request=Object.assign({},s.request.request,{retries:o,retryAfter:i}),s)}};return r.enabled&&(e.hook.error("request",Vk.bind(null,r,n)),e.hook.wrap("request",oF.bind(null,r,n))),n}var Kk,nF,zk=_(()=>{Kk=ra(Zp(),1);ic();nF="0.0.0-development";ef.VERSION=nF});import{readFileSync as aF}from"node:fs";function tf(e){try{return aF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var hc=_(()=>{});function lF(e,t,r){return e.retryLimiter.schedule(uF,e,t,r)}async function uF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=dF(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),l=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(l.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(l,rf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,rf),i&&await e.search.key(e.id).schedule(l,rf);let u=(s?e.auth:e.global).key(e.id).schedule(l,t,r);if(a){let d=await u;if(d.data.errors!=null&&d.data.errors.some(p=>p.type==="RATE_LIMITED"))throw Object.assign(new Error("GraphQL Rate Limit Exceeded"),{response:d,data:d.data})}return u}function dF(e,t){return e==="PATCH"&&/^\/applications\/[^/]+\/token\/scoped$/.test(t)||e==="POST"&&(/^\/applications\/[^/]+\/token$/.test(t)||/^\/app\/installations\/[^/]+\/access_tokens$/.test(t)||t==="/login/oauth/access_token")}function fF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function gc(e,t){let{enabled:r=!0,Bottleneck:n=Qk.default,id:s="no-id",timeout:o=1e3*60*2,connection:i}=t.throttle||{};if(!r)return{};let a={timeout:o};typeof i<"u"&&(a.connection=i);let c=Object.assign({clustering:i!=null,triggersNotification:Xk,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
59
+ `)[0]}catch{n+=1,o+=1;continue}if(!QN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function YN(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 QN(e){return XN(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 Ip(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 XN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ME(e){return e instanceof Error&&"code"in e}var BE=_(()=>{fn();V()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var ar=_(()=>{});function rD(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function nD(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 UE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{nD(t[n])?n in e?r[n]=UE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function jE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function $p(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=rD(r.headers),jE(r),jE(r.headers);let n=UE(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 sD(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 iD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function aD(e){let t=e.match(oD);return t?t.map(iD).reduce((r,n)=>r.concat(n),[]):[]}function qE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function HE(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==="#"?HE(t):ps(t),r?ps(r)+"="+t:t}function ds(e){return e!=null}function Gp(e){return e===";"||e==="&"||e==="?"}function cD(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,Gp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ds).forEach(function(i){o.push(Ao(t,i,Gp(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())))}),Gp(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 lD(e){return{expand:uD.bind(null,e)}}function uD(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(cD(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 HE(o)}),e==="/"?e:e.replace(/\/$/,"")}function WE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=qE(e,["method","baseUrl","url","headers","request","mediaType"]),i=aD(r);r=lD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=qE(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=sD(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 dD(e,t,r){return WE($p(e,t,r))}function JE(e,t){let r=$p(e,t),n=dD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:JE.bind(null,r),merge:$p.bind(null,r),parse:WE})}var ZN,eD,tD,oD,VE,KE=_(()=>{ar();ZN="0.0.0-development",eD=`octokit-endpoint.js/${ZN} ${Ae()}`,tD={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":eD},mediaType:{format:""}};oD=/\{[^{}}]+\}/g;VE=JE(null,tD)});var tk=I(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.format=hD;sc.parse=gD;var pD=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,YE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,fD=/[\\"]/g,mD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,QE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function hD(e){let{type:t,parameters:r}=e;if(!t||!mD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!YE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${_D(r[s])}`}return n}function gD(e,t){let r=e.length,n=Dp(e,0,r),s=n;n=Np(e,n,r);let o=Fp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new QE:wD(e,n,r);return{type:i,parameters:a}}var XE=32,ZE=9,ek=59,yD=61,zE=34,bD=92;function wD(e,t,r){let n=new QE;e:for(;t<r;){t=Dp(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===ek)continue e;if(o===yD){let i=Fp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Dp(e,t+1,r),t<r&&e.charCodeAt(t)===zE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===zE){t=Np(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===bD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Np(e,t,r),n[a]===void 0){let l=Fp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Np(e,t,r){for(;t<r&&e.charCodeAt(t)!==ek;)t++;return t}function Dp(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==XE&&n!==ZE)break;t++}return t}function Fp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==XE&&n!==ZE)break;r--}return r}function _D(e){if(YE.test(e))return e;if(pD.test(e))return`"${e.replace(fD,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var ED,ic,kr,Mp,ik,rk,nk,Bp,jp,kD,ak,oc,SD,RD,vD,ck,sk,TD,xD,OD,ok,lk,uk=_(()=>{ED=/^-?\d+$/,ic=/^-?\d+n+$/,kr=JSON.stringify,Mp=JSON.parse,ik=/^-?\d+n$/,rk=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,nk=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Bp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",jp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",kD=(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"&&ic.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(Bp(a))return;let c=a===null||typeof a!="object",l=jp(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(Bp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",w=jp(y);if(E&&!w){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(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(Bp(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=jp(k);if(S&&!T){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:y,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(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("")},ak=(e,t,r)=>{try{return"rawJSON"in JSON?kr(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?kr(e,(a,c)=>typeof c=="string"&&ic.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(rk,"$1$2$3").replace(nk,"$1$2$3"):kr(e,t,r)}catch(n){if(n instanceof RangeError){let s=kD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(rk,"$1$2$3").replace(nk,"$1$2$3")}throw n}},oc=new Map,SD=()=>{let e=JSON.parse.toString();if(oc.has(e))return oc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return oc.set(e,t),t}catch{return oc.set(e,!1),!1}},RD=(e,t,r,n)=>typeof t=="string"&&ik.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&ic.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,vD=(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&&ED.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),ck=Number.MAX_SAFE_INTEGER.toString(),sk=ck.length,TD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,xD=/^"-?\d+n+"$/,OD=(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"&&(ik.test(a)?a=BigInt(a.slice(0,-1)):ic.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},ok=e=>e.replace(TD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&xD.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<sk||r.length===sk&&r<=ck);return o||a||c?t:'"'+t+'n"'}),lk=(e,t)=>{if(!e)return Mp(e,t);try{if(SD())return vD(e,t);let r=ok(e);return Mp(r,(n,s,o)=>RD(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=ok(e),s=Mp(n);return OD(s,t)}throw r}}});var Rt,ac=_(()=>{Rt=class extends Error{name;status;request;response;constructor(t,r,n){super(t,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function PD(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 pk(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=PD(e.body)||Array.isArray(e.body)?ak(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 qp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await qp(i),new Rt(LD(u.data),a,{response:u,request:e});return u.data=n?await qp(i):i.body,u}async function qp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(dk);let r=(0,fk.parse)(t);if(ID(r)){let n="";try{return n=await e.text(),lk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(dk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function ID(e){return e.type==="application/json"||e.type==="application/scim+json"}function LD(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 Up(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 pk(r.parse(i));let a=(c,l)=>pk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:Up.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Up.bind(null,r)})}var fk,AD,CD,dk,te,Ne=_(()=>{KE();ar();fk=na(tk(),1);uk();ac();AD="10.0.13",CD={headers:{"user-agent":`octokit-request.js/${AD} ${Ae()}`}};dk=()=>"";te=Up(VE,CD);});function GD(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?"https://github.com":/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace("api.",""):t.baseUrl.replace("/api/v3","")}async function cc(e,t,r){let n={baseUrl:GD(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 yk(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=mk(s,r.data.expires_in),n.refreshTokenExpiresAt=mk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function mk(e,t){return new Date(e+t*1e3).toISOString()}async function bk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),cc(t,"POST /login/device/code",r)}async function Hp(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,device_code:e.code,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),n={clientType:e.clientType,clientId:e.clientId,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if("clientSecret"in e&&(n.clientSecret=e.clientSecret),e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=hk(s,r.data.expires_in),n.refreshTokenExpiresAt=hk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function hk(e,t){return new Date(e+t*1e3).toISOString()}async function wk(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 _k(e){let t=e.request||te,r=await cc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:e.refreshToken}),n=new Date(r.headers.date).getTime(),s={clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,refreshToken:r.data.refresh_token,expiresAt:gk(n,r.data.expires_in),refreshTokenExpiresAt:gk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function gk(e,t){return new Date(e+t*1e3).toISOString()}async function Ek(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 kk(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 Sk(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var lc=_(()=>{ac();Ne();Ne();Ne();Ne();Ne();Ne();Ne();Ne();});async function vk(e,t){let r=$D(e,t.auth);if(r)return r;let{data:n}=await bk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Wp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function $D(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 Rk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Wp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Hp({...s,clientType:"oauth-app"}):await Hp({...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 Rk(n.interval),Wp(e,t,r,n);if(o==="slow_down")return await Rk(n.interval+7),Wp(e,t,r,n);throw s}}async function ND(e,t){return vk(e,{auth:t})}async function DD(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);let{token:o}=await vk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Tk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${FD} ${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(ND.bind(null,s),{hook:DD.bind(null,s)})}var FD,xk=_(()=>{ar();Ne();lc();FD="0.0.0-development";});async function Ok(e){if("code"in e.strategyOptions){let{authentication:t}=await yk({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 Tk({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 Jp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Ok(e):await Ok(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 _k({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"?wk:Ek;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"?kk:Sk;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&&MD.test(e)}async function BD(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 Jp({...e,request:t}):await Jp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function uc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Ak} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Jp.bind(null,i),{hook:BD.bind(null,i)})}var Ak,MD,dc=_(()=>{ar();Ne();xk();lc();lc();Ak="0.0.0-development";MD=/\/applications\/[^/]+\/(token|grant)s?/;uc.VERSION=Ak;});async function jD(e,t){if(t.type==="oauth-app")return{type:"oauth-app",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if("factory"in t){let{type:s,...o}={...t,...e};return t.factory(o)}let r={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType==="oauth-app"?await uc({...r,clientType:e.clientType}):await uc({...r,clientType:e.clientType}))()}async function qD(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 Ck(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${UD} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(jD.bind(null,t),{hook:qD.bind(null,t)})}var UD,Pk=_(()=>{ar();Ne();dc();dc();UD="0.0.0-development";});function pc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Lk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Vp(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 Gk(e){let t=e.trim().split(`
63
+ `).slice(1,-1).join(""),r=atob(t);return Vp(r)}function $k(e,t){return`${Ik(e)}.${Ik(t)}`}function Nk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return Dk(btoa(t))}function Dk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ik(e){return Dk(btoa(JSON.stringify(e)))}var Kp=_(()=>{});import{subtle as zp}from"node:crypto";import{createPrivateKey as HD}from"node:crypto";function Fk(e){return pc(e)?HD(e).export({type:"pkcs8",format:"pem"}):e}var Mk=_(()=>{Kp()});async function Bk({privateKey:e,payload:t}){let r=Fk(e);if(pc(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(Lk(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=Gk(r),i=await zp.importKey("pkcs8",o,n,!1,["sign"]),a=$k(s,t),c=Vp(a),l=await zp.sign(n.name,i,c),u=Nk(l);return`${a}.${u}`}var jk=_(()=>{Kp();Mk()});async function Yp({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 Bk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var qk=_(()=>{jk()});function WD(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid max value");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid ttl value")}var fc,Uk=_(()=>{fc=class{constructor(t=1e3,r=0){WD(t,r),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){let r=this.items[t];r!==void 0&&(delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev))}deleteMany(t){for(var r=0;r<t.length;r++)this.delete(t[r])}evict(){if(this.size>0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){let r=this.items[t];if(r!==void 0)return r.expiry}get(t){let r=this.items[t];if(r!==void 0){if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=new Array(t.length);for(var n=0;n<t.length;n++)r[n]=this.get(t[n]);return r}keys(){return Object.keys(this.items)}set(t,r){let n=this.items[t];if(n!==void 0){n.value=r,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let s={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=s,++this.size===1?this.first=s:this.last.next=s,this.last=s}}});async function hc({appId:e,privateKey:t,timeDifference:r,createJwt:n}){try{if(n){let{jwt:i,expiresAt:a}=await n(e,r);return{type:"app",token:i,appId:e,expiresAt:a}}let s={id:e,privateKey:t};r&&Object.assign(s,{now:Math.floor(Date.now()/1e3)+r});let o=await Yp(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 JD(){return new fc(15e3,1e3*60*59)}async function VD(e,t){let r=Qp(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 KD(e,t,r){let n=Qp(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 Qp({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 Hk({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 Wk(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 zD(e,{...t,installationId:n},s)}function zD(e,t,r){let n=Qp(t);if(mc.has(n))return mc.get(n);let s=YD(e,t,r).finally(()=>mc.delete(n));return mc.set(n,s),s}async function YD(e,t,r){if(!t.refresh){let E=await VD(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return Hk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await hc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await KD(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}),Hk(y)}async function QD(e,t){switch(t.type){case"app":return hc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Wk(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 tF(e){return!!e&&eF.test(e.split("?")[0])}function nF(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 sF(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(tF(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await hc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(nF(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await hc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(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 Wk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Jk(e,t,s,a)}async function Jk(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>=rF)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)),Jk(e,t,r,n,s)}}function Vk(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/${oF} ${Ae()}`}}),n=Object.assign({request:r,cache:JD()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Ck({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(QD.bind(null,n),{hook:sF.bind(null,n)})}var mc,XD,eF,rF,oF,Kk=_(()=>{ar();Ne();Pk();qk();Uk();dc();mc=new Map;XD=["/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"];eF=ZD(XD);rF=5*1e3;oF="8.3.0";});var ef=I((Xp,Zp)=>{(function(e,t){typeof Xp=="object"&&typeof Zp<"u"?Zp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Xp,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t(D){return D&&D.default||D}var r=function(D,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=D[v])!=null?x:A;return h},n=function(D,R,h={}){var v,x;for(v in D)x=D[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,N;if(A.status!=="none"){A.status==="once"&&(A.status="none");try{return N=typeof A.cb=="function"?A.cb(...h):void 0,typeof N?.then=="function"?await N:N}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(x)).find(function(A){return A!=null}))}catch(A){return v=A,this.trigger("error",v),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(R){var h;this.Events=new u(this),this._length=0,this._lists=function(){var v,x,A;for(A=[],h=v=1,x=R;1<=x?v<=x:v>=x;h=1<=x?++v:--v)A.push(new l(()=>this.incr(),()=>this.decr()));return A}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(R){return this._lists[R.options.priority].push(R)}queued(R){return R!=null?this._lists[R].length:this._length}shiftAll(R){return this._lists.forEach(function(h){return h.forEachShift(R)})}getFirst(R=this._lists){var h,v,x;for(h=0,v=R.length;h<v;h++)if(x=R[h],x.length>0)return x;return[]}shiftLastFrom(R){return this.getFirst(this._lists.slice(R).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,g,b,y,E,w;E=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,N,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=N,this.Promise=Z,this.options=w.load(v,x),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===x.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((be,Re)=>{this._resolve=be,this._reject=Re}),this.retryCount=0}_sanitizePriority(R){var h;return h=~~R!==R?b:R,h<0?0:h>E-1?E-1:h}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:R,message:h="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(R??new g(h)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(R){var h;if(h=this._states.jobStatus(this.options.id),!(h===R||R==="DONE"&&h===null))throw new g(`Invalid job status ${h}, expected ${R}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(R,h){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:R,blocked:h})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(R,h,v,x){var A,P,N;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(N=await(R!=null?R.schedule(this.options,this.task,...this.args):this.task(...this.args)),h())return this.doDone(P),await x(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(Z){return A=Z,this._onFailure(A,P,h,v,x)}}doExpire(R,h,v){var x,A;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),A={args:this.args,options:this.options,retryCount:this.retryCount},x=new g(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(x,A,R,h,v)}async _onFailure(R,h,v,x,A){var P,N;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,h),this.retryCount++,x(N)):(this.doDone(h),await A(this.options,h),this._assertStatus("DONE"),this._reject(R))}doDone(R){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",R)}};var k=y,S,T,C;C=s,S=m,T=class{constructor(R,h,v){this.instance=R,this.storeOptions=h,this.clientId=this.instance._randomIndex(),C.load(v,v,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var R;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(R=this.heartbeat=setInterval(()=>{var h,v,x,A,P;if(A=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&A>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=A,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&A>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:h,reservoirIncreaseMaximum:x,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=A,v=x!=null?Math.min(h,x-P):h,v>0))return this.storeOptions.reservoir+=v,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?R.unref():void 0:clearInterval(this.heartbeat)}async __publish__(R){return await this.yieldLoop(),this.instance.Events.trigger("message",R.toString())}async __disconnect__(R){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(R=0){return new this.Promise(function(h,v){return setTimeout(h,R)})}computePenalty(){var R;return(R=this.storeOptions.penalty)!=null?R:15*this.storeOptions.minTime||5e3}async __updateSettings__(R){return await this.yieldLoop(),C.overwrite(R,R,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(R){return await this.yieldLoop(),this._nextRequest+this.timeout<R}computeCapacity(){var R,h;return{maxConcurrent:R,reservoir:h}=this.storeOptions,R!=null&&h!=null?Math.min(R-this._running,h):R!=null?R-this._running:h??null}conditionsCheck(R){var h;return h=this.computeCapacity(),h==null||R<=h}async __incrementReservoir__(R){var h;return await this.yieldLoop(),h=this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity()),h}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(R){return this._unblockTime>=R}check(R,h){return this.conditionsCheck(R)&&this._nextRequest-h<=0}async __check__(R){var h;return await this.yieldLoop(),h=Date.now(),this.check(R,h)}async __register__(R,h,v){var x,A;return await this.yieldLoop(),x=Date.now(),this.conditionsCheck(h)?(this._running+=h,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=h),A=Math.max(this._nextRequest-x,0),this._nextRequest=x+A+this.storeOptions.minTime,{success:!0,wait:A,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(R,h){var v,x,A;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&h>this.storeOptions.maxConcurrent)throw new S(`Impossible to add a job having a weight of ${h} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return x=Date.now(),A=this.storeOptions.highWater!=null&&R===this.storeOptions.highWater&&!this.check(h,x),v=this.strategyIsBlock()&&(A||this.isBlocked(x)),v&&(this._unblockTime=x+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:A,blocked:v,strategy:this.storeOptions.strategy}}async __free__(R,h){return await this.yieldLoop(),this._running-=h,this._done+=h,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,G,q;G=m,q=class{constructor(R){this.status=R,this._jobs={},this.counts=this.status.map(function(){return 0})}next(R){var h,v;if(h=this._jobs[R],v=h+1,h!=null&&v<this.status.length)return this.counts[h]--,this.counts[v]++,this._jobs[R]++;if(h!=null)return this.counts[h]--,delete this._jobs[R]}start(R){var h;return h=0,this._jobs[R]=h,this.counts[h]++}remove(R){var h;return h=this._jobs[R],h!=null&&(this.counts[h]--,delete this._jobs[R]),h!=null}jobStatus(R){var h;return(h=this.status[this._jobs[R]])!=null?h:null}statusJobs(R){var h,v,x,A,P;if(R!=null){if(v=this.status.indexOf(R),v<0)throw new G(`status must be one of ${this.status.join(", ")}`);x=this._jobs,A=[];for(h in x)P=x[h],P===v&&A.push(h);return A}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((R,h,v)=>(R[this.status[v]]=h,R),{})}};var Q=q,J,$;J=i,$=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new J}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:R,resolve:A,reject:x}=this._queue.shift(),h=await async function(){try{return P=await N(...R),function(){return A(P)}}catch(Z){return v=Z,function(){return x(v)}}}(),this._running--,this._tryToRun(),h()}schedule(R,...h){var v,x,A;return A=x=null,v=new this.Promise(function(P,N){return A=P,x=N}),this._queue.push({task:R,args:h,resolve:A,reject:x}),this._tryToRun(),v}};var H=$,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Vt,Dn,mr;mr=s,It=c,Vt=L,Me=U,Dn=Jt,Fe=function(){class D{constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=Fy,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,Cy;Cy=s,Ks=c,zr=function(){class D{constructor(h={}){this.options=h,Cy.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 hP=zr,gP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),yP=t(me),Py,Iy,Fu,Mu,Ly,Bu,Gy,$y,Ny,ju,Lt,Dy=[].splice;Bu=10,Iy=5,Lt=s,Gy=p,Mu=k,Ly=O,$y=gP,Fu=c,Ny=Q,ju=H,Py=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 Gy(Bu),this._scheduled={},this._states=new Ny(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Fu(this),this._submitLock=new ju("submit",this.Promise),this._registerLock=new ju("register",this.Promise),A=Lt.load(h,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return x=Lt.load(h,this.redisStoreDefaults,{}),new $y(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Ly(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:Bu-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]=Dy.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=Dy.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(zs,wP){return x(...Re,function(...My){return(My[0]!=null?wP:zs)(My)})}),A=new Mu(be,h,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),A.promise.then(function(Re){return typeof v=="function"?v(...Re):void 0}).catch(function(Re){return Array.isArray(Re)?typeof v=="function"?v(...Re):void 0:typeof v=="function"?v(Re):void 0}),this._receive(A)}schedule(...h){var v,x,A;return typeof h[0]=="function"?([A,...h]=h,x={}):[x,A,...h]=h,v=new Mu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return D.default=D,D.Events=Fu,D.version=D.prototype.version=yP.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=hP,D.prototype.jobDefaults={priority:Iy,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 Fy=Py,bP=Fy;return bP})});function aF(e){return e.request!==void 0}async function zk(e,t,r,n){if(!aF(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 cF(e,t,r,n){let s=new Yk.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(lF.bind(null,e,t,r),n)}async function lF(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 zk(e,t,o,n)}return s}function tf(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",zk.bind(null,r,n)),e.hook.wrap("request",cF.bind(null,r,n))),n}var Yk,iF,Qk=_(()=>{Yk=na(ef(),1);ac();iF="0.0.0-development";tf.VERSION=iF});import{readFileSync as uF}from"node:fs";function rf(e){try{return uF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var gc=_(()=>{});function pF(e,t,r){return e.retryLimiter.schedule(fF,e,t,r)}async function fF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=mF(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,nf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,nf),i&&await e.search.key(e.id).schedule(l,nf);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 mF(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 gF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function yc(e,t){let{enabled:r=!0,Bottleneck:n=Zk.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:eS,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
65
65
  You must pass the onSecondaryRateLimit and onRateLimit error handlers.
66
66
  See https://octokit.github.io/rest.js/#throttling
67
67
 
@@ -71,113 +71,113 @@ ${a}
71
71
  onRateLimit: (retryAfter, options) => {/* ... */}
72
72
  }
73
73
  })
74
- `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&mF(n,a),c.global=c.global??vt.global,c.auth=c.auth??vt.auth,c.search=c.search??vt.search,c.write=c.write??vt.write,c.notifications=c.notifications??vt.notifications,c.retryLimiter=c.retryLimiter??new n;let d={},p=new n.Events(d);d.on("secondary-limit",c.onSecondaryRateLimit),d.on("rate-limit",c.onRateLimit),d.on("error",f=>e.log.warn("Error in throttling-plugin limit handler",f)),c.retryLimiter.on("failed",async function(f,m){let[g,b,y]=m.args,{pathname:E}=new URL(y.url,"http://github.test");if(!(E.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~b.retryCount;b.retryCount=k,y.request.retryCount=k;let{wantRetry:S,retryAfter:T=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let C=Number(f.response.headers["retry-after"])||g.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",C,y,e,k),retryAfter:C}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(C=>C.type==="RATE_LIMITED")){let C=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),O=Math.max(Math.ceil((C-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",O,y,e,k),retryAfter:O}}return{}}();if(S)return b.retryCount++,T*g.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),lF(c,d,p))),{}}var Qk,cF,rf,pF,Yk,Xk,vt,mF,Zk=_(()=>{Qk=ra(Zp(),1),cF="0.0.0-development",rf=()=>Promise.resolve();pF=["/orgs/{org}/invitations","/orgs/{org}/invitations/{invitation_id}","/orgs/{org}/teams/{team_slug}/discussions","/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","/repos/{owner}/{repo}/collaborators/{username}","/repos/{owner}/{repo}/commits/{commit_sha}/comments","/repos/{owner}/{repo}/issues","/repos/{owner}/{repo}/issues/{issue_number}/comments","/repos/{owner}/{repo}/issues/{issue_number}/sub_issue","/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority","/repos/{owner}/{repo}/pulls","/repos/{owner}/{repo}/pulls/{pull_number}/comments","/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies","/repos/{owner}/{repo}/pulls/{pull_number}/merge","/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","/repos/{owner}/{repo}/pulls/{pull_number}/reviews","/repos/{owner}/{repo}/releases","/teams/{team_id}/discussions","/teams/{team_id}/discussions/{discussion_number}/comments"];Yk=fF(pF),Xk=Yk.test.bind(Yk),vt={},mF=function(e,t){vt.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),vt.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),vt.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),vt.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),vt.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};gc.VERSION=cF;gc.triggersNotification=Xk});function yc(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce((s,o)=>yc.bind(null,e,o,s,n),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}var eS=_(()=>{});function tS(e,t,r,n){let s=n;e.registry[r]||(e.registry[r]=[]),t==="before"&&(n=(o,i)=>Promise.resolve().then(s.bind(null,i)).then(o.bind(null,i))),t==="after"&&(n=(o,i)=>{let a;return Promise.resolve().then(o.bind(null,i)).then(c=>(a=c,s(a,i))).then(()=>a)}),t==="error"&&(n=(o,i)=>Promise.resolve().then(o.bind(null,i)).catch(a=>s(a,i))),e.registry[r].push({hook:n,orig:s})}var rS=_(()=>{});function nS(e,t,r){if(!e.registry[t])return;let n=e.registry[t].map(s=>s.orig).indexOf(r);n!==-1&&e.registry[t].splice(n,1)}var sS=_(()=>{});function aS(e,t,r){let n=iS(nS,null).apply(null,r?[t,r]:[t]);e.api={remove:n},e.remove=n,["before","error","after","wrap"].forEach(s=>{let o=r?[t,s,r]:[t,s];e[s]=e.api[s]=iS(tS,null).apply(null,o)})}function hF(){let e=Symbol("Singular"),t={registry:{}},r=yc.bind(null,t,e);return aS(r,t,e),r}function gF(){let e={registry:{}},t=yc.bind(null,e);return aS(t,e),t}var oS,iS,cS,lS=_(()=>{eS();rS();sS();oS=Function.bind,iS=oS.bind(oS);cS={Singular:hF,Collection:gF}});function bF(e){return`Request failed due to following response errors:
74
+ `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&yF(n,a),c.global=c.global??vt.global,c.auth=c.auth??vt.auth,c.search=c.search??vt.search,c.write=c.write??vt.write,c.notifications=c.notifications??vt.notifications,c.retryLimiter=c.retryLimiter??new n;let d={},p=new n.Events(d);d.on("secondary-limit",c.onSecondaryRateLimit),d.on("rate-limit",c.onRateLimit),d.on("error",f=>e.log.warn("Error in throttling-plugin limit handler",f)),c.retryLimiter.on("failed",async function(f,m){let[g,b,y]=m.args,{pathname:E}=new URL(y.url,"http://github.test");if(!(E.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~b.retryCount;b.retryCount=k,y.request.retryCount=k;let{wantRetry:S,retryAfter:T=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let C=Number(f.response.headers["retry-after"])||g.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",C,y,e,k),retryAfter:C}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(C=>C.type==="RATE_LIMITED")){let C=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),O=Math.max(Math.ceil((C-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",O,y,e,k),retryAfter:O}}return{}}();if(S)return b.retryCount++,T*g.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),pF(c,d,p))),{}}var Zk,dF,nf,hF,Xk,eS,vt,yF,tS=_(()=>{Zk=na(ef(),1),dF="0.0.0-development",nf=()=>Promise.resolve();hF=["/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"];Xk=gF(hF),eS=Xk.test.bind(Xk),vt={},yF=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})};yc.VERSION=dF;yc.triggersNotification=eS});function bc(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)=>bc.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 rS=_(()=>{});function nS(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 sS=_(()=>{});function oS(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 iS=_(()=>{});function lS(e,t,r){let n=cS(oS,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]=cS(nS,null).apply(null,o)})}function bF(){let e=Symbol("Singular"),t={registry:{}},r=bc.bind(null,t,e);return lS(r,t,e),r}function wF(){let e={registry:{}},t=bc.bind(null,e);return lS(t,e),t}var aS,cS,uS,dS=_(()=>{rS();sS();iS();aS=Function.bind,cS=aS.bind(aS);uS={Singular:bF,Collection:wF}});function EF(e){return`Request failed due to following response errors:
75
75
  `+e.errors.map(t=>` - ${t.message}`).join(`
76
- `)}function kF(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let i in r)if(EF.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>_F.includes(a)?(i[a]=n[a],i):(i.variables||(i.variables={}),i.variables[a]=n[a],i),{}),o=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return uS.test(o)&&(s.url=o.replace(uS,"/api/graphql")),e(s).then(i=>{if(i.data.errors){let a={};for(let c of Object.keys(i.headers))a[c]=i.headers[c];throw new wF(s,a,i.data)}return i.data.data})}function nf(e,t){let r=e.defaults(t);return Object.assign((s,o)=>kF(r,s,o),{defaults:nf.bind(null,r),endpoint:r.endpoint})}function dS(e){return nf(e,{method:"POST",url:"/graphql"})}var yF,wF,_F,EF,uS,oQ,pS=_(()=>{Ne();ar();yF="0.0.0-development";wF=class extends Error{constructor(e,t,r){super(bF(r)),this.request=e,this.headers=t,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name="GraphqlResponseError";errors;data},_F=["method","baseUrl","url","headers","request","query","mediaType","operationName"],EF=["query","method","url"],uS=/\/api\/v3\/?$/;oQ=nf(te,{headers:{"user-agent":`octokit-graphql.js/${yF} ${Ae()}`},method:"POST",url:"/graphql"});});async function RF(e){let t=SF(e),r=e.startsWith("v1.")||e.startsWith("ghs_"),n=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":r?"installation":n?"user-to-server":"oauth"}}function vF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function TF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=vF(e),t(s)}var sf,fS,mS,SF,hS,gS=_(()=>{sf="(?:[a-zA-Z0-9_-]+)",fS="\\.",mS=new RegExp(`^${sf}${fS}${sf}${fS}${sf}$`),SF=mS.test.bind(mS);hS=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign(RF.bind(null,t),{hook:TF.bind(null,t)})}});var of,yS=_(()=>{of="7.0.7"});function AF(e={}){return typeof e.debug!="function"&&(e.debug=bS),typeof e.info!="function"&&(e.info=bS),typeof e.warn!="function"&&(e.warn=xF),typeof e.error!="function"&&(e.error=OF),e}var bS,xF,OF,wS,bc,_S=_(()=>{ar();lS();Ne();pS();gS();yS();bS=()=>{},xF=console.warn.bind(console),OF=console.error.bind(console);wS=`octokit-core.js/${of} ${Ae()}`,bc=class{static VERSION=of;static defaults(t){return class extends this{constructor(...n){let s=n[0]||{};if(typeof t=="function"){super(t(s));return}super(Object.assign({},t,s,s.userAgent&&t.userAgent?{userAgent:`${s.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let r=this.plugins;return class extends this{static plugins=r.concat(t.filter(s=>!r.includes(s)))}}constructor(t={}){let r=new cS.Collection,n={baseUrl:te.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=t.userAgent?`${t.userAgent} ${wS}`:wS,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=te.defaults(n),this.graphql=dS(this.request).defaults(n),this.log=AF(t.log),this.hook=r,t.authStrategy){let{authStrategy:o,...i}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:i},t.auth));r.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=hS(t.auth);r.wrap("request",o.hook),this.auth=o}let s=this.constructor;for(let o=0;o<s.plugins.length;++o)Object.assign(this,s.plugins[o](this,t))}request;graphql;log;hook;auth}});var ES,kS=_(()=>{ES="6.0.0"});function af(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),s=e.request.endpoint.parse(r),o=s.url.replace(r.baseUrl,"");return t(r).then(i=>{let a=i.headers["x-github-request-id"];return e.log.info(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i}).catch(i=>{let a=i.response?.headers["x-github-request-id"]||"UNKNOWN";throw e.log.error(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i})})}var SS=_(()=>{kS();af.VERSION=ES});function PF(e){if(!e.data)return{...e,data:[]};if(!(("total_count"in e.data||"total_commits"in e.data)&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,s=e.data.total_count,o=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let i=Object.keys(e.data)[0],a=e.data[i];return e.data=a,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=s,e.data.total_commits=o,e}function cf(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),s=typeof t=="function"?t:e.request,o=n.method,i=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:o,url:a,headers:i}),l=PF(c);if(a=((l.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in l.data){let u=new URL(l.url),d=u.searchParams,p=parseInt(d.get("page")||"1",10),f=parseInt(d.get("per_page")||"250",10);p*f<l.data.total_commits&&(d.set("page",String(p+1)),a=u.toString())}return{value:l}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function RS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),vS(e,[],cf(e,t,r)[Symbol.asyncIterator](),n)}function vS(e,t,r,n){return r.next().then(s=>{if(s.done)return t;let o=!1;function i(){o=!0}return t=t.concat(n?n(s.value,i):s.value.data),o?t:vS(e,t,r,n)})}function lf(e){return{paginate:Object.assign(RS.bind(null,e),{iterator:cf.bind(null,e)})}}var CF,kQ,TS=_(()=>{CF="0.0.0-development";kQ=Object.assign(RS,{iterator:cf});lf.VERSION=CF});var uf,xS=_(()=>{uf="17.0.0"});var IF,OS,AS=_(()=>{IF={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteCustomImageFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],deleteCustomImageVersionFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteHostedRunnerForOrg:["DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomImageForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],getCustomImageVersionForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getHostedRunnerForOrg:["GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],getHostedRunnersGithubOwnedImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForOrg:["GET /orgs/{org}/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForOrg:["GET /orgs/{org}/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForOrg:["GET /orgs/{org}/actions/hosted-runners/platforms"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listCustomImageVersionsForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"],listCustomImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listGithubHostedRunnersInGroupForOrg:["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"],listHostedRunnersForOrg:["GET /orgs/{org}/actions/hosted-runners"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateHostedRunnerForOrg:["PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingPremiumRequestUsageReportOrg:["GET /organizations/{org}/settings/billing/premium_request/usage"],getGithubBillingPremiumRequestUsageReportUser:["GET /users/{username}/settings/billing/premium_request/usage"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubBillingUsageReportUser:["GET /users/{username}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},campaigns:{createCampaign:["POST /orgs/{org}/campaigns"],deleteCampaign:["DELETE /orgs/{org}/campaigns/{campaign_number}"],getCampaignSummary:["GET /orgs/{org}/campaigns/{campaign_number}"],listOrgCampaigns:["GET /orgs/{org}/campaigns"],updateCampaign:["PATCH /orgs/{org}/campaigns/{campaign_number}"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},credentials:{revoke:["POST /credentials/revoke"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],repositoryAccessForOrg:["GET /organizations/{org}/dependabot/repository-access"],setRepositoryAccessDefaultLevel:["PUT /organizations/{org}/dependabot/repository-access/default-level"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],updateRepositoryAccessForOrg:["PATCH /organizations/{org}/dependabot/repository-access"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},enterpriseTeamMemberships:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"],get:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],list:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],remove:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"]},enterpriseTeamOrganizations:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"],delete:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignment:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignments:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"]},enterpriseTeams:{create:["POST /enterprises/{enterprise}/teams"],delete:["DELETE /enterprises/{enterprise}/teams/{team_slug}"],get:["GET /enterprises/{enterprise}/teams/{team_slug}"],list:["GET /enterprises/{enterprise}/teams"],update:["PATCH /enterprises/{enterprise}/teams/{team_slug}"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},hostedCompute:{createNetworkConfigurationForOrg:["POST /orgs/{org}/settings/network-configurations"],deleteNetworkConfigurationFromOrg:["DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkConfigurationForOrg:["GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkSettingsForOrg:["GET /orgs/{org}/settings/network-settings/{network_settings_id}"],listNetworkConfigurationsForOrg:["GET /orgs/{org}/settings/network-configurations"],updateNetworkConfigurationForOrg:["PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addBlockedByDependency:["POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],getParent:["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listDependenciesBlockedBy:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],listDependenciesBlocking:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeDependencyBlockedBy:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createArtifactStorageRecord:["POST /orgs/{org}/artifacts/metadata/storage-record"],createInvitation:["POST /orgs/{org}/invitations"],createIssueType:["POST /orgs/{org}/issue-types"],createWebhook:["POST /orgs/{org}/hooks"],customPropertiesForOrgsCreateOrUpdateOrganizationValues:["PATCH /organizations/{org}/org-properties/values"],customPropertiesForOrgsGetOrganizationValues:["GET /organizations/{org}/org-properties/values"],customPropertiesForReposCreateOrUpdateOrganizationDefinition:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:["PATCH /orgs/{org}/properties/schema"],customPropertiesForReposCreateOrUpdateOrganizationValues:["PATCH /orgs/{org}/properties/values"],customPropertiesForReposDeleteOrganizationDefinition:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinition:["GET /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinitions:["GET /orgs/{org}/properties/schema"],customPropertiesForReposGetOrganizationValues:["GET /orgs/{org}/properties/values"],delete:["DELETE /orgs/{org}"],deleteAttestationsBulk:["POST /orgs/{org}/attestations/delete-request"],deleteAttestationsById:["DELETE /orgs/{org}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /orgs/{org}/attestations/digest/{subject_digest}"],deleteIssueType:["DELETE /orgs/{org}/issue-types/{issue_type_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],disableSelectedRepositoryImmutableReleasesOrganization:["DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],enableSelectedRepositoryImmutableReleasesOrganization:["PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],get:["GET /orgs/{org}"],getImmutableReleasesSettings:["GET /orgs/{org}/settings/immutable-releases"],getImmutableReleasesSettingsRepositories:["GET /orgs/{org}/settings/immutable-releases/repositories"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getOrgRulesetHistory:["GET /orgs/{org}/rulesets/{ruleset_id}/history"],getOrgRulesetVersion:["GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listArtifactStorageRecords:["GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"],listAttestationRepositories:["GET /orgs/{org}/attestations/repositories"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listAttestationsBulk:["POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listIssueTypes:["GET /orgs/{org}/issue-types"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setImmutableReleasesSettings:["PUT /orgs/{org}/settings/immutable-releases"],setImmutableReleasesSettingsRepositories:["PUT /orgs/{org}/settings/immutable-releases/repositories"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateIssueType:["PUT /orgs/{org}/issue-types/{issue_type_id}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addItemForOrg:["POST /orgs/{org}/projectsV2/{project_number}/items"],addItemForUser:["POST /users/{username}/projectsV2/{project_number}/items"],deleteItemForOrg:["DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],deleteItemForUser:["DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"],getFieldForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"],getFieldForUser:["GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"],getForOrg:["GET /orgs/{org}/projectsV2/{project_number}"],getForUser:["GET /users/{username}/projectsV2/{project_number}"],getOrgItem:["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],getUserItem:["GET /users/{username}/projectsV2/{project_number}/items/{item_id}"],listFieldsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields"],listFieldsForUser:["GET /users/{username}/projectsV2/{project_number}/fields"],listForOrg:["GET /orgs/{org}/projectsV2"],listForUser:["GET /users/{username}/projectsV2"],listItemsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/items"],listItemsForUser:["GET /users/{username}/projectsV2/{project_number}/items"],updateItemForOrg:["PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],updateItemForUser:["PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkImmutableReleases:["GET /repos/{owner}/{repo}/immutable-releases"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],customPropertiesForReposCreateOrUpdateRepositoryValues:["PATCH /repos/{owner}/{repo}/properties/values"],customPropertiesForReposGetRepositoryValues:["GET /repos/{owner}/{repo}/properties/values"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableImmutableReleases:["DELETE /repos/{owner}/{repo}/immutable-releases"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enableImmutableReleases:["PUT /repos/{owner}/{repo}/immutable-releases"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesetHistory:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"],getRepoRulesetVersion:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],listOrgPatternConfigs:["GET /orgs/{org}/secret-scanning/pattern-configurations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],updateOrgPatternConfigs:["PATCH /orgs/{org}/secret-scanning/pattern-configurations"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteAttestationsBulk:["POST /users/{username}/attestations/delete-request"],deleteAttestationsById:["DELETE /users/{username}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /users/{username}/attestations/digest/{subject_digest}"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listAttestationsBulk:["POST /users/{username}/attestations/bulk-list{?per_page,before,after}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},OS=IF});function df(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},LF);return t}function GF(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var mn,LF,CS=_(()=>{AS();mn=new Map;for(let[e,t]of Object.entries(OS))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);mn.has(e)||mn.set(e,new Map),mn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}LF={has({scope:e},t){return mn.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...mn.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=mn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=GF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function $F(e){return{rest:df(e)}}function pf(e){let t=df(e);return{...t,rest:t}}var PS=_(()=>{xS();CS();$F.VERSION=uf;pf.VERSION=uf});var IS,LS=_(()=>{IS="22.0.1"});var GS,$S=_(()=>{_S();SS();TS();PS();LS();GS=bc.plugin(af,pf,lf).defaults({userAgent:`octokit-rest.js/${IS}`})});function NF(e){return`r${e}`}function NS(e){if(e.length===0)throw new Error("an aliased single-object query needs at least one read");let t=e[0].kind;if(e.some(o=>o.kind!==t))throw new Error("an aliased single-object query may contain only one object kind");let r={},n=t==="pr"?"pullRequest":"issue";return{query:["query CoalescedSingleObjectReads {",...e.map((o,i)=>{if(!Number.isSafeInteger(o.number)||o.number<=0)throw new Error(`an aliased single-object read needs a positive number, got ${o.number}`);let a=o.selection.trim();if(a==="")throw new Error("an aliased single-object read needs a field selection");let c=NF(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
76
+ `)}function vF(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(RF.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)=>SF.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 pS.test(o)&&(s.url=o.replace(pS,"/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 kF(s,a,i.data)}return i.data.data})}function sf(e,t){let r=e.defaults(t);return Object.assign((s,o)=>vF(r,s,o),{defaults:sf.bind(null,r),endpoint:r.endpoint})}function fS(e){return sf(e,{method:"POST",url:"/graphql"})}var _F,kF,SF,RF,pS,cQ,mS=_(()=>{Ne();ar();_F="0.0.0-development";kF=class extends Error{constructor(e,t,r){super(EF(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},SF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],RF=["query","method","url"],pS=/\/api\/v3\/?$/;cQ=sf(te,{headers:{"user-agent":`octokit-graphql.js/${_F} ${Ae()}`},method:"POST",url:"/graphql"});});async function xF(e){let t=TF(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 OF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function AF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=OF(e),t(s)}var of,hS,gS,TF,yS,bS=_(()=>{of="(?:[a-zA-Z0-9_-]+)",hS="\\.",gS=new RegExp(`^${of}${hS}${of}${hS}${of}$`),TF=gS.test.bind(gS);yS=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(xF.bind(null,t),{hook:AF.bind(null,t)})}});var af,wS=_(()=>{af="7.0.7"});function IF(e={}){return typeof e.debug!="function"&&(e.debug=_S),typeof e.info!="function"&&(e.info=_S),typeof e.warn!="function"&&(e.warn=CF),typeof e.error!="function"&&(e.error=PF),e}var _S,CF,PF,ES,wc,kS=_(()=>{ar();dS();Ne();mS();bS();wS();_S=()=>{},CF=console.warn.bind(console),PF=console.error.bind(console);ES=`octokit-core.js/${af} ${Ae()}`,wc=class{static VERSION=af;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 uS.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} ${ES}`:ES,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=fS(this.request).defaults(n),this.log=IF(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=yS(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 SS,RS=_(()=>{SS="6.0.0"});function cf(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 vS=_(()=>{RS();cf.VERSION=SS});function GF(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 lf(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=GF(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 TS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),xS(e,[],lf(e,t,r)[Symbol.asyncIterator](),n)}function xS(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:xS(e,t,r,n)})}function uf(e){return{paginate:Object.assign(TS.bind(null,e),{iterator:lf.bind(null,e)})}}var LF,vQ,OS=_(()=>{LF="0.0.0-development";vQ=Object.assign(TS,{iterator:lf});uf.VERSION=LF});var df,AS=_(()=>{df="17.0.0"});var $F,CS,PS=_(()=>{$F={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"]}},CS=$F});function pf(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},NF);return t}function DF(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,NF,IS=_(()=>{PS();mn=new Map;for(let[e,t]of Object.entries(CS))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})}NF={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]=DF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function FF(e){return{rest:pf(e)}}function ff(e){let t=pf(e);return{...t,rest:t}}var LS=_(()=>{AS();IS();FF.VERSION=df;ff.VERSION=df});var GS,$S=_(()=>{GS="22.0.1"});var NS,DS=_(()=>{kS();vS();OS();LS();$S();NS=wc.plugin(cf,ff,uf).defaults({userAgent:`octokit-rest.js/${GS}`})});function MF(e){return`r${e}`}function FS(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=MF(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
77
77
  `)})," rateLimit { cost }","}"].join(`
78
- `),aliases:r}}function DS(e,t){let r=t!==null&&typeof t=="object"?t:{},n=r.data??r,s=n!==null&&typeof n=="object"?n:{};return Object.entries(e.aliases).map(([o,i])=>{let a=s[o];if(a===null||typeof a!="object")return{read:i,value:null};let c=a.object;return{read:i,value:c!==null&&typeof c=="object"&&!Array.isArray(c)?c:null}})}var FS=_(()=>{});function BS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function jS(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function wc(e){let t=e.etags??BS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??tc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Op(e.budgetGate??Ap()),i=Oo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Wk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:tf(e.app)}},c=new DF({auth:e.token,...a,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,400,401,403,404,410,422,429,451],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),l=async()=>{if(e.balance===void 0)return null;try{return await cs("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(w,k)=>{if(!o)return;let S=w?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new cr(k,S.reset_at)},d=async w=>{let k=t.get(w.cacheKey),S=o?(await l())?.pools[w.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return MS(k,w.operation.budget,S.reset_at,r());throw new cr(w.operation.budget,S.reset_at)}let T={...w.parameters??{}},C=Sr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(w.route,T),G=O.headers,q=Lo(G,"etag");return q!==void 0&&t.set(w.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:w.operation,cost:1,actor:w.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Po(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(w.cacheKey)} without a held answer to reuse`,{cause:O});let G=mf(O),q={...k.headers,...G},Q=Lo(q,"etag")??k.etag;return t.set(w.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:w.operation,cost:0,actor:w.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Po(O)===401)throw new fs({cause:O});if(Io(O)){if(k!==void 0){let G=ff(w.operation.budget,O);return MS(k,w.operation.budget,G.resetAt,r())}throw ff(w.operation.budget,O)}throw O}},p=new Map,f=!1,m=async(w,k)=>{let S=w.input,T=S.kind==="pr";try{let C=await d({cacheKey:S.cacheKey,route:T?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:S.owner,repo:S.repo,...T?{pull_number:S.number}:{issue_number:S.number}},operation:S.operation,actor:S.actor});w.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){w.reject(C)}},g=async(w,k)=>{try{let S=NS(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=DS(S,T),O=MF(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:BF(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let J=w[Q];q.value===null?J.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):J.resolve({data:J.input.project?J.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Po(S)===401?new fs({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=jS(w);f=!1;let S=[...p.values()];p.clear(),await y(S,w,k)}catch(w){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(w))}},y=async(w,k,S)=>{await Promise.all(w.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,J=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),$=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||$)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!J&&o){let me=new cr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:w=>new Promise((k,S)=>{let T=`${w.kind}:${w.rail??"default"}`,C=p.get(T)??[];C.push({input:w,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(w){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({...w,cacheKey:`${w.cacheKey}:page:${O}`,parameters:{...w.parameters??{},per_page:100,page:O}});if(T+=1,C=C&&G.quotaFree,!Array.isArray(G.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(w.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!FF(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(w,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(w,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Po(T)===401?new fs({cause:T}):Io(T)?ff(S?.operation.budget??"graphql",T):T}}}}function MS(e,t,r,n){let s=Date.parse(n),o=e.storedAt===void 0?Number.NaN:Date.parse(e.storedAt);return{data:e.data,headers:e.headers,quotaFree:!0,degraded:{source:"cache",pool:t,resetAt:r,ageMs:Number.isFinite(s)&&Number.isFinite(o)?Math.max(0,s-o):null,reason:`${t} pool is exhausted until ${r}; serving the last-known answer instead of going dark`}}}function ff(e,t){let r=mf(t),n=Number(Lo(r,"x-ratelimit-reset")),s=Number.isFinite(n)&&n>0?new Date(n*1e3).toISOString():"an unknown reset instant";return new cr(e,s,"GitHub refused the live request",{cause:t})}function FF(e){let t=Lo(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Io(e){if(e instanceof cr)return!0;let t=Po(e),r=mf(e);return t===429||t===403&&Lo(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Po(e){if(Sr(e))return typeof e.status=="number"?e.status:void 0}function mf(e){return!Sr(e)||!Sr(e.response)||!Sr(e.response.headers)?{}:e.response.headers}function Lo(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Sr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function MF(e){let t=Sr(e)?e:{},r=Sr(t.data)?t.data:t,s=(Sr(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function BF(e){let t=[...new Set(e.filter(r=>r!==void 0))].sort();if(t.length!==0)return t.length===1?t[0]:`coalesced:${t.join("+")}`}var DF,fs,cr,qS=_(()=>{Jk();zk();hc();Zk();$S();FS();xp();Cp();DF=GS.plugin(ef,gc);fs=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},cr=class extends Error{pool;resetAt;constructor(t,r,n,s){super(`${t} pool is exhausted; parked until ${r}${n?` (${n})`:""}`,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function JS(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...Rr],detail:t??"no balance has been asked for yet, so none is known"}}function VS(e,t){let r=HS(e),n=HS(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Rr){let c=WS[a],l=n[c],u=jF(a,c,l);s[a]=u,u==null&&o.push(a)}let i=Rr.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${Rr.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function bf(e){try{let t=await e.transport();return VS(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...JS(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function KS(e){let t=null;for(let r of Rr){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function wf(e,t){let r=KS(e);if(r==null)return US(yf).every_ms;let n=US(r.fraction);if(r.remaining>0)return n.every_ms;let s=qF(t.now,r.reset_at);return s==null?n.every_ms:Math.max(gf,Math.min(n.every_ms,s))}function US(e){for(let t of Ec)if(e<=t.at_or_below_fraction)return t;return Ec[Ec.length-1]}function jF(e,t,r){if(!zS(r))return null;let n=_c(r.limit),s=_c(r.remaining),o=_c(r.used),i=_c(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function _f(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${hf}`,{method:"GET",headers:{authorization:`bearer ${e.token}`,accept:"application/vnd.github+json"}});if(!n.ok)throw new Error(`the balance ask was refused with HTTP ${n.status}`);return await n.json()}}function qF(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function _c(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function HS(e){return zS(e)?e:{}}function zS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var hf,WS,Rr,gf,yf,Ec,KQ,Go=_(()=>{hf="rate_limit",WS={rest:"core",graphql:"graphql",search:"search"},Rr=["rest","graphql","search"];gf=15e3,yf=.15,Ec=[{at_or_below_fraction:0,every_ms:gf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:yf,every_ms:3e4,why:"inside the reserved band: the posture can change between two calls"},{at_or_below_fraction:.5,every_ms:12e4,why:"below half: tightening, because the band is now reachable inside one window"},{at_or_below_fraction:1,every_ms:6e5,why:"above half: rare, because nothing this balance decides is anywhere close"}],KQ=60*6e4});var YS=_(()=>{V();fn();Go()});var QS=_(()=>{fn();V();V();Go()});var XS=_(()=>{});var ZS=_(()=>{});var eR=_(()=>{});var tR=_(()=>{hc();Go()});var rR=_(()=>{V()});var kc=_(()=>{xE();xp();Cp();FE();qS();YS();QS();Go();XS();ZS();eR();hc();tR();rR()});import{join as VF}from"node:path";function Sc(e,t){let r=_f({token:e,...t?{origin:t}:{},fetchImpl:Oo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await nR(o);let a=new Date(i).toISOString();return o=bf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+wf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await nR(o)}}async function nR(e){try{return await cs("balance ask",1e4,()=>e)}catch{return null}}function Rc(e){let t=Ip({path:VF(ce(e.rootDir),"github","spend.toonl")}),r=wc({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return KF(r)}function KF(e){return{async read(t){let r=vp(t.args);if(r.kind!=="read")return $o(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return $o(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return $o(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=zF(r,t);if(n){let o=await e.singleObject({cacheKey:oR(t.path,t.params),kind:n.kind,owner:n.owner,repo:n.repo,number:n.number,selection:n.selection,operation:r,actor:t.actor,project:n.project});return{status:0,stdout:JSON.stringify(o.data),stderr:"",surface:o.surface,pool:o.surface==="graphql"?"graphql":"rest",quotaFree:o.quotaFree}}if(r.surface==="graphql"){let o=QF(r,t);if(!o)return $o(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:oR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:e1(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Io(n)?$o(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:t1(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function zF(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=No(t.params,"owner")||r[1],s=No(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Dt(i)??{}:iR(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Dt(i)??{}:YF(i)}}function iR(e){let t=Dt(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:Dt(t.author)??{},labels:Ef(t.labels).map(r=>({name:r.name}))}}function YF(e){let t=Dt(e)??{};return{...iR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function QF(e,t){let r=No(t.params,"owner"),n=No(t.params,"repo");if(!r||!n)return null;let s=XF(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
78
+ `),aliases:r}}function MS(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 BS=_(()=>{});function qS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function US(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function _c(e){let t=e.etags??qS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??rc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Ap(e.budgetGate??Cp()),i=Oo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Vk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:rf(e.app)}},c=new BF({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 jS(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=hf(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=mf(w.operation.budget,O);return jS(k,w.operation.budget,G.resetAt,r())}throw mf(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=FS(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=MS(S,T),O=qF(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:UF(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=US(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,!jF(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(w,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(w,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Po(T)===401?new fs({cause:T}):Io(T)?mf(S?.operation.budget??"graphql",T):T}}}}function jS(e,t,r,n){let s=Date.parse(n),o=e.storedAt===void 0?Number.NaN:Date.parse(e.storedAt);return{data:e.data,headers:e.headers,quotaFree:!0,degraded:{source:"cache",pool:t,resetAt:r,ageMs:Number.isFinite(s)&&Number.isFinite(o)?Math.max(0,s-o):null,reason:`${t} pool is exhausted until ${r}; serving the last-known answer instead of going dark`}}}function mf(e,t){let r=hf(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 jF(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=hf(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 hf(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 qF(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 UF(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 BF,fs,cr,HS=_(()=>{Kk();Qk();gc();tS();DS();BS();Op();Pp();BF=NS.plugin(tf,yc);fs=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},cr=class extends Error{pool;resetAt;constructor(t,r,n,s){super(`${t} pool is exhausted; parked until ${r}${n?` (${n})`:""}`,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function KS(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 zS(e,t){let r=JS(e),n=JS(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Rr){let c=VS[a],l=n[c],u=HF(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 wf(e){try{let t=await e.transport();return zS(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...KS(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function YS(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 _f(e,t){let r=YS(e);if(r==null)return WS(bf).every_ms;let n=WS(r.fraction);if(r.remaining>0)return n.every_ms;let s=WF(t.now,r.reset_at);return s==null?n.every_ms:Math.max(yf,Math.min(n.every_ms,s))}function WS(e){for(let t of kc)if(e<=t.at_or_below_fraction)return t;return kc[kc.length-1]}function HF(e,t,r){if(!QS(r))return null;let n=Ec(r.limit),s=Ec(r.remaining),o=Ec(r.used),i=Ec(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function Ef(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${gf}`,{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 WF(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function Ec(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function JS(e){return QS(e)?e:{}}function QS(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var gf,VS,Rr,yf,bf,kc,QQ,Go=_(()=>{gf="rate_limit",VS={rest:"core",graphql:"graphql",search:"search"},Rr=["rest","graphql","search"];yf=15e3,bf=.15,kc=[{at_or_below_fraction:0,every_ms:yf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:bf,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"}],QQ=60*6e4});var XS=_(()=>{V();fn();Go()});var ZS=_(()=>{fn();V();V();Go()});var eR=_(()=>{});var tR=_(()=>{});var rR=_(()=>{});var nR=_(()=>{gc();Go()});var sR=_(()=>{V()});var Sc=_(()=>{AE();Op();Pp();BE();HS();XS();ZS();Go();eR();tR();rR();gc();nR();sR()});import{join as YF}from"node:path";function Rc(e,t){let r=Ef({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 oR(o);let a=new Date(i).toISOString();return o=wf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+_f(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await oR(o)}}async function oR(e){try{return await cs("balance ask",1e4,()=>e)}catch{return null}}function vc(e){let t=Lp({path:YF(ce(e.rootDir),"github","spend.toonl")}),r=_c({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return QF(r)}function QF(e){return{async read(t){let r=Tp(t.args);if(r.kind!=="read")return $o(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return $o(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return $o(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=XF(r,t);if(n){let o=await e.singleObject({cacheKey:aR(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=e1(r,t);if(!o)return $o(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:aR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:n1(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Io(n)?$o(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:s1(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function XF(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=No(t.params,"owner")||r[1],s=No(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Dt(i)??{}:cR(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)??{}:ZF(i)}}function cR(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:kf(t.labels).map(r=>({name:r.name}))}}function ZF(e){let t=Dt(e)??{};return{...cR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function e1(e,t){let r=No(t.params,"owner"),n=No(t.params,"repo");if(!r||!n)return null;let s=t1(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
79
79
  repository(owner: $owner, name: $repo) {
80
80
  issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
81
81
  nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
82
82
  }
83
83
  }
84
- }`,variables:{owner:r,repo:n,first:s,states:o,labels:ZF(t.params,"labels")},decode:i=>sR(i,"issues").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,user:a.author,labels:Ef(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
84
+ }`,variables:{owner:r,repo:n,first:s,states:o,labels:r1(t.params,"labels")},decode:i=>iR(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:kf(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
85
85
  repository(owner: $owner, name: $repo) {
86
86
  pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
87
87
  nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
88
88
  }
89
89
  }
90
- }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>sR(i,"pullRequests").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,draft:a.isDraft===!0,user:a.author,base:{ref:a.baseRefName},head:{ref:a.headRefName},labels:Ef(a.labels)}))}:null}function sR(e,t){let r=Dt(e.repository),n=Dt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Dt).filter(s=>s!==null):[]}function Ef(e){let t=Dt(e);return Array.isArray(t?.nodes)?t.nodes.map(Dt).filter(r=>r!==null):[]}function Dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function No(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function XF(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function ZF(e,t){let r=No(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function $o(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function oR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function e1(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function t1(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var kf=_(()=>{"use strict";kc();Xe()});import{spawn as r1}from"node:child_process";async function vr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=st(t).rootDir;if($e(n,r).enabled&&!cR.has(n)){let s=await at(e);if(!s1(s))return s;cR.add(n)}return await at({...e,residentRead:async s=>await(await n1(n,r,e.signal)).read(s)})}async function n1(e,t,r){let n=aR.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await Sf(["auth","token"],e,r??AbortSignal.timeout(6e4));if(a.status!==0)throw new Error(a.stderr||"rsp wait could not obtain a GitHub credential");s=a.stdout.trim()}if(!s)throw new Error("rsp wait could not obtain a GitHub credential");let o=String(t.GITHUB_API_URL??"").trim()||void 0,i=Rc({rootDir:e,token:s,balance:Sc(s,o),...o?{baseUrl:o}:{}});return aR.set(e,i),i}function s1(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function hn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await lR(t,async r=>await Sf(e,t.cwd,r)):await lR(t,async r=>{let n=await o1(e,t.cwd,r);return n||await Sf(e,t.cwd,r)})}async function lR(e,t){if(e.signal.aborted)return{status:1,stdout:"",stderr:"wait cancelled"};let r=new AbortController,n=setTimeout(()=>r.abort(),e.timeoutMs),s=AbortSignal.any([e.signal,r.signal]);try{let o=await t(s);return r.signal.aborted?{status:1,stdout:"",stderr:`GitHub probe exceeded ${e.timeoutMs}ms`}:o}finally{clearTimeout(n)}}async function Sf(e,t,r){return r.aborted?{status:1,stdout:"",stderr:"gh call cancelled"}:await new Promise(n=>{let s=!1,o=u=>{s||(s=!0,r.removeEventListener("abort",a),n(u))},i=r1("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Da(u).then(d=>Na(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],l=[];i.stdout.on("data",u=>c.push(Buffer.from(u))),i.stderr.on("data",u=>l.push(Buffer.from(u))),i.once("error",u=>o({status:1,stdout:"",stderr:u.message})),i.once("close",u=>{o({status:u??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(l).toString("utf8").trim()})})})}async function o1(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await i1(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await vr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=it(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"database_id")||pn(s,"id"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),workflowName:oe(s,"workflow_name")||oe(s,"name"),headBranch:oe(s,"head_branch"),url:oe(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await vr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=it(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"id"),name:oe(s,"name"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),url:oe(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=qa(e,"--branch"),s=qa(e,"--limit")??"20",o=await vr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=dn(it(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:pn(a,"database_id")||pn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=qa(e,"--limit")??"20",s=await vr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=dn(JSON.parse(s.stdout)).map(i=>({tagName:oe(i,"tag_name"),publishedAt:oe(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await vr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=it(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:oe(o,"tag_name"),publishedAt:oe(o,"published_at"),isDraft:o.draft===!0})}}return null}async function i1(e,t,r){let n=await vr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=it(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(it(s.head),"sha"),[i,a]=o?await Promise.all([vr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),vr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?dn(it(JSON.parse(i.stdout)).statuses):[],l=a.status===0?dn(it(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
91
- `),stdout:JSON.stringify({number:pn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:a1(s),statusCheckRollup:[...c.map(u=>({conclusion:oe(u,"state").toUpperCase()})),...l.map(u=>({status:oe(u,"status").toUpperCase(),conclusion:oe(u,"conclusion").toUpperCase()}))],url:oe(s,"html_url")})}}function a1(e){let t=oe(e,"mergeable_state").toUpperCase();return t==="CLEAN"?"MERGEABLE":t==="DIRTY"?"CONFLICTING":t&&t!=="UNKNOWN"?t:e.mergeable===!0?"MERGEABLE":e.mergeable===!1?"CONFLICTING":"UNKNOWN"}var aR,cR,uR=_(()=>{"use strict";Ue();xo();kf();wt();Ua();or();aR=new Map,cR=new Set});function pR(e,t,r){let n=Date.now();return()=>c1(e,t,r,n)}async function c1(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await hn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=ko(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(u1),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return ot("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return ot("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return ot("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return sr(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?sr(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):ot("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?sr(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):ot("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function fR(e,t){if(!e)return ue("missing run id");let r=await hn(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ue(r.stderr||"gh run view failed");let n=ko(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?sr(`run ${e} is ${s||"pending"}`):o==="success"?ot("success",`run ${e} succeeded`,dR(n)):ot("failure",`run ${e} concluded ${o||"unknown"}`,dR(n))}async function mR(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await hn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):l1(e,ko(r.stdout))}function l1(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return sr(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?ot("success",`job ${e} succeeded`,s):ot("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function hR(e,t){let r=await hn(["run","list","--branch",e,"--limit","1","--json","databaseId"],t);if(r.status!==0)return"";let n=JSON.parse(r.stdout),s=Array.isArray(n)?n[0]:void 0;return ns(s)&&s.databaseId!=null?String(s.databaseId):""}async function gR(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await hn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return sr(`release ${e} is not published yet`);let c=ko(a.stdout);return c.isDraft===!0?sr(`release ${e} is still a draft`):ot("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await hn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=dn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||d1(e,c))&&(n||l>=t)});return i?ot("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):sr("no matching release is published yet")}function u1(e){let t=ns(e)?e:{},r=String(t.conclusion??t.state??t.status??"").toLowerCase();return["success","successful","passed","completed","neutral","skipped"].includes(r)?"success":["failure","failed","error","timed_out","cancelled","action_required"].includes(r)?"failure":"pending"}function dR(e){return{database_id:typeof e.databaseId=="number"?e.databaseId:String(e.databaseId??""),conclusion:String(e.conclusion??""),workflow:String(e.workflowName??""),branch:String(e.headBranch??""),url:String(e.url??"")}}function d1(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var yR=_(()=>{"use strict";ln();uR();Ua()});function Do(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
92
- `)}var Rf=_(()=>{"use strict"});var bR=_(()=>{"use strict";V()});var wR=_(()=>{"use strict"});function p1(e){return Object.keys(e)}function hs(e){return{...e,fields:p1(e.fields)}}var _R,ER,kR,f1,m1,h1,SR,vf=_(()=>{"use strict";_R="red.castle.lane.v1",ER="red.castle.state.v1",kR="red.castle.history.v1",f1="red.castle.validation.v2",m1="red.castle.envelope.v1",h1="red.castle.hitl-card.v1",SR=[hs({schemaId:_R,docPath:".red/contracts/red.castle.lane.v1.md",typeNames:["CastleLaneRecord","CastleLaneKind"],fields:{at:!0,kind:!0,worker_id:!0,supervisor_id:!0,issue:!0,attempt:!0,msg:!0,payload:!0}}),hs({schemaId:ER,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),hs({schemaId:kR,docPath:".red/contracts/red.castle.history.v1.md",typeNames:["CastleHistoryRecord","CastleHistoryEvent"],fields:{ts:!0,epoch:!0,worker:!0,issue:!0,event:!0,duration_s:!0,runner:!0,merge_sha:!0,reason:!0}}),hs({schemaId:f1,docPath:".red/contracts/red.castle.validation.v2.md",typeNames:["CastleValidationRecord","CastleValidationStatus"],fields:{schema:!0,name:!0,status:!0,command:!0,exitCode:!0,durationMs:!0,summary:!0}}),hs({schemaId:m1,docPath:".red/contracts/red.castle.envelope.v1.md",typeNames:["CastleEnvelope","CastleEnvelopeSection","CastleAttemptStatus"],fields:{status:!0,worker:!0,duration:!0,diff:!0,attempt:!0,mergeSha:!0,sections:!0}}),hs({schemaId:h1,docPath:".red/contracts/red.castle.hitl-card.v1.md",typeNames:["CastleHitlCard","CastleHitlCardPrStatus","CastleHitlCardAction"],fields:{issueNumber:!0,issueTitle:!0,issueUrl:!0,pendingDecision:!0,prStatus:!0,updatedAt:!0}})]});var NZ,vc=_(()=>{"use strict";fn();V();vf();NZ=new Map(SR.map(e=>[e.schemaId,new Set(e.fields)]))});var RR=_(()=>{"use strict";wR();vc()});var vR=_(()=>{"use strict"});var Tc=_(()=>{"use strict"});var Tf=_(()=>{"use strict";Tc()});var xc=_(()=>{"use strict"});import{appendFile as b1,mkdir as w1,readFile as _1}from"node:fs/promises";import{dirname as E1,join as k1}from"node:path";function xf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function TR(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:xf(t.at,"at"),singleton:xf(t.singleton,"singleton"),kind:xf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function S1(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function R1(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function v1(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function T1(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=e.slice(-o);Buffer.byteLength(v1(i))+t<=r?n=o:s=o-1}return n}function x1(e){return k1(e.castleStateRoot,"singleton-events.toonl")}function Oc(e,t={}){let r=t.fs??{appendFile:b1,mkdir:w1,readFile:_1},n=t.clock??(()=>new Date().toISOString()),s=x1(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=TR({at:a.at??n(),...a}),l=je().push(S1(c)),u=Buffer.byteLength(l);if(await r.mkdir(E1(s),{recursive:!0}),await ls(s,u,i)){let d=i.maxBytes;if(u>d)throw new Error(`singleton event exceeds its ${d}-byte lane ceiling`);let p=await r.readFile(s,"utf8"),f=Oe(p),m=Math.floor(d*o.targetRatio),g=Math.max(m,u),b=T1(f,u,g);await us(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){R1(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Oe(c).map(TR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Ac=_(()=>{"use strict";fn();V()});var Cc=_(()=>{"use strict";V();xc();Ac()});var xR=_(()=>{"use strict";Tc();Tf();Cc()});var OR=_(()=>{"use strict"});var E7,AR=_(()=>{"use strict";V();E7=24*60*60*1e3});var CR=_(()=>{"use strict";vc()});var v7,T7,PR=_(()=>{"use strict";v7=15*6e4,T7=30*6e4});var IR=_(()=>{"use strict"});var A1,C1,A7,C7,LR=_(()=>{"use strict";A1=["supervisor_start","supervisor_exit","fleet_scaled","worker_start","worker_exit","worker_steered","worker_escalated","post_claim","pre_worktree","post_issue","pre_requeue","pre_merge","post_merge"],C1={pre_worktree:["cargo","gradle"]},A7=Object.values(C1).flat(),C7=new Set(A1)});var GR=_(()=>{"use strict"});var $R=_(()=>{"use strict";Cc()});var Of=_(()=>{});var NR=_(()=>{"use strict";kc();Of()});import{EventEmitter as I1}from"node:events";import{spawn as L1}from"node:child_process";function Mo(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function Bo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var gs,Pc,G1,$1,N1,D1,Fo,Ic=_(()=>{gs="github-webhook",Pc="github.webhook.delivery";G1="pull_request,pull_request_review,check_run,check_suite,workflow_run",$1=3,N1=1e3,D1=/no extension matched|unknown command|command not found/i,Fo=class extends I1{constructor(r,n){super();this.opts=r;this.terminate=n}child;_dead=!1;restarts=0;_mode="polling";stopping;get mode(){return this._mode}get dead(){return this._dead}start(){this._dead||this.opts.cancelSignal.aborted||(this.opts.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0}),this.spawnChild())}async stop(){if(this.stopping)return await this.stopping;this._dead=!0,this.emit("stopped");let r=this.child;this.child=void 0,r&&(this.stopping=this.terminate(r,N1).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Mo(c,n):Bo(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=L1(r,["webhook","forward",`--events=${G1}`],{cwd:this.opts.cwd,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"})}catch{return}this.child=n;let s="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",i=>{s+=i;let a;for(;(a=s.indexOf(`
93
- `))>=0;){let c=s.slice(0,a).trim();s=s.slice(a+1),c&&this.onLine(c)}});let o=[];n.stderr?.on("data",i=>{o.push(Buffer.from(i))}),n.once("error",()=>{this.child===n&&(this.child=void 0),this.scheduleRestart()}),n.once("close",i=>{if(this.child===n&&(this.child=void 0),this._dead)return;let a=Buffer.concat(o).toString("utf8");D1.test(a)||this.restarts===0&&(i===1||i===127)||this.scheduleRestart()})}onLine(r){let n;try{n=JSON.parse(r)}catch{this.emit("malformed-delivery",r);return}this._mode!=="webhook"&&(this._mode="webhook",this.emit("mode-changed","webhook")),this.emit("delivery",n)}scheduleRestart(){if(this._dead||this.restarts>=$1)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as Ce}from"node:path";function Af(e){let t=Ce(e),r=Ce(t,"state"),n=Ce(r,"castle"),s=Ce(t,"tmp"),o=Ce(s,"supervisors"),i=Ce(s,"workers"),a=Ce(s,"monitors"),c=Ce(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:Ce(n,"history.toonl"),castleValidation:Ce(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>Ce(o,l),projectSupervisor:Ce(o,F1),workersRoot:i,worker:l=>Ce(i,l),workerSteerFile:l=>Ce(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>Ce(a,l),worktreesRoot:c,worktreeLane:l=>Ce(c,l)}}var F1,Cf=_(()=>{"use strict";F1="default"});import{mkdir as M1,readFile as B1,rename as j1,rm as q1,writeFile as U1}from"node:fs/promises";import{dirname as H1,join as W1}from"node:path";function V1(e){if(!J1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function K1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function z1(e){return e.code==="ENOENT"}function Y1(e){return e.code==="EEXIST"}function Q1(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton lease must be a record");let t=e;if(!Number.isInteger(t.pid)||t.pid<=0)throw new Error("singleton lease pid must be a positive integer");for(let r of["start_time","acquired_at","renewed_at"])if(typeof t[r]!="string"||t[r].length===0)throw new Error(`singleton lease ${r} must be a non-empty string`);return t}function Pf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Lc(e,t){return V1(t),W1(e.castleStateRoot,"singletons",t,"lease.toon")}function If(e,t={}){let r=t.fs??{mkdir:M1,readFile:B1,rename:j1,rm:q1,writeFile:U1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??K1;async function o(a){try{return Q1(z(await r.readFile(a,"utf8")))}catch(c){if(z1(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Lc(e,a))},async acquire(a,c){let l=Lc(e,a);await r.mkdir(H1(l),{recursive:!0});let u=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(l,M(p),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:u,lease:p}}catch(m){if(!Y1(m))throw m}let f=await o(l);if(f){if(Pf(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Lc(e,a),u=await o(l);if(!u||!Pf(u,c))throw new Gc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Lc(e,a),u=await o(l);if(!u)return!1;if(!Pf(u,c))throw new Gc(a);return await r.rm(l,{force:!0}),!0}}}var Gc,J1,Lf=_(()=>{"use strict";V();Gc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},J1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var DR=_(()=>{"use strict";Ic();Of();Ma();Cf();Ac();Lf()});var FR=_(()=>{"use strict"});var MR=_(()=>{});var BR=_(()=>{"use strict";MR()});var jR=_(()=>{"use strict"});var qR=_(()=>{"use strict"});var Gf=_(()=>{"use strict"});var UR=_(()=>{"use strict";V();Gf()});var HR=_(()=>{"use strict";V()});var $f=_(()=>{"use strict"});var Nf=_(()=>{"use strict"});var WR=_(()=>{"use strict";xc()});var JR=_(()=>{"use strict"});var VR=_(()=>{"use strict";$f();Nf()});var Df=_(()=>{"use strict"});var KR=_(()=>{"use strict"});var X1,Z1,eM,Iee,zR=_(()=>{"use strict";X1={refreshCadenceS:270,tolerance:3},Z1=270,eM=2700,Iee={...X1,claimGraceS:Z1,recentCommitProtectionS:eM}});var YR=_(()=>{"use strict"});var QR=_(()=>{Wa()});var XR=_(()=>{Wa();QR()});import{execFile as sM,execFileSync as Hee}from"node:child_process";import{promisify as oM}from"node:util";var zee,ZR=_(()=>{"use strict";kc();XR();Df();zee=oM(sM)});var ev=_(()=>{"use strict";bR();RR();vR();Tc();xR();OR();AR();CR();vc();PR();IR();LR();GR();Tf();$R();NR();DR();FR();BR();jR();qR();Cc();UR();HR();vf();$f();Nf();Cf();WR();JR();VR();xc();Gf();Ac();Lf();Df();KR();zR();YR();ZR()});var $c,tv=_(()=>{"use strict";Ic();Ic();or();$c=class extends Fo{constructor(t){super(t,Xn)}}});import{EventEmitter as iM}from"node:events";import{join as aM}from"node:path";function Mf(e){let t=wo(e.cwd),r=Af(aM(t,".red"));return new Ff({...e,leases:e.leases??If(r),lane:e.lane??Oc(r),makeForwarder:e.makeForwarder??((n,s)=>new $c({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Zn(n.pid,n.start_time))})}var Ff,rv=_(()=>{"use strict";ev();tv();or();Ma();Ff=class extends iM{constructor(r){super();this.options=r}_mode="polling";cursor=0;timer;fallback;stopped=!1;syncing=!1;get mode(){return this.fallback?.mode??this._mode}async start(){let r=await this.options.leases.read(gs).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?Mo(a,n):Bo(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===gs&&o.kind===Pc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(gs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Bf={};se(Bf,{listWaits:()=>ja,renderWaitHelp:()=>Do,runWait:()=>uM});import{randomUUID as nv}from"node:crypto";import{mkdir as cM,rm as lM}from"node:fs/promises";async function uM(e,t=process.cwd()){let r;try{r=await D_(e)}catch(n){return await hM(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Do()),0;if(r.kind==="ls"){let n={schema:A_,version:1,waits:await ja(t)};return process.stdout.write(ss(n,r.options.format)),0}return cp(r.kind)?await dM({...r,kind:r.kind},t):(process.stdout.write(Do()),2)}async function dM(e,t){let r=e.kind,n=fp({id:nv(),kind:r,target:mM(e),reason:e.options.reason,pid:process.pid,pid_start_time:await go(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:ip[r],status:"running",attempts:0}),s=H_(t,n.id),o=new AbortController,i,a=u=>{i=u,o.abort()},c=()=>a("SIGINT"),l=()=>a("SIGTERM");process.once("SIGINT",c),process.once("SIGTERM",l);try{await cM(ts(t),{recursive:!0}),await rs(s,n);let u=await pM(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await K_({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(ss(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=So(r,n,d,{status:"success"},new Date().toISOString());return await Ro(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(ss(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await lM(s,{force:!0}).catch(()=>{})}}async function pM(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await bE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:j_(t),registryPath:r,entry:n,signal:s});case"pr":{let i=e.target??"";if(!/^[1-9][0-9]*$/.test(i))return{verdict:ue("missing PR number")};n.webhook_mode="polling";let a=Mf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:pR(i,o,{emptyChecksGraceMs:es("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_PR_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("pr",i),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"run":{let i=await fM(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=Mf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:()=>fR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await To({probe:()=>mR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await To({probe:()=>gR(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:es("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function fM(e,t,r,n){if(e.target)return{ok:!0,value:e.target};if(!(e.latest&&e.branch))return{ok:!1,reason:"missing run id"};let s=await hR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await rs(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function mM(e){return e.kind==="cmd"?`cmd:${e.commandLine??""}`:e.kind==="run"&&e.branch&&e.latest?`run:${e.branch}:latest`:e.kind==="release"?`release:${e.tagGlob??"*"}`:`${e.kind}:${e.target??""}`}async function hM(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=cp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=fp({id:nv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:ip[o],status:"indeterminate",attempts:0}),c=So(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Ro(s,c,r).catch(()=>{}),process.stdout.write(ss(c,r)),2}var jf=_(()=>{"use strict";F_();Y_();_E();ln();up();yR();or();Eo();Rf();rv();Eo();Rf()});var qf,Uf,Hf,We,Je,lt,Tt,jo,Nc=_(()=>{"use strict";qf="rsp-telemetry.spool.toonl",Uf="rsp-telemetry.spool.jsonl",Hf="rsp-telemetry.spool.corrections.toonl",We="rsp_accounting_events_v1",Je="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",jo="rsp_telemetry_index_v1"});function ys(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return Tr(e)??0}function Tr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var Wf=_(()=>{"use strict"});import{randomUUID as qo,createHash as _M}from"node:crypto";import{appendFileSync as EM,closeSync as kM,existsSync as SM,fstatSync as RM,mkdirSync as dv,openSync as vM,readFileSync as TM,statSync as xM,writeSync as OM}from"node:fs";import{mkdir as pv,readdir as AM,readFile as fv,rename as CM,rm as mv,writeFile as hv}from"node:fs/promises";import{basename as Jf,dirname as Uo,join as bs,resolve as iv}from"node:path";function Fc(e){if(!e)return null;let t=iv(e);for(;;){if(SM(bs(t,".red")))return t;let r=iv(bs(t,".."));if(r===t)break;t=r}return null}function lr(e){return bs(ce(e),qf)}function zf(e){return bs(ce(e),Uf)}function Yf(e){return bs(ce(e),Hf)}async function gn(e,t,r=St["rsp-telemetry-spool"]){xr(e,t,r)}function xr(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Fc(e);if(!s)return;let o=lr(s);dv(Uo(o),{recursive:!0});let i=lv({spool_id:qo(),event:LM(t)}),a=wv(o,i,r,Xf,lv);IM(o,i,n),a>0&&bv(s,"telemetry spool retention",a)}catch{}}function IM(e,t,r){let n=0;for(;;){let s=vM(e,"a",384);try{OM(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=RM(s),i=xM(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{kM(s)}}}function LM(e){return av(av(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function av(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=PM)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function GM(e){let t=Fc(e);if(!t)return[];let r=lr(t);await pv(Uo(r),{recursive:!0}).catch(()=>{});let n=await _v(t),s=[...await Ev(t),...await FM(n)];return await Promise.all(n.map(o=>mv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Qf(e,t){let r=Fc(e);if(!r)return;let n=lr(r);await pv(Uo(n),{recursive:!0}).catch(()=>{}),await DM(r);for(let s of await $M(r))await cv(r,s,t);for(let s of await Ev(r))await gv(r,s,t,!0);for(let s of await _v(r))await cv(r,s,t)}async function $M(e){let t=[lr(e),zf(e)],r=Uo(t[0]);return(await AM(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Jf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Jf(c)}.`));if(!o)return!1;let i=`${Jf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&NM(a))}).sort().map(s=>bs(r,s))}function NM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function cv(e,t,r){try{let n=await yv(t);for(let s of Xf(n))await gv(e,s,r,!1)}finally{await mv(t,{force:!0})}}async function gv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Vf(e,{correction_id:qo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Vf(e,{correction_id:qo(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function yv(e){let t="";for(let r=0;r<5;r++){let n=await fv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function ws(e){try{let t=JSON.parse(e);return!ys(t)||t.collection!==We&&t.collection!==Je&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function lv(e){return je().push(BM(e))}function Vf(e,t,r=!0){try{let n=Fc(e);if(!n)return;let s=Yf(n);dv(Uo(s),{recursive:!0});let o=uv(t),i=wv(s,o,St["rsp-telemetry-corrections"],kv,uv);EM(s,o,{encoding:"utf8",mode:384}),r&&i>0&&bv(n,"telemetry corrections retention",i,!1)}catch{}}function bv(e,t,r,n=!0){let s=qo();Vf(e,{correction_id:qo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Tt,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function uv(e){return je().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function wv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!GE(e,o,r))return 0;let i;try{i=TM(e,"utf8")}catch(f){if(f.code==="ENOENT")return 0;throw f}let a=r.maxBytes;if(a===void 0)return 0;let c=Math.max(0,Math.floor(a*(r.targetRatio??et))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),g=Buffer.byteLength(m);if(d+g>c)break;u.unshift(m),d+=g}let p=u.join("");return $E(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function _v(e){let t=lr(e),r=[t,zf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await CM(s,o),s===t&&await hv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function DM(e){await hv(lr(e),"",{flag:"a"}).catch(()=>{})}async function FM(e){let t=[];for(let r of e)t.push(...Xf(await yv(r)));return t}async function Ev(e){let t=await fv(Yf(e),"utf8").catch(()=>""),r=new Map;for(let n of kv(t))r.set(n.target_spool_id,n);return[...r.values()].filter(n=>n.action==="retry"&&n.event_json).map(n=>({spool_id:n.target_spool_id,event:ws(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function Xf(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s){try{let o=JSON.parse(s);if(ys(o)){let i=ws(JSON.stringify(o));t.push(i?{spool_id:Dc(JSON.stringify(o)),event:i}:{spool_id:Dc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Dc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
90
+ }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>iR(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:kf(a.labels)}))}:null}function iR(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 kf(e){let t=Dt(e);return Array.isArray(t?.nodes)?t.nodes.map(Dt).filter(r=>r!==null):[]}function Dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function No(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function t1(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function r1(e,t){let r=No(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function $o(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function aR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function n1(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function s1(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 Sf=_(()=>{"use strict";Sc();Xe()});import{spawn as o1}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&&!uR.has(n)){let s=await at(e);if(!a1(s))return s;uR.add(n)}return await at({...e,residentRead:async s=>await(await i1(n,r,e.signal)).read(s)})}async function i1(e,t,r){let n=lR.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=vc({rootDir:e,token:s,balance:Rc(s,o),...o?{baseUrl:o}:{}});return lR.set(e,i),i}function a1(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 dR(t,async r=>await Rf(e,t.cwd,r)):await dR(t,async r=>{let n=await c1(e,t.cwd,r);return n||await Rf(e,t.cwd,r)})}async function dR(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=o1("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Fa(u).then(d=>Da(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 c1(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await l1(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=Ua(e,"--branch"),s=Ua(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=Ua(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 l1(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:u1(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 u1(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 lR,uR,pR=_(()=>{"use strict";Ue();xo();Sf();wt();Ha();or();lR=new Map,uR=new Set});function mR(e,t,r){let n=Date.now();return()=>d1(e,t,r,n)}async function d1(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(f1),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 hR(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`,fR(n)):ot("failure",`run ${e} concluded ${o||"unknown"}`,fR(n))}async function gR(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"):p1(e,ko(r.stdout))}function p1(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 yR(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 bR(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||m1(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 f1(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 fR(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 m1(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var wR=_(()=>{"use strict";ln();pR();Ha()});function Do(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
92
+ `)}var vf=_(()=>{"use strict"});var _R=_(()=>{"use strict";V()});var ER=_(()=>{"use strict"});function h1(e){return Object.keys(e)}function hs(e){return{...e,fields:h1(e.fields)}}var kR,SR,RR,g1,y1,b1,vR,Tf=_(()=>{"use strict";kR="red.castle.lane.v1",SR="red.castle.state.v1",RR="red.castle.history.v1",g1="red.castle.validation.v2",y1="red.castle.envelope.v1",b1="red.castle.hitl-card.v1",vR=[hs({schemaId:kR,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:SR,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:RR,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:g1,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:y1,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:b1,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 MZ,Tc=_(()=>{"use strict";fn();V();Tf();MZ=new Map(vR.map(e=>[e.schemaId,new Set(e.fields)]))});var TR=_(()=>{"use strict";ER();Tc()});var xR=_(()=>{"use strict"});var xc=_(()=>{"use strict"});var xf=_(()=>{"use strict";xc()});var Oc=_(()=>{"use strict"});import{appendFile as E1,mkdir as k1,readFile as S1}from"node:fs/promises";import{dirname as R1,join as v1}from"node:path";function Of(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function OR(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:Of(t.at,"at"),singleton:Of(t.singleton,"singleton"),kind:Of(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function T1(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function x1(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function O1(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function A1(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(O1(i))+t<=r?n=o:s=o-1}return n}function C1(e){return v1(e.castleStateRoot,"singleton-events.toonl")}function Ac(e,t={}){let r=t.fs??{appendFile:E1,mkdir:k1,readFile:S1},n=t.clock??(()=>new Date().toISOString()),s=C1(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=OR({at:a.at??n(),...a}),l=je().push(T1(c)),u=Buffer.byteLength(l);if(await r.mkdir(R1(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=A1(f,u,g);await us(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){x1(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(OR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Cc=_(()=>{"use strict";fn();V()});var Pc=_(()=>{"use strict";V();Oc();Cc()});var AR=_(()=>{"use strict";xc();xf();Pc()});var CR=_(()=>{"use strict"});var R7,PR=_(()=>{"use strict";V();R7=24*60*60*1e3});var IR=_(()=>{"use strict";Tc()});var O7,A7,LR=_(()=>{"use strict";O7=15*6e4,A7=30*6e4});var GR=_(()=>{"use strict"});var I1,L1,I7,L7,$R=_(()=>{"use strict";I1=["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"],L1={pre_worktree:["cargo","gradle"]},I7=Object.values(L1).flat(),L7=new Set(I1)});var NR=_(()=>{"use strict"});var DR=_(()=>{"use strict";Pc()});var Af=_(()=>{});var FR=_(()=>{"use strict";Sc();Af()});import{EventEmitter as $1}from"node:events";import{spawn as N1}from"node:child_process";function Mo(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function Bo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var gs,Ic,D1,F1,M1,B1,Fo,Lc=_(()=>{gs="github-webhook",Ic="github.webhook.delivery";D1="pull_request,pull_request_review,check_run,check_suite,workflow_run",F1=3,M1=1e3,B1=/no extension matched|unknown command|command not found/i,Fo=class extends $1{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,M1).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Mo(c,n):Bo(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=N1(r,["webhook","forward",`--events=${D1}`],{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");B1.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>=F1)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 Cf(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,j1),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 j1,Pf=_(()=>{"use strict";j1="default"});import{mkdir as q1,readFile as U1,rename as H1,rm as W1,writeFile as J1}from"node:fs/promises";import{dirname as V1,join as K1}from"node:path";function Y1(e){if(!z1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function Q1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function X1(e){return e.code==="ENOENT"}function Z1(e){return e.code==="EEXIST"}function eM(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 If(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Gc(e,t){return Y1(t),K1(e.castleStateRoot,"singletons",t,"lease.toon")}function Lf(e,t={}){let r=t.fs??{mkdir:q1,readFile:U1,rename:H1,rm:W1,writeFile:J1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??Q1;async function o(a){try{return eM(z(await r.readFile(a,"utf8")))}catch(c){if(X1(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Gc(e,a))},async acquire(a,c){let l=Gc(e,a);await r.mkdir(V1(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(!Z1(m))throw m}let f=await o(l);if(f){if(If(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Gc(e,a),u=await o(l);if(!u||!If(u,c))throw new $c(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Gc(e,a),u=await o(l);if(!u)return!1;if(!If(u,c))throw new $c(a);return await r.rm(l,{force:!0}),!0}}}var $c,z1,Gf=_(()=>{"use strict";V();$c=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},z1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var MR=_(()=>{"use strict";Lc();Af();Ba();Pf();Cc();Gf()});var BR=_(()=>{"use strict"});var jR=_(()=>{});var qR=_(()=>{"use strict";jR()});var UR=_(()=>{"use strict"});var HR=_(()=>{"use strict"});var $f=_(()=>{"use strict"});var WR=_(()=>{"use strict";V();$f()});var JR=_(()=>{"use strict";V()});var Nf=_(()=>{"use strict"});var Df=_(()=>{"use strict"});var VR=_(()=>{"use strict";Oc()});var KR=_(()=>{"use strict"});var zR=_(()=>{"use strict";Nf();Df()});var jo,Ff=_(()=>{"use strict";jo={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var Nee,YR=_(()=>{"use strict";Ff();Nee=Math.max(jo.monologueMessages,jo.repeatedActionObservationPairs*2,jo.errorStreakPairs*2,jo.alternatingPingPongCycles*4)});var Mf=_(()=>{"use strict"});var QR=_(()=>{"use strict"});var tM,rM,nM,Bee,XR=_(()=>{"use strict";tM={refreshCadenceS:270,tolerance:3},rM=270,nM=2700,Bee={...tM,claimGraceS:rM,recentCommitProtectionS:nM}});var ZR=_(()=>{"use strict"});var ev=_(()=>{Ja()});var tv=_(()=>{Ja();ev()});import{execFile as aM,execFileSync as Xee}from"node:child_process";import{promisify as cM}from"node:util";var nte,rv=_(()=>{"use strict";Sc();tv();Mf();nte=cM(aM)});var nv=_(()=>{"use strict";_R();TR();xR();xc();AR();CR();PR();IR();Tc();LR();GR();$R();NR();xf();DR();FR();MR();BR();qR();UR();HR();Pc();WR();JR();Tf();Nf();Df();Pf();VR();KR();zR();Oc();$f();Cc();Gf();Ff();YR();Mf();QR();XR();ZR();rv()});var Nc,sv=_(()=>{"use strict";Lc();Lc();or();Nc=class extends Fo{constructor(t){super(t,Xn)}}});import{EventEmitter as lM}from"node:events";import{join as uM}from"node:path";function jf(e){let t=wo(e.cwd),r=Cf(uM(t,".red"));return new Bf({...e,leases:e.leases??Lf(r),lane:e.lane??Ac(r),makeForwarder:e.makeForwarder??((n,s)=>new Nc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Zn(n.pid,n.start_time))})}var Bf,ov=_(()=>{"use strict";nv();sv();or();Ba();Bf=class extends lM{constructor(r){super();this.options=r}_mode="polling";cursor=0;timer;fallback;stopped=!1;syncing=!1;get mode(){return this.fallback?.mode??this._mode}async start(){let r=await this.options.leases.read(gs).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?Mo(a,n):Bo(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===gs&&o.kind===Ic&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(gs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var qf={};se(qf,{listWaits:()=>qa,renderWaitHelp:()=>Do,runWait:()=>fM});import{randomUUID as iv}from"node:crypto";import{mkdir as dM,rm as pM}from"node:fs/promises";async function fM(e,t=process.cwd()){let r;try{r=await M_(e)}catch(n){return await bM(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Do()),0;if(r.kind==="ls"){let n={schema:P_,version:1,waits:await qa(t)};return process.stdout.write(ss(n,r.options.format)),0}return lp(r.kind)?await mM({...r,kind:r.kind},t):(process.stdout.write(Do()),2)}async function mM(e,t){let r=e.kind,n=mp({id:iv(),kind:r,target:yM(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:ap[r],status:"running",attempts:0}),s=J_(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 dM(ts(t),{recursive:!0}),await rs(s,n);let u=await hM(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await Y_({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 pM(s,{force:!0}).catch(()=>{})}}async function hM(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await _E({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:U_(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=jf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:mR(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 gM(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=jf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await To({probe:()=>hR(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:()=>gR(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:()=>bR(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 gM(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 yR(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 yM(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 bM(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=lp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=mp({id:iv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:ap[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 Uf=_(()=>{"use strict";B_();X_();kE();ln();dp();wR();or();Eo();vf();ov();Eo();vf()});var Hf,Wf,Jf,We,Je,lt,Tt,qo,Dc=_(()=>{"use strict";Hf="rsp-telemetry.spool.toonl",Wf="rsp-telemetry.spool.jsonl",Jf="rsp-telemetry.spool.corrections.toonl",We="rsp_accounting_events_v1",Je="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",qo="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 Vf=_(()=>{"use strict"});import{randomUUID as Uo,createHash as SM}from"node:crypto";import{appendFileSync as RM,closeSync as vM,existsSync as TM,fstatSync as xM,mkdirSync as mv,openSync as OM,readFileSync as AM,statSync as CM,writeSync as PM}from"node:fs";import{mkdir as hv,readdir as IM,readFile as gv,rename as LM,rm as yv,writeFile as bv}from"node:fs/promises";import{basename as Kf,dirname as Ho,join as bs,resolve as lv}from"node:path";function Mc(e){if(!e)return null;let t=lv(e);for(;;){if(TM(bs(t,".red")))return t;let r=lv(bs(t,".."));if(r===t)break;t=r}return null}function lr(e){return bs(ce(e),Hf)}function Qf(e){return bs(ce(e),Wf)}function Xf(e){return bs(ce(e),Jf)}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=Mc(e);if(!s)return;let o=lr(s);mv(Ho(o),{recursive:!0});let i=pv({spool_id:Uo(),event:NM(t)}),a=kv(o,i,r,em,pv);$M(o,i,n),a>0&&Ev(s,"telemetry spool retention",a)}catch{}}function $M(e,t,r){let n=0;for(;;){let s=OM(e,"a",384);try{PM(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=xM(s),i=CM(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{vM(s)}}}function NM(e){return uv(uv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function uv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=GM)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function DM(e){let t=Mc(e);if(!t)return[];let r=lr(t);await hv(Ho(r),{recursive:!0}).catch(()=>{});let n=await Sv(t),s=[...await Rv(t),...await jM(n)];return await Promise.all(n.map(o=>yv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Zf(e,t){let r=Mc(e);if(!r)return;let n=lr(r);await hv(Ho(n),{recursive:!0}).catch(()=>{}),await BM(r);for(let s of await FM(r))await dv(r,s,t);for(let s of await Rv(r))await wv(r,s,t,!0);for(let s of await Sv(r))await dv(r,s,t)}async function FM(e){let t=[lr(e),Qf(e)],r=Ho(t[0]);return(await IM(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Kf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Kf(c)}.`));if(!o)return!1;let i=`${Kf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&MM(a))}).sort().map(s=>bs(r,s))}function MM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function dv(e,t,r){try{let n=await _v(t);for(let s of em(n))await wv(e,s,r,!1)}finally{await yv(t,{force:!0})}}async function wv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&zf(e,{correction_id:Uo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}zf(e,{correction_id:Uo(),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 _v(e){let t="";for(let r=0;r<5;r++){let n=await gv(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 pv(e){return je().push(UM(e))}function zf(e,t,r=!0){try{let n=Mc(e);if(!n)return;let s=Xf(n);mv(Ho(s),{recursive:!0});let o=fv(t),i=kv(s,o,St["rsp-telemetry-corrections"],vv,fv);RM(s,o,{encoding:"utf8",mode:384}),r&&i>0&&Ev(n,"telemetry corrections retention",i,!1)}catch{}}function Ev(e,t,r,n=!0){let s=Uo();zf(e,{correction_id:Uo(),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 fv(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 kv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!NE(e,o,r))return 0;let i;try{i=AM(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 DE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function Sv(e){let t=lr(e),r=[t,Qf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await LM(s,o),s===t&&await bv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function BM(e){await bv(lr(e),"",{flag:"a"}).catch(()=>{})}async function jM(e){let t=[];for(let r of e)t.push(...em(await _v(r)));return t}async function Rv(e){let t=await gv(Xf(e),"utf8").catch(()=>""),r=new Map;for(let n of vv(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 em(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s){try{let o=JSON.parse(s);if(ys(o)){let i=ws(JSON.stringify(o));t.push(i?{spool_id:Fc(JSON.stringify(o)),event:i}:{spool_id:Fc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Fc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
94
94
  ${s}
95
- `))Kf(o)&&jM(o)&&t.push({spool_id:o.spool_id,event:Sv(o)})}catch{s.startsWith("{")&&t.push({spool_id:Dc(s),raw_line:s})}}}return t}function kv(e){return MM(e).map(qM).filter(t=>t!==null)}function MM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Kf(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
95
+ `))Yf(o)&&HM(o)&&t.push({spool_id:o.spool_id,event:Tv(o)})}catch{s.startsWith("{")&&t.push({spool_id:Fc(s),raw_line:s})}}}return t}function vv(e){return qM(e).map(WM).filter(t=>t!==null)}function qM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Yf(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
96
96
  ${s}
97
- `))Kf(o)&&t.push(o)}catch{}}}return t}function Dc(e){return`legacy:${_M("sha256").update(e).digest("hex").slice(0,24)}`}function BM(e){let t={spool_id:e.spool_id};for(let[r,n]of Object.entries(e.event??{}))r!=="spool_id"&&(typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null?t[r]=n:n!==void 0&&(t[r]=JSON.stringify(n)));return t}function Sv(e){let{spool_id:t,...r}=e;return ws(JSON.stringify(r))}function jM(e){return typeof e.spool_id=="string"&&Sv(e)!==null}function qM(e){return typeof e.correction_id=="string"&&typeof e.target_spool_id=="string"&&(e.action==="retry"||e.action==="resolved")&&typeof e.created_at=="string"&&(e.event_json===null||typeof e.event_json=="string")?{correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??void 0}:null}function Kf(e){return ys(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var PM,Rv=_(()=>{"use strict";Xe();fn();V();Nc();Wf();PM=64*1024});function Mc(e){return e.trim().split(/\s+/).filter(Boolean)}function Ho(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Wo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Mc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:yn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:yn(t)&&t[1]?`gh ${t[1]} json-jq`:yn(t)?"gh json-jq":t[0]==="gh"&&t[1]&&t[2]?`gh ${t[1]} ${t[2]}`:t[0]==="gh"&&t[1]?`gh ${t[1]}`:t[0]==="cargo"&&t[1]?`cargo ${t[1]}`:t[0]==="vitest"?"vitest":t[0]}function yn(e){return e[0]==="gh"&&e.some(UM)}function UM(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function _s(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Jo=_(()=>{"use strict"});var Ee,Bc=_(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as zo}from"node:child_process";import{createHash as tm}from"node:crypto";import{existsSync as HM}from"node:fs";import{mkdir as WM,readFile as JM,readdir as vv,rename as VM,writeFile as KM}from"node:fs/promises";import{homedir as zM}from"node:os";import{basename as YM,dirname as QM,join as Vo}from"node:path";import{fileURLToPath as XM}from"node:url";import{gunzipSync as ZM,gzipSync as eB}from"node:zlib";function Yo(e,t){return`el:${tm("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function Or(e){return`record:${e.slice(3)}`}function wn(e){return`expired:${e.slice(3)}`}function Uc(){return"index:v1"}function tB(e){return`blob:${e}`}function Tv(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function ur(e){let t=Mc(e),r=t[0]??"";if(r==="cat")return"derivable";if(r==="git"){let n=t[1]??"";return n==="log"||n==="diff"||n==="blame"||n==="show"?"derivable":Hc(t)?"re-executable":"ephemeral"}return"ephemeral"}function Qo(e){return Kc(e.storage_class)?e.storage_class:ur(e.command)}function xv(e){return Kc(e.storage_class)?e.storage_class:ur(e.command)}function rm(e){let t=sB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=xv(n);if(t[s].records+=1,t[s].raw_bytes+=n.raw_bytes??n.bytes,n.blob_key){if(r[s].has(n.blob_key))continue;r[s].add(n.blob_key)}t[s].bytes+=n.bytes}return t}function nm(e,t,r){let n=t.getTime();return[...e].sort((s,o)=>o.created_at.localeCompare(s.created_at)).slice(0,Math.max(0,r)).map(s=>{let o=Math.max(0,Math.floor((n-Date.parse(s.created_at))/1e3));return{handle:s.handle,command:s.command,created_at:s.created_at,expires_at:s.expires_at,age_seconds:o,age_display:rB(o),storage_class:xv(s),recover:`rsp show ${s.handle}`}})}function rB(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function sm(e,t,r,n){let s=t==="ephemeral"?n*60*60*1e3:r*24*60*60*1e3;return new Date(e.getTime()+s).toISOString()}function _n(e){let t=0,r=new Set;for(let n of e){if(n.blob_key){if(r.has(n.blob_key))continue;r.add(n.blob_key)}t+=n.bytes}return t}function om(e,t){let r=process.cwd(),n=zo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=zo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:nB(r),original_bytes:e.length}:null}function nB(e){let t=Zf(e,["rev-parse","HEAD"])||"unborn",r=Zf(e,["write-tree"])||"no-index",n=Zf(e,["status","--porcelain=v1","-z"])||"";return tm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function Zf(e,t){let r=zo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function im(e,t){let r=Mc(t);if(!Hc(r))return null;let n=Pv(process.cwd(),r,e.length);return!n||bn(n)!==bn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:bn(e)}}function Hc(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function bn(e){return tm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function am(e,t,r,n){return t?Buffer.byteLength(JSON.stringify(t),"utf8"):r?Buffer.byteLength(JSON.stringify(r),"utf8"):n?n.stored_bytes:e.length}function cm(e){return typeof e.stored_bytes=="number"?e.stored_bytes:e.derivation_recipe?Buffer.byteLength(JSON.stringify(e.derivation_recipe),"utf8"):e.reexecution_recipe?Buffer.byteLength(JSON.stringify(e.reexecution_recipe),"utf8"):e.blob_key?typeof e.stored_bytes=="number"?e.stored_bytes:0:e.original_bytes}function lm(e,t,r){let n=eB(e);return{key:tB(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Ov(e){try{let t=ZM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Av(e){let t=e.object_ids[0];if(!t)return null;let r=zo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function Cv(e){if(!Hc(e.argv))return null;let t=Pv(e.cwd,e.argv,e.original_bytes);return t?bn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
98
- `,"utf8"),t]):null}function Pv(e,t,r){let n=t[0];if(!n)return null;let s=zo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function sB(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function Xo(e){return/^el:[a-f0-9]{12}$/.test(e)}function qc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Iv(e){if(!Ko(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Ko(e.scope)?e.scope:void 0,ranking:Ko(e.ranking)?e.ranking:void 0}}}function Lv(e){if(!Ko(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Ko(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Gv(e,t,r){let n=[],s=new Set([".git","node_modules",".red",...r]);async function o(i){if(n.length>=t)return;let a=await vv(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Vo(i,c.name);c.isDirectory()?await o(l):c.isFile()&&/\.(md|mdx|txt|ts|tsx|js|jsx|json|yaml|yml|toml|rs|go|py|sql)$/i.test(c.name)&&n.push(l)}}return await o(e),n}function $v(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Ko(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Wc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Zo(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=iB(e.derivation_recipe),n=aB(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&qc(s);return e.collection===Ee&&typeof e.handle=="string"&&Xo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||dm(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&qc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&oB(e.loss)&&(e.storage_class===void 0||Kc(e.storage_class))}function um(e){return!pt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!pt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&Xo(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||Kc(t.storage_class))&&(r===void 0||typeof r=="string"&&qc(r))})}function Jc(e){return pt(e)&&typeof e.key=="string"&&qc(e.key)&&dm(e.content_hash)&&e.encoding==="gzip+base64"&&typeof e.bytes=="string"&&typeof e.original_bytes=="number"&&typeof e.stored_bytes=="number"&&typeof e.created_at=="string"}function Vc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function oB(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Kc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function iB(e){return pt(e)&&e.kind==="git-blob"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.object_ids)&&e.object_ids.every(t=>typeof t=="string"&&/^[0-9a-f]{40,64}$/.test(t))&&typeof e.working_tree_fingerprint=="string"&&typeof e.original_bytes=="number"}function aB(e){return pt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&Hc(e.argv)&&typeof e.original_bytes=="number"&&dm(e.content_hash)}function dm(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function pt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Nv(e){try{let n=(await JM(e,"utf8")).trim();if(n==="")return jc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(cB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=jc();return await Es(e,s),s}let n=jc();return await Es(e,n),n}let t=jc();return await Es(e,t),t}async function Dv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function Fv(e){return YM(e)==="red-skills.rdb"}async function zc(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Vo(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Vo(zM(),".cache","red-skills","bundles")),t=Vo(e,"reddb"),r;try{r=await vv(t)}catch{return}r.sort().reverse();for(let n of r){let s=Vo(t,n,process.platform==="win32"?"red.exe":"red");if(HM(s)){process.env.REDDB_BIN=s;return}}}async function Es(e,t){await WM(QM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await KM(r,`${M(em(t))}
99
- `,"utf8"),await VM(r,e)}function em(e){if(e==null)return null;if(typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e:null;if(Array.isArray(e))return e.map(t=>em(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=em(n));return t}return String(e)}function jc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function cB(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(Zo)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Jc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Vc)&&um(e.index)}function Mv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return XM(e)}var Yc=_(()=>{"use strict";V();Jo();Bc()});async function Bv(e,t){return lB?pB(e,t):uB?mB(e,t):dB(e,t)}async function dB(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(s){return new Promise((o,i)=>{n.stdin.write(s,a=>a?i(a):o())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(s=>{n.on("exit",o=>s(o??0))})}}}function pB(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(s){n?await n.write(s):(r.stdin.write(s),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:fB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*fB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function mB(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),s=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(o){await s.write(o)},end(){try{s.close()}catch{}}},stdout:hB(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*hB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var lB,uB,jv=_(()=>{lB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",uB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as gB}from"node:fs";import{join as yB}from"node:path";function qv(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let s=process.env?.[n];if(typeof s=="string"&&s!=="")return s;let o=yB(r,"bin",t);if(gB(o))return o;throw new Error(`reddb: binary "${t}" not found.
97
+ `))Yf(o)&&t.push(o)}catch{}}}return t}function Fc(e){return`legacy:${SM("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 Tv(e){let{spool_id:t,...r}=e;return ws(JSON.stringify(r))}function HM(e){return typeof e.spool_id=="string"&&Tv(e)!==null}function WM(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 Yf(e){return ys(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var GM,xv=_(()=>{"use strict";Xe();fn();V();Dc();Vf();GM=64*1024});function Bc(e){return e.trim().split(/\s+/).filter(Boolean)}function Wo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Jo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Bc(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 Vo=_(()=>{"use strict"});var Ee,jc=_(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as Yo}from"node:child_process";import{createHash as nm}from"node:crypto";import{existsSync as VM}from"node:fs";import{mkdir as KM,readFile as zM,readdir as Ov,rename as YM,writeFile as QM}from"node:fs/promises";import{homedir as XM}from"node:os";import{basename as ZM,dirname as eB,join as Ko}from"node:path";import{fileURLToPath as tB}from"node:url";import{gunzipSync as rB,gzipSync as nB}from"node:zlib";function Qo(e,t){return`el:${nm("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 Hc(){return"index:v1"}function sB(e){return`blob:${e}`}function Av(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=Bc(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":Wc(t)?"re-executable":"ephemeral"}return"ephemeral"}function Xo(e){return zc(e.storage_class)?e.storage_class:ur(e.command)}function Cv(e){return zc(e.storage_class)?e.storage_class:ur(e.command)}function sm(e){let t=aB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=Cv(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 om(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:oB(o),storage_class:Cv(s),recover:`rsp show ${s.handle}`}})}function oB(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 im(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 am(e,t){let r=process.cwd(),n=Yo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Yo("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:iB(r),original_bytes:e.length}:null}function iB(e){let t=tm(e,["rev-parse","HEAD"])||"unborn",r=tm(e,["write-tree"])||"no-index",n=tm(e,["status","--porcelain=v1","-z"])||"";return nm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function tm(e,t){let r=Yo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function cm(e,t){let r=Bc(t);if(!Wc(r))return null;let n=Gv(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 Wc(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 nm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function lm(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 um(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 dm(e,t,r){let n=nB(e);return{key:sB(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Pv(e){try{let t=rB(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Iv(e){let t=e.object_ids[0];if(!t)return null;let r=Yo("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 Lv(e){if(!Wc(e.argv))return null;let t=Gv(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 Gv(e,t,r){let n=t[0];if(!n)return null;let s=Yo(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 aB(){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 Uc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function $v(e){if(!zo(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:zo(e.scope)?e.scope:void 0,ranking:zo(e.ranking)?e.ranking:void 0}}}function Nv(e){if(!zo(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 zo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Dv(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 Ov(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Ko(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 Fv(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=zo(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 Jc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ei(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=lB(e.derivation_recipe),n=uB(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Uc(s);return e.collection===Ee&&typeof e.handle=="string"&&Zo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||fm(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Uc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&cB(e.loss)&&(e.storage_class===void 0||zc(e.storage_class))}function pm(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"&&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||zc(t.storage_class))&&(r===void 0||typeof r=="string"&&Uc(r))})}function Vc(e){return pt(e)&&typeof e.key=="string"&&Uc(e.key)&&fm(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 Kc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function cB(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function zc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function lB(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 uB(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")&&Wc(e.argv)&&typeof e.original_bytes=="number"&&fm(e.content_hash)}function fm(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 Mv(e){try{let n=(await zM(e,"utf8")).trim();if(n==="")return qc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(dB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=qc();return await Es(e,s),s}let n=qc();return await Es(e,n),n}let t=qc();return await Es(e,t),t}async function Bv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function jv(e){return ZM(e)==="red-skills.rdb"}async function Yc(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Ko(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Ko(XM(),".cache","red-skills","bundles")),t=Ko(e,"reddb"),r;try{r=await Ov(t)}catch{return}r.sort().reverse();for(let n of r){let s=Ko(t,n,process.platform==="win32"?"red.exe":"red");if(VM(s)){process.env.REDDB_BIN=s;return}}}async function Es(e,t){await KM(eB(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await QM(r,`${M(rm(t))}
99
+ `,"utf8"),await YM(r,e)}function rm(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=>rm(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=rm(n));return t}return String(e)}function qc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function dB(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(ei)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Vc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Kc)&&pm(e.index)}function qv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return tB(e)}var Qc=_(()=>{"use strict";V();Vo();jc()});async function Uv(e,t){return pB?hB(e,t):fB?yB(e,t):mB(e,t)}async function mB(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 hB(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(s){n?await n.write(s):(r.stdin.write(s),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:gB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*gB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function yB(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:bB(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*bB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var pB,fB,Hv=_(()=>{pB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",fB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as wB}from"node:fs";import{join as _B}from"node:path";function Wv(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=_B(r,"bin",t);if(wB(o))return o;throw new Error(`reddb: binary "${t}" not found.
100
100
  expected at: ${o}
101
101
  override: set ${n}=/path/to/${t}
102
102
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
103
- or check the postinstall log for a download error.`)}var Uv=_(()=>{});import{fileURLToPath as bB}from"node:url";import{dirname as wB,resolve as _B,join as ine}from"node:path";function SB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Hv(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:qv({name:SB(),packageRoot:kB,envVar:"REDDB_BIN"})}var EB,kB,Wv=_(()=>{Uv();EB=wB(bB(import.meta.url)),kB=_B(EB,"..")});var RB,vB,j,Qc,Ar=_(()=>{RB=new TextEncoder,vB=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Qc=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new j("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(RB.encode(s+`
104
- `)).catch(a=>{this.pending.delete(n),i(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let s=0;for(let o=0;o<t.length;o++)if(t[o]===10){let i=t.subarray(s,o);this.#r(vB.decode(i)),s=o+1}s>0&&(t=t.subarray(s))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(o){this.#e(`malformed server response: ${o.message}`);return}let n=r.id;if(n==null)return;let s=this.pending.get(n);s&&(this.pending.delete(n),r.error?s.reject(new j(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):s.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new j("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}}});function fm(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?TB(e):xB(e)}function TB(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(u){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,s=(n.get("proto")||"").toLowerCase(),o=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return o?{kind:"embedded",path:o,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let i=OB(s),a=r.port?Number(r.port):pm(i),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:i,host:r.hostname,port:a,path:o||void 0,username:c,password:l,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function xB(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(o){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${o.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",s=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):pm(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:s.get("token")??void 0,apiKey:s.get("apiKey")??s.get("api_key")??void 0,loginUrl:s.get("loginUrl")??s.get("login_url")??void 0,params:s,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):pm(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new j("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function OB(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new j("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function pm(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var mm=_(()=>{Ar()});function CB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Jv(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Jv(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Jv(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function PB(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var AB,ei,hm=_(()=>{Ar();AB=new Set(["embedded"]),ei=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&AB.has(this._transport))throw new j("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:PB(n.value)}async put(t,r,n,s={}){this._guard("put");let o=CB(n);await this._client.call("cache.put",{namespace:t,key:r,value:o,...s})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}}});function gm(e,t){return`${ym(e)}.${IB(t)}`}function ym(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new j("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function IB(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function LB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function Vv(e){return`'${String(e).replace(/'/g,"''")}'`}var ks,bm=_(()=>{Ar();ks=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Vv).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${gm(s,t)} = ${LB(r)}${i}${o}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${gm(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let s of t)n.push(await this.get(s,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`KV DELETE ${gm(n,t)}`}),o=s.affected??s.affected_rows??0;return{affected:o,deleted:o>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new j("INVALID_ARGUMENT","kv.list limit must be a positive integer");let s=t.prefix==null?"":String(t.prefix),i=(await this.client.call("query",{sql:`SELECT key, value FROM ${ym(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:s.length>0?i.filter(c=>String(c.key).startsWith(s)):i}}async invalidateTags(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(Vv).join(", ")}] FROM ${ym(n)}`});return s.affected??s.affected_rows??s.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new j("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,s=new URLSearchParams;r.sinceLsn!=null&&s.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&s.set("limit",String(r.limit));let o=s.toString()?`?${s}`:"",i=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${o}`,a=await fetch(i,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new j("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
103
+ or check the postinstall log for a download error.`)}var Jv=_(()=>{});import{fileURLToPath as EB}from"node:url";import{dirname as kB,resolve as SB,join as gne}from"node:path";function TB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Vv(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Wv({name:TB(),packageRoot:vB,envVar:"REDDB_BIN"})}var RB,vB,Kv=_(()=>{Jv();RB=kB(EB(import.meta.url)),vB=SB(RB,"..")});var xB,OB,j,Xc,Ar=_(()=>{xB=new TextEncoder,OB=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Xc=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(xB.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(OB.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 hm(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:/"?AB(e):CB(e)}function AB(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=PB(s),a=r.port?Number(r.port):mm(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 CB(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):mm(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):mm(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 PB(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 mm(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 gm=_(()=>{Ar()});function LB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return zv(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return zv(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function zv(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 GB(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 IB,ti,ym=_(()=>{Ar();IB=new Set(["embedded"]),ti=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&IB.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:GB(n.value)}async put(t,r,n,s={}){this._guard("put");let o=LB(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 bm(e,t){return`${wm(e)}.${$B(t)}`}function wm(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 $B(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function NB(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 Yv(e){return`'${String(e).replace(/'/g,"''")}'`}var ks,_m=_(()=>{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(Yv).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${bm(s,t)} = ${NB(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 ${bm(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 ${bm(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 ${wm(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(Yv).join(", ")}] FROM ${wm(n)}`});return s.affected??s.affected_rows??s.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new j("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,s=new URLSearchParams;r.sinceLsn!=null&&s.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&s.set("limit",String(r.limit));let o=s.toString()?`?${s}`:"",i=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${o}`,a=await fetch(i,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new j("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
105
105
 
106
106
  `)){let u=l.split(`
107
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function GB(e,t,r){let{waitMs:n,group:s=null,count:o=null}=r??{};if(!Number.isInteger(n)||n<0)throw new j("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let i=dr(e),a=dr(t),c=s!=null?` GROUP ${dr(s)}`:"",l=o!=null?_m(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function dr(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function _m(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new j("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function $B(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function NB(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new j("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${$B(e.priority)}`),e.key!=null&&(t+=` KEY ${Em(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Em(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function DB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Em(e):JSON.stringify(e)}function Em(e){return`'${String(e).replace(/'/g,"''")}'`}function wm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ti,km=_(()=>{Ar();ti=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${dr(t)}`})}push(t,r,n={}){let s=NB(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${DB(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${_m(r)}`});return wm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${_m(r)}`});return wm(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${dr(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${dr(t)}`})}async readWait(t,r,n={}){let s=GB(t,r,n),o=await this.client.call("query",{sql:s});return wm(o)}}});function Kv(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function FB(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function Xc(e){return String(e).split(".").map(zv).join(".")}function zv(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function MB(e){return Yv(JSON.stringify(e))}function BB(e){return JSON.stringify(e)}function jB(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?MB(e):Yv(e)}function Yv(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,Sm=_(()=>{Ar();ri=class{constructor(t){this.db=t}async insert(t,r){Kv(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Xc(t)} DOCUMENT VALUES (${BB(r)}) RETURNING *`),s=n.rows?.[0];if(!s||s.rid==null)throw new j("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:s.rid,item:s}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=FB(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Xc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Kv(n,"documents.patch patch");let s=Object.entries(n);if(s.length===0)throw new j("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of s)if(c.includes("/"))throw new j("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let o=s.map(([c,l])=>`${zv(c)} = ${jB(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Xc(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${Xc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function qB(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Cr(r)}.${Cr(n)})`}return HB(e)}function UB(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Cr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function HB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Qv(e)}function Qv(e){return`'${String(e).replace(/'/g,"''")}'`}var ni,Rm=_(()=>{ni=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){UB(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Qv).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Cr(s)} ${Cr(t)} = ${qB(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Cr(n)} ${Cr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Cr(n)} ${Cr(t)}`})}}});function WB(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Ss(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function JB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Xv(e)}function Xv(e){return`'${String(e).replace(/'/g,"''")}'`}var si,vm=_(()=>{si=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){WB(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Xv).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Ss(s)}.${Ss(t)} = ${JB(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${Ss(n)}.${Ss(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${Ss(n)}.${Ss(t)}`})}}});async function eT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(VB)}async function tT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${zB(t)}`)).rows??[]).some(n=>n.name===String(t))}function VB(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function Zv(e){return String(e).split(".").map(KB).join(".")}function KB(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function zB(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Tm=_(()=>{Ar();oi=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(Zv).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${Zv(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function tl(e,t={}){let r=fm(e);if(oj(r),r.kind==="embedded"){let n=sj(r,t.auth);if(n.token||n.username)throw new j("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let s=nj(r),o=t.binary??Hv(),i=await Bv(o,s),a=new Qc(i);return await a.call("version",{}),new Om(a,{transport:"embedded"})}}function nT(e){return XB(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:ej(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&rj(e)?{$uuid:e}:e}function XB(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new j("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new j("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new j("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function ZB(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(nT):e.map(nT)}function ej(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function tj(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function rj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function Zc(e){if(Array.isArray(e))return e.map(Zc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return tj(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=Zc(s);return r}return e}function nj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function sj(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function oj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",YB)}function Am(){return new j(rT,`${rT}: nested transactions are not supported on one connection`)}function oT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function ij(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${sT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function aj(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new j("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${sT} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new j("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}var YB,QB,sT,rT,el,xm,Om,iT=_(()=>{jv();Wv();Ar();mm();hm();bm();km();Sm();Rm();vm();Tm();hm();bm();km();Sm();Rm();vm();Tm();mm();YB="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",QB="1.0",sT="1.0.9",rT="NESTED_TX_NOT_SUPPORTED";el=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw Am()}},xm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Am();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new el(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){oT(r,n)}throw r}}},Om=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=QB,this.cache=new ei(t,this.transport),this.queue=new ti(t),this.queues=this.queue,this.documents=new ri(this);let n=new ks(t);this.kv=Object.assign((s="kv_default")=>new ks(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ni(t,s),this.vault=(s="red.vault")=>new si(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=ZB(r);return n==null?this.client.call("query",{sql:t}).then(Zc):this.client.call("query",{sql:t,params:n}).then(Zc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return ij(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return aj(n,r.length)}tx(){return new xm(this)}async transaction(t){if(this.inTransaction)throw Am();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new el(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){oT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return tT(this,t)}list(){return eT(this)}from(t){return new oi(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as cj}from"node:crypto";import{existsSync as aT}from"node:fs";import{mkdir as lj,readFile as uj,rename as Cm,rm as ii,stat as Pm}from"node:fs/promises";import{basename as dj,dirname as pj}from"node:path";async function cT(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,lT=_(()=>{"use strict";iT();Bc();Yc();En=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=Mv(t.uri),n=await Dv(r),s=new e(n,{uri:t.uri,ttlDays:Wc(t.ttlDays,_t),ephemeralTtlHours:Wc(t.ephemeralTtlHours,Et),byteBudget:Wc(t.byteBudget,kt),now:t.now??(()=>new Date)});return Fv(n)?(await zc(),await lj(pj(n),{recursive:!0}),s.db=await tl(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Nv(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Yo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?om(n,r.command):null,u=c==="re-executable"?im(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=sm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?lm(n,f,o):null,g=am(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};return delete this.document.tombstones[wn(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!Xo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Or(t)];if(!Zo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Or(n.handle),bytes:cm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Qo(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Qo(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:_n(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:rm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),nm(this.readIndex().records,this.opts.now(),t))}readIndex(){return this.document.index}writeIndex(t){this.document.index=t}upsertIndex(t){let n=this.readIndex().records.filter(s=>s.handle!==t.handle);n.push(t),this.writeIndex({version:1,records:n}),this.dirty=!0}prune(){let t=this.opts.now().getTime(),r=new Date(t).toISOString(),n=this.readIndex(),s=[];for(let i of n.records)Date.parse(i.expires_at)<=t?this.expireEntry(i,i.expires_at):s.push(i);let o=_n(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=_n(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[wn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[wn(t)];return Vc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Av(t.derivation_recipe);if(t.reexecution_recipe)return Cv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Jc(r)?Ov(r):null}return null}deleteUnreferencedLocalBlobs(t){let r=new Set(t.map(n=>n.blob_key).filter(n=>typeof n=="string"));for(let n of Object.keys(this.document.blobs))r.has(n)||(delete this.document.blobs[n],this.dirty=!0)}async flush(){this.dirty&&(await Es(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await Pm(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
108
- `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await Es(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(Ee)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===Ee);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${Ee}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${Ee}`),await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Yo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?om(n,r.command):null,u=c==="re-executable"?im(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=sm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?lm(n,f,o):null,g=am(n,l,u,m);m&&!Jc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(wn(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(w=>w.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!Xo(t))return null;let r=await this.kvGet(wn(t));if(Vc(r))return r;let n=await this.kvGet(Or(t));if(!Zo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:Or(n.handle),bytes:cm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Qo(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Qo(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:_n(t.records),oldest:t.records.reduce((r,n)=>r==null||n.created_at<r?n.created_at:r,null),budget:this.opts.byteBudget,storage_classes:rm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return nm(r.records,this.opts.now(),t)}async memory(t,r){if(!this.db)throw new Error("resident memory operations require the shared RedDB store");if(await this.ensureMemoryGraphStore(),t==="recall"){let n=Iv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Lv(r);return await this.memoryIngestRedDb(n)}throw new Error(`unsupported memory action: ${t}`)}async ensureMemoryGraphStore(){if(!this.db)throw new Error("rsp RedDB store is not open");await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_nodes"),await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_edges")}async memoryIngestRedDb(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Gv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await uj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=dj(s),c=cj("sha256").update("resident-memory-v1\0").update(s).update("\0").update(i).digest("hex");if(await this.db.kv("memory_kv").get(`resident-node-hash:${c}`)!=null)continue;let l=Date.now(),u={title:a,content:i,source:s,confidence:"EXTRACTED",hash:c,project:"default",scope:"project",importance:1,tier:"durable",provenance_tier:"oracle",created_at:l,updated_at:l,accessed_at:l,access_count:0,provenance:{source_kind:"system",writer:"rsp-resident",confidence:"EXTRACTED",evidence:[s],created_at:l,updated_at:l}},d=await this.db.query("INSERT INTO memory_nodes NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *",a,"concept",c,u),p=Number(d.rows[0]?.red_entity_id??d.rows[0]?.rid);Number.isFinite(p)&&await this.db.kv("memory_kv").put(`resident-node-hash:${c}`,p),n+=1}return{files:r.length,nodes:n,edges:0,docs:r.length,added:n,updated:0,skipped:r.length-n,stale:0,semantic:{enabled:!1,nodes:0,edges:0,token_cost:{input:0,output:0}},durationMs:0}}async memoryRecallRedDb(t,r){if(!this.db)throw new Error("rsp RedDB store is not open");let n=await this.db.query("SELECT * FROM memory_nodes"),s=t.toLowerCase().split(/\s+/).filter(Boolean),o=n.rows.map(i=>$v(i,s)).filter(i=>i!=null).sort((i,a)=>a.score-i.score).slice(0,Math.max(1,Math.min(100,r)));return{hits:o,context_md:o.map(i=>`- memory_nodes:${i.rid} ${i.label}: ${i.excerpt}`).join(`
109
- `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Uc());return um(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Uc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=_n(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=_n(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Pm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await ii(o,{force:!0}),await ii(i,{force:!0});let a=await tl(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Tv(l.name)}`);let u=a.kv(l.name);for(let d of l.items)await u.put(d.key,d.value)}}finally{await a.close()}let c=await Pm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ii(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Cm(this.path,i),await Cm(o,this.path),await ii(i,{force:!0})}catch(l){throw!aT(this.path)&&aT(i)&&await Cm(i,this.path),await ii(o,{force:!0}),l}finally{this.db=await tl(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Uc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(wn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Or(t));if(!Zo(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var uT={};se(uT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>En,contentHandle:()=>Yo,ensureReddbBinaryFromWarmCache:()=>zc,provisionElisionStore:()=>cT,storageClassForCommand:()=>ur});var rl=_(()=>{"use strict";Bc();Yc();Yc();lT()});async function nl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await fT(e,s),i=(await ai(e,Je)).filter($=>vs($)>=s),a=o.filter($=>W($.event_type)!=="show"&&W($.degradation_reason)===""),c=o.filter($=>W($.event_type)==="show"),l=o.filter($=>W($.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,w=0,k=0;for(let $ of a){$.elided===!0&&u++;let H=ut($.raw_bytes),ye=ut($.emitted_bytes),ht=Math.max(0,H-ye),me=Ts($,"raw"),L=Ts($,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=($.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=kn($).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W($.command)||"unknown",Fe=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Fe.invocations++,Fe.bytes_saved+=ht,Fe.tokens_saved+=U,b.set(It,Fe);let Me=Tr($.wrapper_ms);Me!=null&&y.push(Me),E+=ut($.store_open_count);let Vt=Tr($.store_elapsed_ms);Vt!=null&&(w+=Vt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let $ of l){let H=W($.degradation_reason)||W($.reason)||"unknown",ye=W($.wrapper_family)||dt(W($.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn($);C.push({timestamp:ht,family:ye,command:W($.command)||"unknown",reason:H,exit_code:Tr($.wrapper_exit_code),stderr_head:W($.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W($.command)||"unknown"})}let G=a.length+l.length,q=c.filter($=>$.hit===!0).length,Q=Xd(f,m),J=fj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([$],[H])=>$.localeCompare(H)).map(([$,H])=>({date:$,tokens_saved:H})),top_commands:[...b.values()].sort(($,H)=>H.bytes_saved-$.bytes_saved||H.tokens_saved-$.tokens_saved||$.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({reason:$,count:H})),by_family:[...T.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({family:$,count:H})),recent_failures:C.sort(($,H)=>H.timestamp.localeCompare($.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Rs(y,.5),wrapper_ms_p95:Rs(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:J}}function fj(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=W(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,ut(a.saved_units))),c!=="contributed"){let d=W(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=W(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Pe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Pe(c.contributed/l)}})}}async function Im(e,t,r=new Date){let s=(await ai(e,We)).filter(o=>vs(o)<=r.getTime()||kn(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=kn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:kj(s)}}async function Lm(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:28,s=r.toISOString(),o=new Date(r.getTime()-n*24*60*60*1e3).toISOString(),i=Date.parse(o),a=await fT(e,i),c=a.filter(L=>W(L.event_type)!=="show"&&W(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&W(L.degradation_reason)===""),l=a.filter(L=>W(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>W(L.event_type)==="show"),d=a.filter(L=>W(L.degradation_reason)!==""),p=[...c,...d].map(vs).filter(L=>Number.isFinite(L)&&L>0),f=p.length===0?null:Math.min(...p),m=f==null?0:Math.max(1,Math.min(n,Math.ceil((r.getTime()-f)/Pj()))),g=[],b=new Map,y=new Map,E=new Map,w=new Map,k=new Map,S=new Map,T=0,C=!1,O=0,G=null,q=0,Q=0;for(let L of c){let U=kn(L),Jt=U.slice(0,10),It=U.slice(0,16),Fe=dt(W(L.command)),Me=Math.max(0,Ts(L,"raw").tokens-Ts(L,"emitted").tokens);T+=Me,C||=L.estimated===!0&&Me>0;let Vt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Dn=Tr(L.wrapper_ms);if(Dn!=null){g.push(Dn);let Ks=b.get(Fe)??[];Ks.push(Dn),b.set(Fe,Ks)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=Tj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Vs=Aj(U);Vs&&k.set(Vs,(k.get(Vs)??0)+Me);let zr=S.get(Fe)??{command_family:Fe,invocations:0,tokens_saved:0,bytes_saved:0};zr.invocations++,zr.tokens_saved+=Me,zr.bytes_saved+=Vt,S.set(Fe,zr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Me>0&&(!G||Me>G.tokens_saved||Me===G.tokens_saved&&Vt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Vt})}let J=d.map(L=>({timestamp:kn(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),$=new Map;for(let L of J)$.set(L.reason,($.get(L.reason)??0)+1);let H=yj(J),ye=gj(u),ht=wj([...S.values()],ye,H),me=[...E.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:pT(g),by_command_family:[...b.entries()].sort((L,U)=>U[1].length-L[1].length||L[0].localeCompare(U[0])).map(([L,U])=>({command_family:L,count:U.length,...pT(U)}))},throughput:{requests_per_day:[...y.entries()].sort(([L],[U])=>L.localeCompare(U)).map(([L,U])=>({date:L,requests:U})),active_minute_avg:E.size===0?null:Pe([...E.values()].reduce((L,U)=>L+U,0)/E.size),peak_minute:me?{minute:me[0],requests:me[1]}:null,hour_weekday_heatmap:xj(w)},savings:{tokens:Xd(T,C),measured_control_holdout:mj(c,l),weekly_tokens_saved:Cj(k),elision_rate:c.length===0?0:Pe(O/c.length),top_commands_by_tokens_saved:[...S.values()].sort((L,U)=>U.tokens_saved-L.tokens_saved||U.bytes_saved-L.bytes_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),top_commands_by_invocation_count:[...S.values()].sort((L,U)=>U.invocations-L.invocations||U.tokens_saved-L.tokens_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),single_biggest_elision:G},health:{degradation_timeline:J,degradations_by_reason:[...$.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0])).map(([L,U])=>({reason:L,count:U})),cold_boots:q===0?null:Q,warm_hits:q===0?null:Math.max(0,q-Q)},mining:{recovery_usage_by_family:ye,degradation_clusters:H,threshold_tuning_suggestions:ht}}}async function fT(e,t){let r=(await ai(e,We)).filter(i=>vs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ai(e,lt)).filter(i=>vs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await ai(e,Tt)).filter(i=>vs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:W(i.reason)||"unknown"}));return[...r,...s,...o]}function Ts(e,t){let r=Tr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function mj(e,t){let r=Ej(t.map(a=>Tr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(dT).filter(a=>a!=null),s=t.map(dT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(_j(o));return{enabled:!0,holdout_share:Pe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:hj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function dT(e){let t=Ts(e,"raw").tokens;if(t<=0)return null;let r=Ts(e,"emitted").tokens;return Math.max(0,t-r)/t}function hj(e,t){if(e.length<=1)return{low:Pe(Math.max(0,t)),high:Pe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Pe(Math.max(0,t-n)),high:Pe(Math.min(1,t+n))}}function gj(e){let t=new Map;for(let r of e){let n=dt(W(r.recovered_command)||W(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Pe(r.show_hits/r.show_total)}))}function yj(e){let t=new Map;for(let r of e){let n=`${r.command_family}\0${r.reason}`,s=t.get(n)??{command_family:r.command_family,reason:r.reason,count:0};s.count++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.count-r.count||r.command_family.localeCompare(n.command_family)||r.reason.localeCompare(n.reason)).map(r=>({...r,suggestion:bj(r)}))}function bj(e){return/unavailable|not provisioned|missing/i.test(e.reason)?`Investigate ${e.command_family} wrapper availability before changing thresholds`:/timeout|large|limit/i.test(e.reason)?`Review ${e.command_family} byte thresholds and timeout caps for ${e.count} matching degradations`:`Investigate ${e.command_family} ${e.reason} cluster before tuning compression thresholds`}function wj(e,t,r){let n=[];for(let s of t.filter(o=>o.show_total>0))n.push({command_family:s.command_family,signal:`recovery_show_rate=${s.show_total}`,suggestion:s.show_hit_rate>=.5?"Consider preserving more context or raising terse thresholds for frequently recovered outputs":"Recovery misses dominate; inspect handle lifetime before threshold changes"});for(let s of r.filter(o=>o.count>1))n.push({command_family:s.command_family,signal:`degradation_cluster=${s.reason}:${s.count}`,suggestion:"Fix the repeated degradation before tightening compression"});for(let s of e.filter(o=>o.invocations>0&&o.tokens_saved===0))n.push({command_family:s.command_family,signal:"zero_token_savings",suggestion:"Consider bypassing or raising admission thresholds for this family"});return n.slice(0,10)}function _j(e){return e.reduce((t,r)=>t+r,0)/e.length}function Ej(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function kj(e){let t=Rj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Sj(r.storage_class)??ur(W(r.command));t[n].records+=1;let s=ut(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function Sj(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function Rj(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}async function ai(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>vj(n.value)).filter(n=>ys(n))}function vj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function vs(e){let t=Date.parse(kn(e));return Number.isFinite(t)?t:0}function kn(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function Rs(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Pe(r[n])}function pT(e){return{wrapper_ms_p50:Rs(e,.5),wrapper_ms_p90:Rs(e,.9),wrapper_ms_p95:Rs(e,.95),wrapper_ms_p99:Rs(e,.99)}}function Pe(e){return Math.round(e*100)/100}function Tj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${Oj(t.getUTCDay())}:${t.getUTCHours()}`:null}function xj(e){let t=[];for(let r of["sun","mon","tue","wed","thu","fri","sat"])for(let n=0;n<24;n++){let s=e.get(`${r}:${n}`)??0;s>0&&t.push({weekday:r,hour:n,requests:s})}return t}function Oj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Aj(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return null;let r=t.getUTCDay(),n=r===0?-6:1-r;return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+n)).toISOString().slice(0,10)}function Cj(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Pe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function Pj(){return 24*60*60*1e3}var mT=_(()=>{"use strict";Jo();rl();Zd();Nc();Wf()});var ci={};se(ci,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>We,RSP_DECISIONS_COLLECTION:()=>Je,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>jo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Uf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Hf,RSP_TELEMETRY_SPOOL_FILE:()=>qf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>xr,drainTelemetrySpool:()=>Qf,parseTelemetryEvent:()=>ws,readAccountingLaneStats:()=>Im,readTelemetryGainsReport:()=>Lm,readTelemetryStats:()=>nl,takeTelemetrySpool:()=>GM,telemetryLegacySpoolPath:()=>zf,telemetrySpoolCorrectionsPath:()=>Yf,telemetrySpoolPath:()=>lr});var Ft=_(()=>{"use strict";Nc();Rv();mT()});import{isUtf8 as Ij}from"node:buffer";async function hT(e,t=r=>r){let r=[],n=[];return e.stdout?.on("data",s=>r.push(Buffer.from(s))),e.stderr?.on("data",s=>n.push(Buffer.from(s))),await new Promise(s=>{let o=!1,i=async(a,c)=>{if(o)return;o=!0;let l=Buffer.concat(r),u=l;if(l.length>0&&Ij(l))try{u=await t(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(n)),c){process.kill(process.pid,c),s(128);return}s(a??0)};e.once("error",a=>{n.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
110
- `)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var gT=_(()=>{"use strict"});var K=I(ke=>{"use strict";var Gm=Symbol.for("yaml.alias"),yT=Symbol.for("yaml.document"),sl=Symbol.for("yaml.map"),bT=Symbol.for("yaml.pair"),$m=Symbol.for("yaml.scalar"),ol=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),Lj=e=>!!e&&typeof e=="object"&&e[pr]===Gm,Gj=e=>!!e&&typeof e=="object"&&e[pr]===yT,$j=e=>!!e&&typeof e=="object"&&e[pr]===sl,Nj=e=>!!e&&typeof e=="object"&&e[pr]===bT,wT=e=>!!e&&typeof e=="object"&&e[pr]===$m,Dj=e=>!!e&&typeof e=="object"&&e[pr]===ol;function _T(e){if(e&&typeof e=="object")switch(e[pr]){case sl:case ol:return!0}return!1}function Fj(e){if(e&&typeof e=="object")switch(e[pr]){case Gm:case sl:case $m:case ol:return!0}return!1}var Mj=e=>(wT(e)||_T(e))&&!!e.anchor;ke.ALIAS=Gm;ke.DOC=yT;ke.MAP=sl;ke.NODE_TYPE=pr;ke.PAIR=bT;ke.SCALAR=$m;ke.SEQ=ol;ke.hasAnchor=Mj;ke.isAlias=Lj;ke.isCollection=_T;ke.isDocument=Gj;ke.isMap=$j;ke.isNode=Fj;ke.isPair=Nj;ke.isScalar=wT;ke.isSeq=Dj});var li=I(Nm=>{"use strict";var pe=K(),Ve=Symbol("break visit"),ET=Symbol("skip children"),Mt=Symbol("remove node");function il(e,t){let r=kT(t);pe.isDocument(e)?xs(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):xs(null,e,r,Object.freeze([]))}il.BREAK=Ve;il.SKIP=ET;il.REMOVE=Mt;function xs(e,t,r,n){let s=ST(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return RT(e,n,s),xs(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=xs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ve)return Ve;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=xs("key",t.key,r,n);if(o===Ve)return Ve;o===Mt&&(t.key=null);let i=xs("value",t.value,r,n);if(i===Ve)return Ve;i===Mt&&(t.value=null)}}return s}async function al(e,t){let r=kT(t);pe.isDocument(e)?await Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await Os(null,e,r,Object.freeze([]))}al.BREAK=Ve;al.SKIP=ET;al.REMOVE=Mt;async function Os(e,t,r,n){let s=await ST(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return RT(e,n,s),Os(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=await Os(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ve)return Ve;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await Os("key",t.key,r,n);if(o===Ve)return Ve;o===Mt&&(t.key=null);let i=await Os("value",t.value,r,n);if(i===Ve)return Ve;i===Mt&&(t.value=null)}}return s}function kT(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function ST(e,t,r,n){if(typeof r=="function")return r(e,t,n);if(pe.isMap(t))return r.Map?.(e,t,n);if(pe.isSeq(t))return r.Seq?.(e,t,n);if(pe.isPair(t))return r.Pair?.(e,t,n);if(pe.isScalar(t))return r.Scalar?.(e,t,n);if(pe.isAlias(t))return r.Alias?.(e,t,n)}function RT(e,t,r){let n=t[t.length-1];if(pe.isCollection(n))n.items[e]=r;else if(pe.isPair(n))e==="key"?n.key=r:n.value=r;else if(pe.isDocument(n))n.contents=r;else{let s=pe.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}Nm.visit=il;Nm.visitAsync=al});var Dm=I(TT=>{"use strict";var vT=K(),Bj=li(),jj={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},qj=e=>e.replace(/[!,[\]{}]/g,t=>jj[t]),ui=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[o,i]=n;return this.tags[o]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[o]=n;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let i=/^\d+\.\d+$/.test(o);return r(6,`Unsupported YAML version ${o}`,i),!1}}default:return r(0,`Unknown directive ${s}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let i=t.slice(2,-1);return i==="!"||i==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),i)}let[,n,s]=t.match(/^(.*!)([^!]*)$/s);s||r(`The ${t} tag has no suffix`);let o=this.tags[n];if(o)try{return o+decodeURIComponent(s)}catch(i){return r(String(i)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+qj(t.substring(n.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),s;if(t&&n.length>0&&vT.isNode(t.contents)){let o={};Bj.visit(t.contents,(i,a)=>{vT.isNode(a)&&a.tag&&(o[a.tag]=!0)}),s=Object.keys(o)}else s=[];for(let[o,i]of n)o==="!!"&&i==="tag:yaml.org,2002:"||(!t||s.some(a=>a.startsWith(i)))&&r.push(`%TAG ${o} ${i}`);return r.join(`
111
- `)}};ui.defaultYaml={explicit:!1,version:"1.2"};ui.defaultTags={"!!":"tag:yaml.org,2002:"};TT.Directives=ui});var cl=I(di=>{"use strict";var xT=K(),Uj=li();function Hj(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(r)}return!0}function OT(e){let t=new Set;return Uj.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function AT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Wj(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=OT(e));let i=AT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(xT.isScalar(i.node)||xT.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:n}}di.anchorIsValid=Hj;di.anchorNames=OT;di.createNodeAnchors=Wj;di.findNewAnchor=AT});var Fm=I(CT=>{"use strict";function pi(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,o=n.length;s<o;++s){let i=n[s],a=pi(e,n,String(s),i);a===void 0?delete n[s]:a!==i&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let o=n.get(s),i=pi(e,n,s,o);i===void 0?n.delete(s):i!==o&&n.set(s,i)}else if(n instanceof Set)for(let s of Array.from(n)){let o=pi(e,n,s,s);o===void 0?n.delete(s):o!==s&&(n.delete(s),n.add(o))}else for(let[s,o]of Object.entries(n)){let i=pi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}CT.applyReviver=pi});var Pr=I(IT=>{"use strict";var Jj=K();function PT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>PT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!Jj.hasAnchor(e))return e.toJSON(t,r);let n={aliasCount:0,count:1,res:void 0};r.anchors.set(e,n),r.onCreate=o=>{n.res=o,delete r.onCreate};let s=e.toJSON(t,r);return r.onCreate&&r.onCreate(s),s}return typeof e=="bigint"&&!r?.keep?Number(e):e}IT.toJS=PT});var ll=I(GT=>{"use strict";var Vj=Fm(),LT=K(),Kj=Pr(),Mm=class{constructor(t){Object.defineProperty(this,LT.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:r,maxAliasCount:n,onAnchor:s,reviver:o}={}){if(!LT.isDocument(t))throw new TypeError("A document argument is required");let i={anchors:new Map,doc:t,keep:!0,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=Kj.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Vj.applyReviver(o,{"":a},"",a):a}};GT.NodeBase=Mm});var fi=I($T=>{"use strict";var zj=cl(),Yj=li(),As=K(),Qj=ll(),Xj=Pr(),Bm=class extends Qj.NodeBase{constructor(t){super(As.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,r){if(r?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;r?.aliasResolveCache?n=r.aliasResolveCache:(n=[],Yj.visit(t,{Node:(o,i)=>{(As.isAlias(i)||As.hasAnchor(i))&&n.push(i)}}),r&&(r.aliasResolveCache=n));let s;for(let o of n){if(o===this)break;o.anchor===this.source&&(s=o)}return s}toJSON(t,r){if(!r)return{source:this.source};let{anchors:n,doc:s,maxAliasCount:o}=r,i=this.resolve(s,r);if(!i){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=n.get(i);if(a||(Xj.toJS(i,null,r),a=n.get(i)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=ul(s,i,n)),a.count*a.aliasCount>o)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(t,r,n){let s=`*${this.source}`;if(t){if(zj.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function ul(e,t,r){if(As.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(As.isCollection(t)){let n=0;for(let s of t.items){let o=ul(e,s,r);o>n&&(n=o)}return n}else if(As.isPair(t)){let n=ul(e,t.key,r),s=ul(e,t.value,r);return Math.max(n,s)}return 1}$T.Alias=Bm});var le=I(jm=>{"use strict";var Zj=K(),eq=ll(),tq=Pr(),rq=e=>!e||typeof e!="function"&&typeof e!="object",Ir=class extends eq.NodeBase{constructor(t){super(Zj.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:tq.toJS(this.value,t,r)}toString(){return String(this.value)}};Ir.BLOCK_FOLDED="BLOCK_FOLDED";Ir.BLOCK_LITERAL="BLOCK_LITERAL";Ir.PLAIN="PLAIN";Ir.QUOTE_DOUBLE="QUOTE_DOUBLE";Ir.QUOTE_SINGLE="QUOTE_SINGLE";jm.Scalar=Ir;jm.isScalarValue=rq});var mi=I(DT=>{"use strict";var nq=fi(),Sn=K(),NT=le(),sq="tag:yaml.org,2002:";function oq(e,t,r){if(t){let n=r.filter(o=>o.tag===t),s=n.find(o=>!o.format)??n[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return r.find(n=>n.identify?.(e)&&!n.format)}function iq(e,t,r){if(Sn.isDocument(e)&&(e=e.contents),Sn.isNode(e))return e;if(Sn.isPair(e)){let d=r.schema[Sn.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:o,schema:i,sourceObjects:a}=r,c;if(n&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=s(e)),new nq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=sq+t.slice(2));let l=oq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new NT.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[Sn.MAP]:Symbol.iterator in Object(e)?i[Sn.SEQ]:i[Sn.MAP]}o&&(o(l),delete r.onTagObj);let u=l?.createNode?l.createNode(r.schema,e,r):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(r.schema,e,r):new NT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}DT.createNode=iq});var pl=I(dl=>{"use strict";var aq=mi(),Bt=K(),cq=ll();function qm(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return aq.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var FT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Um=class extends cq.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Bt.isNode(n)||Bt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(FT(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Bt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,qm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(Bt.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...s]=t,o=this.get(n,!0);return s.length===0?!r&&Bt.isScalar(o)?o.value:o:Bt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Bt.isPair(r))return!1;let n=r.value;return n==null||t&&Bt.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let s=this.get(r,!0);return Bt.isCollection(s)?s.hasIn(n):!1}setIn(t,r){let[n,...s]=t;if(s.length===0)this.set(n,r);else{let o=this.get(n,!0);if(Bt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,qm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};dl.Collection=Um;dl.collectionFromPath=qm;dl.isEmptyPath=FT});var hi=I(fl=>{"use strict";var lq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Hm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var uq=(e,t,r)=>e.endsWith(`
112
- `)?Hm(r,t):r.includes(`
107
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function DB(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?km(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 km(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 FB(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function MB(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 ${FB(e.priority)}`),e.key!=null&&(t+=` KEY ${Sm(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Sm(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function BB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Sm(e):JSON.stringify(e)}function Sm(e){return`'${String(e).replace(/'/g,"''")}'`}function Em(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var ri,Rm=_(()=>{Ar();ri=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=MB(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${BB(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${km(r)}`});return Em(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${km(r)}`});return Em(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=DB(t,r,n),o=await this.client.call("query",{sql:s});return Em(o)}}});function Qv(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function jB(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function Zc(e){return String(e).split(".").map(Xv).join(".")}function Xv(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 qB(e){return Zv(JSON.stringify(e))}function UB(e){return JSON.stringify(e)}function HB(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?qB(e):Zv(e)}function Zv(e){return`'${String(e).replace(/'/g,"''")}'`}var ni,vm=_(()=>{Ar();ni=class{constructor(t){this.db=t}async insert(t,r){Qv(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Zc(t)} DOCUMENT VALUES (${UB(r)}) RETURNING *`),s=n.rows?.[0];if(!s||s.rid==null)throw new j("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:s.rid,item:s}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=jB(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Zc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Qv(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])=>`${Xv(c)} = ${HB(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Zc(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${Zc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function WB(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Cr(r)}.${Cr(n)})`}return VB(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 VB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):eT(e)}function eT(e){return`'${String(e).replace(/'/g,"''")}'`}var si,Tm=_(()=>{si=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(eT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Cr(s)} ${Cr(t)} = ${WB(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 KB(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 zB(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):tT(e)}function tT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,xm=_(()=>{oi=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){KB(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(tT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Ss(s)}.${Ss(t)} = ${zB(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 nT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(YB)}async function sT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${XB(t)}`)).rows??[]).some(n=>n.name===String(t))}function YB(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function rT(e){return String(e).split(".").map(QB).join(".")}function QB(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 XB(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Om=_(()=>{Ar();ii=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(rT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${rT(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function rl(e,t={}){let r=hm(e);if(cj(r),r.kind==="embedded"){let n=aj(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=ij(r),o=t.binary??Vv(),i=await Uv(o,s),a=new Xc(i);return await a.call("version",{}),new Cm(a,{transport:"embedded"})}}function iT(e){return tj(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:nj(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&oj(e)?{$uuid:e}:e}function tj(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 rj(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(iT):e.map(iT)}function nj(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 sj(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 oj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function el(e){if(Array.isArray(e))return e.map(el);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return sj(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=el(s);return r}return e}function ij(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function aj(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 cj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",ZB)}function Pm(){return new j(oT,`${oT}: nested transactions are not supported on one connection`)}function cT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function lj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${aT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function uj(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 >= ${aT} 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 ZB,ej,aT,oT,tl,Am,Cm,lT=_(()=>{Hv();Kv();Ar();gm();ym();_m();Rm();vm();Tm();xm();Om();ym();_m();Rm();vm();Tm();xm();Om();gm();ZB="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",ej="1.0",aT="1.0.9",oT="NESTED_TX_NOT_SUPPORTED";tl=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw Pm()}},Am=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Pm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new tl(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){cT(r,n)}throw r}}},Cm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=ej,this.cache=new ti(t,this.transport),this.queue=new ri(t),this.queues=this.queue,this.documents=new ni(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 si(t,s),this.vault=(s="red.vault")=>new oi(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=rj(r);return n==null?this.client.call("query",{sql:t}).then(el):this.client.call("query",{sql:t,params:n}).then(el)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return lj(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 uj(n,r.length)}tx(){return new Am(this)}async transaction(t){if(this.inTransaction)throw Pm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new tl(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){cT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return sT(this,t)}list(){return nT(this)}from(t){return new ii(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 dj}from"node:crypto";import{existsSync as uT}from"node:fs";import{mkdir as pj,readFile as fj,rename as Im,rm as ai,stat as Lm}from"node:fs/promises";import{basename as mj,dirname as hj}from"node:path";async function dT(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,pT=_(()=>{"use strict";lT();jc();Qc();En=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=qv(t.uri),n=await Bv(r),s=new e(n,{uri:t.uri,ttlDays:Jc(t.ttlDays,_t),ephemeralTtlHours:Jc(t.ephemeralTtlHours,Et),byteBudget:Jc(t.byteBudget,kt),now:t.now??(()=>new Date)});return jv(n)?(await Yc(),await pj(hj(n),{recursive:!0}),s.db=await rl(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Mv(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=Qo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?am(n,r.command):null,u=c==="re-executable"?cm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=im(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?dm(n,f,o):null,g=lm(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(!Zo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Or(t)];if(!ei(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:um(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Xo(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:Xo(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:sm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),om(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 Kc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Iv(t.derivation_recipe);if(t.reexecution_recipe)return Lv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Vc(r)?Pv(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 Lm(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=Qo(n,r),a=Or(i),c=ur(r.command),l=c==="derivable"?am(n,r.command):null,u=c==="re-executable"?cm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=im(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=bn(n),m=d==="ephemeral"?dm(n,f,o):null,g=lm(n,l,u,m);m&&!Vc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(wn(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(w=>w.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!Zo(t))return null;let r=await this.kvGet(wn(t));if(Kc(r))return r;let n=await this.kvGet(Or(t));if(!ei(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:um(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Xo(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:Xo(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:sm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return om(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=$v(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Nv(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 Dv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await fj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=mj(s),c=dj("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=>Fv(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(Hc());return pm(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Hc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=_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 Lm(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 ai(o,{force:!0}),await ai(i,{force:!0});let a=await rl(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Av(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 Lm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ai(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Im(this.path,i),await Im(o,this.path),await ai(i,{force:!0})}catch(l){throw!uT(this.path)&&uT(i)&&await Im(i,this.path),await ai(o,{force:!0}),l}finally{this.db=await rl(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Hc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(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(!ei(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 fT={};se(fT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>En,contentHandle:()=>Qo,ensureReddbBinaryFromWarmCache:()=>Yc,provisionElisionStore:()=>dT,storageClassForCommand:()=>ur});var nl=_(()=>{"use strict";jc();Qc();Qc();pT()});async function sl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await gT(e,s),i=(await ci(e,Je)).filter($=>vs($)>=s),a=o.filter($=>W($.event_type)!=="show"&&W($.degradation_reason)===""),c=o.filter($=>W($.event_type)==="show"),l=o.filter($=>W($.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,w=0,k=0;for(let $ of a){$.elided===!0&&u++;let H=ut($.raw_bytes),ye=ut($.emitted_bytes),ht=Math.max(0,H-ye),me=Ts($,"raw"),L=Ts($,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=($.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=kn($).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W($.command)||"unknown",Fe=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Fe.invocations++,Fe.bytes_saved+=ht,Fe.tokens_saved+=U,b.set(It,Fe);let Me=Tr($.wrapper_ms);Me!=null&&y.push(Me),E+=ut($.store_open_count);let Vt=Tr($.store_elapsed_ms);Vt!=null&&(w+=Vt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let $ of l){let H=W($.degradation_reason)||W($.reason)||"unknown",ye=W($.wrapper_family)||dt(W($.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn($);C.push({timestamp:ht,family:ye,command:W($.command)||"unknown",reason:H,exit_code:Tr($.wrapper_exit_code),stderr_head:W($.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W($.command)||"unknown"})}let G=a.length+l.length,q=c.filter($=>$.hit===!0).length,Q=Zd(f,m),J=gj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([$],[H])=>$.localeCompare(H)).map(([$,H])=>({date:$,tokens_saved:H})),top_commands:[...b.values()].sort(($,H)=>H.bytes_saved-$.bytes_saved||H.tokens_saved-$.tokens_saved||$.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({reason:$,count:H})),by_family:[...T.entries()].sort(($,H)=>H[1]-$[1]||$[0].localeCompare(H[0])).map(([$,H])=>({family:$,count:H})),recent_failures:C.sort(($,H)=>H.timestamp.localeCompare($.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Rs(y,.5),wrapper_ms_p95:Rs(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:J}}function gj(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=W(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,ut(a.saved_units))),c!=="contributed"){let d=W(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=W(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Pe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Pe(c.contributed/l)}})}}async function Gm(e,t,r=new Date){let s=(await ci(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:vj(s)}}async function $m(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:28,s=r.toISOString(),o=new Date(r.getTime()-n*24*60*60*1e3).toISOString(),i=Date.parse(o),a=await gT(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)/Gj()))),g=[],b=new Map,y=new Map,E=new Map,w=new Map,k=new Map,S=new Map,T=0,C=!1,O=0,G=null,q=0,Q=0;for(let L of c){let U=kn(L),Jt=U.slice(0,10),It=U.slice(0,16),Fe=dt(W(L.command)),Me=Math.max(0,Ts(L,"raw").tokens-Ts(L,"emitted").tokens);T+=Me,C||=L.estimated===!0&&Me>0;let Vt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Dn=Tr(L.wrapper_ms);if(Dn!=null){g.push(Dn);let Ks=b.get(Fe)??[];Ks.push(Dn),b.set(Fe,Ks)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=Aj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Vs=Ij(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=_j(J),ye=wj(u),ht=kj([...S.values()],ye,H),me=[...E.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:hT(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,...hT(U)}))},throughput:{requests_per_day:[...y.entries()].sort(([L],[U])=>L.localeCompare(U)).map(([L,U])=>({date:L,requests:U})),active_minute_avg:E.size===0?null:Pe([...E.values()].reduce((L,U)=>L+U,0)/E.size),peak_minute:me?{minute:me[0],requests:me[1]}:null,hour_weekday_heatmap:Cj(w)},savings:{tokens:Zd(T,C),measured_control_holdout:yj(c,l),weekly_tokens_saved:Lj(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 gT(e,t){let r=(await ci(e,We)).filter(i=>vs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ci(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 ci(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 yj(e,t){let r=Rj(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(mT).filter(a=>a!=null),s=t.map(mT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(Sj(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:bj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function mT(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 bj(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 wj(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 _j(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:Ej(r)}))}function Ej(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 kj(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 Sj(e){return e.reduce((t,r)=>t+r,0)/e.length}function Rj(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function vj(e){let t=xj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Tj(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 Tj(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function xj(){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 ci(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=>Oj(n.value)).filter(n=>ys(n))}function Oj(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 hT(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 Aj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${Pj(t.getUTCDay())}:${t.getUTCHours()}`:null}function Cj(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 Pj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Ij(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 Lj(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 Gj(){return 24*60*60*1e3}var yT=_(()=>{"use strict";Vo();nl();ep();Dc();Vf()});var li={};se(li,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>We,RSP_DECISIONS_COLLECTION:()=>Je,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>qo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Wf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Jf,RSP_TELEMETRY_SPOOL_FILE:()=>Hf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>xr,drainTelemetrySpool:()=>Zf,parseTelemetryEvent:()=>ws,readAccountingLaneStats:()=>Gm,readTelemetryGainsReport:()=>$m,readTelemetryStats:()=>sl,takeTelemetrySpool:()=>DM,telemetryLegacySpoolPath:()=>Qf,telemetrySpoolCorrectionsPath:()=>Xf,telemetrySpoolPath:()=>lr});var Ft=_(()=>{"use strict";Dc();xv();yT()});import{isUtf8 as $j}from"node:buffer";async function bT(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&&$j(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 wT=_(()=>{"use strict"});var K=I(ke=>{"use strict";var Nm=Symbol.for("yaml.alias"),_T=Symbol.for("yaml.document"),ol=Symbol.for("yaml.map"),ET=Symbol.for("yaml.pair"),Dm=Symbol.for("yaml.scalar"),il=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),Nj=e=>!!e&&typeof e=="object"&&e[pr]===Nm,Dj=e=>!!e&&typeof e=="object"&&e[pr]===_T,Fj=e=>!!e&&typeof e=="object"&&e[pr]===ol,Mj=e=>!!e&&typeof e=="object"&&e[pr]===ET,kT=e=>!!e&&typeof e=="object"&&e[pr]===Dm,Bj=e=>!!e&&typeof e=="object"&&e[pr]===il;function ST(e){if(e&&typeof e=="object")switch(e[pr]){case ol:case il:return!0}return!1}function jj(e){if(e&&typeof e=="object")switch(e[pr]){case Nm:case ol:case Dm:case il:return!0}return!1}var qj=e=>(kT(e)||ST(e))&&!!e.anchor;ke.ALIAS=Nm;ke.DOC=_T;ke.MAP=ol;ke.NODE_TYPE=pr;ke.PAIR=ET;ke.SCALAR=Dm;ke.SEQ=il;ke.hasAnchor=qj;ke.isAlias=Nj;ke.isCollection=ST;ke.isDocument=Dj;ke.isMap=Fj;ke.isNode=jj;ke.isPair=Mj;ke.isScalar=kT;ke.isSeq=Bj});var ui=I(Fm=>{"use strict";var pe=K(),Ve=Symbol("break visit"),RT=Symbol("skip children"),Mt=Symbol("remove node");function al(e,t){let r=vT(t);pe.isDocument(e)?xs(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):xs(null,e,r,Object.freeze([]))}al.BREAK=Ve;al.SKIP=RT;al.REMOVE=Mt;function xs(e,t,r,n){let s=TT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return xT(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 cl(e,t){let r=vT(t);pe.isDocument(e)?await Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await Os(null,e,r,Object.freeze([]))}cl.BREAK=Ve;cl.SKIP=RT;cl.REMOVE=Mt;async function Os(e,t,r,n){let s=await TT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return xT(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 vT(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 TT(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 xT(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`)}}Fm.visit=al;Fm.visitAsync=cl});var Mm=I(AT=>{"use strict";var OT=K(),Uj=ui(),Hj={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Wj=e=>e.replace(/[!,[\]{}]/g,t=>Hj[t]),di=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+Wj(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&&OT.isNode(t.contents)){let o={};Uj.visit(t.contents,(i,a)=>{OT.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
+ `)}};di.defaultYaml={explicit:!1,version:"1.2"};di.defaultTags={"!!":"tag:yaml.org,2002:"};AT.Directives=di});var ll=I(pi=>{"use strict";var CT=K(),Jj=ui();function Vj(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 PT(e){let t=new Set;return Jj.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function IT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Kj(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=PT(e));let i=IT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(CT.isScalar(i.node)||CT.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}}pi.anchorIsValid=Vj;pi.anchorNames=PT;pi.createNodeAnchors=Kj;pi.findNewAnchor=IT});var Bm=I(LT=>{"use strict";function fi(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=fi(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=fi(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=fi(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=fi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}LT.applyReviver=fi});var Pr=I($T=>{"use strict";var zj=K();function GT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>GT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!zj.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}$T.toJS=GT});var ul=I(DT=>{"use strict";var Yj=Bm(),NT=K(),Qj=Pr(),jm=class{constructor(t){Object.defineProperty(this,NT.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(!NT.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=Qj.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Yj.applyReviver(o,{"":a},"",a):a}};DT.NodeBase=jm});var mi=I(FT=>{"use strict";var Xj=ll(),Zj=ui(),As=K(),eq=ul(),tq=Pr(),qm=class extends eq.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=[],Zj.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||(tq.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=dl(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(Xj.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 dl(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=dl(e,s,r);o>n&&(n=o)}return n}else if(As.isPair(t)){let n=dl(e,t.key,r),s=dl(e,t.value,r);return Math.max(n,s)}return 1}FT.Alias=qm});var le=I(Um=>{"use strict";var rq=K(),nq=ul(),sq=Pr(),oq=e=>!e||typeof e!="function"&&typeof e!="object",Ir=class extends nq.NodeBase{constructor(t){super(rq.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:sq.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";Um.Scalar=Ir;Um.isScalarValue=oq});var hi=I(BT=>{"use strict";var iq=mi(),Sn=K(),MT=le(),aq="tag:yaml.org,2002:";function cq(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 lq(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 iq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=aq+t.slice(2));let l=cq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new MT.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 MT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}BT.createNode=lq});var fl=I(pl=>{"use strict";var uq=hi(),Bt=K(),dq=ul();function Hm(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 uq.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 jT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Wm=class extends dq.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(jT(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,Hm(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,Hm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};pl.Collection=Wm;pl.collectionFromPath=Hm;pl.isEmptyPath=jT});var gi=I(ml=>{"use strict";var pq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Jm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var fq=(e,t,r)=>e.endsWith(`
112
+ `)?Jm(r,t):r.includes(`
113
113
  `)?`
114
- `+Hm(r,t):(e.endsWith(" ")?"":" ")+r;fl.indentComment=Hm;fl.lineComment=uq;fl.stringifyComment=lq});var BT=I(gi=>{"use strict";var dq="flow",Wm="block",ml="quoted";function pq(e,t,r="flow",{indentAtStart:n,lineWidth:s=80,minContentWidth:o=20,onFold:i,onOverflow:a}={}){if(!s||s<0)return e;s<o&&(o=0);let c=Math.max(1+o,1+s-t.length);if(e.length<=c)return e;let l=[],u={},d=s-t.length;typeof n=="number"&&(n>s-Math.max(2,o)?l.push(0):d=s-n);let p,f,m=!1,g=-1,b=-1,y=-1;r===Wm&&(g=MT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===ml&&w==="\\"){switch(b=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}y=g}if(w===`
115
- `)r===Wm&&(g=MT(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(w===" "&&f&&f!==" "&&f!==`
114
+ `+Jm(r,t):(e.endsWith(" ")?"":" ")+r;ml.indentComment=Jm;ml.lineComment=fq;ml.stringifyComment=pq});var UT=I(yi=>{"use strict";var mq="flow",Vm="block",hl="quoted";function hq(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===Vm&&(g=qT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===hl&&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===Vm&&(g=qT(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(w===" "&&f&&f!==" "&&f!==`
116
116
  `&&f!==" "){let k=e[g+1];k&&k!==" "&&k!==`
117
- `&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===ml){for(;f===" "||f===" ";)f=w,w=e[g+=1],m=!0;let k=g>y+1?g-2:b-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=w}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let w=0;w<l.length;++w){let k=l[w],S=l[w+1]||e.length;k===0?E=`
118
- ${t}${e.slice(0,S)}`:(r===ml&&u[k]&&(E+=`${e[k]}\\`),E+=`
119
- ${t}${e.slice(k+1,S)}`)}return E}function MT(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
120
- `);n=t,s=t+1,o=e[s]}return n}gi.FOLD_BLOCK=Wm;gi.FOLD_FLOW=dq;gi.FOLD_QUOTED=ml;gi.foldFlowLines=pq});var bi=I(jT=>{"use strict";var xt=le(),Lr=BT(),gl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),yl=e=>/^(%|---|\.\.\.)/m.test(e);function fq(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
121
- `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function yi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(yl(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
117
+ `&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===hl){for(;f===" "||f===" ";)f=w,w=e[g+=1],m=!0;let k=g>y+1?g-2:b-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=w}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let w=0;w<l.length;++w){let k=l[w],S=l[w+1]||e.length;k===0?E=`
118
+ ${t}${e.slice(0,S)}`:(r===hl&&u[k]&&(E+=`${e[k]}\\`),E+=`
119
+ ${t}${e.slice(k+1,S)}`)}return E}function qT(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
120
+ `);n=t,s=t+1,o=e[s]}return n}yi.FOLD_BLOCK=Vm;yi.FOLD_FLOW=mq;yi.FOLD_QUOTED=hl;yi.foldFlowLines=hq});var wi=I(HT=>{"use strict";var xt=le(),Lr=UT(),yl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),bl=e=>/^(%|---|\.\.\.)/m.test(e);function gq(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
121
+ `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function bi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(bl(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
122
122
 
123
123
  `;r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"';)i+=`
124
- `,c+=2;i+=o,r[c+2]===" "&&(i+="\\"),c+=1,a=c+1}break;default:c+=1}return i=a?i+r.slice(a):r,n?i:Lr.foldFlowLines(i,o,Lr.FOLD_QUOTED,gl(t,!1))}function Jm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
125
- `)||/[ \t]\n|\n[ \t]/.test(e))return yi(e,t);let r=t.indent||(yl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
126
- ${r}`)+"'";return t.implicitKey?n:Lr.foldFlowLines(n,r,Lr.FOLD_FLOW,gl(t,!1))}function Cs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=yi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Jm:o&&!s?n=yi:n=r?Jm:yi}return n(e,t)}var Vm;try{Vm=new RegExp(`(^|(?<!
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,yl(t,!1))}function Km(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
125
+ `)||/[ \t]\n|\n[ \t]/.test(e))return bi(e,t);let r=t.indent||(bl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
126
+ ${r}`)+"'";return t.implicitKey?n:Lr.foldFlowLines(n,r,Lr.FOLD_FLOW,yl(t,!1))}function Cs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=bi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Km:o&&!s?n=bi:n=r?Km:bi}return n(e,t)}var zm;try{zm=new RegExp(`(^|(?<!
127
127
  ))
128
128
  +(?!
129
- |$)`,"g")}catch{Vm=/\n+(?!\n|$)/g}function hl({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Cs(r,n);let l=n.indent||(n.forceBlockIndent||yl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!fq(r,c,l.length);if(!r)return u?`|
129
+ |$)`,"g")}catch{zm=/\n+(?!\n|$)/g}function gl({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||bl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!gq(r,c,l.length);if(!r)return u?`|
130
130
  `:`>
131
131
  `;let d,p;for(p=r.length;p>0;--p){let S=r[p-1];if(S!==`
132
132
  `&&S!==" "&&S!==" ")break}let f=r.substring(p),m=f.indexOf(`
133
133
  `);m===-1?d="-":r===f||m!==f.length-1?(d="+",o&&o()):d="",f&&(r=r.slice(0,-f.length),f[f.length-1]===`
134
- `&&(f=f.slice(0,-1)),f=f.replace(Vm,`$&${l}`));let g=!1,b,y=-1;for(b=0;b<r.length;++b){let S=r[b];if(S===" ")g=!0;else if(S===`
134
+ `&&(f=f.slice(0,-1)),f=f.replace(zm,`$&${l}`));let g=!1,b,y=-1;for(b=0;b<r.length;++b){let S=r[b];if(S===" ")g=!0;else if(S===`
135
135
  `)y=b;else break}let E=r.substring(0,y<b?y+1:b);E&&(r=r.substring(E.length),E=E.replace(/\n+/g,`$&${l}`));let k=(g?l?"2":"1":"")+d;if(e&&(k+=" "+a(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!u){let S=r.replace(/\n+/g,`
136
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=gl(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Lr.foldFlowLines(`${E}${S}${f}`,l,Lr.FOLD_BLOCK,C);if(!T)return`>${k}
136
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=yl(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Lr.foldFlowLines(`${E}${S}${f}`,l,Lr.FOLD_BLOCK,C);if(!T)return`>${k}
137
137
  ${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
138
- ${l}${E}${r}${f}`}function mq(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
138
+ ${l}${E}${r}${f}`}function yq(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
139
139
  `)||u&&/[[\]{},]/.test(o))return Cs(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
140
- `)?Cs(o,t):hl(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
141
- `))return hl(e,t,r,n);if(yl(o)){if(c==="")return t.forceBlockIndent=!0,hl(e,t,r,n);if(a&&c===l)return Cs(o,t)}let d=o.replace(/\n+/g,`$&
142
- ${c}`);if(i){let p=g=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return Cs(o,t)}return a?d:Lr.foldFlowLines(d,c,Lr.FOLD_FLOW,gl(t,!1))}function hq(e,t,r,n){let{implicitKey:s,inFlow:o}=t,i=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==xt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=xt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case xt.Scalar.BLOCK_FOLDED:case xt.Scalar.BLOCK_LITERAL:return s||o?Cs(i.value,t):hl(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return yi(i.value,t);case xt.Scalar.QUOTE_SINGLE:return Jm(i.value,t);case xt.Scalar.PLAIN:return mq(i,t,r,n);default:return null}},l=c(a);if(l===null){let{defaultKeyType:u,defaultStringType:d}=t.options,p=s&&u||d;if(l=c(p),l===null)throw new Error(`Unsupported default string type ${p}`)}return l}jT.stringifyString=hq});var wi=I(Km=>{"use strict";var gq=cl(),Gr=K(),yq=hi(),bq=bi();function wq(e,t){let r=Object.assign({blockQuote:!0,commentString:yq.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent=="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function _q(e,t){if(t.tag){let s=e.filter(o=>o.tag===t.tag);if(s.length>0)return s.find(o=>o.format===t.format)??s[0]}let r,n;if(Gr.isScalar(t)){n=t.value;let s=e.filter(o=>o.identify?.(n));if(s.length>1){let o=s.filter(i=>i.test);o.length>0&&(s=o)}r=s.find(o=>o.format===t.format)??s.find(o=>!o.format)}else n=t,r=e.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!r){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return r}function Eq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Gr.isScalar(e)||Gr.isCollection(e))&&e.anchor;o&&gq.anchorIsValid(o)&&(r.add(o),s.push(`&${o}`));let i=e.tag??(t.default?null:t.tag);return i&&s.push(n.directives.tagString(i)),s.join(" ")}function kq(e,t,r,n){if(Gr.isPair(e))return e.toString(t,r,n);if(Gr.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s,o=Gr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=_q(t.doc.schema.tags,o));let i=Eq(o,s,t);i.length>0&&(t.indentAtStart=(t.indentAtStart??0)+i.length+1);let a=typeof s.stringify=="function"?s.stringify(o,t,r,n):Gr.isScalar(o)?bq.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Gr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
143
- ${t.indent}${a}`:a}Km.createStringifyContext=wq;Km.stringify=kq});var WT=I(HT=>{"use strict";var fr=K(),qT=le(),UT=wi(),_i=hi();function Sq({key:e,value:t},r,n,s){let{allNullValues:o,doc:i,indent:a,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=r,p=fr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(fr.isCollection(e)||!fr.isNode(e)&&typeof e=="object"){let C="With simple keys, collection cannot be used as a key value";throw new Error(C)}}let f=!d&&(!e||p&&t==null&&!r.inFlow||fr.isCollection(e)||(fr.isScalar(e)?e.type===qT.Scalar.BLOCK_FOLDED||e.type===qT.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!f&&(d||!o),indent:a+c});let m=!1,g=!1,b=UT.stringify(e,r,()=>m=!0,()=>g=!0);if(!f&&!r.inFlow&&b.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),b===""?"?":f?`? ${b}`:b}else if(o&&!d||t==null&&f)return b=`? ${b}`,p&&!m?b+=_i.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=_i.lineComment(b,r.indent,l(p))),b=`? ${b}
144
- ${a}:`):(b=`${b}:`,p&&(b+=_i.lineComment(b,r.indent,l(p))));let y,E,w;fr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,w=t.comment):(y=!1,E=null,w=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&fr.isScalar(t)&&(r.indentAtStart=b.length+1),g=!1,!u&&c.length>=2&&!r.inFlow&&!f&&fr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,S=UT.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
140
+ `)?Cs(o,t):gl(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
141
+ `))return gl(e,t,r,n);if(bl(o)){if(c==="")return t.forceBlockIndent=!0,gl(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,yl(t,!1))}function bq(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):gl(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return bi(i.value,t);case xt.Scalar.QUOTE_SINGLE:return Km(i.value,t);case xt.Scalar.PLAIN:return yq(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}HT.stringifyString=bq});var _i=I(Ym=>{"use strict";var wq=ll(),Gr=K(),_q=gi(),Eq=wi();function kq(e,t){let r=Object.assign({blockQuote:!0,commentString:_q.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 Sq(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 Rq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Gr.isScalar(e)||Gr.isCollection(e))&&e.anchor;o&&wq.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 vq(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=Sq(t.doc.schema.tags,o));let i=Rq(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)?Eq.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}Ym.createStringifyContext=kq;Ym.stringify=vq});var KT=I(VT=>{"use strict";var fr=K(),WT=le(),JT=_i(),Ei=gi();function Tq({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===WT.Scalar.BLOCK_FOLDED||e.type===WT.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=JT.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+=Ei.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=Ei.lineComment(b,r.indent,l(p))),b=`? ${b}
144
+ ${a}:`):(b=`${b}:`,p&&(b+=Ei.lineComment(b,r.indent,l(p))));let y,E,w;fr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,w=t.comment):(y=!1,E=null,w=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&fr.isScalar(t)&&(r.indentAtStart=b.length+1),g=!1,!u&&c.length>=2&&!r.inFlow&&!f&&fr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,S=JT.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
145
145
  `:"",E){let C=l(E);T+=`
146
- ${_i.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
146
+ ${Ei.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
147
147
  `&&w&&(T=`
148
148
 
149
149
  `):T+=`
150
150
  ${r.indent}`}else if(!f&&fr.isCollection(t)){let C=S[0],O=S.indexOf(`
151
151
  `),G=O!==-1,q=r.inFlow??t.flow??t.items.length===0;if(G||!q){let Q=!1;if(G&&(C==="&"||C==="!")){let J=S.indexOf(" ");C==="&"&&J!==-1&&J<O&&S[J+1]==="!"&&(J=S.indexOf(" ",J+1)),(J===-1||O<J)&&(Q=!0)}Q||(T=`
152
152
  ${r.indent}`)}}else(S===""||S[0]===`
153
- `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=_i.lineComment(b,r.indent,l(w)):g&&s&&s(),b}HT.stringifyPair=Sq});var Ym=I(zm=>{"use strict";var JT=ta("process");function Rq(e,...t){e==="debug"&&console.log(...t)}function vq(e,t){(e==="debug"||e==="warn")&&(typeof JT.emitWarning=="function"?JT.emitWarning(t):console.warn(t))}zm.debug=Rq;zm.warn=vq});var kl=I(El=>{"use strict";var _l=K(),VT=le(),bl="<<",wl={identify:e=>e===bl||typeof e=="symbol"&&e.description===bl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new VT.Scalar(Symbol(bl)),{addToJSMap:KT}),stringify:()=>bl},Tq=(e,t)=>(wl.identify(t)||_l.isScalar(t)&&(!t.type||t.type===VT.Scalar.PLAIN)&&wl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===wl.tag&&r.default);function KT(e,t,r){let n=zT(e,r);if(_l.isSeq(n))for(let s of n.items)Qm(e,t,s);else if(Array.isArray(n))for(let s of n)Qm(e,t,s);else Qm(e,t,n)}function Qm(e,t,r){let n=zT(e,r);if(!_l.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,e,Map);for(let[o,i]of s)t instanceof Map?t.has(o)||t.set(o,i):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function zT(e,t){return e&&_l.isAlias(t)?t.resolve(e.doc,e):t}El.addMergeToJSMap=KT;El.isMergeKey=Tq;El.merge=wl});var Zm=I(XT=>{"use strict";var xq=Ym(),YT=kl(),Oq=wi(),QT=K(),Xm=Pr();function Aq(e,t,{key:r,value:n}){if(QT.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(YT.isMergeKey(e,r))YT.addMergeToJSMap(e,t,n);else{let s=Xm.toJS(r,"",e);if(t instanceof Map)t.set(s,Xm.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Cq(r,s,e),i=Xm.toJS(n,o,e);o in t?Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0}):t[o]=i}}return t}function Cq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(QT.isNode(e)&&r?.doc){let n=Oq.createStringifyContext(r.doc,{});n.anchors=new Set;for(let o of r.anchors.keys())n.anchors.add(o.anchor);n.inFlow=!0,n.inStringifyKey=!0;let s=e.toString(n);if(!r.mapKeyWarned){let o=JSON.stringify(s);o.length>40&&(o=o.substring(0,36)+'..."'),xq.warn(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return s}return JSON.stringify(t)}XT.addPairToJSMap=Aq});var $r=I(eh=>{"use strict";var ZT=mi(),Pq=WT(),Iq=Zm(),Sl=K();function Lq(e,t,r){let n=ZT.createNode(e,void 0,r),s=ZT.createNode(t,void 0,r);return new Rl(n,s)}var Rl=class e{constructor(t,r=null){Object.defineProperty(this,Sl.NODE_TYPE,{value:Sl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Sl.isNode(r)&&(r=r.clone(t)),Sl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return Iq.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?Pq.stringifyPair(this,t,r,n):JSON.stringify(this)}};eh.Pair=Rl;eh.createPair=Lq});var th=I(tx=>{"use strict";var Rn=K(),ex=wi(),vl=hi();function Gq(e,t,r){return(t.inFlow??e.flow?Nq:$q)(e,t,r)}function $q({comment:e,items:t},r,{blockItemPrefix:n,flowChars:s,itemIndent:o,onChompKeep:i,onComment:a}){let{indent:c,options:{commentString:l}}=r,u=Object.assign({},r,{indent:o,type:null}),d=!1,p=[];for(let m=0;m<t.length;++m){let g=t[m],b=null;if(Rn.isNode(g))!d&&g.spaceBefore&&p.push(""),Tl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),Tl(r,p,E.commentBefore,d))}d=!1;let y=ex.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=vl.lineComment(y,o,l(b))),d&&b&&(d=!1),p.push(n+y)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let g=p[m];f+=g?`
153
+ `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=Ei.lineComment(b,r.indent,l(w)):g&&s&&s(),b}VT.stringifyPair=Tq});var Xm=I(Qm=>{"use strict";var zT=ra("process");function xq(e,...t){e==="debug"&&console.log(...t)}function Oq(e,t){(e==="debug"||e==="warn")&&(typeof zT.emitWarning=="function"?zT.emitWarning(t):console.warn(t))}Qm.debug=xq;Qm.warn=Oq});var Sl=I(kl=>{"use strict";var El=K(),YT=le(),wl="<<",_l={identify:e=>e===wl||typeof e=="symbol"&&e.description===wl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new YT.Scalar(Symbol(wl)),{addToJSMap:QT}),stringify:()=>wl},Aq=(e,t)=>(_l.identify(t)||El.isScalar(t)&&(!t.type||t.type===YT.Scalar.PLAIN)&&_l.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===_l.tag&&r.default);function QT(e,t,r){let n=XT(e,r);if(El.isSeq(n))for(let s of n.items)Zm(e,t,s);else if(Array.isArray(n))for(let s of n)Zm(e,t,s);else Zm(e,t,n)}function Zm(e,t,r){let n=XT(e,r);if(!El.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 XT(e,t){return e&&El.isAlias(t)?t.resolve(e.doc,e):t}kl.addMergeToJSMap=QT;kl.isMergeKey=Aq;kl.merge=_l});var th=I(tx=>{"use strict";var Cq=Xm(),ZT=Sl(),Pq=_i(),ex=K(),eh=Pr();function Iq(e,t,{key:r,value:n}){if(ex.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(ZT.isMergeKey(e,r))ZT.addMergeToJSMap(e,t,n);else{let s=eh.toJS(r,"",e);if(t instanceof Map)t.set(s,eh.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Lq(r,s,e),i=eh.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 Lq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(ex.isNode(e)&&r?.doc){let n=Pq.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)+'..."'),Cq.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)}tx.addPairToJSMap=Iq});var $r=I(rh=>{"use strict";var rx=hi(),Gq=KT(),$q=th(),Rl=K();function Nq(e,t,r){let n=rx.createNode(e,void 0,r),s=rx.createNode(t,void 0,r);return new vl(n,s)}var vl=class e{constructor(t,r=null){Object.defineProperty(this,Rl.NODE_TYPE,{value:Rl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Rl.isNode(r)&&(r=r.clone(t)),Rl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return $q.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?Gq.stringifyPair(this,t,r,n):JSON.stringify(this)}};rh.Pair=vl;rh.createPair=Nq});var nh=I(sx=>{"use strict";var Rn=K(),nx=_i(),Tl=gi();function Dq(e,t,r){return(t.inFlow??e.flow?Mq:Fq)(e,t,r)}function Fq({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(""),xl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),xl(r,p,E.commentBefore,d))}d=!1;let y=nx.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=Tl.lineComment(y,o,l(b))),d&&b&&(d=!1),p.push(n+y)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let g=p[m];f+=g?`
154
154
  ${c}${g}`:`
155
155
  `}}return e?(f+=`
156
- `+vl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function Nq({items:e},t,{flowChars:r,itemIndent:n}){let{indent:s,indentStep:o,flowCollectionPadding:i,options:{commentString:a}}=t;n+=o;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let m=0;m<e.length;++m){let g=e[m],b=null;if(Rn.isNode(g))g.spaceBefore&&d.push(""),Tl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),Tl(t,d,E.commentBefore,!1),E.comment&&(l=!0));let w=Rn.isNode(g.value)?g.value:null;w?(w.comment&&(b=w.comment),w.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=ex.stringify(g,c,()=>b=null);l||(l=d.length>u||y.includes(`
157
- `)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,w)=>E+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=vl.lineComment(y,n,a(b))),d.push(y),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((g,b)=>g+b.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let g of d)m+=g?`
156
+ `+Tl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function Mq({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(""),xl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),xl(t,d,E.commentBefore,!1),E.comment&&(l=!0));let w=Rn.isNode(g.value)?g.value:null;w?(w.comment&&(b=w.comment),w.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=nx.stringify(g,c,()=>b=null);l||(l=d.length>u||y.includes(`
157
+ `)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,w)=>E+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Tl.lineComment(y,n,a(b))),d.push(y),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((g,b)=>g+b.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let g of d)m+=g?`
158
158
  ${o}${s}${g}`:`
159
159
  `;return`${m}
160
- ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function Tl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=vl.indentComment(t(n),e);r.push(o.trimStart())}}tx.stringifyCollection=Gq});var Dr=I(nh=>{"use strict";var Dq=th(),Fq=Zm(),Mq=pl(),Nr=K(),xl=$r(),Bq=le();function Ei(e,t){let r=Nr.isScalar(t)?t.value:t;for(let n of e)if(Nr.isPair(n)&&(n.key===t||n.key===r||Nr.isScalar(n.key)&&n.key.value===r))return n}var rh=class extends Mq.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Nr.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:s,replacer:o}=n,i=new this(t),a=(c,l)=>{if(typeof o=="function")l=o.call(r,c,l);else if(Array.isArray(o)&&!o.includes(c))return;(l!==void 0||s)&&i.items.push(xl.createPair(c,l,n))};if(r instanceof Map)for(let[c,l]of r)a(c,l);else if(r&&typeof r=="object")for(let c of Object.keys(r))a(c,r[c]);return typeof t.sortMapEntries=="function"&&i.items.sort(t.sortMapEntries),i}add(t,r){let n;Nr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new xl.Pair(t,t?.value):n=new xl.Pair(t.key,t.value);let s=Ei(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Nr.isScalar(s.value)&&Bq.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(o){let i=this.items.findIndex(a=>o(n,a)<0);i===-1?this.items.push(n):this.items.splice(i,0,n)}else this.items.push(n)}delete(t){let r=Ei(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=Ei(this.items,t)?.value;return(!r&&Nr.isScalar(s)?s.value:s)??void 0}has(t){return!!Ei(this.items,t)}set(t,r){this.add(new xl.Pair(t,r),!0)}toJSON(t,r,n){let s=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(s);for(let o of this.items)Fq.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Nr.isPair(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),Dq.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};nh.YAMLMap=rh;nh.findPair=Ei});var Ps=I(nx=>{"use strict";var jq=K(),rx=Dr(),qq={collection:"map",default:!0,nodeClass:rx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return jq.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>rx.YAMLMap.from(e,t,r)};nx.map=qq});var Fr=I(sx=>{"use strict";var Uq=mi(),Hq=th(),Wq=pl(),Al=K(),Jq=le(),Vq=Pr(),sh=class extends Wq.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Al.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Ol(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Ol(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Al.isScalar(s)?s.value:s}has(t){let r=Ol(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Ol(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Al.isScalar(s)&&Jq.isScalarValue(r)?s.value=r:this.items[n]=r}toJSON(t,r){let n=[];r?.onCreate&&r.onCreate(n);let s=0;for(let o of this.items)n.push(Vq.toJS(o,String(s++),r));return n}toString(t,r,n){return t?Hq.stringifyCollection(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:n,onComment:r}):JSON.stringify(this)}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r)){let i=0;for(let a of r){if(typeof s=="function"){let c=r instanceof Set?a:String(i++);a=s.call(r,c,a)}o.items.push(Uq.createNode(a,void 0,n))}}return o}};function Ol(e){let t=Al.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}sx.YAMLSeq=sh});var Is=I(ix=>{"use strict";var Kq=K(),ox=Fr(),zq={collection:"seq",default:!0,nodeClass:ox.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Kq.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>ox.YAMLSeq.from(e,t,r)};ix.seq=zq});var ki=I(ax=>{"use strict";var Yq=bi(),Qq={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,r,n){return t=Object.assign({actualString:!0},t),Yq.stringifyString(e,t,r,n)}};ax.string=Qq});var Cl=I(ux=>{"use strict";var cx=le(),lx={identify:e=>e==null,createNode:()=>new cx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new cx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&lx.test.test(e)?e:t.options.nullStr};ux.nullTag=lx});var oh=I(px=>{"use strict";var Xq=le(),dx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Xq.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&dx.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};px.boolTag=dx});var Ls=I(fx=>{"use strict";function Zq({format:e,minFractionDigits:t,tag:r,value:n}){if(typeof n=="bigint")return String(n);let s=typeof n=="number"?n:Number(n);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let o=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!r||r==="tag:yaml.org,2002:float")&&/^-?\d/.test(o)&&!o.includes("e")){let i=o.indexOf(".");i<0&&(i=o.length,o+=".");let a=t-(o.length-i-1);for(;a-- >0;)o+="0"}return o}fx.stringifyNumber=Zq});var ah=I(Pl=>{"use strict";var eU=le(),ih=Ls(),tU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:ih.stringifyNumber},rU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():ih.stringifyNumber(e)}},nU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new eU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:ih.stringifyNumber};Pl.float=nU;Pl.floatExp=rU;Pl.floatNaN=tU});var lh=I(Ll=>{"use strict";var mx=Ls(),Il=e=>typeof e=="bigint"||Number.isInteger(e),ch=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function hx(e,t,r){let{value:n}=e;return Il(n)&&n>=0?r+n.toString(t):mx.stringifyNumber(e)}var sU={identify:e=>Il(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>ch(e,2,8,r),stringify:e=>hx(e,8,"0o")},oU={identify:Il,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>ch(e,0,10,r),stringify:mx.stringifyNumber},iU={identify:e=>Il(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>ch(e,2,16,r),stringify:e=>hx(e,16,"0x")};Ll.int=oU;Ll.intHex=iU;Ll.intOct=sU});var yx=I(gx=>{"use strict";var aU=Ps(),cU=Cl(),lU=Is(),uU=ki(),dU=oh(),uh=ah(),dh=lh(),pU=[aU.map,lU.seq,uU.string,cU.nullTag,dU.boolTag,dh.intOct,dh.int,dh.intHex,uh.floatNaN,uh.floatExp,uh.float];gx.schema=pU});var _x=I(wx=>{"use strict";var fU=le(),mU=Ps(),hU=Is();function bx(e){return typeof e=="bigint"||Number.isInteger(e)}var Gl=({value:e})=>JSON.stringify(e),gU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Gl},{identify:e=>e==null,createNode:()=>new fU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Gl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Gl},{identify:bx,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:r})=>r?BigInt(e):parseInt(e,10),stringify:({value:e})=>bx(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Gl}],yU={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},bU=[mU.map,hU.seq].concat(gU,yU);wx.schema=bU});var fh=I(Ex=>{"use strict";var Si=ta("buffer"),ph=le(),wU=bi(),_U={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Si.Buffer=="function")return Si.Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let s=0;s<r.length;++s)n[s]=r.charCodeAt(s);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:r},n,s,o){if(!r)return"";let i=r,a;if(typeof Si.Buffer=="function")a=i instanceof Si.Buffer?i.toString("base64"):Si.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=ph.Scalar.BLOCK_LITERAL),t!==ph.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(a.length/c),u=new Array(l);for(let d=0,p=0;d<l;++d,p+=c)u[d]=a.substr(p,c);a=u.join(t===ph.Scalar.BLOCK_LITERAL?`
161
- `:" ")}return wU.stringifyString({comment:e,type:t,value:a},n,s,o)}};Ex.binary=_U});var Dl=I(Nl=>{"use strict";var $l=K(),mh=$r(),EU=le(),kU=Fr();function kx(e,t){if($l.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!$l.isPair(n)){if($l.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new mh.Pair(new EU.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
160
+ ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function xl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=Tl.indentComment(t(n),e);r.push(o.trimStart())}}sx.stringifyCollection=Dq});var Dr=I(oh=>{"use strict";var Bq=nh(),jq=th(),qq=fl(),Nr=K(),Ol=$r(),Uq=le();function ki(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 sh=class extends qq.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(Ol.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 Ol.Pair(t,t?.value):n=new Ol.Pair(t.key,t.value);let s=ki(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Nr.isScalar(s.value)&&Uq.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=ki(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=ki(this.items,t)?.value;return(!r&&Nr.isScalar(s)?s.value:s)??void 0}has(t){return!!ki(this.items,t)}set(t,r){this.add(new Ol.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)jq.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})),Bq.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};oh.YAMLMap=sh;oh.findPair=ki});var Ps=I(ix=>{"use strict";var Hq=K(),ox=Dr(),Wq={collection:"map",default:!0,nodeClass:ox.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return Hq.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>ox.YAMLMap.from(e,t,r)};ix.map=Wq});var Fr=I(ax=>{"use strict";var Jq=hi(),Vq=nh(),Kq=fl(),Cl=K(),zq=le(),Yq=Pr(),ih=class extends Kq.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Cl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Al(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Al(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Cl.isScalar(s)?s.value:s}has(t){let r=Al(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Al(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Cl.isScalar(s)&&zq.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(Yq.toJS(o,String(s++),r));return n}toString(t,r,n){return t?Vq.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 Al(e){let t=Cl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}ax.YAMLSeq=ih});var Is=I(lx=>{"use strict";var Qq=K(),cx=Fr(),Xq={collection:"seq",default:!0,nodeClass:cx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Qq.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>cx.YAMLSeq.from(e,t,r)};lx.seq=Xq});var Si=I(ux=>{"use strict";var Zq=wi(),eU={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),Zq.stringifyString(e,t,r,n)}};ux.string=eU});var Pl=I(fx=>{"use strict";var dx=le(),px={identify:e=>e==null,createNode:()=>new dx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new dx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&px.test.test(e)?e:t.options.nullStr};fx.nullTag=px});var ah=I(hx=>{"use strict";var tU=le(),mx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new tU.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&mx.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};hx.boolTag=mx});var Ls=I(gx=>{"use strict";function rU({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}gx.stringifyNumber=rU});var lh=I(Il=>{"use strict";var nU=le(),ch=Ls(),sU={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:ch.stringifyNumber},oU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():ch.stringifyNumber(e)}},iU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new nU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:ch.stringifyNumber};Il.float=iU;Il.floatExp=oU;Il.floatNaN=sU});var dh=I(Gl=>{"use strict";var yx=Ls(),Ll=e=>typeof e=="bigint"||Number.isInteger(e),uh=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function bx(e,t,r){let{value:n}=e;return Ll(n)&&n>=0?r+n.toString(t):yx.stringifyNumber(e)}var aU={identify:e=>Ll(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>uh(e,2,8,r),stringify:e=>bx(e,8,"0o")},cU={identify:Ll,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>uh(e,0,10,r),stringify:yx.stringifyNumber},lU={identify:e=>Ll(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>uh(e,2,16,r),stringify:e=>bx(e,16,"0x")};Gl.int=cU;Gl.intHex=lU;Gl.intOct=aU});var _x=I(wx=>{"use strict";var uU=Ps(),dU=Pl(),pU=Is(),fU=Si(),mU=ah(),ph=lh(),fh=dh(),hU=[uU.map,pU.seq,fU.string,dU.nullTag,mU.boolTag,fh.intOct,fh.int,fh.intHex,ph.floatNaN,ph.floatExp,ph.float];wx.schema=hU});var Sx=I(kx=>{"use strict";var gU=le(),yU=Ps(),bU=Is();function Ex(e){return typeof e=="bigint"||Number.isInteger(e)}var $l=({value:e})=>JSON.stringify(e),wU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:$l},{identify:e=>e==null,createNode:()=>new gU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:$l},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:$l},{identify:Ex,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})=>Ex(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:$l}],_U={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},EU=[yU.map,bU.seq].concat(wU,_U);kx.schema=EU});var hh=I(Rx=>{"use strict";var Ri=ra("buffer"),mh=le(),kU=wi(),SU={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Ri.Buffer=="function")return Ri.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 Ri.Buffer=="function")a=i instanceof Ri.Buffer?i.toString("base64"):Ri.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=mh.Scalar.BLOCK_LITERAL),t!==mh.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===mh.Scalar.BLOCK_LITERAL?`
161
+ `:" ")}return kU.stringifyString({comment:e,type:t,value:a},n,s,o)}};Rx.binary=SU});var Fl=I(Dl=>{"use strict";var Nl=K(),gh=$r(),RU=le(),vU=Fr();function vx(e,t){if(Nl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Nl.isPair(n)){if(Nl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new gh.Pair(new RU.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
162
162
  ${s.key.commentBefore}`:n.commentBefore),n.comment){let o=s.value??s.key;o.comment=o.comment?`${n.comment}
163
- ${o.comment}`:n.comment}n=s}e.items[r]=$l.isPair(n)?n:new mh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Sx(e,t,r){let{replacer:n}=r,s=new kU.YAMLSeq(e);s.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let i of t){typeof n=="function"&&(i=n.call(t,String(o++),i));let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let l=Object.keys(i);if(l.length===1)a=l[0],c=i[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=i;s.items.push(mh.createPair(a,c,r))}return s}var SU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:kx,createNode:Sx};Nl.createPairs=Sx;Nl.pairs=SU;Nl.resolvePairs=kx});var yh=I(gh=>{"use strict";var Rx=K(),hh=Pr(),Ri=Dr(),RU=Fr(),vx=Dl(),vn=class e extends RU.YAMLSeq{constructor(){super(),this.add=Ri.YAMLMap.prototype.add.bind(this),this.delete=Ri.YAMLMap.prototype.delete.bind(this),this.get=Ri.YAMLMap.prototype.get.bind(this),this.has=Ri.YAMLMap.prototype.has.bind(this),this.set=Ri.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if(Rx.isPair(s)?(o=hh.toJS(s.key,"",r),i=hh.toJS(s.value,o,r)):o=hh.toJS(s,"",r),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,i)}return n}static from(t,r,n){let s=vx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};vn.tag="tag:yaml.org,2002:omap";var vU={collection:"seq",identify:e=>e instanceof Map,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=vx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Rx.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new vn,r)},createNode:(e,t,r)=>vn.from(e,t,r)};gh.YAMLOMap=vn;gh.omap=vU});var Cx=I(bh=>{"use strict";var Tx=le();function xx({value:e,source:t},r){return t&&(e?Ox:Ax).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Ox={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Tx.Scalar(!0),stringify:xx},Ax={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Tx.Scalar(!1),stringify:xx};bh.falseTag=Ax;bh.trueTag=Ox});var Px=I(Fl=>{"use strict";var TU=le(),wh=Ls(),xU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:wh.stringifyNumber},OU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():wh.stringifyNumber(e)}},AU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new TU.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:wh.stringifyNumber};Fl.float=AU;Fl.floatExp=OU;Fl.floatNaN=xU});var Lx=I(Ti=>{"use strict";var Ix=Ls(),vi=e=>typeof e=="bigint"||Number.isInteger(e);function Ml(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function _h(e,t,r){let{value:n}=e;if(vi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Ix.stringifyNumber(e)}var CU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Ml(e,2,2,r),stringify:e=>_h(e,2,"0b")},PU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Ml(e,1,8,r),stringify:e=>_h(e,8,"0")},IU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Ml(e,0,10,r),stringify:Ix.stringifyNumber},LU={identify:vi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Ml(e,2,16,r),stringify:e=>_h(e,16,"0x")};Ti.int=IU;Ti.intBin=CU;Ti.intHex=LU;Ti.intOct=PU});var kh=I(Eh=>{"use strict";var ql=K(),Bl=$r(),jl=Dr(),Tn=class e extends jl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;ql.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Bl.Pair(t.key,null):r=new Bl.Pair(t,null),jl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=jl.findPair(this.items,t);return!r&&ql.isPair(n)?ql.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=jl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Bl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Bl.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var GU={collection:"map",identify:e=>e instanceof Set,nodeClass:Tn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Tn.from(e,t,r),resolve(e,t){if(ql.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Tn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};Eh.YAMLSet=Tn;Eh.set=GU});var Rh=I(Ul=>{"use strict";var $U=Ls();function Sh(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,s=i=>t?BigInt(i):Number(i),o=n.replace(/_/g,"").split(":").reduce((i,a)=>i*s(60)+s(a),s(0));return r==="-"?s(-1)*o:o}function Gx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return $U.stringifyNumber(e);let n="";t<0&&(n="-",t*=r(-1));let s=r(60),o=[t%s];return t<60?o.unshift(0):(t=(t-o[0])/s,o.unshift(t%s),t>=60&&(t=(t-o[0])/s,o.unshift(t))),n+o.map(i=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var NU={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>Sh(e,r),stringify:Gx},DU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>Sh(e,!1),stringify:Gx},$x={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match($x.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,s,o,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,l=Date.UTC(r,n-1,s,o||0,i||0,a||0,c),u=t[8];if(u&&u!=="Z"){let d=Sh(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Ul.floatTime=DU;Ul.intTime=NU;Ul.timestamp=$x});var Fx=I(Dx=>{"use strict";var FU=Ps(),MU=Cl(),BU=Is(),jU=ki(),qU=fh(),Nx=Cx(),vh=Px(),Hl=Lx(),UU=kl(),HU=yh(),WU=Dl(),JU=kh(),Th=Rh(),VU=[FU.map,BU.seq,jU.string,MU.nullTag,Nx.trueTag,Nx.falseTag,Hl.intBin,Hl.intOct,Hl.int,Hl.intHex,vh.floatNaN,vh.floatExp,vh.float,qU.binary,UU.merge,HU.omap,WU.pairs,JU.set,Th.intTime,Th.floatTime,Th.timestamp];Dx.schema=VU});var Kx=I(Ah=>{"use strict";var qx=Ps(),KU=Cl(),Ux=Is(),zU=ki(),YU=oh(),xh=ah(),Oh=lh(),QU=yx(),XU=_x(),Hx=fh(),xi=kl(),Wx=yh(),Jx=Dl(),Mx=Fx(),Vx=kh(),Wl=Rh(),Bx=new Map([["core",QU.schema],["failsafe",[qx.map,Ux.seq,zU.string]],["json",XU.schema],["yaml11",Mx.schema],["yaml-1.1",Mx.schema]]),jx={binary:Hx.binary,bool:YU.boolTag,float:xh.float,floatExp:xh.floatExp,floatNaN:xh.floatNaN,floatTime:Wl.floatTime,int:Oh.int,intHex:Oh.intHex,intOct:Oh.intOct,intTime:Wl.intTime,map:qx.map,merge:xi.merge,null:KU.nullTag,omap:Wx.omap,pairs:Jx.pairs,seq:Ux.seq,set:Vx.set,timestamp:Wl.timestamp},ZU={"tag:yaml.org,2002:binary":Hx.binary,"tag:yaml.org,2002:merge":xi.merge,"tag:yaml.org,2002:omap":Wx.omap,"tag:yaml.org,2002:pairs":Jx.pairs,"tag:yaml.org,2002:set":Vx.set,"tag:yaml.org,2002:timestamp":Wl.timestamp};function eH(e,t,r){let n=Bx.get(t);if(n&&!e)return r&&!n.includes(xi.merge)?n.concat(xi.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Bx.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(xi.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?jx[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(jx).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}Ah.coreKnownTags=ZU;Ah.getTags=eH});var Ih=I(zx=>{"use strict";var Ch=K(),tH=Ps(),rH=Is(),nH=ki(),Jl=Kx(),sH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Ph=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Jl.getTags(t,"compat"):t?Jl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Jl.coreKnownTags:{},this.tags=Jl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Ch.MAP,{value:tH.map}),Object.defineProperty(this,Ch.SCALAR,{value:nH.string}),Object.defineProperty(this,Ch.SEQ,{value:rH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?sH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};zx.Schema=Ph});var Qx=I(Yx=>{"use strict";var oH=K(),Lh=wi(),Oi=hi();function iH(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=Lh.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Oi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(oH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Oi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Lh.stringify(e.contents,s,()=>a=null,c);a&&(l+=Oi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Lh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
164
- `)?(r.push("..."),r.push(Oi.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&i&&(c=c.replace(/^\n+/,"")),c&&((!i||a)&&r[r.length-1]!==""&&r.push(""),r.push(Oi.indentComment(o(c),"")))}return r.join(`
163
+ ${o.comment}`:n.comment}n=s}e.items[r]=Nl.isPair(n)?n:new gh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Tx(e,t,r){let{replacer:n}=r,s=new vU.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(gh.createPair(a,c,r))}return s}var TU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:vx,createNode:Tx};Dl.createPairs=Tx;Dl.pairs=TU;Dl.resolvePairs=vx});var wh=I(bh=>{"use strict";var xx=K(),yh=Pr(),vi=Dr(),xU=Fr(),Ox=Fl(),vn=class e extends xU.YAMLSeq{constructor(){super(),this.add=vi.YAMLMap.prototype.add.bind(this),this.delete=vi.YAMLMap.prototype.delete.bind(this),this.get=vi.YAMLMap.prototype.get.bind(this),this.has=vi.YAMLMap.prototype.has.bind(this),this.set=vi.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(xx.isPair(s)?(o=yh.toJS(s.key,"",r),i=yh.toJS(s.value,o,r)):o=yh.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=Ox.createPairs(t,r,n),o=new this;return o.items=s.items,o}};vn.tag="tag:yaml.org,2002:omap";var OU={collection:"seq",identify:e=>e instanceof Map,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Ox.resolvePairs(e,t),n=[];for(let{key:s}of r.items)xx.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)};bh.YAMLOMap=vn;bh.omap=OU});var Lx=I(_h=>{"use strict";var Ax=le();function Cx({value:e,source:t},r){return t&&(e?Px:Ix).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Px={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 Ax.Scalar(!0),stringify:Cx},Ix={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 Ax.Scalar(!1),stringify:Cx};_h.falseTag=Ix;_h.trueTag=Px});var Gx=I(Ml=>{"use strict";var AU=le(),Eh=Ls(),CU={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:Eh.stringifyNumber},PU={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():Eh.stringifyNumber(e)}},IU={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 AU.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:Eh.stringifyNumber};Ml.float=IU;Ml.floatExp=PU;Ml.floatNaN=CU});var Nx=I(xi=>{"use strict";var $x=Ls(),Ti=e=>typeof e=="bigint"||Number.isInteger(e);function Bl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function kh(e,t,r){let{value:n}=e;if(Ti(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return $x.stringifyNumber(e)}var LU={identify:Ti,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Bl(e,2,2,r),stringify:e=>kh(e,2,"0b")},GU={identify:Ti,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Bl(e,1,8,r),stringify:e=>kh(e,8,"0")},$U={identify:Ti,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Bl(e,0,10,r),stringify:$x.stringifyNumber},NU={identify:Ti,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Bl(e,2,16,r),stringify:e=>kh(e,16,"0x")};xi.int=$U;xi.intBin=LU;xi.intHex=NU;xi.intOct=GU});var Rh=I(Sh=>{"use strict";var Ul=K(),jl=$r(),ql=Dr(),Tn=class e extends ql.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Ul.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new jl.Pair(t.key,null):r=new jl.Pair(t,null),ql.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=ql.findPair(this.items,t);return!r&&Ul.isPair(n)?Ul.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=ql.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new jl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(jl.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var DU={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(Ul.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}};Sh.YAMLSet=Tn;Sh.set=DU});var Th=I(Hl=>{"use strict";var FU=Ls();function vh(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 Dx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return FU.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 MU={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})=>vh(e,r),stringify:Dx},BU={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=>vh(e,!1),stringify:Dx},Fx={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(Fx.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=vh(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Hl.floatTime=BU;Hl.intTime=MU;Hl.timestamp=Fx});var jx=I(Bx=>{"use strict";var jU=Ps(),qU=Pl(),UU=Is(),HU=Si(),WU=hh(),Mx=Lx(),xh=Gx(),Wl=Nx(),JU=Sl(),VU=wh(),KU=Fl(),zU=Rh(),Oh=Th(),YU=[jU.map,UU.seq,HU.string,qU.nullTag,Mx.trueTag,Mx.falseTag,Wl.intBin,Wl.intOct,Wl.int,Wl.intHex,xh.floatNaN,xh.floatExp,xh.float,WU.binary,JU.merge,VU.omap,KU.pairs,zU.set,Oh.intTime,Oh.floatTime,Oh.timestamp];Bx.schema=YU});var Qx=I(Ph=>{"use strict";var Wx=Ps(),QU=Pl(),Jx=Is(),XU=Si(),ZU=ah(),Ah=lh(),Ch=dh(),eH=_x(),tH=Sx(),Vx=hh(),Oi=Sl(),Kx=wh(),zx=Fl(),qx=jx(),Yx=Rh(),Jl=Th(),Ux=new Map([["core",eH.schema],["failsafe",[Wx.map,Jx.seq,XU.string]],["json",tH.schema],["yaml11",qx.schema],["yaml-1.1",qx.schema]]),Hx={binary:Vx.binary,bool:ZU.boolTag,float:Ah.float,floatExp:Ah.floatExp,floatNaN:Ah.floatNaN,floatTime:Jl.floatTime,int:Ch.int,intHex:Ch.intHex,intOct:Ch.intOct,intTime:Jl.intTime,map:Wx.map,merge:Oi.merge,null:QU.nullTag,omap:Kx.omap,pairs:zx.pairs,seq:Jx.seq,set:Yx.set,timestamp:Jl.timestamp},rH={"tag:yaml.org,2002:binary":Vx.binary,"tag:yaml.org,2002:merge":Oi.merge,"tag:yaml.org,2002:omap":Kx.omap,"tag:yaml.org,2002:pairs":zx.pairs,"tag:yaml.org,2002:set":Yx.set,"tag:yaml.org,2002:timestamp":Jl.timestamp};function nH(e,t,r){let n=Ux.get(t);if(n&&!e)return r&&!n.includes(Oi.merge)?n.concat(Oi.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(Ux.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(Oi.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?Hx[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(Hx).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},[])}Ph.coreKnownTags=rH;Ph.getTags=nH});var Gh=I(Xx=>{"use strict";var Ih=K(),sH=Ps(),oH=Is(),iH=Si(),Vl=Qx(),aH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Lh=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Vl.getTags(t,"compat"):t?Vl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Vl.coreKnownTags:{},this.tags=Vl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Ih.MAP,{value:sH.map}),Object.defineProperty(this,Ih.SCALAR,{value:iH.string}),Object.defineProperty(this,Ih.SEQ,{value:oH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?aH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};Xx.Schema=Lh});var e0=I(Zx=>{"use strict";var cH=K(),$h=_i(),Ai=gi();function lH(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=$h.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Ai.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(cH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Ai.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=$h.stringify(e.contents,s,()=>a=null,c);a&&(l+=Ai.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push($h.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
164
+ `)?(r.push("..."),r.push(Ai.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(Ai.indentComment(o(c),"")))}return r.join(`
165
165
  `)+`
166
- `}Yx.stringifyDocument=iH});var Ai=I(Xx=>{"use strict";var aH=fi(),Gs=pl(),ft=K(),cH=$r(),lH=Pr(),uH=Ih(),dH=Qx(),Gh=cl(),pH=Fm(),fH=mi(),$h=Dm(),Nh=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ft.NODE_TYPE,{value:ft.DOC});let s=null;typeof r=="function"||Array.isArray(r)?s=r:n===void 0&&r&&(n=r,r=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=o;let{version:i}=o;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new $h.Directives({version:i}),this.setSchema(i,n),this.contents=t===void 0?null:this.createNode(t,s,n)}clone(){let t=Object.create(e.prototype,{[ft.NODE_TYPE]:{value:ft.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=ft.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){$s(this.contents)&&this.contents.add(t)}addIn(t,r){$s(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=Gh.anchorNames(this);t.anchor=!r||n.has(r)?Gh.findNewAnchor(r||"a",n):r}return new aH.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let b=E=>typeof E=="number"||E instanceof String||E instanceof Number,y=r.filter(b).map(String);y.length>0&&(r=r.concat(y)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=Gh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=fH.createNode(t,u,m);return a&&ft.isCollection(g)&&(g.flow=!0),p(),g}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new cH.Pair(s,o)}delete(t){return $s(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Gs.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):$s(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ft.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return Gs.isEmptyPath(t)?!r&&ft.isScalar(this.contents)?this.contents.value:this.contents:ft.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ft.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return Gs.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Gs.collectionFromPath(this.schema,[t],r):$s(this.contents)&&this.contents.set(t,r)}setIn(t,r){Gs.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Gs.collectionFromPath(this.schema,Array.from(t),r):$s(this.contents)&&this.contents.setIn(t,r)}setSchema(t,r={}){typeof t=="number"&&(t=String(t));let n;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new $h.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new $h.Directives({version:t}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(r.schema instanceof Object)this.schema=r.schema;else if(n)this.schema=new uH.Schema(Object.assign(n,r));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:r,mapAsMap:n,maxAliasCount:s,onAnchor:o,reviver:i}={}){let a={anchors:new Map,doc:this,keep:!t,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},c=lH.toJS(this.contents,r??"",a);if(typeof o=="function")for(let{count:l,res:u}of a.anchors.values())o(u,l);return typeof i=="function"?pH.applyReviver(i,{"":c},"",c):c}toJSON(t,r){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:r})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let r=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${r}`)}return dH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}Xx.Document=Nh});var Ii=I(Pi=>{"use strict";var Ci=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Dh=class extends Ci{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Fh=class extends Ci{constructor(t,r,n){super("YAMLWarning",t,r,n)}},mH=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(a=>t.linePos(a));let{line:n,col:s}=r.linePos[0];r.message+=` at line ${n}, column ${s}`;let o=s-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(o>=60&&i.length>80){let a=Math.min(o-39,i.length-79);i="\u2026"+i.substring(a),o-=a-1}if(i.length>80&&(i=i.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(i.substring(0,o))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
166
+ `}Zx.stringifyDocument=lH});var Ci=I(t0=>{"use strict";var uH=mi(),Gs=fl(),ft=K(),dH=$r(),pH=Pr(),fH=Gh(),mH=e0(),Nh=ll(),hH=Bm(),gH=hi(),Dh=Mm(),Fh=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 Dh.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=Nh.anchorNames(this);t.anchor=!r||n.has(r)?Nh.findNewAnchor(r||"a",n):r}return new uH.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let b=E=>typeof E=="number"||E instanceof String||E instanceof Number,y=r.filter(b).map(String);y.length>0&&(r=r.concat(y)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=Nh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=gH.createNode(t,u,m);return a&&ft.isCollection(g)&&(g.flow=!0),p(),g}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new dH.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 Dh.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 Dh.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 fH.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=pH.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"?hH.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 mH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}t0.Document=Fh});var Li=I(Ii=>{"use strict";var Pi=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Mh=class extends Pi{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Bh=class extends Pi{constructor(t,r,n){super("YAMLWarning",t,r,n)}},yH=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(a=>t.linePos(a));let{line:n,col:s}=r.linePos[0];r.message+=` at line ${n}, column ${s}`;let o=s-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(o>=60&&i.length>80){let a=Math.min(o-39,i.length-79);i="\u2026"+i.substring(a),o-=a-1}if(i.length>80&&(i=i.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(i.substring(0,o))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
167
167
  `),i=a+i}if(/[^ ]/.test(i)){let a=1,c=r.linePos[1];c?.line===n&&c.col>s&&(a=Math.max(1,Math.min(c.col-s,80-o)));let l=" ".repeat(o)+"^".repeat(a);r.message+=`:
168
168
 
169
169
  ${i}
170
170
  ${l}
171
- `}};Pi.YAMLError=Ci;Pi.YAMLParseError=Dh;Pi.YAMLWarning=Fh;Pi.prettifyError=mH});var Li=I(Zx=>{"use strict";function hH(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,g=null,b=null,y=null,E=null,w=null,k=null,S=null;for(let O of e)switch(m&&(O.type!=="space"&&O.type!=="newline"&&O.type!=="comma"&&o(O.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(l&&O.type!=="comment"&&O.type!=="newline"&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),O.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&O.source.includes(" ")&&(g=O),u=!0;break;case"comment":{u||o(O,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G=O.source.substring(1)||" ";d?d+=p+G:d=G,p="",l=!1;break}case"newline":l?d?d+=O.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=O.source,l=!0,f=!0,(b||y)&&(E=O),u=!0;break;case"anchor":b&&o(O,"MULTIPLE_ANCHORS","A node can have at most one anchor"),O.source.endsWith(":")&&o(O.offset+O.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),b=O,S??(S=O.offset),l=!1,u=!1,m=!0;break;case"tag":{y&&o(O,"MULTIPLE_TAGS","A node can have at most one tag"),y=O,S??(S=O.offset),l=!1,u=!1,m=!0;break}case r:(b||y)&&o(O,"BAD_PROP_ORDER",`Anchors and tags must be after the ${O.source} indicator`),k&&o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.source} in ${t??"collection"}`),k=O,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){w&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),w=O,l=!1,u=!1;break}default:o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.type} token`),l=!1,u=!1}let T=e[e.length-1],C=T?T.offset+T.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:w,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}Zx.resolveProps=hH});var Vl=I(e0=>{"use strict";function Mh(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
172
- `))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(Mh(t.key)||Mh(t.value))return!0}return!1;default:return!0}}e0.containsNewline=Mh});var Bh=I(t0=>{"use strict";var gH=Vl();function yH(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&gH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}t0.flowIndentCheck=yH});var jh=I(n0=>{"use strict";var r0=K();function bH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||r0.isScalar(o)&&r0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}n0.mapIncludes=bH});var l0=I(c0=>{"use strict";var s0=$r(),wH=Dr(),o0=Li(),_H=Vl(),i0=Bh(),EH=jh(),a0="All mapping items must start at the same column";function kH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??wH.YAMLMap,a=new i(r.schema);r.atRoot&&(r.atRoot=!1);let c=n.offset,l=null;for(let u of n.items){let{start:d,key:p,sep:f,value:m}=u,g=o0.resolveProps(d,{indicator:"explicit-key-ind",next:p??f?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),b=!g.found;if(b){if(p&&(p.type==="block-seq"?s(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==n.indent&&s(c,"BAD_INDENT",a0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
173
- `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||_H.containsNewline(p))&&s(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else g.found?.indent!==n.indent&&s(c,"BAD_INDENT",a0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&i0.flowIndentCheck(n.indent,p,s),r.atKey=!1,EH.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=o0.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:E.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){b&&(m?.type==="block-map"&&!w.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<w.found.offset-1024&&s(E.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,w,s):t(r,c,f,null,w,s);r.schema.compat&&i0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new s0.Pair(E,k);r.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}else{b&&s(E.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),w.comment&&(E.comment?E.comment+=`
174
- `+w.comment:E.comment=w.comment);let k=new s0.Pair(E);r.options.keepSourceTokens&&(k.srcToken=u),a.items.push(k)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}c0.resolveBlockMap=kH});var d0=I(u0=>{"use strict";var SH=Fr(),RH=Li(),vH=Bh();function TH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??SH.YAMLSeq,a=new i(r.schema);r.atRoot&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let c=n.offset,l=null;for(let{start:u,value:d}of n.items){let p=RH.resolveProps(u,{indicator:"seq-item-ind",next:d,offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||d)d?.type==="block-seq"?s(p.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{l=p.end,p.comment&&(a.comment=p.comment);continue}let f=d?e(r,d,p,s):t(r,p.end,u,null,p,s);r.schema.compat&&vH.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}u0.resolveBlockSeq=TH});var Ns=I(p0=>{"use strict";function xH(e,t,r,n){let s="";if(e){let o=!1,i="";for(let a of e){let{source:c,type:l}=a;switch(l){case"space":o=!0;break;case"comment":{r&&!o&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let u=c.substring(1)||" ";s?s+=i+u:s=u,i="";break}case"newline":s&&(i+=c),o=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=c.length}}return{comment:s,offset:t}}p0.resolveEnd=xH});var g0=I(h0=>{"use strict";var OH=K(),AH=$r(),f0=Dr(),CH=Fr(),PH=Ns(),m0=Li(),IH=Vl(),LH=jh(),qh="Block collections are not allowed within flow collections",Uh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function GH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?f0.YAMLMap:CH.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let b=0;b<n.items.length;++b){let y=n.items[b],{start:E,key:w,sep:k,value:S}=y,T=m0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:w??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!T.found){if(!T.anchor&&!T.tag&&!k&&!S){b===0&&T.comma?s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):b<n.items.length-1&&s(T.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),T.comment&&(l.comment?l.comment+=`
175
- `+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&IH.containsNewline(w)&&s(w,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(b===0)T.comma&&s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(T.comma||s(T.start,"MISSING_CHAR",`Missing , between ${a} items`),T.comment){let C="";e:for(let O of E)switch(O.type){case"comma":case"space":break;case"comment":C=O.source.substring(1);break e;default:break e}if(C){let O=l.items[l.items.length-1];OH.isPair(O)&&(O=O.value??O.key),O.comment?O.comment+=`
176
- `+C:O.comment=C,T.comment=T.comment.substring(C.length+1)}}if(!i&&!k&&!T.found){let C=S?e(r,S,T,s):t(r,T.end,k,null,T,s);l.items.push(C),d=C.range[2],Uh(S)&&s(C.range,"BLOCK_IN_FLOW",qh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,E,null,T,s);Uh(w)&&s(O.range,"BLOCK_IN_FLOW",qh),r.atKey=!1;let G=m0.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:S,offset:O.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(G.found){if(!i&&!T.found&&r.options.strict){if(k)for(let J of k){if(J===G.found)break;if(J.type==="newline"){s(J,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}T.start<G.found.offset-1024&&s(G.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else S&&("source"in S&&S.source?.[0]===":"?s(S,"MISSING_CHAR",`Missing space after : in ${a}`):s(G.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let q=S?e(r,S,G,s):G.found?t(r,G.end,k,null,G,s):null;q?Uh(S)&&s(q.range,"BLOCK_IN_FLOW",qh):G.comment&&(O.comment?O.comment+=`
177
- `+G.comment:O.comment=G.comment);let Q=new AH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let J=l;LH.mapIncludes(r,J.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),J.items.push(Q)}else{let J=new f0.YAMLMap(r.schema);J.flow=!0,J.items.push(Q);let $=(q??O).range;J.range=[O.range[0],$[1],$[2]],l.items.push(J)}d=q?q.range[2]:G.end}}let p=i?"}":"]",[f,...m]=n.end,g=d;if(f?.source===p)g=f.offset+f.source.length;else{let b=a[0].toUpperCase()+a.substring(1),y=u?`${b} must end with a ${p}`:`${b} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",y),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let b=PH.resolveEnd(m,g,r.options.strict,s);b.comment&&(l.comment?l.comment+=`
178
- `+b.comment:l.comment=b.comment),l.range=[n.offset,g,b.offset]}else l.range=[n.offset,g,g];return l}h0.resolveFlowCollection=GH});var b0=I(y0=>{"use strict";var $H=K(),NH=le(),DH=Dr(),FH=Fr(),MH=l0(),BH=d0(),jH=g0();function Hh(e,t,r,n,s,o){let i=r.type==="block-map"?MH.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?BH.resolveBlockSeq(e,t,r,n,o):jH.resolveFlowCollection(e,t,r,n,o),a=i.constructor;return s==="!"||s===a.tagName?(i.tag=a.tagName,i):(s&&(i.tag=s),i)}function qH(e,t,r,n,s){let o=n.tag,i=o?t.directives.tagName(o.source,p=>s(o,"TAG_RESOLVE_FAILED",p)):null;if(r.type==="block-seq"){let{anchor:p,newlineAfterProp:f}=n,m=p&&o?p.offset>o.offset?p:o:p??o;m&&(!f||f.offset<m.offset)&&s(m,"MISSING_CHAR","Missing newline after block sequence props")}let a=r.type==="block-map"?"map":r.type==="block-seq"?"seq":r.start.source==="{"?"map":"seq";if(!o||!i||i==="!"||i===DH.YAMLMap.tagName&&a==="map"||i===FH.YAMLSeq.tagName&&a==="seq")return Hh(e,t,r,s,i);let c=t.schema.tags.find(p=>p.tag===i&&p.collection===a);if(!c){let p=t.schema.knownTags[i];if(p?.collection===a)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?s(o,"BAD_COLLECTION_TYPE",`${p.tag} used for ${a} collection, but expects ${p.collection??"scalar"}`,!0):s(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0),Hh(e,t,r,s,i)}let l=Hh(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=$H.isNode(u)?u:new NH.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}y0.composeCollection=qH});var Jh=I(w0=>{"use strict";var Wh=le();function UH(e,t,r){let n=t.offset,s=HH(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Wh.Scalar.BLOCK_FOLDED:Wh.Scalar.BLOCK_LITERAL,i=t.source?WH(t.source):[],a=i.length;for(let g=i.length-1;g>=0;--g){let b=i[g][1];if(b===""||b==="\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&i.length>0?`
171
+ `}};Ii.YAMLError=Pi;Ii.YAMLParseError=Mh;Ii.YAMLWarning=Bh;Ii.prettifyError=yH});var Gi=I(r0=>{"use strict";function bH(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,g=null,b=null,y=null,E=null,w=null,k=null,S=null;for(let O of e)switch(m&&(O.type!=="space"&&O.type!=="newline"&&O.type!=="comma"&&o(O.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(l&&O.type!=="comment"&&O.type!=="newline"&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),O.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&O.source.includes(" ")&&(g=O),u=!0;break;case"comment":{u||o(O,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G=O.source.substring(1)||" ";d?d+=p+G:d=G,p="",l=!1;break}case"newline":l?d?d+=O.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=O.source,l=!0,f=!0,(b||y)&&(E=O),u=!0;break;case"anchor":b&&o(O,"MULTIPLE_ANCHORS","A node can have at most one anchor"),O.source.endsWith(":")&&o(O.offset+O.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),b=O,S??(S=O.offset),l=!1,u=!1,m=!0;break;case"tag":{y&&o(O,"MULTIPLE_TAGS","A node can have at most one tag"),y=O,S??(S=O.offset),l=!1,u=!1,m=!0;break}case r:(b||y)&&o(O,"BAD_PROP_ORDER",`Anchors and tags must be after the ${O.source} indicator`),k&&o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.source} in ${t??"collection"}`),k=O,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){w&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),w=O,l=!1,u=!1;break}default:o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.type} token`),l=!1,u=!1}let T=e[e.length-1],C=T?T.offset+T.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:w,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}r0.resolveProps=bH});var Kl=I(n0=>{"use strict";function jh(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(jh(t.key)||jh(t.value))return!0}return!1;default:return!0}}n0.containsNewline=jh});var qh=I(s0=>{"use strict";var wH=Kl();function _H(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&wH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}s0.flowIndentCheck=_H});var Uh=I(i0=>{"use strict";var o0=K();function EH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||o0.isScalar(o)&&o0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}i0.mapIncludes=EH});var p0=I(d0=>{"use strict";var a0=$r(),kH=Dr(),c0=Gi(),SH=Kl(),l0=qh(),RH=Uh(),u0="All mapping items must start at the same column";function vH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??kH.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=c0.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",u0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
173
+ `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||SH.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",u0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&l0.flowIndentCheck(n.indent,p,s),r.atKey=!1,RH.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=c0.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:E.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){b&&(m?.type==="block-map"&&!w.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<w.found.offset-1024&&s(E.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,w,s):t(r,c,f,null,w,s);r.schema.compat&&l0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new a0.Pair(E,k);r.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}else{b&&s(E.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),w.comment&&(E.comment?E.comment+=`
174
+ `+w.comment:E.comment=w.comment);let k=new a0.Pair(E);r.options.keepSourceTokens&&(k.srcToken=u),a.items.push(k)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}d0.resolveBlockMap=vH});var m0=I(f0=>{"use strict";var TH=Fr(),xH=Gi(),OH=qh();function AH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??TH.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=xH.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&&OH.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}f0.resolveBlockSeq=AH});var Ns=I(h0=>{"use strict";function CH(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}}h0.resolveEnd=CH});var w0=I(b0=>{"use strict";var PH=K(),IH=$r(),g0=Dr(),LH=Fr(),GH=Ns(),y0=Gi(),$H=Kl(),NH=Uh(),Hh="Block collections are not allowed within flow collections",Wh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function DH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?g0.YAMLMap:LH.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let b=0;b<n.items.length;++b){let y=n.items[b],{start:E,key:w,sep:k,value:S}=y,T=y0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:w??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!T.found){if(!T.anchor&&!T.tag&&!k&&!S){b===0&&T.comma?s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):b<n.items.length-1&&s(T.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),T.comment&&(l.comment?l.comment+=`
175
+ `+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&$H.containsNewline(w)&&s(w,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(b===0)T.comma&&s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(T.comma||s(T.start,"MISSING_CHAR",`Missing , between ${a} items`),T.comment){let C="";e:for(let O of E)switch(O.type){case"comma":case"space":break;case"comment":C=O.source.substring(1);break e;default:break e}if(C){let O=l.items[l.items.length-1];PH.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],Wh(S)&&s(C.range,"BLOCK_IN_FLOW",Hh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,E,null,T,s);Wh(w)&&s(O.range,"BLOCK_IN_FLOW",Hh),r.atKey=!1;let G=y0.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?Wh(S)&&s(q.range,"BLOCK_IN_FLOW",Hh):G.comment&&(O.comment?O.comment+=`
177
+ `+G.comment:O.comment=G.comment);let Q=new IH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let J=l;NH.mapIncludes(r,J.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),J.items.push(Q)}else{let J=new g0.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=GH.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}b0.resolveFlowCollection=DH});var E0=I(_0=>{"use strict";var FH=K(),MH=le(),BH=Dr(),jH=Fr(),qH=p0(),UH=m0(),HH=w0();function Jh(e,t,r,n,s,o){let i=r.type==="block-map"?qH.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?UH.resolveBlockSeq(e,t,r,n,o):HH.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 WH(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===BH.YAMLMap.tagName&&a==="map"||i===jH.YAMLSeq.tagName&&a==="seq")return Jh(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),Jh(e,t,r,s,i)}let l=Jh(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=FH.isNode(u)?u:new MH.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}_0.composeCollection=WH});var Kh=I(k0=>{"use strict";var Vh=le();function JH(e,t,r){let n=t.offset,s=VH(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Vh.Scalar.BLOCK_FOLDED:Vh.Scalar.BLOCK_LITERAL,i=t.source?KH(t.source):[],a=i.length;for(let g=i.length-1;g>=0;--g){let b=i[g][1];if(b===""||b==="\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&i.length>0?`
179
179
  `.repeat(Math.max(1,i.length-1)):"",b=n+s.length;return t.source&&(b+=t.source.length),{value:g,type:o,comment:s.comment,range:[n,b,b]}}let c=t.indent+s.indent,l=t.offset+s.length,u=0;for(let g=0;g<a;++g){let[b,y]=i[g];if(y===""||y==="\r")s.indent===0&&b.length>c&&(c=b.length);else{b.length<c&&r(l+b.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=b.length),u=g,c===0&&!e.atRoot&&r(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=b.length+y.length+1}for(let g=i.length-1;g>=a;--g)i[g][0].length>c&&(a=g+1);let d="",p="",f=!1;for(let g=0;g<u;++g)d+=i[g][0].slice(c)+`
180
- `;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===Wh.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
180
+ `;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===Vh.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
181
181
  `):b.length>c||y[0]===" "?(p===" "?p=`
182
182
  `:!f&&p===`
183
183
  `&&(p=`
@@ -190,132 +190,132 @@ ${l}
190
190
  `+i[g][0].slice(c);d[d.length-1]!==`
191
191
  `&&(d+=`
192
192
  `);break;default:d+=`
193
- `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function HH({offset:e,props:t},r,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:s}=t[0],o=s[0],i=0,a="",c=-1;for(let p=1;p<s.length;++p){let f=s[p];if(!a&&(f==="-"||f==="+"))a=f;else{let m=Number(f);!i&&m?i=m:c===-1&&(c=e+p)}}c!==-1&&n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let l=!1,u="",d=s.length;for(let p=1;p<t.length;++p){let f=t[p];switch(f.type){case"space":l=!0;case"newline":d+=f.source.length;break;case"comment":r&&!l&&n(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=f.source.length,u=f.source.substring(1);break;case"error":n(f,"UNEXPECTED_TOKEN",f.message),d+=f.source.length;break;default:{let m=`Unexpected token in block scalar header: ${f.type}`;n(f,"UNEXPECTED_TOKEN",m);let g=f.source;g&&typeof g=="string"&&(d+=g.length)}}}return{mode:o,indent:i,chomp:a,comment:u,length:d}}function WH(e){let t=e.split(/\n( *)/),r=t[0],n=r.match(/^( *)/),o=[n?.[1]?[n[1],r.slice(n[1].length)]:["",r]];for(let i=1;i<t.length;i+=2)o.push([t[i],t[i+1]]);return o}w0.resolveBlockScalar=UH});var Kh=I(E0=>{"use strict";var Vh=le(),JH=Ns();function VH(e,t,r){let{offset:n,type:s,source:o,end:i}=e,a,c,l=(p,f,m)=>r(n+p,f,m);switch(s){case"scalar":a=Vh.Scalar.PLAIN,c=KH(o,l);break;case"single-quoted-scalar":a=Vh.Scalar.QUOTE_SINGLE,c=zH(o,l);break;case"double-quoted-scalar":a=Vh.Scalar.QUOTE_DOUBLE,c=YH(o,l);break;default:return r(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[n,n+o.length,n+o.length]}}let u=n+o.length,d=JH.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function KH(e,t){let r="";switch(e[0]){case" ":r="a tab character";break;case",":r="flow indicator character ,";break;case"%":r="directive indicator character %";break;case"|":case">":{r=`block scalar indicator ${e[0]}`;break}case"@":case"`":{r=`reserved character ${e[0]}`;break}}return r&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${r}`),_0(e)}function zH(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),_0(e.slice(1,-1)).replace(/''/g,"'")}function _0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
193
+ `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function VH({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 KH(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}k0.resolveBlockScalar=JH});var Yh=I(R0=>{"use strict";var zh=le(),zH=Ns();function YH(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=zh.Scalar.PLAIN,c=QH(o,l);break;case"single-quoted-scalar":a=zh.Scalar.QUOTE_SINGLE,c=XH(o,l);break;case"double-quoted-scalar":a=zh.Scalar.QUOTE_DOUBLE,c=ZH(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=zH.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function QH(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}`),S0(e)}function XH(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),S0(e.slice(1,-1)).replace(/''/g,"'")}function S0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
194
194
  `,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
195
195
  `,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let s=n[1],o=" ",i=t.lastIndex;for(r.lastIndex=i;n=r.exec(e);)n[1]===""?o===`
196
196
  `?s+=o:o=`
197
- `:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function YH(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 ZH(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
198
198
  `))if(s===`
199
- `){let{fold:o,offset:i}=QH(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=XH[o];if(i)r+=i;else if(o===`
199
+ `){let{fold:o,offset:i}=eW(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=tW[o];if(i)r+=i;else if(o===`
200
200
  `)for(o=e[n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="\r"&&e[n+1]===`
201
- `)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=ZH(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(s===" "||s===" "){let o=n,i=e[n+1];for(;i===" "||i===" ";)i=e[++n+1];i!==`
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+=rW(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(s===" "||s===" "){let o=n,i=e[n+1];for(;i===" "||i===" ";)i=e[++n+1];i!==`
202
202
  `&&!(i==="\r"&&e[n+2]===`
203
- `)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function QH(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 eW(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
204
204
  `||n==="\r")&&!(n==="\r"&&e[t+2]!==`
205
205
  `);)n===`
206
206
  `&&(r+=`
207
- `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var XH={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
208
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function ZH(e,t,r,n){let s=e.substr(t,r),i=s.length===r&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;try{return String.fromCodePoint(i)}catch{let a=e.substr(t-2,r+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}E0.resolveFlowScalar=VH});var R0=I(S0=>{"use strict";var xn=K(),k0=le(),eW=Jh(),tW=Kh();function rW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?eW.resolveBlockScalar(e,t,n):tW.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,d=>n(r,"TAG_RESOLVE_FAILED",d)):null,l;e.options.stringKeys&&e.atKey?l=e.schema[xn.SCALAR]:c?l=nW(e.schema,s,c,r,n):t.type==="scalar"?l=sW(e,s,t,n):l=e.schema[xn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=xn.isScalar(d)?d:new k0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new k0.Scalar(s)}return u.range=a,u.source=s,o&&(u.type=o),c&&(u.tag=c),l.format&&(u.format=l.format),i&&(u.comment=i),u}function nW(e,t,r,n,s){if(r==="!")return e[xn.SCALAR];let o=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)o.push(a);else return a;for(let a of o)if(a.test?.test(t))return a;let i=e.knownTags[r];return i&&!i.collection?(e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[xn.SCALAR])}function sW({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[xn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[xn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),l=t.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;o(s,"TAG_RESOLVE_FAILED",u,!0)}}return i}S0.composeScalar=rW});var T0=I(v0=>{"use strict";function oW(e,t,r){if(t){r??(r=t.length);for(let n=r-1;n>=0;--n){let s=t[n];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++n];s?.type==="space";)e+=s.source.length,s=t[++n];break}}return e}v0.emptyScalarPosition=oW});var A0=I(Yh=>{"use strict";var iW=fi(),aW=K(),cW=b0(),x0=R0(),lW=Ns(),uW=T0(),dW={composeNode:O0,composeEmptyNode:zh};function O0(e,t,r,n){let s=e.atKey,{spaceBefore:o,comment:i,anchor:a,tag:c}=r,l,u=!0;switch(t.type){case"alias":l=pW(e,t,n),(a||c)&&n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=x0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=cW.composeCollection(dW,e,t,r,n),a&&(l.anchor=a.source.substring(1))}catch(d){let p=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",p)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),u=!1}}return l??(l=zh(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!aW.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function zh(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:uW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=x0.composeScalar(e,u,a,l);return i&&(d.anchor=i.source.substring(1),d.anchor===""&&l(i,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(d.spaceBefore=!0),o&&(d.comment=o,d.range[2]=c),d}function pW({options:e},{offset:t,source:r,end:n},s){let o=new iW.Alias(r.substring(1));o.source===""&&s(t,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&s(t+r.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=t+r.length,a=lW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Yh.composeEmptyNode=zh;Yh.composeNode=O0});var I0=I(P0=>{"use strict";var fW=Ai(),C0=A0(),mW=Ns(),hW=Li();function gW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new fW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=hW.resolveProps(n,{indicator:"doc-start",next:s??o?.[0],offset:r,onError:i,parentIndent:0,startOnNewline:!0});u.found&&(c.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!u.hasNewline&&i(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=s?C0.composeNode(l,s,u,i):C0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=mW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}P0.composeDoc=gW});var Xh=I($0=>{"use strict";var yW=ta("process"),bW=Dm(),wW=Ai(),Gi=Ii(),L0=K(),_W=I0(),EW=Ns();function $i(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function G0(e){let t="",r=!1,n=!1;for(let s=0;s<e.length;++s){let o=e[s];switch(o[0]){case"#":t+=(t===""?"":n?`
207
+ `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var tW={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 rW(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}}R0.resolveFlowScalar=YH});var x0=I(T0=>{"use strict";var xn=K(),v0=le(),nW=Kh(),sW=Yh();function oW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?nW.resolveBlockScalar(e,t,n):sW.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=iW(e.schema,s,c,r,n):t.type==="scalar"?l=aW(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 v0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new v0.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 iW(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 aW({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}T0.composeScalar=oW});var A0=I(O0=>{"use strict";function cW(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}O0.emptyScalarPosition=cW});var I0=I(Xh=>{"use strict";var lW=mi(),uW=K(),dW=E0(),C0=x0(),pW=Ns(),fW=A0(),mW={composeNode:P0,composeEmptyNode:Qh};function P0(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=hW(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=C0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=dW.composeCollection(mW,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=Qh(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&&(!uW.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 Qh(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:fW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=C0.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 hW({options:e},{offset:t,source:r,end:n},s){let o=new lW.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=pW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Xh.composeEmptyNode=Qh;Xh.composeNode=P0});var $0=I(G0=>{"use strict";var gW=Ci(),L0=I0(),yW=Ns(),bW=Gi();function wW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new gW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=bW.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?L0.composeNode(l,s,u,i):L0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=yW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}G0.composeDoc=wW});var eg=I(F0=>{"use strict";var _W=ra("process"),EW=Mm(),kW=Ci(),$i=Li(),N0=K(),SW=$0(),RW=Ns();function Ni(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 D0(e){let t="",r=!1,n=!1;for(let s=0;s<e.length;++s){let o=e[s];switch(o[0]){case"#":t+=(t===""?"":n?`
209
209
 
210
210
  `:`
211
- `)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var Qh=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=$i(r);o?this.warnings.push(new Gi.YAMLWarning(i,n,s)):this.errors.push(new Gi.YAMLParseError(i,n,s))},this.directives=new bW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=G0(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
212
- ${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(L0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];L0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
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 Zh=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Ni(r);o?this.warnings.push(new $i.YAMLWarning(i,n,s)):this.errors.push(new $i.YAMLParseError(i,n,s))},this.directives=new EW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=D0(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(N0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];N0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
213
213
  ${a}`:n}else{let i=o.commentBefore;o.commentBefore=i?`${n}
214
- ${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:G0(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,r=!1,n=-1){for(let s of t)yield*this.next(s);yield*this.end(r,n)}*next(t){switch(yW.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=$i(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=_W.composeDoc(this.options,this.directives,t,this.onError);this.atDirectives&&!r.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(r,!1),this.doc&&(yield this.doc),this.doc=r,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let r=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,n=new Gi.YAMLParseError($i(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new Gi.YAMLParseError($i(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=EW.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),r.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
215
- ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Gi.YAMLParseError($i(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),s=new wW.Document(void 0,n);this.atDirectives&&this.onError(r,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,r,r],this.decorate(s,!1),yield s}}};$0.Composer=Qh});var F0=I(Kl=>{"use strict";var kW=Jh(),SW=Kh(),RW=Ii(),N0=bi();function vW(e,t=!0,r){if(e){let n=(s,o,i)=>{let a=typeof s=="number"?s:Array.isArray(s)?s[0]:s.offset;if(r)r(a,o,i);else throw new RW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return SW.resolveFlowScalar(e,t,n);case"block-scalar":return kW.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function TW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=N0.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
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:D0(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(_W.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Ni(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=SW.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 $i.YAMLParseError(Ni(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 $i.YAMLParseError(Ni(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=RW.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 $i.YAMLParseError(Ni(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 kW.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}}};F0.Composer=Zh});var j0=I(zl=>{"use strict";var vW=Kh(),TW=Yh(),xW=Li(),M0=wi();function OW(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 xW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return TW.resolveFlowScalar(e,t,n);case"block-scalar":return vW.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function AW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=M0.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
216
216
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
217
217
  `),u=a.substring(0,l),d=a.substring(l+1)+`
218
- `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return D0(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
219
- `}),{type:"block-scalar",offset:o,indent:n,props:p,source:d}}case'"':return{type:"double-quoted-scalar",offset:o,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:o,indent:n,source:a,end:c};default:return{type:"scalar",offset:o,indent:n,source:a,end:c}}}function xW(e,t,r={}){let{afterKey:n=!1,implicitKey:s=!1,inFlow:o=!1,type:i}=r,a="indent"in e?e.indent:null;if(n&&typeof a=="number"&&(a+=2),!i)switch(e.type){case"single-quoted-scalar":i="QUOTE_SINGLE";break;case"double-quoted-scalar":i="QUOTE_DOUBLE";break;case"block-scalar":{let l=e.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");i=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:i="PLAIN"}let c=N0.stringifyString({type:i,value:t},{implicitKey:s||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":OW(e,c);break;case'"':Zh(e,c,"double-quoted-scalar");break;case"'":Zh(e,c,"single-quoted-scalar");break;default:Zh(e,c,"scalar")}}function OW(e,t){let r=t.indexOf(`
218
+ `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return B0(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 CW(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=M0.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">":PW(e,c);break;case'"':tg(e,c,"double-quoted-scalar");break;case"'":tg(e,c,"single-quoted-scalar");break;default:tg(e,c,"scalar")}}function PW(e,t){let r=t.indexOf(`
220
220
  `),n=t.substring(0,r),s=t.substring(r+1)+`
221
- `;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];D0(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
222
- `});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:s})}}function D0(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function Zh(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(let o of n)o.offset+=s;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
223
- `};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}Kl.createScalarToken=TW;Kl.resolveAsScalar=vW;Kl.setScalarValue=xW});var B0=I(M0=>{"use strict";var AW=e=>"type"in e?Yl(e):zl(e);function Yl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Yl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=zl(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=zl(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=zl(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function zl({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Yl(t)),r)for(let o of r)s+=o.source;return n&&(s+=Yl(n)),s}M0.stringify=AW});var H0=I(U0=>{"use strict";var eg=Symbol("break visit"),CW=Symbol("skip children"),j0=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),q0(Object.freeze([]),e,t)}On.BREAK=eg;On.SKIP=CW;On.REMOVE=j0;On.itemAtPath=(e,t)=>{let r=e;for(let[n,s]of t){let o=r?.[n];if(o&&"items"in o)r=o.items[s];else return}return r};On.parentCollection=(e,t)=>{let r=On.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],s=r?.[n];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function q0(e,t,r){let n=r(t,e);if(typeof n=="symbol")return n;for(let s of["key","value"]){let o=t[s];if(o&&"items"in o){for(let i=0;i<o.items.length;++i){let a=q0(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===eg)return eg;a===j0&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}U0.visit=On});var Ql=I(Ke=>{"use strict";var tg=F0(),PW=B0(),IW=H0(),rg="\uFEFF",ng="",sg="",og="",LW=e=>!!e&&"items"in e,GW=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function $W(e){switch(e){case rg:return"<BOM>";case ng:return"<DOC>";case sg:return"<FLOW_END>";case og:return"<SCALAR>";default:return JSON.stringify(e)}}function NW(e){switch(e){case rg:return"byte-order-mark";case ng:return"doc-mode";case sg:return"flow-error-end";case og:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
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}];B0(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 B0(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 tg(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(let o of n)o.offset+=s;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
223
+ `};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}zl.createScalarToken=AW;zl.resolveAsScalar=OW;zl.setScalarValue=CW});var U0=I(q0=>{"use strict";var IW=e=>"type"in e?Ql(e):Yl(e);function Ql(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Ql(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=Yl(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=Yl(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=Yl(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 Yl({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Ql(t)),r)for(let o of r)s+=o.source;return n&&(s+=Ql(n)),s}q0.stringify=IW});var V0=I(J0=>{"use strict";var rg=Symbol("break visit"),LW=Symbol("skip children"),H0=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),W0(Object.freeze([]),e,t)}On.BREAK=rg;On.SKIP=LW;On.REMOVE=H0;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 W0(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=W0(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===rg)return rg;a===H0&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}J0.visit=On});var Xl=I(Ke=>{"use strict";var ng=j0(),GW=U0(),$W=V0(),sg="\uFEFF",og="",ig="",ag="",NW=e=>!!e&&"items"in e,DW=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function FW(e){switch(e){case sg:return"<BOM>";case og:return"<DOC>";case ig:return"<FLOW_END>";case ag:return"<SCALAR>";default:return JSON.stringify(e)}}function MW(e){switch(e){case sg:return"byte-order-mark";case og:return"doc-mode";case ig:return"flow-error-end";case ag:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
224
224
  `:case`\r
225
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}Ke.createScalarToken=tg.createScalarToken;Ke.resolveAsScalar=tg.resolveAsScalar;Ke.setScalarValue=tg.setScalarValue;Ke.stringify=PW.stringify;Ke.visit=IW.visit;Ke.BOM=rg;Ke.DOCUMENT=ng;Ke.FLOW_END=sg;Ke.SCALAR=og;Ke.isCollection=LW;Ke.isScalar=GW;Ke.prettyToken=$W;Ke.tokenType=NW});var cg=I(J0=>{"use strict";var Ni=Ql();function Ot(e){switch(e){case void 0:case" ":case`
226
- `:case"\r":case" ":return!0;default:return!1}}var W0=new Set("0123456789ABCDEFabcdef"),DW=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Xl=new Set(",[]{}"),FW=new Set(` ,[]{}
227
- \r `),ig=e=>!e||FW.has(e),ag=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
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=ng.createScalarToken;Ke.resolveAsScalar=ng.resolveAsScalar;Ke.setScalarValue=ng.setScalarValue;Ke.stringify=GW.stringify;Ke.visit=$W.visit;Ke.BOM=sg;Ke.DOCUMENT=og;Ke.FLOW_END=ig;Ke.SCALAR=ag;Ke.isCollection=NW;Ke.isScalar=DW;Ke.prettyToken=FW;Ke.tokenType=MW});var ug=I(z0=>{"use strict";var Di=Xl();function Ot(e){switch(e){case void 0:case" ":case`
226
+ `:case"\r":case" ":return!0;default:return!1}}var K0=new Set("0123456789ABCDEFabcdef"),BW=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Zl=new Set(",[]{}"),jW=new Set(` ,[]{}
227
+ \r `),cg=e=>!e||jW.has(e),lg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
228
228
  `?!0:r==="\r"?this.buffer[t+1]===`
229
229
  `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let r=this.buffer[t];if(this.indentNext>0){let n=0;for(;r===" ";)r=this.buffer[++n+t];if(r==="\r"){let s=this.buffer[n+t+1];if(s===`
230
230
  `||!s&&!this.atEnd)return t+n+1}return r===`
231
231
  `||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&Ot(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
232
- `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Ni.BOM&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let r=t.length,n=t.indexOf("#");for(;n!==-1;){let o=t[n-1];if(o===" "||o===" "){r=n-1;break}else n=t.indexOf("#",n+1)}for(;;){let o=t[r-1];if(o===" "||o===" ")r-=1;else break}let s=(yield*this.pushCount(r))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){let r=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-r),yield*this.pushNewline(),"stream"}return yield Ni.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&Ot(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Ot(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Ot(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(ig),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&Ot(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Ni.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(ig),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||Ot(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
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]===Di.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 Di.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(cg),"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 Di.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(cg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||Ot(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
233
233
  `,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
234
234
  `,o)}s!==-1&&(r=s-(n[s-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pushToIndex(r+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){let r=this.buffer[++t];if(r==="+")this.blockScalarKeep=!0;else if(r>"0"&&r<="9")this.blockScalarIndent=Number(r)-1;else if(r!=="-")break}return yield*this.pushUntil(r=>Ot(r)||r==="#")}*parseBlockScalar(){let t=this.pos-1,r=0,n;e:for(let o=this.pos;n=this.buffer[o];++o)switch(n){case" ":r+=1;break;case`
235
235
  `:t=o,r=0;break;case"\r":{let i=this.buffer[o+1];if(!i&&!this.atEnd)return this.setNext("block-scalar");if(i===`
236
236
  `)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(r>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=r:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let o=this.continueScalar(t+1);if(o===-1)break;t=this.buffer.indexOf(`
237
237
  `,o)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let s=t+1;for(n=this.buffer[s];n===" ";)n=this.buffer[++s];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
238
238
  `;)n=this.buffer[++s];t=s-1}else if(!this.blockScalarKeep)do{let o=t-1,i=this.buffer[o];i==="\r"&&(i=this.buffer[--o]);let a=o;for(;i===" ";)i=this.buffer[--o];if(i===`
239
- `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Ni.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(Ot(o)||t&&Xl.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
239
+ `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Di.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&&Zl.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
240
240
  `?(n+=1,s=`
241
- `,o=this.buffer[n+1]):r=n),o==="#"||t&&Xl.has(o))break;if(s===`
242
- `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&Xl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ni.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(ig),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&Xl.has(n)){r?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!Ot(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(DW.has(r))r=this.buffer[++t];else if(r==="%"&&W0.has(this.buffer[t+1])&&W0.has(this.buffer[t+2]))r=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===`
241
+ `,o=this.buffer[n+1]):r=n),o==="#"||t&&Zl.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&&Zl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Di.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(cg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&Zl.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(BW.has(r))r=this.buffer[++t];else if(r==="%"&&K0.has(this.buffer[t+1])&&K0.has(this.buffer[t+2]))r=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===`
243
243
  `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
244
- `?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};J0.Lexer=ag});var ug=I(V0=>{"use strict";var lg=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let r=0,n=this.lineStarts.length;for(;r<n;){let o=r+n>>1;this.lineStarts[o]<t?r=o+1:n=o}if(this.lineStarts[r]===t)return{line:r+1,col:1};if(r===0)return{line:0,col:t};let s=this.lineStarts[r-1];return{line:r,col:t-s+1}}}};V0.LineCounter=lg});var pg=I(X0=>{"use strict";var MW=ta("process"),K0=Ql(),BW=cg();function Mr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function z0(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function Q0(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Zl(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Ds(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function eu(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function Y0(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Mr(t.start,"explicit-key-ind")&&!Mr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,Q0(t.value)?t.value.end?eu(t.value.end,t.sep):t.value.end=t.sep:eu(t.start,t.sep),delete t.sep)}var dg=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new BW.Lexer,this.onNewLine=t}*parse(t,r=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(t,r))yield*this.next(n);r||(yield*this.end())}*next(t){if(this.source=t,MW.env.LOG_TOKENS&&console.log("|",K0.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=K0.tokenType(t);if(r)if(r==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=r,yield*this.step(),r){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let n=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&t?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let r=t??this.stack.pop();if(!r)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield r;else{let n=this.peek(1);switch(r.type==="block-scalar"?r.indent="indent"in n?n.indent:0:r.type==="flow-collection"&&n.type==="document"&&(r.indent=0),r.type==="flow-collection"&&Y0(r),n.type){case"document":n.value=r;break;case"block-scalar":n.props.push(r);break;case"block-map":{let s=n.items[n.items.length-1];if(s.value){n.items.push({start:[],key:r,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=r;else{Object.assign(s,{key:r,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=n.items[n.items.length-1];s.value?n.items.push({start:[],value:r}):s.value=r;break}case"flow-collection":{let s=n.items[n.items.length-1];!s||s.value?n.items.push({start:[],key:r,sep:[]}):s.sep?s.value=r:Object.assign(s,{key:r,sep:[]});return}default:yield*this.pop(),yield*this.pop(r)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(r.type==="block-map"||r.type==="block-seq")){let s=r.items[r.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&z0(s.start)===-1&&(r.indent===0||s.start.every(o=>o.type!=="comment"||o.indent<r.indent))&&(n.type==="document"?n.end=s.start:n.items.push({start:s.start}),r.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{z0(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=Zl(this.peek(2)),n=Ds(r),s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];let o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:n,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let r=this.source.indexOf(`
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)}};z0.Lexer=lg});var pg=I(Y0=>{"use strict";var dg=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}}}};Y0.LineCounter=dg});var mg=I(tO=>{"use strict";var qW=ra("process"),Q0=Xl(),UW=ug();function Mr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function X0(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 eO(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 eu(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 tu(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,eO(t.value)?t.value.end?tu(t.value.end,t.sep):t.value.end=t.sep:tu(t.start,t.sep),delete t.sep)}var fg=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 UW.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,qW.env.LOG_TOKENS&&console.log("|",Q0.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=Q0.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&&X0(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":{X0(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=eu(this.peek(2)),n=Ds(r),s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];let o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:n,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let r=this.source.indexOf(`
245
245
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
246
- `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){eu(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Mr(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(Q0(r.key)&&!Mr(r.sep,"newline")){let i=Ds(r.start),a=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:a,sep:c}]})}else o.length>0?r.sep=r.sep.concat(o,this.sourceToken):r.sep.push(this.sourceToken);else if(Mr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Ds(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:o,key:null,sep:[this.sourceToken]}):Mr(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);s||r.value?(t.items.push({start:o,key:i,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(i):(Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{let i=this.startBlockValue(t);if(i){if(i.type==="block-seq"){if(!r.explicitKey&&r.sep&&!Mr(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){eu(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||Mr(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=Zl(n),o=Ds(s);Y0(t);let i=t.end.splice(1,t.end.length);i.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:o,key:t,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let r=this.source.indexOf(`
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)){tu(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(eO(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)){tu(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=eu(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(`
247
247
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
248
- `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=Zl(t),n=Ds(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=Zl(t),n=Ds(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,r){return this.type!=="comment"||this.indent<=r?!1:t.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};X0.Parser=dg});var nO=I(Fi=>{"use strict";var Z0=Xh(),jW=Ai(),Di=Ii(),qW=Ym(),UW=K(),HW=ug(),eO=pg();function tO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new HW.LineCounter||null,prettyErrors:t}}function WW(e,t={}){let{lineCounter:r,prettyErrors:n}=tO(t),s=new eO.Parser(r?.addNewLine),o=new Z0.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Di.prettifyError(e,r)),a.warnings.forEach(Di.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function rO(e,t={}){let{lineCounter:r,prettyErrors:n}=tO(t),s=new eO.Parser(r?.addNewLine),o=new Z0.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Di.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Di.prettifyError(e,r)),i.warnings.forEach(Di.prettifyError(e,r))),i}function JW(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=rO(e,r);if(!s)return null;if(s.warnings.forEach(o=>qW.warn(s.options.logLevel,o)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},r))}function VW(e,t,r){let n=null;if(typeof t=="function"||Array.isArray(t)?n=t:r===void 0&&t&&(r=t),typeof r=="string"&&(r=r.length),typeof r=="number"){let s=Math.round(r);r=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){let{keepUndefined:s}=r??t??{};if(!s)return}return UW.isDocument(e)&&!n?e.toString(r):new jW.Document(e,n,r).toString(r)}Fi.parse=JW;Fi.parseAllDocuments=WW;Fi.parseDocument=rO;Fi.stringify=VW});var oO=I(X=>{"use strict";var KW=Xh(),zW=Ai(),YW=Ih(),fg=Ii(),QW=fi(),Br=K(),XW=$r(),ZW=le(),eJ=Dr(),tJ=Fr(),rJ=Ql(),nJ=cg(),sJ=ug(),oJ=pg(),tu=nO(),sO=li();X.Composer=KW.Composer;X.Document=zW.Document;X.Schema=YW.Schema;X.YAMLError=fg.YAMLError;X.YAMLParseError=fg.YAMLParseError;X.YAMLWarning=fg.YAMLWarning;X.Alias=QW.Alias;X.isAlias=Br.isAlias;X.isCollection=Br.isCollection;X.isDocument=Br.isDocument;X.isMap=Br.isMap;X.isNode=Br.isNode;X.isPair=Br.isPair;X.isScalar=Br.isScalar;X.isSeq=Br.isSeq;X.Pair=XW.Pair;X.Scalar=ZW.Scalar;X.YAMLMap=eJ.YAMLMap;X.YAMLSeq=tJ.YAMLSeq;X.CST=rJ;X.Lexer=nJ.Lexer;X.LineCounter=sJ.LineCounter;X.Parser=oJ.Parser;X.parse=tu.parse;X.parseAllDocuments=tu.parseAllDocuments;X.parseDocument=tu.parseDocument;X.stringify=tu.stringify;X.visit=sO.visit;X.visitAsync=sO.visitAsync});import{isUtf8 as iJ}from"node:buffer";import{spawnSync as aJ}from"node:child_process";import{isDeepStrictEqual as iO}from"node:util";function mg(e,t={}){if(e.length===0||!iJ(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=cJ(n,t.decode??z,t.runTq??lJ)??uJ(n,t.decode??z);if(!s)return e;let{value:o}=s;try{let i=(t.encode??M)(o),a=(t.decode??z)(i);return!iO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function cJ(e,t,r){if(!e.startsWith("<"))return;let n=r(e,"xml","toon");if(n===void 0)return;let s=r(n,"toon","xml");if(s===void 0)return;let o=r(s,"xml","toon");if(o!==void 0)try{let i=t(n);return iO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function lJ(e,t,r){let n=aJ("tq",["-p",t,"-o",r,"."],{input:e,encoding:"utf8",maxBuffer:Math.max(16777216,e.length*32),timeout:5e3});if(!(n.error||n.status!==0||n.signal||n.stdout===""))return n.stdout}function uJ(e,t){try{return{value:JSON.parse(e),source:"json"}}catch{}if(e.startsWith("{")&&!e.endsWith("}")||/^["']/.test(e)&&e.at(-1)!==e[0])return;if(/^\s*\[(?:~|\t|\|)?\]\{[^}]+\}:/.test(e))try{return{value:Oe(e),source:"toonl"}}catch{return}let r=e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||/^["']/.test(e)&&e.at(-1)===e[0],n=/(?:^|\n)\s*(?:[^\s:#][^\n:]*:|\[(?:\d+)?\](?:\{[^}]+\})?:)/.test(e);if(n&&!r)try{return{value:t(e),source:"toon"}}catch{}if(e.startsWith("---")||n||r||/(?:^|\n)\s*-\s+\S/.test(e))try{let s=(0,aO.parseAllDocuments)(e,{prettyErrors:!1,strict:!0,uniqueKeys:!0});return s.length!==1||s[0].errors.length>0||s[0].warnings.length>0?void 0:{value:s[0].toJS({maxAliasCount:100}),source:"yaml"}}catch{return}}var aO,hg=_(()=>{"use strict";V();aO=ra(oO(),1)});async function bg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),kp)),Promise.resolve().then(()=>(nr(),Yn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await dJ(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function dJ(e,t){let r=pJ(t.command)?e:mg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=yg(t.sizeThresholdBytes,8*1024),s=yg(t.repetitionThresholdRows,20),o=yg(t.topRows,t.level==="terse"?5:12),i=fJ(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await cO(e,t);if(!y)return{stdout:r,lossy:!1};let E=[...i].sort((T,C)=>C.size_kib-T.size_kib||T.path.localeCompare(C.path)),w=Math.min(o,E.length),k=E.length-w,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:w,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${w}; ${k} omitted`]},summary:{total_size_kib:E.reduce((T,C)=>T+C.size_kib,0),largest_size_kib:E[0]?.size_kib??0},rows:E.slice(0,w),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${y}`}};return{stdout:Buffer.from(`${M(S)}
249
- `),lossy:!0,handle:y,bytesElided:e.length}}let a=hJ(mJ(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=gJ(c),u=e.length>n&&l>=s&&l/c.length>=.8;if(!(c.length>o&&(t.level==="terse"||u)))return{stdout:r,lossy:!1};let p=await cO(e,t);if(!p)return{stdout:r,lossy:!1};let f=Math.min(o,c.length),m=c.length-f,g={family:"automatic-output",content:"structured-array",...a.sourcePath?{source_path:a.sourcePath,context:a.context}:{},reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",input_bytes:e.length,size_threshold_bytes:n,repeated_shape_rows:l,repetition_threshold_rows:s,rows_total:c.length,rows_kept:f,rows_omitted:m,changes:[a.sourcePath?`rows at ${a.sourcePath} capped to first ${f}; ${m} omitted`:`rows capped to first ${f}; ${m} omitted`]},summary:{numeric:yJ(c)},rows:c.slice(0,f),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${p}`}};return{stdout:Buffer.from(`${M(g)}
250
- `),lossy:!0,handle:p,bytesElided:e.length}}function pJ(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function cO(e,t){try{let r=await t.store?.mint(e,{command:t.command,loss:{level:t.level==="automatic"?"brief":t.level,bytes_elided:e.length}})??"";return r.startsWith("el:")?r:""}catch{return""}}function fJ(e){let t=e.toString("utf8").split(/\r?\n/).filter(Boolean);if(t.length===0)return;let r=[];for(let n of t){let s=/^(\d+)\s+(.+)$/.exec(n);if(!s||!s[2]?.includes("target"))return;r.push({size_kib:Number(s[1]),path:s[2]})}return r}function mJ(e){try{return z(e.toString("utf8"))}catch{return}}function gg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hJ(e){if(Array.isArray(e)&&e.every(gg))return{rows:e};if(!gg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(gg)).sort((i,a)=>a[1].length-i[1].length||i[0].localeCompare(a[0]))[0];if(!r)return;let[n,s]=r,o=Object.fromEntries(Object.entries(e).filter(([i])=>i!==n));return{rows:s,sourcePath:n,context:o}}function gJ(e){let t=new Map;for(let r of e){let n=Object.keys(r).sort((s,o)=>s.localeCompare(o)).join("\0");t.set(n,(t.get(n)??0)+1)}return Math.max(0,...t.values())}function yJ(e){let t=[...new Set(e.flatMap(n=>Object.keys(n)))].sort((n,s)=>n.localeCompare(s)),r={};for(let n of t){let s=e.map(o=>o[n]).filter(o=>typeof o=="number"&&Number.isFinite(o));s.length===e.length&&(r[n]={min:Math.min(...s),max:Math.max(...s),sum:bJ(s.reduce((o,i)=>o+i,0))})}return r}function bJ(e){return Number(e.toPrecision(15))}function yg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var wg=_(()=>{"use strict";V();hg()});import{existsSync as wJ}from"node:fs";import{join as _J}from"node:path";function EJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&wJ(_J(e,"rsp")))return!0;return!1}function Mi(){return EJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var _g=_(()=>{"use strict"});var ru={};se(ru,{parseProxyCommandLine:()=>dO,rewriteProxyCommandLine:()=>uO,runProxy:()=>RJ});import{spawn as kJ}from"node:child_process";function SJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function RJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=dO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=uO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await vJ(t.telemetryRoot,r,c),await lO(r,t.level??"lossless");throw c}for(let c of s)await TJ(t.telemetryRoot,c);let i=await lO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await gn(t.telemetryRoot,{collection:lt,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function uO(e,t="lossless",r=Mi()){let n=IJ(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||PJ(n,a)==="|")return i.text;let c=xJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function dO(e){if(e[0]!=="proxy")throw new Error("expected rsp proxy -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp proxy -- <command line>");return n}async function vJ(e,t,r){await gn(e,{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:dt(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function TJ(e,t){await gn(e,{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t.command,command_family:t.commandFamily,decision:t.decision,reason:t.reason,capability_id:t.capabilityId})}async function lO(e,t,r=e){let n=kJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=Ze();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await hT(n,i=>bg(i,r,o))}function xJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=GJ(o);if(!i)return null;let a=CJ(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(yn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=OJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(SJ),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function OJ(e){let t=e.map(n=>n.value),r=e.map(n=>n.raw);return t[0]==="git"&&["status","log","diff","show","blame"].includes(t[1]??"")?{capabilityId:`git:${t[1]}`,wrapperWords:r}:t[0]==="git"&&t[1]==="branch"&&t[2]==="-av"?{capabilityId:"git:branch:av",wrapperWords:r}:t[0]==="gh"&&["pr","issue","run"].includes(t[1]??"")&&["list","view"].includes(t[2]??"")?{capabilityId:`gh:${t[1]}:${t[2]}`,wrapperWords:r}:t[0]==="vitest"?{capabilityId:t[1]==="run"?"vitest:run":"vitest",wrapperWords:r}:t[0]==="cargo"&&t[1]==="test"?{capabilityId:"cargo:test",wrapperWords:r}:AJ(t,r)}function AJ(e,t){return e[0]==="cat"&&e.length===2&&Eg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Eg(e[1])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,"10",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===4&&e[1]==="-n"&&/^[1-9][0-9]*$/.test(e[2])&&Eg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Eg(e){return!!e&&!e.startsWith("-")}function CJ(e){let t=0;for(;t<e.length&&_s(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&_s(e[t].value);)t+=1;return t}function PJ(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function IJ(e){let t=[],r=0,n,s=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(s){s=!1;continue}if(i==="\\"){s=!0;continue}if(n){i===n&&(n=void 0);continue}if(i==="'"||i==='"'){n=i;continue}let a=LJ(e,o);a&&(o>r&&t.push({kind:"segment",text:e.slice(r,o)}),t.push({kind:"operator",text:a}),o+=a.length-1,r=o+1)}return r<e.length&&t.push({kind:"segment",text:e.slice(r)}),t}function LJ(e,t){let r=e.slice(t,t+2);if(r==="&&"||r==="||")return r;let n=e[t];return n===";"||n==="|"?n:void 0}function GJ(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var nu=_(()=>{"use strict";we();gT();wg();Jo();_g();Ft()});function mO(e,t={}){let r=$J(e);if(r.length<12)return[];let n=new Map,s=new Map;for(let p of r){s.set(p.signature,(s.get(p.signature)??0)+1);for(let f of new Set(p.tokens))n.set(f,(n.get(f)??0)+1)}let o=r.map(p=>p.length),i=r.map(p=>p.tokens.length),a=r.map(p=>p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs))),c=kg(o),l=kg(i),u=kg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>jJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Sg(p.length,c)+Sg(p.tokens.length,l)+Sg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+MJ(p.tokens,n,r.length)+BJ(p.signature,s,r.length)})).filter(p=>p.score>=(t.minScore??7)).sort((p,f)=>f.score-p.score||p.line.index-f.line.index).slice(0,t.maxOutliers??3).sort((p,f)=>p.line.index-f.line.index).map(p=>({lineNumber:p.line.index+1,score:Math.round(p.score*100)/100,text:p.line.text}))}function $J(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(pO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(pO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function pO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:NJ(n),tokens:DJ(n),numbers:FJ(n),length:n.length}}function NJ(e){return e.replace(/[A-Z]+/g,"A").replace(/[a-z]+/g,"a").replace(/\d+(?:\.\d+)?/g,"0").replace(/\s+/g," ").slice(0,160)}function DJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function FJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function MJ(e,t,r){let n=[...new Set(e)];if(n.length===0)return 0;let s=n.map(o=>Math.log2(r/Math.max(1,t.get(o)??r))).sort((o,i)=>i-o).slice(0,6);return s.reduce((o,i)=>o+i,0)/Math.max(1,s.length)}function BJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function kg(e){let t=fO(e),r=fO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Sg(e,t){return Math.abs(e-t.median)/t.mad}function fO(e){let t=[...e].sort((n,s)=>n-s),r=Math.floor(t.length/2);return t.length===0?0:t.length%2===1?t[r]:((t[r-1]??0)+(t[r]??0))/2}function jJ(e,t,r,n){return e<n&&r<t}var hO=_(()=>{"use strict"});var Rg={};se(Rg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>yO,StructuredUsageError:()=>su,cleanStatusPayload:()=>EO,recoveryInstruction:()=>At,renderGitContract:()=>bO,runGitWrapper:()=>UJ});import{spawn as qJ}from"node:child_process";async function UJ(e,t){let r=wO(e),n=_O(r.argv),s=await VJ(n,r.argv.slice(1));return bO(e,s,t)}async function bO(e,t,r){let n=wO(e);if((t.status??0)!==0||t.signal){let d=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=_O(n.argv),o;try{o=KJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof ou)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(HJ(s,i,n.full,r))return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let a=p2(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
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=eu(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=eu(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())}}};tO.Parser=fg});var iO=I(Mi=>{"use strict";var rO=eg(),HW=Ci(),Fi=Li(),WW=Xm(),JW=K(),VW=pg(),nO=mg();function sO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new VW.LineCounter||null,prettyErrors:t}}function KW(e,t={}){let{lineCounter:r,prettyErrors:n}=sO(t),s=new nO.Parser(r?.addNewLine),o=new rO.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Fi.prettifyError(e,r)),a.warnings.forEach(Fi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function oO(e,t={}){let{lineCounter:r,prettyErrors:n}=sO(t),s=new nO.Parser(r?.addNewLine),o=new rO.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 Fi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Fi.prettifyError(e,r)),i.warnings.forEach(Fi.prettifyError(e,r))),i}function zW(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=oO(e,r);if(!s)return null;if(s.warnings.forEach(o=>WW.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 YW(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 HW.Document(e,n,r).toString(r)}Mi.parse=zW;Mi.parseAllDocuments=KW;Mi.parseDocument=oO;Mi.stringify=YW});var cO=I(X=>{"use strict";var QW=eg(),XW=Ci(),ZW=Gh(),hg=Li(),eJ=mi(),Br=K(),tJ=$r(),rJ=le(),nJ=Dr(),sJ=Fr(),oJ=Xl(),iJ=ug(),aJ=pg(),cJ=mg(),ru=iO(),aO=ui();X.Composer=QW.Composer;X.Document=XW.Document;X.Schema=ZW.Schema;X.YAMLError=hg.YAMLError;X.YAMLParseError=hg.YAMLParseError;X.YAMLWarning=hg.YAMLWarning;X.Alias=eJ.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=tJ.Pair;X.Scalar=rJ.Scalar;X.YAMLMap=nJ.YAMLMap;X.YAMLSeq=sJ.YAMLSeq;X.CST=oJ;X.Lexer=iJ.Lexer;X.LineCounter=aJ.LineCounter;X.Parser=cJ.Parser;X.parse=ru.parse;X.parseAllDocuments=ru.parseAllDocuments;X.parseDocument=ru.parseDocument;X.stringify=ru.stringify;X.visit=aO.visit;X.visitAsync=aO.visitAsync});import{isUtf8 as lJ}from"node:buffer";import{spawnSync as uJ}from"node:child_process";import{isDeepStrictEqual as lO}from"node:util";function gg(e,t={}){if(e.length===0||!lJ(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=dJ(n,t.decode??z,t.runTq??pJ)??fJ(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!lO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function dJ(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 lO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function pJ(e,t,r){let n=uJ("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 fJ(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,uO.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 uO,yg=_(()=>{"use strict";V();uO=na(cO(),1)});async function _g(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),Sp)),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 mJ(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function mJ(e,t){let r=hJ(t.command)?e:gg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=wg(t.sizeThresholdBytes,8*1024),s=wg(t.repetitionThresholdRows,20),o=wg(t.topRows,t.level==="terse"?5:12),i=gJ(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await dO(e,t);if(!y)return{stdout:r,lossy:!1};let E=[...i].sort((T,C)=>C.size_kib-T.size_kib||T.path.localeCompare(C.path)),w=Math.min(o,E.length),k=E.length-w,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:w,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${w}; ${k} omitted`]},summary:{total_size_kib:E.reduce((T,C)=>T+C.size_kib,0),largest_size_kib:E[0]?.size_kib??0},rows:E.slice(0,w),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${y}`}};return{stdout:Buffer.from(`${M(S)}
249
+ `),lossy:!0,handle:y,bytesElided:e.length}}let a=bJ(yJ(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=wJ(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 dO(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:_J(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 hJ(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function dO(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 gJ(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 yJ(e){try{return z(e.toString("utf8"))}catch{return}}function bg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bJ(e){if(Array.isArray(e)&&e.every(bg))return{rows:e};if(!bg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(bg)).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 wJ(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 _J(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:EJ(s.reduce((o,i)=>o+i,0))})}return r}function EJ(e){return Number(e.toPrecision(15))}function wg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Eg=_(()=>{"use strict";V();yg()});import{existsSync as kJ}from"node:fs";import{join as SJ}from"node:path";function RJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&kJ(SJ(e,"rsp")))return!0;return!1}function Bi(){return RJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var kg=_(()=>{"use strict"});var nu={};se(nu,{parseProxyCommandLine:()=>mO,rewriteProxyCommandLine:()=>fO,runProxy:()=>xJ});import{spawn as vJ}from"node:child_process";function TJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function xJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=mO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=fO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await OJ(t.telemetryRoot,r,c),await pO(r,t.level??"lossless");throw c}for(let c of s)await AJ(t.telemetryRoot,c);let i=await pO(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 fO(e,t="lossless",r=Bi()){let n=$J(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||GJ(n,a)==="|")return i.text;let c=CJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function mO(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 OJ(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 AJ(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 pO(e,t,r=e){let n=vJ(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 bT(n,i=>_g(i,r,o))}function CJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=DJ(o);if(!i)return null;let a=LJ(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=PJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(TJ),...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 PJ(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}:IJ(t,r)}function IJ(e,t){return e[0]==="cat"&&e.length===2&&Sg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Sg(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])&&Sg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Sg(e){return!!e&&!e.startsWith("-")}function LJ(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 GJ(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function $J(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=NJ(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 NJ(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 DJ(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var su=_(()=>{"use strict";we();wT();Eg();Vo();kg();Ft()});function yO(e,t={}){let r=FJ(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=Rg(o),l=Rg(i),u=Rg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>HJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:vg(p.length,c)+vg(p.tokens.length,l)+vg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+qJ(p.tokens,n,r.length)+UJ(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 FJ(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(hO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(hO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function hO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:MJ(n),tokens:BJ(n),numbers:jJ(n),length:n.length}}function MJ(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 BJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function jJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function qJ(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 UJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Rg(e){let t=gO(e),r=gO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function vg(e,t){return Math.abs(e-t.median)/t.mad}function gO(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 HJ(e,t,r,n){return e<n&&r<t}var bO=_(()=>{"use strict"});var Tg={};se(Tg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>_O,StructuredUsageError:()=>ou,cleanStatusPayload:()=>RO,recoveryInstruction:()=>At,renderGitContract:()=>EO,runGitWrapper:()=>JJ});import{spawn as WJ}from"node:child_process";async function JJ(e,t){let r=kO(e),n=SO(r.argv),s=await YJ(n,r.argv.slice(1));return EO(e,s,t)}async function EO(e,t,r){let n=kO(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=SO(n.argv),o;try{o=QJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof iu)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(VJ(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=h2(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
251
251
  `;return{stdout:Buffer.from(`${M(a.payload)}
252
- ${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function At(e){return e.startsWith("el:")?`rsp show ${e}`:e}function wO(e){let{argv:t,query:r,full:n}=Rw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new su(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function HJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!WJ(e)||n.level!=="lossless")return!0;let s=d2(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function WJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function _O(e){if(e[0]!=="git")throw new Error("expected rsp git <subcommand>");let t=e[1];if(t==="status"||t==="log"||t==="diff"||t==="commit"||t==="push"||t==="blame"||t==="branch"||t==="show")return t;throw new Error(`unsupported git subcommand: ${t??""}`)}function JJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${yO.join("%x1f")}`,"-z",...r];case"diff":return["diff","--numstat","-z",...r];case"commit":return["commit",...r];case"push":return["push","--porcelain",...r];case"blame":return["blame","--line-porcelain",...r];case"branch":return["branch","--format=%(HEAD)%00%(refname:short)%00%(objectname:short)%00%(upstream:short)%00%(worktreepath)%00%(contents:subject)",...r];case"show":return["show","--format=%x1e%H%x1f%h%x1f%an%x1f%aI%x1f%s%x1f%b%x1e","--stat",...r]}}async function VJ(e,t){let r=qJ("git",JJ(e,t),{stdio:["ignore","pipe","pipe"]}),n=Ze();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function KJ(e,t,r,n){switch(e){case"status":return zJ(t,r,n);case"log":return n2(t,r,n);case"diff":return s2(t,r,n);case"commit":return jr(o2(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return jr(i2(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return a2(t,r,n);case"branch":return c2(t,r,n);case"show":return l2(t,r,n)}}function zJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of YJ(t)){if(!l)continue;if(i=!0,l.startsWith("# branch.head ")){n=l.slice(14),o=!0;continue}if(l.startsWith("# ")){o=!0;continue}if(l.startsWith("## ")){n=ZJ(l),o=!0;continue}let u=QJ(l);if(u){o=!0,s.push(u);continue}let d=XJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return EO(e.join(" "),n);throw new ou("git-status-unparseable")}let a=Le(s,r),c=kO(a,"state");return jr({command:e.join(" "),branch:n,rows:a,summary:r2(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function YJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function QJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Bi(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Bi(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Bi(t.slice(10).join(" "),r)}return e.startsWith("? ")?Bi(e.slice(2),"??"):null}function XJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Bi(e2(e.slice(3),t),t):null}function Bi(e,t){let r=gO(t[0]??"."),n=gO(t[1]??".");return{path:t2(e),index:r,worktree:n,state:u2(`${r}${n}`)}}function gO(e){return e===" "?".":e}function ZJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function e2(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function t2(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function r2(e,t,r,n){let s=[];return r.renamed&&s.push(`${r.renamed} renamed`),r.untracked&&s.push(`${r.untracked} untracked`),r.changed&&s.push(`${r.changed} changed`),`${n?`${e}/${t}`:e} changes: ${r.added??0} added, ${r.modified??0} modified, ${r.deleted??0} deleted${s.length?`, ${s.join(", ")}`:""}`}function EO(e="git status",t=""){return{command:e,category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:t,rows:[],summary:"git status clean: 0 changes"}}function n2(e,t,r){let n=t.split("\0").filter(Boolean).map(o=>{let i=o.replace(/^\x1e/,"").split("");return{short:i[0]??"",author:i[1]??"",date:i[2]??"",subject:i[3]??""}}),s=Le(n,r);return jr({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function s2(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Le(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return jr({command:e.join(" "),files:o,summary:`${r?`${o.length}/${s.length}`:o.length} files, +${i.added} -${i.deleted}`},r,["rsp git status --query <path>","rsp git log --query <subject>"])}function o2(e,t){let r=t.split(`
253
- `)[0]??"",n=/^\[([^ ]+) ([0-9a-f]+)\] (.+)$/.exec(r),s=/(\d+) files? changed/.exec(t),o=/(\d+) insertions?\(\+\)/.exec(t),i=/(\d+) deletions?\(-\)/.exec(t),a=n?.[1]??"",c=n?.[2]??"",l=Number(s?.[1]??0),u=Number(o?.[1]??0),d=Number(i?.[1]??0);return{command:e.join(" "),branch:a,commit:c,subject:n?.[3]??"",files_changed:l,insertions:u,deletions:d,summary:`commit ${c} on ${a}: ${l} files, +${u} -${d}`}}function i2(e,t){let r=t.split(`
254
- `).filter(Boolean),n=r.find(c=>c.startsWith("To "))?.slice(3)??"",s=r.filter(c=>c.includes(" ")).map(c=>{let[l,u,d=""]=c.split(" "),[p,f]=(u??"").split(":");return{flag:l??"",from:p??"",to:f??"",summary:d}}),o=s.find(c=>c.flag!=="=")??s[0],i=o?.to.startsWith("refs/heads/")?o.to.slice(11):o?.to??"",a=o?.summary.includes("..")?1:0;return s.length>0&&s.every(c=>c.flag==="=")?{command:e.join(" "),category:"no-op",exit_code:0,noop:!0,remote:n,refs:s,summary:`push already satisfied for ${i} -> ${n}`,help:["rsp gh pr list --query <branch>"]}:{command:e.join(" "),remote:n,refs:s,summary:`pushed ${i} -> ${n} +${a} commits`}}function a2(e,t,r){let n=t.split(`
255
- `),s=[],o=null;for(let c of n){let l=/^([0-9a-f]{8,40}) \d+ (\d+)(?: \d+)?$/.exec(c);if(l){o={commit:l[1]??"",finalLine:Number(l[2]??0),author:"",path:""};continue}if(!o)continue;if(c.startsWith("author ")){o.author=c.slice(7);continue}if(c.startsWith("filename ")){o.path=c.slice(9);continue}if(!c.startsWith(" "))continue;let u=s.at(-1),d=o.commit.slice(0,12);u&&u.commit===d&&u.author===o.author&&u.path===o.path&&u.line_end+1===o.finalLine?u.line_end=o.finalLine:s.push({line_start:o.finalLine,line_end:o.finalLine,author:o.author,commit:d,path:o.path}),o=null}let i=Le(s,r),a=kO(i,"author");return jr({command:e.join(" "),ranges:i,authors:a,summary:`${r?`${i.length}/${s.length}`:i.length} ranges, ${Object.keys(a).length} authors`},r,["rsp git show --query <commit>","rsp git log --query <author>"])}function c2(e,t,r){let n=t.split(`
256
- `).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Le(n,r),o=s.find(i=>i.current)?.name??"";return jr({command:e.join(" "),branches:s,summary:`${r?`${s.length}/${n.length}`:s.length} branches${o?`, current ${o}`:""}`},r,["rsp git log --query <branch>","rsp gh pr list --query <branch>"])}function l2(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let E of i.split(`
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 kO(e){let{argv:t,query:r,full:n}=Tw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new ou(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function VJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!KJ(e)||n.level!=="lossless")return!0;let s=m2(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function KJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function SO(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 zJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${_O.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 YJ(e,t){let r=WJ("git",zJ(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 QJ(e,t,r,n){switch(e){case"status":return XJ(t,r,n);case"log":return i2(t,r,n);case"diff":return a2(t,r,n);case"commit":return jr(c2(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return jr(l2(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return u2(t,r,n);case"branch":return d2(t,r,n);case"show":return p2(t,r,n)}}function XJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of ZJ(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=r2(l),o=!0;continue}let u=e2(l);if(u){o=!0,s.push(u);continue}let d=t2(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return RO(e.join(" "),n);throw new iu("git-status-unparseable")}let a=Le(s,r),c=vO(a,"state");return jr({command:e.join(" "),branch:n,rows:a,summary:o2(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function ZJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function e2(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return ji(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return ji(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return ji(t.slice(10).join(" "),r)}return e.startsWith("? ")?ji(e.slice(2),"??"):null}function t2(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?ji(n2(e.slice(3),t),t):null}function ji(e,t){let r=wO(t[0]??"."),n=wO(t[1]??".");return{path:s2(e),index:r,worktree:n,state:f2(`${r}${n}`)}}function wO(e){return e===" "?".":e}function r2(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function n2(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function s2(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function o2(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 RO(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 i2(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 a2(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 c2(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 l2(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 u2(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=vO(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 d2(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 p2(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let E of i.split(`
257
257
  `)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(E);if(!w)continue;let k=w[3]??"";f.push({path:(w[1]??"").trim(),changed:Number(w[2]??0),added:[...k].filter(S=>S==="+").length,deleted:[...k].filter(S=>S==="-").length,binary:k.startsWith("Bin")})}let m=Le(f,r),g=0,b=0,y=0;for(let E of m)g+=typeof E.changed=="number"?E.changed:0,b+=typeof E.added=="number"?E.added:0,y+=typeof E.deleted=="number"?E.deleted:0;return jr({command:e.join(" "),commit:a??"",short:c??"",author:l??"",date:u??"",subject:d??"",body_lines:p.trim()?p.trim().split(`
258
- `).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${g} changed, +${b} -${y}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function jr(e,t,r){return t?Xt(e,r):e}function u2(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function kO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function d2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function p2(e){for(let t of["rows","commits","files","refs","ranges","branches"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}var yO,su,ou,An=_(()=>{"use strict";we();V();Ue();io();bt();Ue();yO=["%h","%an","%as","%s"];su=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return nw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},ou=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var Og={};se(Og,{NORMALIZATION_ALLOWLIST:()=>AO,NORMALIZE_ANSI:()=>au,NORMALIZE_BLANK_LINES:()=>uu,NORMALIZE_CR_PROGRESS:()=>cu,NORMALIZE_JSON_TOON:()=>OO,NORMALIZE_TRAILING_WHITESPACE:()=>lu,crushJsonArrayItems:()=>ji,formatCodexNormalizeDecision:()=>GO,formatNormalizeDecision:()=>LO,hookDecisionFromClaudePostExecJson:()=>CO,hookDecisionFromCodexPostExecJson:()=>PO,normalizeOutput:()=>du,renderGenericJsonLane:()=>Tg,runClaudePostExecHook:()=>h2,runCodexPostExecHook:()=>g2,transcodeJsonToToon:()=>xO});import{readFileSync as iu}from"node:fs";function xO(e,t){let r=t?.encode??M,n=t?.decode??z,s=e.trimEnd();if(!s)return e;let o;try{o=JSON.parse(s)}catch{return e}let i;try{i=r(o)}catch{return e}let a;try{a=n(i)}catch{return e}return vg(o,a)?i.trimEnd():e}async function Tg(e,t={}){let r=_2(e);if(!r)return{output:e,detected:!1,lossy:!1};let n=r.value;if(!Array.isArray(n))return{output:M(n).trimEnd(),detected:!0,lossy:!1};let s=n.length,o=TO(t.minTokens,f2),i=TO(t.maxItems,m2);if(!(s>i&&v2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??ji)(n,i)}catch(g){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:T2(g)}}}let l=c.items,u={items:l},d=`items: ${c.kept} kept, ${c.dropped} dropped (shape outliers: ${c.shapeOutliers}, value outliers: ${c.valueOutliers})`,p;t.level&&t.level!=="lossless"&&(p=await t.store?.mint(Buffer.from(e),{command:t.command??"rsp json",loss:{level:t.level,bytes_elided:Buffer.byteLength(e)}}));let f=p?`original: rsp show ${p}`:`original: unavailable - re-run: ${t.command??"command"}`,m=M(u).trimEnd();return{output:[d,f,m].filter(Boolean).join(`
259
- `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function ji(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=E2(e),s=new Set;n&&e.forEach((a,c)=>{xg(a)!==n&&s.add(c)});let o=k2(e,n);for(let a of s)r.add(a);for(let a of o)r.add(a);let i=[...r].sort((a,c)=>a-c).slice(0,Math.max(2,t));return{items:i.map(a=>e[a]),total:e.length,kept:i.length,dropped:e.length-i.length,shapeOutliers:[...s].filter(a=>i.includes(a)).length,valueOutliers:[...o].filter(a=>i.includes(a)).length}}function du(e){let t=e;for(let r of AO)t=r.apply(t);return t}async function CO(e,t){return await IO(e,t)}async function PO(e,t){return await IO(e,t)}async function IO(e,t){let r=w2(e),n=x2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??b2)(n))return{kind:"passthrough",reason:"disabled"};let o=O2(r,"tool_response");if(!o)return{kind:"passthrough",reason:"missing-output"};if(typeof o.output!="string")return{kind:"passthrough",reason:"missing-output"};let i=o.output,c=(t.normalize??du)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function LO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function GO(e){return{stdout:"",status:0}}async function h2(e){let t=e?iu(e,"utf8"):iu(0,"utf8"),r=await CO(t,{cwd:process.cwd()}),n=LO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function g2(e){let t=e?iu(e,"utf8"):iu(0,"utf8"),r=await PO(t,{cwd:process.cwd()}),n=GO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function y2(e){let t="",r=0;for(;r<e.length;){let n=e.charCodeAt(r);if(n===27){let s=e.charCodeAt(r+1);if(s===93){for(r+=2;r<e.length;){let o=e.charCodeAt(r);if(o===7){r++;break}if(o===27&&e.charCodeAt(r+1)===92){r+=2;break}r++}continue}if(s===91){for(r+=2;r<e.length&&SO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&SO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function SO(e){return e>=32&&e<=63}function b2(e){return $e(e,process.env).enabled}function w2(e){try{let t=JSON.parse(e);return Fs(t)?t:{}}catch{return{}}}function _2(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Fs(n)||Array.isArray(n)?{value:n}:null}catch{}let r=[];for(let n of e.split(/\r?\n/))if(n.trim())try{r.push(JSON.parse(n))}catch{return null}return r.length>0?{value:r}:null}function E2(e){let t=new Map;for(let s of e){let o=xg(s);t.set(o,(t.get(o)??0)+1)}let[r,n]=[...t.entries()].sort((s,o)=>o[1]-s[1]||s[0].localeCompare(o[0]))[0]??[];return typeof r=="string"&&typeof n=="number"&&n>e.length/2?r:null}function xg(e){return Array.isArray(e)?"array":Fs(e)?Object.keys(e).sort().map(t=>`${t}:${RO(e[t])}`).join("|"):RO(e)}function k2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&xg(s)!==t))for(let[i,a]of $O(s)){let c=n.get(i)??[];c.push({index:o,value:a}),n.set(i,c)}});for(let s of n.values()){for(let o of S2(s))r.add(o);for(let o of R2(s))r.add(o)}return r}function S2(e){let t=e.filter(a=>typeof a.value=="number"&&Number.isFinite(a.value));if(t.length<5||t.length!==e.length)return[];let r=t.map(a=>a.value).sort((a,c)=>a-c),n=vO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=vO(s);if(o===0)return t.filter(c=>c.value===n).length/t.length<.8?[]:t.filter(c=>c.value!==n).map(c=>c.index);let i=o*8;return t.filter(a=>Math.abs(a.value-n)>i).map(a=>a.index)}function R2(e){if(e.length<5)return[];if(!e.every(s=>typeof s.value=="string"||typeof s.value=="boolean"||s.value===null))return[];let t=new Map;for(let s of e)t.set(String(s.value),(t.get(String(s.value))??0)+1);if(Math.max(...t.values())/e.length<.8)return[];let n=Math.max(2,Math.floor(e.length*.05));return e.filter(s=>(t.get(String(s.value))??0)<=n).map(s=>s.index)}function $O(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Fs(e)?Object.entries(e).flatMap(([r,n])=>$O(n,t?`${t}.${r}`:r)):[]}function RO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function vO(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]??0:((e[t-1]??0)+(e[t]??0))/2}function v2(e){return Math.ceil(e.length/4)}function TO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function T2(e){let r=(e instanceof Error?e.message:String(e??"unknown crusher failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown crusher failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function x2(e,t){let r=e;for(let n of t){if(!Fs(r))return"";r=r[n]}return typeof r=="string"?r:""}function O2(e,t){let r=e[t];return Fs(r)?r:null}function Fs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vg(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>vg(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&vg(r[i],n[i]))}var au,cu,lu,uu,OO,f2,m2,AO,qi=_(()=>{"use strict";V();Ue();au={id:"ansi",apply:y2},cu={id:"cr-progress",apply:e=>e.split(`
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 f2(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function vO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function m2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function h2(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 _O,ou,iu,An=_(()=>{"use strict";we();V();Ue();io();bt();Ue();_O=["%h","%an","%as","%s"];ou=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return ow(this.command,this.flag,this.validFlags,`${this.command} --help`)}},iu=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var Cg={};se(Cg,{NORMALIZATION_ALLOWLIST:()=>IO,NORMALIZE_ANSI:()=>cu,NORMALIZE_BLANK_LINES:()=>du,NORMALIZE_CR_PROGRESS:()=>lu,NORMALIZE_JSON_TOON:()=>PO,NORMALIZE_TRAILING_WHITESPACE:()=>uu,crushJsonArrayItems:()=>qi,formatCodexNormalizeDecision:()=>DO,formatNormalizeDecision:()=>NO,hookDecisionFromClaudePostExecJson:()=>LO,hookDecisionFromCodexPostExecJson:()=>GO,normalizeOutput:()=>pu,renderGenericJsonLane:()=>Og,runClaudePostExecHook:()=>b2,runCodexPostExecHook:()=>w2,transcodeJsonToToon:()=>CO});import{readFileSync as au}from"node:fs";function CO(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 xg(o,a)?i.trimEnd():e}async function Og(e,t={}){let r=S2(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=AO(t.minTokens,g2),i=AO(t.maxItems,y2);if(!(s>i&&O2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??qi)(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:A2(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 qi(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=R2(e),s=new Set;n&&e.forEach((a,c)=>{Ag(a)!==n&&s.add(c)});let o=v2(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 pu(e){let t=e;for(let r of IO)t=r.apply(t);return t}async function LO(e,t){return await $O(e,t)}async function GO(e,t){return await $O(e,t)}async function $O(e,t){let r=k2(e),n=C2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??E2)(n))return{kind:"passthrough",reason:"disabled"};let o=P2(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??pu)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function NO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function DO(e){return{stdout:"",status:0}}async function b2(e){let t=e?au(e,"utf8"):au(0,"utf8"),r=await LO(t,{cwd:process.cwd()}),n=NO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function w2(e){let t=e?au(e,"utf8"):au(0,"utf8"),r=await GO(t,{cwd:process.cwd()}),n=DO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function _2(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&&TO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&TO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function TO(e){return e>=32&&e<=63}function E2(e){return $e(e,process.env).enabled}function k2(e){try{let t=JSON.parse(e);return Fs(t)?t:{}}catch{return{}}}function S2(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 R2(e){let t=new Map;for(let s of e){let o=Ag(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 Ag(e){return Array.isArray(e)?"array":Fs(e)?Object.keys(e).sort().map(t=>`${t}:${xO(e[t])}`).join("|"):xO(e)}function v2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Ag(s)!==t))for(let[i,a]of FO(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 T2(s))r.add(o);for(let o of x2(s))r.add(o)}return r}function T2(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=OO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=OO(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 x2(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 FO(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])=>FO(n,t?`${t}.${r}`:r)):[]}function xO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function OO(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 O2(e){return Math.ceil(e.length/4)}function AO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function A2(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 C2(e,t){let r=e;for(let n of t){if(!Fs(r))return"";r=r[n]}return typeof r=="string"?r:""}function P2(e,t){let r=e[t];return Fs(r)?r:null}function Fs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xg(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)=>xg(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)&&xg(r[i],n[i]))}var cu,lu,uu,du,PO,g2,y2,IO,Ui=_(()=>{"use strict";V();Ue();cu={id:"ansi",apply:_2},lu={id:"cr-progress",apply:e=>e.split(`
260
260
  `).map(t=>{let r=t.endsWith("\r")?t.slice(0,-1):t,n=r.lastIndexOf("\r");return n>=0?r.slice(n+1):r}).join(`
261
- `)},lu={id:"trailing-whitespace",apply:e=>e.split(`
261
+ `)},uu={id:"trailing-whitespace",apply:e=>e.split(`
262
262
  `).map(t=>t.replace(/[ \t]+$/,"")).join(`
263
- `)},uu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
263
+ `)},du={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
264
264
 
265
- `)};OO={id:"json-to-toon",apply:e=>xO(e)},f2=200,m2=15;AO=[au,cu,lu,uu,OO]});var Wi={};se(Wi,{parseExecCommandLine:()=>jO,renderExecContract:()=>BO,runExecWrapper:()=>L2});import{isUtf8 as A2}from"node:buffer";import{spawn as C2}from"node:child_process";async function L2(e,t){let r=jO(e),n=await G2(r);return await BO(r,n,t)}async function BO(e,t,r){let n=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let p=qe(e,t.stdout,t.stderr);return{stdout:ee(p),stderr:s,status:p.exitCode??1,signal:t.signal,rawOutput:n}}if(n.length===0)return{stdout:n,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let o=$2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=tV(r.heavyByteThreshold,P2);if(i.length<=a&&r.level!=="terse")return{stdout:i,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let c=n.length,l=r.level==="lossless"?"terse":r.level,u=await r.store?.mint(n,{command:e,loss:{level:l,bytes_elided:c}});if(!u)throw new Error("rsp exec output elision requires an elision store");let d=o.kind==="text"?D2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):F2(n,n.length,u,e);return{stdout:Buffer.from(d.text),stderr:s,status:t.status,signal:t.signal,mintedHandle:u,bytesElided:c,rawOutput:n,degradation:d.degradation}}function jO(e){if(e[0]!=="exec")throw new Error("expected rsp exec -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp exec -- <command line>");return n}async function G2(e){let t=C2(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=Ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("binary"),stderr:Buffer.concat(s).toString("binary"),status:a,signal:c})})})}function $2(e){return A2(e)?{kind:"text",text:N2(e.toString("utf8"))}:{kind:"bytes"}}function N2(e){let t=e;for(let r of[au,cu,lu,uu])t=r.apply(t);return t}function D2(e,t,r,n,s,o=K2,i=ji){let c=Math.max(1,Math.floor((n==="terse"?MO:I2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=V2(e,c,u,o),p=M2(e),f=B2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=qO(s,p,t,eV(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:KO(d.error)}:f.degradation;return{text:VO(m),degradation:g}}function F2(e,t,r,n){let s=Math.max(1,Math.floor(MO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:VO(qO(n,"bytes",t,0,r,o))}}function qO(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function M2(e){let t=e.trim();return t?HO(t)?"json":WO(e)?"jsonl":z2(e)?"unified-diff":JO(e)?"tabular":Y2(e)?"log-like":Q2(e)?"prose":"untyped":"untyped"}function B2(e,t,r,n,s,o,i=ji){switch(e){case"json":return j2(t,i);case"jsonl":return{summary:q2(t)};case"unified-diff":return{summary:U2(t)};case"tabular":return{summary:H2(t)};case"log-like":return{summary:W2(t,o)};case"prose":return{summary:J2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:UO(r,n,s,o)}}}function j2(e,t){let r=HO(e);if(Array.isArray(r)){if(r.length>15)try{let n=t(r,15);return{summary:{root_type:"array",total:n.total,kept:n.kept,dropped:n.dropped,shape_outliers:n.shapeOutliers,value_outliers:n.valueOutliers,items:n.items.map(qr),item_keys:Cg(r)}}}catch(n){return{summary:DO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:KO(n)}}}return{summary:DO(r)}}if(Hi(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,qr(o)]))}}}return{summary:{root_type:typeof r,value:qr(r)}}}function DO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(qr),item_keys:Cg(e)}}function q2(e){let t=WO(e)??[],r=X2(t,"level");return{records:t.length,keys:Cg(t),levels:r,first:qr(t[0]),last:qr(t.at(-1))}}function U2(e){let t=new Map,r="",n=0,s=0,o=0;for(let i of e.split(/\r?\n/)){let a=/^diff --git a\/(.+?) b\/(.+)$/.exec(i);if(a){r=a[2]??a[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0});continue}if(!r){let c=/^\+\+\+ b\/(.+)$/.exec(i);c&&(r=c[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0}))}i.startsWith("@@")?(o++,r&&t.get(r).hunks++):i.startsWith("+")&&!i.startsWith("+++")?(n++,r&&t.get(r).added++):i.startsWith("-")&&!i.startsWith("---")&&(s++,r&&t.get(r).deleted++)}return{files:[...t.values()].slice(0,12),file_count:t.size,hunks:o,added_lines:n,deleted_lines:s}}function H2(e){let t=JO(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:UO(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function W2(e,t){let r=Ui(e);return{entries:r.length,levels:Z2(r),first:Cn(r[0]??""),last:Cn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:Cn(n.text)}))}}function J2(e){let t=e.trim().split(/\n\s*\n/).filter(n=>n.trim()),r=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:r.length,opening:Cn(t[0]??""),closing:Cn(t.at(-1)??"")}}function UO(e,t,r,n){let s=FO(e.subarray(0,t)),o=FO(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:Cn(i.text)}))}}function V2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function K2(e,t){return mO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function HO(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Hi(r)||Array.isArray(r)?r:null}catch{return null}}function WO(e){let t=Ui(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function z2(e){let t=Ui(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function JO(e){let t=Ui(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function Y2(e){let t=Ui(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function Q2(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Ui(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Cg(e){let t=new Map;for(let r of e)if(Hi(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function X2(e,t){let r=new Map;for(let n of e){if(!Hi(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function Z2(e){let t=new Map;for(let r of e){let n=/\blevel=([A-Za-z]+)\b/.exec(r)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(r);if(!n)continue;let s=(n[1]??n[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}function qr(e){return typeof e=="string"?Cn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(qr):Hi(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,qr(r)])):String(e)}function Cn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=NO?t:`${t.slice(0,NO-1)}\u2026`}function VO(e){let t=M(e).trimEnd(),r=z(t);if(!Ag(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
266
- `}function Ag(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>Ag(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&Ag(r[i],n[i]))}function Hi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KO(e){let r=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function FO(e){return e.toString("utf8").replace(/�$/g,"")}function eV(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function tV(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var P2,I2,MO,NO,Ji=_(()=>{"use strict";we();V();hO();An();qi();bt();P2=8*1024,I2=2*1024,MO=1024,NO=240});var ku={};se(ku,{RSP_WRAPPER_CAPABILITIES:()=>zi,_testOnlyResetBinaryState:()=>pV,formatCodexHookDecision:()=>aA,formatHookDecision:()=>iA,hookDecisionFromClaudePreExecJson:()=>_V,hookDecisionFromCodexPreExecJson:()=>EV,rewriteCommand:()=>sA,rewriteTableFromCapabilities:()=>nA,runClaudePreExecHook:()=>kV,runCodexPreExecHook:()=>SV});import{accessSync as cV,constants as lV,existsSync as uV,readFileSync as wu}from"node:fs";import{fileURLToPath as dV}from"node:url";function pV(){bu=void 0,Pg=!1}function fV(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return cV(`${t}/rsp`,lV.X_OK),!0}catch{}return!1}function mV(e){return bu===void 0&&(bu=e()),bu}function hV(){Pg||(Pg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function nA(e){let t=new Map;for(let r of e)t.set(jV(r.command),["rsp",...r.wrapper]);return t}function sA(e,t=Mi()){let r=bV(e,t);if(r)return r;let n=IV(e);if(n)return n;let s=CV(e);if(!s)return yu(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&_s(o[0]))return yu(e,t);let i=wV(s,t);if(i)return i;let a=yV(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return yu(e,t);let c=[...zi].sort((d,p)=>p.command.length-d.command.length).find(d=>PV(o,d.command));if(!c)return yu(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=pA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function yV(e,t){let r=e.tokens.map(s=>s.text);if(r[0]!=="gh"||r[1]!=="api"||!r[2]||r.some(s=>["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(s)))return null;let n=r.findIndex(s=>s==="--method"||s==="-X");return n>=0&&(r[n+1]??"").toUpperCase()!=="GET"||r[2]==="graphql"?null:{kind:"rewrite",command:[...t,...r].map(Pt).join(" "),capabilityId:"gh:api:read"}}function bV(e,t){let r=t.map(Pt).join(" "),n=Eu(e.trim()).map(a=>a.text);if(n[0]==="gh"&&n[1]==="run"&&n[2]==="watch"&&/^[1-9][0-9]*$/.test(n[3]??""))return{kind:"rewrite",command:`${r} wait run ${n[3]}`,capabilityId:"wait:github-run"};if(!/\b(?:for|while)\b/.test(e)||!/\bsleep\b/.test(e))return null;let s=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/jobs\/([1-9][0-9]*)/.exec(e);if(s)return{kind:"rewrite",command:`${r} wait job ${s[1]}`,capabilityId:"wait:github-job"};let o=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/runs\/([1-9][0-9]*)/.exec(e);if(o)return{kind:"rewrite",command:`${r} wait run ${o[1]}`,capabilityId:"wait:github-run"};let i=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/releases\/tags\/([^\s'";|]+)/.exec(e);return i?{kind:"rewrite",command:`${r} wait release --tag ${Pt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function wV(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=pA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&gu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&gu(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Pt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&gu(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Pt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&gu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function gu(e){return!!e&&!e.startsWith("-")}async function _V(e,t){return await oA(e,t)}async function EV(e,t){return await oA(e,t)}async function oA(e,t){return(await Lg(e,t,"pre-exec")).decision}async function Lg(e,t,r){let n=gA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Ms({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=Ct(s,["cwd"])||Ct(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??RV)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:Ig(s),decision:m,reason:"disabled"})}}let a=Ig(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??Mi();if(!mV(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||fV()))){hV();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=$e(o,process.env).proxyEnabled?LV(a,c):(t.rewrite??(m=>sA(m,c)))(a),f=Number(process.hrtime.bigint()-u)/1e6;if(p.kind!=="rewrite"){let m=p.reason?p:{...p,reason:"unsupported-command"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await TV(o,t.wakeResident??vV),{decision:p,telemetryRoot:o,event:Ms({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function iA(e){return e.kind==="rewrite"?cA(e.command):{stdout:"",status:0}}function aA(e){return e.kind==="rewrite"?cA(e.command):{stdout:"",status:0}}function cA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
267
- `,status:0}}async function kV(e){let t="";try{t=e?wu(e,"utf8"):wu(0,"utf8");let r=await Lg(t,{cwd:process.cwd()},"claude-pre-exec");_u(r.telemetryRoot,r.event);let n=r.decision;uA("claude-pre-exec",n);let s=iA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return _u(process.cwd(),lA("claude-pre-exec",t,r)),dA("claude-pre-exec",r),0}}async function SV(e){let t="";try{t=e?wu(e,"utf8"):wu(0,"utf8");let r=await Lg(t,{cwd:process.cwd()},"codex-pre-exec");_u(r.telemetryRoot,r.event);let n=r.decision;uA("codex-pre-exec",n);let s=aA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return _u(process.cwd(),lA("codex-pre-exec",t,r)),dA("codex-pre-exec",r),0}}function _u(e,t){gn(e,t).catch(()=>{})}function Ms(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:e.hook,command:t||"unknown",command_family:dt(t),decision:r?"contributed":"passed",reason:e.reason,capability_id:r,decision_ms:e.decisionMs}}function lA(e,t,r){let n=gA(t),s=n.ok?Ig(n.payload):"";return{collection:Je,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:dt(s),decision:"failed-open",reason:"hook-exception",error:Gg(r)}}function RV(e){return $e(e,process.env).enabled}async function vV(e){let t=$e(e,process.env);if(!t.enabled||!AV(t))return;let r=st(e);await Pa(r,OV(t))}async function TV(e,t){try{await Promise.resolve(t(e))}catch(r){xV(r)}}function uA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
265
+ `)};PO={id:"json-to-toon",apply:e=>CO(e)},g2=200,y2=15;IO=[cu,lu,uu,du,PO]});var Ji={};se(Ji,{parseExecCommandLine:()=>HO,renderExecContract:()=>UO,runExecWrapper:()=>N2});import{isUtf8 as I2}from"node:buffer";import{spawn as L2}from"node:child_process";async function N2(e,t){let r=HO(e),n=await D2(r);return await UO(r,n,t)}async function UO(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=F2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=sV(r.heavyByteThreshold,G2);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"?B2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):j2(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 HO(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 D2(e){let t=L2(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 F2(e){return I2(e)?{kind:"text",text:M2(e.toString("utf8"))}:{kind:"bytes"}}function M2(e){let t=e;for(let r of[cu,lu,uu,du])t=r.apply(t);return t}function B2(e,t,r,n,s,o=Q2,i=qi){let c=Math.max(1,Math.floor((n==="terse"?qO:$2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=Y2(e,c,u,o),p=q2(e),f=U2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=WO(s,p,t,nV(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:QO(d.error)}:f.degradation;return{text:YO(m),degradation:g}}function j2(e,t,r,n){let s=Math.max(1,Math.floor(qO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:YO(WO(n,"bytes",t,0,r,o))}}function WO(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function q2(e){let t=e.trim();return t?VO(t)?"json":KO(e)?"jsonl":X2(e)?"unified-diff":zO(e)?"tabular":Z2(e)?"log-like":eV(e)?"prose":"untyped":"untyped"}function U2(e,t,r,n,s,o,i=qi){switch(e){case"json":return H2(t,i);case"jsonl":return{summary:W2(t)};case"unified-diff":return{summary:J2(t)};case"tabular":return{summary:V2(t)};case"log-like":return{summary:K2(t,o)};case"prose":return{summary:z2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:JO(r,n,s,o)}}}function H2(e,t){let r=VO(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:Ig(r)}}}catch(n){return{summary:BO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:QO(n)}}}return{summary:BO(r)}}if(Wi(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 BO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(qr),item_keys:Ig(e)}}function W2(e){let t=KO(e)??[],r=tV(t,"level");return{records:t.length,keys:Ig(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 V2(e){let t=zO(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:JO(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function K2(e,t){let r=Hi(e);return{entries:r.length,levels:rV(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 z2(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 JO(e,t,r,n){let s=jO(e.subarray(0,t)),o=jO(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 Y2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function Q2(e,t){return yO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function VO(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Wi(r)||Array.isArray(r)?r:null}catch{return null}}function KO(e){let t=Hi(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 X2(e){let t=Hi(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 zO(e){let t=Hi(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 Z2(e){let t=Hi(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 eV(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 Hi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Ig(e){let t=new Map;for(let r of e)if(Wi(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 tV(e,t){let r=new Map;for(let n of e){if(!Wi(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 rV(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):Wi(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<=MO?t:`${t.slice(0,MO-1)}\u2026`}function YO(e){let t=M(e).trimEnd(),r=z(t);if(!Pg(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
266
+ `}function Pg(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)=>Pg(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)&&Pg(r[i],n[i]))}function Wi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function QO(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 jO(e){return e.toString("utf8").replace(/�$/g,"")}function nV(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 sV(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var G2,$2,qO,MO,Vi=_(()=>{"use strict";we();V();bO();An();Ui();bt();G2=8*1024,$2=2*1024,qO=1024,MO=240});var Su={};se(Su,{RSP_WRAPPER_CAPABILITIES:()=>Yi,_testOnlyResetBinaryState:()=>hV,formatCodexHookDecision:()=>uA,formatHookDecision:()=>lA,hookDecisionFromClaudePreExecJson:()=>SV,hookDecisionFromCodexPreExecJson:()=>RV,rewriteCommand:()=>aA,rewriteTableFromCapabilities:()=>iA,runClaudePreExecHook:()=>vV,runCodexPreExecHook:()=>TV});import{accessSync as dV,constants as pV,existsSync as fV,readFileSync as _u}from"node:fs";import{fileURLToPath as mV}from"node:url";function hV(){wu=void 0,Lg=!1}function gV(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return dV(`${t}/rsp`,pV.X_OK),!0}catch{}return!1}function yV(e){return wu===void 0&&(wu=e()),wu}function bV(){Lg||(Lg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function iA(e){let t=new Map;for(let r of e)t.set(HV(r.command),["rsp",...r.wrapper]);return t}function aA(e,t=Bi()){let r=EV(e,t);if(r)return r;let n=$V(e);if(n)return n;let s=LV(e);if(!s)return bu(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&_s(o[0]))return bu(e,t);let i=kV(s,t);if(i)return i;let a=_V(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return bu(e,t);let c=[...Yi].sort((d,p)=>p.command.length-d.command.length).find(d=>GV(o,d.command));if(!c)return bu(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=hA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function _V(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 EV(e,t){let r=t.map(Pt).join(" "),n=ku(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 kV(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=hA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&yu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&yu(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])&&yu(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])&&yu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function yu(e){return!!e&&!e.startsWith("-")}async function SV(e,t){return await cA(e,t)}async function RV(e,t){return await cA(e,t)}async function cA(e,t){return(await $g(e,t,"pre-exec")).decision}async function $g(e,t,r){let n=wA(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??xV)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ms({hook:r,command:Gg(s),decision:m,reason:"disabled"})}}let a=Gg(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??Bi();if(!yV(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||gV()))){bV();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?NV(a,c):(t.rewrite??(m=>aA(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 AV(o,t.wakeResident??OV),{decision:p,telemetryRoot:o,event:Ms({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function lA(e){return e.kind==="rewrite"?dA(e.command):{stdout:"",status:0}}function uA(e){return e.kind==="rewrite"?dA(e.command):{stdout:"",status:0}}function dA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
267
+ `,status:0}}async function vV(e){let t="";try{t=e?_u(e,"utf8"):_u(0,"utf8");let r=await $g(t,{cwd:process.cwd()},"claude-pre-exec");Eu(r.telemetryRoot,r.event);let n=r.decision;fA("claude-pre-exec",n);let s=lA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return Eu(process.cwd(),pA("claude-pre-exec",t,r)),mA("claude-pre-exec",r),0}}async function TV(e){let t="";try{t=e?_u(e,"utf8"):_u(0,"utf8");let r=await $g(t,{cwd:process.cwd()},"codex-pre-exec");Eu(r.telemetryRoot,r.event);let n=r.decision;fA("codex-pre-exec",n);let s=uA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return Eu(process.cwd(),pA("codex-pre-exec",t,r)),mA("codex-pre-exec",r),0}}function Eu(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 pA(e,t,r){let n=wA(t),s=n.ok?Gg(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:Ng(r)}}function xV(e){return $e(e,process.env).enabled}async function OV(e){let t=$e(e,process.env);if(!t.enabled||!IV(t))return;let r=st(e);await Ia(r,PV(t))}async function AV(e,t){try{await Promise.resolve(t(e))}catch(r){CV(r)}}function fA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
268
268
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
269
- `)}}function dA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Gg(t)}
270
- `)}function xV(e){ep(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Gg(e)}
271
- `)}function Gg(e){return e instanceof Error?e.name||"Error":typeof e}function OV(e){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs}}function AV(e){if(!e.storeUri.startsWith("file://"))return!0;try{return uV(dV(e.storeUri))}catch{return!1}}function Ig(e){return Ct(e,["tool_input","command"])||Ct(e,["tool_input","cmd"])||Ct(e,["tool_input","args","command"])||Ct(e,["input","command"])||Ct(e,["input","cmd"])||Ct(e,["arguments","command"])||Ct(e,["arguments","cmd"])||Ct(e,["command"])||Ct(e,["cmd"])}function CV(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=Eu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&_s(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function Eu(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function PV(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function IV(e){let t=Eu(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:gV}:null}function pA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?$g(e):e}function LV(e,t){let r=$V(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${$g(e.trim())}`,capabilityId:"proxy:universal"}}function GV(e){if(!process.argv[1])return!1;let t=Eu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function $V(e){let t=e.trim();if(!t)return"missing-command";if(mA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Wo(Ho(t)[0]??"")[0];if(r==="rsp"||GV(t))return"opt-out";if(r&&fA.has(r))return"interactive"}function yu(e,t){let r=e.trim();return NV(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${$g(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function NV(e){return!(!e||!DV(e)||!FV(e)||mA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||MV(e,"rsp")||hA(e,fA)||BV(e))}function DV(e){return/&&|[;|]/.test(e)}function mA(e){for(let t=0;t<e.length;t+=1)if(e[t]==="&"&&!(e[t-1]==="&"||e[t+1]==="&")&&!(e[t-1]===">"||e[t+1]===">"))return!0;return!1}function FV(e){return Ho(e).some(t=>{let r=Wo(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function hA(e,t){return Ho(e).some(r=>{let n=Wo(r)[0];return n?t.has(n):!1})}function MV(e,t){return hA(e,new Set([t]))}function BV(e){return Ho(e).some(t=>{let r=Wo(t);return r[0]==="grep"&&r.includes("-q")})}function $g(e){return`'${e.replace(/'/g,"'\\''")}'`}function jV(e){return e.join("\0")}function gA(e){try{let t=JSON.parse(e);return yA(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function Ct(e,t){let r=e;for(let n of t){if(!yA(r))return"";r=r[n]}return typeof r=="string"?r:""}function yA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var bu,Pg,zi,Tie,gV,fA,Yi=_(()=>{"use strict";Jo();Ue();wt();nr();_g();Ft();Pg=!1;zi=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],Tie=nA(zi),gV="lossless-gh-json-jq";fA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var RA={};se(RA,{fastTelemetryRoot:()=>Dg,isFastGitStatus:()=>Su,runFastGitStatus:()=>Ru});import{spawnSync as kA}from"node:child_process";import{existsSync as SA,readdirSync as YV}from"node:fs";function Su(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Ru(){if(QV(process.cwd()))return{stdout:Ng(),stderr:Buffer.alloc(0),status:0,signal:null};if(kA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Ng(),stderr:Buffer.alloc(0),status:0,signal:null};let t=kA("git",["status","--porcelain=v1"],{encoding:"buffer"});if((t.status??0)!==0)return{stdout:t.stdout,stderr:t.stderr,status:t.status??1,signal:t.signal};let r=t.stdout.length===0?Ng():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Dg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function Ng(){return Buffer.from(`${ge({command:"git status",category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:"",rows:[],summary:"git status clean: 0 changes"})}
272
- `)}function QV(e){try{return!SA(`${e}/.git`)||SA(`${e}/.git/index`)?!1:YV(e).every(t=>t===".git")}catch{return!1}}var Fg=_(()=>{"use strict";Qt()});async function js(e,t,r){let n=new Array(e.length),s=0,o=Math.min(Math.max(1,Math.floor(t)),e.length),i=Array.from({length:o},async()=>{for(;s<e.length;){let a=s++;n[a]=await r(e[a])}});return await Promise.all(i),n}function xA(e,t,r,n={}){mK(t);let s=e==="issue"?"i":"p",o=t.map((p,f)=>({alias:`${s}${f}`,number:p})),i=(n.labelNames??[]).map((p,f)=>({alias:`l${f}`,name:p})),c=hK(["id","number",...r]).map(p=>gK(fK[p],6)).join(`
269
+ `)}}function mA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Ng(t)}
270
+ `)}function CV(e){tp(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Ng(e)}
271
+ `)}function Ng(e){return e instanceof Error?e.name||"Error":typeof e}function PV(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 IV(e){if(!e.storeUri.startsWith("file://"))return!0;try{return fV(mV(e.storeUri))}catch{return!1}}function Gg(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 LV(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=ku(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 ku(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 GV(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function $V(e){let t=ku(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:wV}:null}function hA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?Dg(e):e}function NV(e,t){let r=FV(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${Dg(e.trim())}`,capabilityId:"proxy:universal"}}function DV(e){if(!process.argv[1])return!1;let t=ku(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function FV(e){let t=e.trim();if(!t)return"missing-command";if(yA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Jo(Wo(t)[0]??"")[0];if(r==="rsp"||DV(t))return"opt-out";if(r&&gA.has(r))return"interactive"}function bu(e,t){let r=e.trim();return MV(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${Dg(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function MV(e){return!(!e||!BV(e)||!jV(e)||yA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||qV(e,"rsp")||bA(e,gA)||UV(e))}function BV(e){return/&&|[;|]/.test(e)}function yA(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 jV(e){return Wo(e).some(t=>{let r=Jo(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 bA(e,t){return Wo(e).some(r=>{let n=Jo(r)[0];return n?t.has(n):!1})}function qV(e,t){return bA(e,new Set([t]))}function UV(e){return Wo(e).some(t=>{let r=Jo(t);return r[0]==="grep"&&r.includes("-q")})}function Dg(e){return`'${e.replace(/'/g,"'\\''")}'`}function HV(e){return e.join("\0")}function wA(e){try{let t=JSON.parse(e);return _A(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(!_A(r))return"";r=r[n]}return typeof r=="string"?r:""}function _A(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var wu,Lg,Yi,Nie,wV,gA,Qi=_(()=>{"use strict";Vo();Ue();wt();nr();kg();Ft();Lg=!1;Yi=[{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"]}],Nie=iA(Yi),wV="lossless-gh-json-jq";gA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var xA={};se(xA,{fastTelemetryRoot:()=>Mg,isFastGitStatus:()=>Ru,runFastGitStatus:()=>vu});import{spawnSync as vA}from"node:child_process";import{existsSync as TA,readdirSync as ZV}from"node:fs";function Ru(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function vu(){if(eK(process.cwd()))return{stdout:Fg(),stderr:Buffer.alloc(0),status:0,signal:null};if(vA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Fg(),stderr:Buffer.alloc(0),status:0,signal:null};let t=vA("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?Fg():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Mg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function Fg(){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 eK(e){try{return!TA(`${e}/.git`)||TA(`${e}/.git/index`)?!1:ZV(e).every(t=>t===".git")}catch{return!1}}var Bg=_(()=>{"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 CA(e,t,r,n={}){yK(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=bK(["id","number",...r]).map(p=>wK(gK[p],6)).join(`
273
273
  `),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
274
274
  `)),u=i.map(({alias:p,name:f})=>` ${p}: label(name: ${JSON.stringify(f)}) { id name }`),d=["query RspGitHubBatch($owner: String!, $repo: String!) {"," repository(owner: $owner, name: $repo) {",...l,...u," }","}"].join(`
275
- `);return{kind:e,query:d,aliases:o,labelAliases:i}}function OA(e,t){let r=Bs(t),n=Bs(r.data),s=Bs(n.repository),o=Array.isArray(r.errors)?r.errors.map(Bs):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(PA(c))return{number:a,value:c};let l=o.find(u=>{let d=u.path;return Array.isArray(d)&&d.includes(i)});return{number:a,error:IA(l?.message)||"not found"}})}function AA(e,t,r){let n=[],s=[];return e.forEach((o,i)=>{if(t.length>0){let a=`add${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: addLabelsToLabelable(input: { labelableId: ${Hr(o.nodeId)}, labelIds: ${TA(t)}, clientMutationId: ${Hr(String(o.number))} }) { clientMutationId }`)}if(r.length>0){let a=`remove${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: removeLabelsFromLabelable(input: { labelableId: ${Hr(o.nodeId)}, labelIds: ${TA(r)}, clientMutationId: ${Hr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
276
- `)}}function CA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Hr(e.nodeId)}, subIssueId: ${Hr(s.nodeId)}, clientMutationId: ${Hr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
277
- `)}}function Mg(e,t){let r=Bs(t),n=Array.isArray(r.errors)?r.errors.map(Bs):[],s=new Map;for(let{alias:o}of e){let i=n.find(a=>Array.isArray(a.path)&&a.path.includes(o));i&&s.set(o,IA(i.message)||"mutation failed")}return s}function mK(e){if(e.length===0)throw new Error("at least one GitHub number is required");if(e.length>100)throw new Error("GitHub batch exceeds 100 nodes");for(let t of e)if(!Number.isSafeInteger(t)||t<=0)throw new Error(`invalid GitHub number: ${t}`)}function hK(e){return[...new Set(e)]}function gK(e,t){let r=" ".repeat(t);return e.split(`
275
+ `);return{kind:e,query:d,aliases:o,labelAliases:i}}function PA(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(GA(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:$A(l?.message)||"not found"}})}function IA(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: ${AA(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: ${AA(r)}, clientMutationId: ${Hr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
276
+ `)}}function LA(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 jg(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,$A(i.message)||"mutation failed")}return s}function yK(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 bK(e){return[...new Set(e)]}function wK(e,t){let r=" ".repeat(t);return e.split(`
278
278
  `).map(n=>`${r}${n}`).join(`
279
- `)}function Hr(e){return JSON.stringify(e)}function TA(e){return`[${e.map(Hr).join(", ")}]`}function Bs(e){return PA(e)?e:{}}function PA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function IA(e){return typeof e=="string"?e:""}var fK,LA=_(()=>{fK={id:"id",number:"number",title:"title",state:"state",labels:"labels(first: 100) { nodes { id name } }",body:"body",mergeable:"mergeable",checks:["commits(last: 1) {"," nodes { commit { statusCheckRollup {"," state"," contexts(first: 100) { nodes {"," __typename"," ... on CheckRun { name status conclusion detailsUrl }"," ... on StatusContext { context state targetUrl }"," } }"," } } }","}"].join(`
280
- `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as bK,spawnSync as wK}from"node:child_process";function qg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function NA(e,t={}){let r=LK(e),n=r.repo??t.repo??process.env.GH_REPO??$K();if(!n||!n.includes("/"))return Wg(e,"repository is required; pass --repo owner/repo");let s=t.exec??NK,o=Math.max(1,Math.floor(t.restConcurrency??$A));return r.verb==="issues"||r.verb==="prs"?await kK(r,n,s,o,e):r.verb==="edit-labels"?await RK(r,n,s,o,e):await TK(r,n,s,o,e)}async function kK(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=DA(e),a=[],c=[];for(let u of Hg(e.numbers,100)){let d=xA(o,u,i.query),p=await Ug(r,t,d.query);if(Vg(p))return await SK(e,t,r,n,s);if(p.code!==0){c.push(p.stderr),a.push(...u.map(f=>({number:f,value:{error:mt(p)||`failed to read ${f}`},failed:!0})));continue}a.push(...OA(d,Wr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:OK(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return Tu({command:xu(s),transport:"graphql",order:e.numbers,[e.verb]:Qi(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
281
- `))}async function SK(e,t,r,n,s){let o=DA(e),i=e.verb==="issues"?"issues":"pulls",a=await js(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:mt(u)||"REST fallback failed"}};let d=qt(Wr(u.stdout));if(e.verb==="prs"&&o.output.some(FA)){let p=fe(qt(d.head).sha);if(!p)return{number:l,value:{error:"REST fallback pull response omitted head SHA"}};let f=await r(["api",`repos/${t}/commits/${p}/check-runs`]);if(f.code!==0)return{number:l,value:{error:mt(f)||"REST check-runs fallback failed"}};let m=await r(["api",`repos/${t}/commits/${p}/status`]);if(m.code!==0)return{number:l,value:{error:mt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:CK(qt(Wr(f.stdout)),qt(Wr(m.stdout)))}}return{number:l,value:AK(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return Tu({command:xu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Qi(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function RK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Wg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([MA(e.numbers,t,r,n),js(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(qt(Wr(f.stdout)).node_id),error:f.code===0?"":mt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Us(s,e.numbers,Jg(e.numbers,()=>({error:`label not found: ${l.join(", ")}`})),"graphql");let u=new Map(i.filter(p=>p.error).map(p=>[p.number,{error:p.error}])),d=i.flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:[]);for(let p of Hg(d,100)){let f=AA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await Ug(r,t,f.query);if(Vg(m))return await vK(e,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"label mutation failed"});continue}let g=Mg(f.aliases,Wr(m.stdout));for(let b of p){let E=f.aliases.filter(w=>w.number===b.number).map(w=>g.get(w.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Us(s,e.numbers,BA(e.numbers,u),"graphql")}async function vK(e,t,r,n,s){let o=await js(e.numbers,n,async i=>{for(let a of e.remove){let c=await r(["api","-X","DELETE",`repos/${t}/issues/${i}/labels/${encodeURIComponent(a)}`]);if(c.code!==0)return{number:i,value:{error:mt(c)||`failed to remove label ${a}`}}}if(e.add.length>0){let a=["api","-X","POST",`repos/${t}/issues/${i}/labels`];for(let l of e.add)a.push("-f",`labels[]=${l}`);let c=await r(a);if(c.code!==0)return{number:i,value:{error:mt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Us(s,e.numbers,Qi(o),"rest-fallback",n)}async function TK(e,t,r,n,s){if(e.numbers.length<2)return Wg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await MA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Us(s,i,Jg(i,()=>({error:c?.error??"parent not found"})),"graphql");let u=new Map,d=a.slice(1).flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:(u.set(p.number,{error:p.error??"child not found"}),[]));for(let p of Hg(d,100)){let f=CA({number:o,nodeId:l},p),m=await Ug(r,t,f.query);if(Vg(m))return await xK(o,i,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"sub-issue mutation failed"});continue}let g=Mg(f.aliases,Wr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Us(s,i,BA(i,u),"graphql")}async function xK(e,t,r,n,s,o){let i=await js(t,s,async a=>{let c=await n(["api",`repos/${r}/issues/${a}`,"--jq",".id"]),l=Number(c.stdout.trim());if(c.code!==0||!Number.isSafeInteger(l)||l<=0)return{number:a,value:{error:mt(c)||"REST id lookup failed"}};let u=await n(["api","-X","POST",`repos/${r}/issues/${e}/sub_issues`,"-F",`sub_issue_id=${l}`]);return{number:a,value:u.code===0?{ok:!0}:{error:mt(u)||"REST link failed"}}});return Us(o,t,Qi(i),"rest-fallback",s)}function Us(e,t,r,n,s){let o=Object.values(r).filter(i=>Hs(i)&&"error"in i).length;return Tu({command:xu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??$A}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function DA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return GA(r,_K),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return GA(t,EK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function GA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function OK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Bg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=IK(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=jA(t[s]));return"number"in n||(n.number=Kg(t.number)),n}function AK(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Hs):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(FA(s))n[s]=qt(t.restCheckRollup);else if(s==="state")n.state=fe(t.state).toLowerCase();else if(s==="mergeable"){let o=t.mergeable;n.mergeable=typeof o=="boolean"?o?"mergeable":"conflicting":"unknown"}else n[s]=jA(t[s]);return"number"in n||(n.number=Kg(t.number)),n}function CK(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Hs):[],n=Array.isArray(t.statuses)?t.statuses.filter(Hs):[],s=[...r.map(o=>({name:fe(o.name),state:(fe(o.conclusion)||fe(o.status)).toLowerCase()})),...n.map(o=>({name:fe(o.context),state:fe(o.state).toLowerCase()}))];return{state:fe(t.state).toLowerCase()||PK(s.map(o=>o.state)),contexts:s}}function PK(e){return e.some(t=>["failure","error","cancelled","timed_out","action_required"].includes(t))?"failure":e.some(t=>["pending","queued","in_progress","requested","waiting"].includes(t))?"pending":e.length>0&&e.every(t=>["success","neutral","skipped"].includes(t))?"success":""}function FA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function IK(e){let t=Bg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Bg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Ug(e,t,r){let[n,s]=GK(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function MA(e,t,r,n){return await js(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=qt(Wr(o.stdout)),a=fe(i.node_id),c=Kg(i.id);return o.code!==0||!a?{number:s,error:mt(o)||"REST issue lookup failed"}:{number:s,nodeId:a,databaseId:c>0?c:void 0}})}function Hg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function LK(e){if(!qg(e))throw new Error("unsupported rsp gh batch command");let t=e[1],r=[],n=[],s=[],o=[],i;for(let a=2;a<e.length;a++){let c=e[a];if(c==="--repo")i=e[++a];else if(c==="--json")n.push(...qs(e[++a]??""));else if(c.startsWith("--json="))n.push(...qs(c.slice(7)));else if(c==="--add")s.push(...qs(e[++a]??""));else if(c.startsWith("--add="))s.push(...qs(c.slice(6)));else if(c==="--remove")o.push(...qs(e[++a]??""));else if(c.startsWith("--remove="))o.push(...qs(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function Tu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
282
- `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Wg(e,t){return Tu({command:xu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Jg(e,t){return Qi(e.map(r=>({number:r,value:t(r)})))}function Qi(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function BA(e,t){return Jg(e,r=>t.get(r)??{error:"mutation skipped"})}function Vg(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
279
+ `)}function Hr(e){return JSON.stringify(e)}function AA(e){return`[${e.map(Hr).join(", ")}]`}function Bs(e){return GA(e)?e:{}}function GA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $A(e){return typeof e=="string"?e:""}var gK,NA=_(()=>{gK={id:"id",number:"number",title:"title",state:"state",labels:"labels(first: 100) { nodes { id name } }",body:"body",mergeable:"mergeable",checks:["commits(last: 1) {"," nodes { commit { statusCheckRollup {"," state"," contexts(first: 100) { nodes {"," __typename"," ... on CheckRun { name status conclusion detailsUrl }"," ... on StatusContext { context state targetUrl }"," } }"," } } }","}"].join(`
280
+ `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as EK,spawnSync as kK}from"node:child_process";function Hg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function MA(e,t={}){let r=NK(e),n=r.repo??t.repo??process.env.GH_REPO??FK();if(!n||!n.includes("/"))return Vg(e,"repository is required; pass --repo owner/repo");let s=t.exec??MK,o=Math.max(1,Math.floor(t.restConcurrency??FA));return r.verb==="issues"||r.verb==="prs"?await vK(r,n,s,o,e):r.verb==="edit-labels"?await xK(r,n,s,o,e):await AK(r,n,s,o,e)}async function vK(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=BA(e),a=[],c=[];for(let u of Jg(e.numbers,100)){let d=CA(o,u,i.query),p=await Wg(r,t,d.query);if(zg(p))return await TK(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(...PA(d,Wr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:PK(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return xu({command:Ou(s),transport:"graphql",order:e.numbers,[e.verb]:Xi(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
281
+ `))}async function TK(e,t,r,n,s){let o=BA(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(jA)){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:LK(qt(Wr(f.stdout)),qt(Wr(m.stdout)))}}return{number:l,value:IK(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return xu({command:Ou(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Xi(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function xK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Vg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([qA(e.numbers,t,r,n),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,Kg(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 Jg(d,100)){let f=IA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await Wg(r,t,f.query);if(zg(m))return await OK(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=jg(f.aliases,Wr(m.stdout));for(let b of p){let E=f.aliases.filter(w=>w.number===b.number).map(w=>g.get(w.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Us(s,e.numbers,UA(e.numbers,u),"graphql")}async function OK(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,Xi(o),"rest-fallback",n)}async function AK(e,t,r,n,s){if(e.numbers.length<2)return Vg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await qA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Us(s,i,Kg(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 Jg(d,100)){let f=LA({number:o,nodeId:l},p),m=await Wg(r,t,f.query);if(zg(m))return await CK(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=jg(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,UA(i,u),"graphql")}async function CK(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,Xi(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 xu({command:Ou(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??FA}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function BA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return DA(r,SK),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return DA(t,RK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function DA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function PK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=qg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=$K(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=HA(t[s]));return"number"in n||(n.number=Yg(t.number)),n}function IK(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(jA(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]=HA(t[s]);return"number"in n||(n.number=Yg(t.number)),n}function LK(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()||GK(s.map(o=>o.state)),contexts:s}}function GK(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 jA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function $K(e){let t=qg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:qg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Wg(e,t,r){let[n,s]=DK(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function qA(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=Yg(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 Jg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function NK(e){if(!Hg(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 xu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
282
+ `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Vg(e,t){return xu({command:Ou(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Kg(e,t){return Xi(e.map(r=>({number:r,value:t(r)})))}function Xi(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function UA(e,t){return Kg(e,r=>t.get(r)??{error:"mutation skipped"})}function zg(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
283
283
  ${e.stdout}`)}function mt(e){return(e.stderr||e.stdout).trim().split(`
284
- `)[0]?.slice(0,240)??""}function Wr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Bg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Hs):[]}function jA(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Kg(e){let t=Number(e);return Number.isFinite(t)?t:0}function qs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function GK(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function xu(e){return`rsp ${e.join(" ")}`}function $K(){let e=wK("git",["config","--get","remote.origin.url"],{encoding:"utf8"});if(e.status!==0)return;let t=e.stdout.trim().match(/(?:github\.com[/:])([^/]+)\/([^/]+?)(?:\.git)?$/);return t?`${t[1]}/${t[2]}`:void 0}async function NK(e){let t=bK("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",a=>o({code:a??1,stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8")}))})}function qt(e){return Hs(e)?e:{}}function Hs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var $A,_K,EK,qA=_(()=>{"use strict";we();V();LA();$A=4,_K=new Set(["number","title","state","labels","body"]),EK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function zg(e){if(e[0]!=="gh"||e[1]!=="api")return null;let t="",r="GET",n={};for(let s=2;s<e.length;s+=1){let o=e[s];if(o==="--method"||o==="-X")r=(e[++s]??"").toUpperCase();else if(o==="-f"||o==="--raw-field"||o==="-F"||o==="--field"){let i=e[++s]??"",a=i.indexOf("=");if(a<=0)return null;n[i.slice(0,a)]=o==="-F"||o==="--field"?DK(i.slice(a+1)):i.slice(a+1)}else{if(["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(o))return null;if(!o.startsWith("-")&&!t)t=o.replace(/^https:\/\/api\.github\.com\//,"");else return null}}return r==="GET"&&t!==""&&t!=="graphql"?{path:t,params:n}:null}async function UA(e,t=at){let r=zg(e);if(!r){let s=qe(e.join(" "),"","rsp gh api accepts GET reads without --jq, --template, --paginate, or --input");return{stdout:ee(s),stderr:Buffer.alloc(0),status:2,signal:null}}let n=await t({...r,args:["api",r.path],command:e.join(" ")});if(n.status!==0){let s=qe(e.join(" "),n.stdout,n.stderr);return{stdout:ee(s),stderr:Buffer.from(n.stderr),status:s.exitCode??n.status,signal:null}}return{stdout:Buffer.from(M(JSON.parse(n.stdout))),stderr:Buffer.from(n.stderr),status:0,signal:null}}function DK(e){if(e==="true")return!0;if(e==="false")return!1;if(e!=="null")return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/.test(e)?Number(e):e}var Yg=_(()=>{"use strict";V();xo();bt()});var sy={};se(sy,{parseGhApiRead:()=>zg,renderGhContract:()=>zA,runGhWrapper:()=>UK});import{spawn as FK}from"node:child_process";async function UK(e,t){if(qg(e))return await NA(e);if(e[0]==="gh"&&e[1]==="api")return await UA(e);let r=YA(e),n=await WK(r);return zA(e,n,t)}async function zA(e,t,r){if((t.status??0)!==0||t.signal){let f=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=YA(e),s=Xi(t.stdout),o=ZK(n,e,s);if(typeof o=="string")return{stdout:Buffer.from(o),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal};let i=az(o);if(i){if(!r.store)throw new Error("truncated gh output requires an elision store");let f=await r.store.mint(Buffer.from(i.original),{command:e.join(" "),loss:{level:n.full?"brief":r.level,bytes_elided:i.bytes}});i.target.truncated.handle=f}let a=i?.target.truncated.handle||void 0,c=M(o);if(r.level!=="terse")return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let l=cz(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${At(d)}
284
+ `)[0]?.slice(0,240)??""}function Wr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function qg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Hs):[]}function HA(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Yg(e){let t=Number(e);return Number.isFinite(t)?t:0}function qs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function DK(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Ou(e){return`rsp ${e.join(" ")}`}function FK(){let e=kK("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 MK(e){let t=EK("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 FA,SK,RK,WA=_(()=>{"use strict";we();V();NA();FA=4,SK=new Set(["number","title","state","labels","body"]),RK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function Qg(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"?BK(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 JA(e,t=at){let r=Qg(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 BK(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 Xg=_(()=>{"use strict";V();xo();bt()});var iy={};se(iy,{parseGhApiRead:()=>Qg,renderGhContract:()=>XA,runGhWrapper:()=>JK});import{spawn as jK}from"node:child_process";async function JK(e,t){if(Hg(e))return await MA(e);if(e[0]==="gh"&&e[1]==="api")return await JA(e);let r=ZA(e),n=await KK(r);return XA(e,n,t)}async function XA(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=Zi(t.stdout),o=rz(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=uz(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=dz(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${At(d)}
285
285
  `;return{stdout:Buffer.from(`${M(l.payload)}
286
- ${p}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:l.payload,mintedHandle:d,bytesElided:u,rowsElided:l.rowsElided,rawOutput:Buffer.from(c)}}function YA(e){let t=oo(e);if(t.argv[0]!=="gh")throw new Error("expected rsp gh <surface> <subcommand>");let r=t.argv[1],n=t.argv[2];if(!(r==="pr"||r==="issue"||r==="run"))throw new Error(`unsupported gh surface: ${r??""}`);let s=r==="pr"&&n&&n!=="list"&&n!=="view";if(!(n==="list"||n==="view"||s))throw new Error(`unsupported gh subcommand: ${n??""}`);let o=r,i=[],a=!1,c=!1,l=new Set,u=t.argv.slice(3);for(let f=0;f<u.length;f+=1){let m=u[f]??"";m==="--full"?a=!0:m==="--wide"?c=!0:m==="--fields"?l=WA(u[++f]??""):m.startsWith("--fields=")?l=WA(m.slice(9)):i.push(m)}let p={kind:o,action:s?"combined":n==="list"?"list":"view",target:s?n:void 0,full:a,wide:c,fields:l,passthrough:i,query:t.query};return HK(p),p}function HA(e){if(e.action==="combined")throw new Error("combined gh command uses multiple machine calls");let t=`${e.kind}:${e.action}`,r=e.wide||e.fields.size>0?BK[t]:MK[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function WA(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function HK(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Ou(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=qK[t];for(let n of e.fields)if(!r.includes(n))throw new Ou(e,`unknown field: ${n}`,r)}async function WK(e){if(e.action==="combined")return await JK(e);let t=VK(e);if(!t)return await XK(HA(e));let r=await at({...t,command:["gh",...HA(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await KK(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function JK(e){let t=e.target??"",[r,n,s]=await Promise.all([at({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),at({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),at({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=XA(Xi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:tt(Xi(s.stdout)).map(YK)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function VK(e){let t=ZA(e.passthrough),r=QK(e.passthrough,"--limit")??30,n=Ut(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Ut(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function KK(e,t){let r=Xi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return tt(r).map(QA);case"pr:view":return XA(r);case"issue:list":return tt(r).filter(n=>!Ln(n.pull_request)).map(JA);case"issue:view":return JA(r);case"run:list":return{items:tt(ae(r).workflow_runs).map(VA),total:ze(ae(r),"total_count")};case"run:view":{let n=VA(r),s=ZA(e.passthrough);if(!s)return n;let o=await at({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?tt(ae(Xi(o.stdout)).jobs).map(zK):[]}}default:return r}}function QA(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:ry(t.user),labels:tt(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ae(t.base),"ref"),headRefName:B(ae(t.head),"ref")}}function XA(e){return QA(e)}function JA(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:tt(t.labels).map(r=>({name:B(r,"name")})),author:ry(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function VA(e){let t=ae(e);return{databaseId:ze(t,"database_id")||ze(t,"id"),name:B(t,"name")||B(t,"display_title"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),event:B(t,"event"),headBranch:B(t,"head_branch"),workflowName:B(t,"workflow_name"),createdAt:B(t,"created_at"),url:B(t,"html_url"),jobs:[]}}function zK(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function YK(e){let t=ae(e);return{author:ry(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function ry(e){let t=ae(e);return{login:B(t,"login")}}function ZA(e){return e.find(t=>!t.startsWith("-"))}function Ut(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function QK(e,t){let r=Ut(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function XK(e){let t=FK("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function ZK(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Qg(r,"prs"),o=s.rows.map(c=>eC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Ws({...n,prs:i,aggregate:a,summary:`${ey(i.length,o.length,e.query)} ${KA(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Ws({...n,pr:tC(ae(r),e),summary:`PR #${ze(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return ez(e,t,ae(r));case"issue:list":{let s=Qg(r,"issues"),o=s.rows.map(c=>rC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Ws({...n,issues:i,aggregate:a,summary:`${ey(i.length,o.length,e.query)} ${KA(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Ws({...n,issue:oz(ae(r),e),summary:`issue #${ze(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Qg(r,"runs"),o=s.rows.map(c=>nC(c,e)),i=Le(o,e.query),a=Xg(i.length,o.length,s.total,e.query);return i.length===0?Zg(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Ws({...n,runs:i,aggregate:a,summary:`${ey(i.length,o.length,e.query)} runs`},e,["rsp gh run view <id>","rsp gh run list --query <workflow-or-status>"])}case"run:view":return Ws({...n,run:iz(ae(r),e),summary:`run ${ze(ae(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function ez(e,t,r){let n=tC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(tt(r.checks).map(tz),e.query),o=ae(r.comments).comments,i=Le(tt(o).map(rz).slice(-3),e.query);return Xt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${ze(ae(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function tz(e){return{name:B(e,"name"),state:Zi(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function rz(e){return{author:oC(e.author),body:Au(e,"body",ty,!1),created:B(e,"createdAt")}}function Qg(e,t){if(Array.isArray(e))return{rows:tt(e)};let r=ae(e),n=ze(r,"total")||ze(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:tt(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:tt(r.workflow_runs),total:n}:{rows:[]}}function Xg(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Zg(e,t,r,n,s){return Xt({...e,empty:!0,scope:nz(t),[r]:[],aggregate:n,summary:`0 ${sz(t)}`},s)}function nz(e){let t=Ut(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ut(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ut(e.passthrough,"--branch")??Ut(e.passthrough,"-b"),s=Ut(e.passthrough,"--workflow")??Ut(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function sz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function eC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Zi(e),draft:!!e.isDraft};return ny(r,e,t,["author","labels","url","updated"]),r}function tC(e,t){let r=eC(e,t);return r.body=Au(e,"body",ty,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function rC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:Zi(e),labels:sC(e.labels)};return ny(r,e,t,["author","url","updated"]),r}function oz(e,t){let r=rC(e,t);return r.body=Au(e,"body",ty,t.full),r}function nC(e,t){let r={id:ze(e,"databaseId"),name:B(e,"name"),status:Zi(e),conclusion:B(e,"conclusion")};return ny(r,e,t,["event","branch","workflow","created"]),r}function iz(e,t){let r=nC(e,t),n=tt(e.jobs).map(s=>({name:B(s,"name"),status:Zi(s),conclusion:B(s,"conclusion"),log:Au(s,"log",jK,t.full)}));return r.jobs=n,r}function Au(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function az(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(Ln(r)){if(Ln(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function cz(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function KA(e,t){return e.every(r=>r.state===t)?t:"returned"}function ey(e,t,r){return r?`${e}/${t}`:String(e)}function Ws(e,t,r){return t.query?Xt(e,r):e}function Zi(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function ny(e,t,r,n){if(!(!r.wide&&r.fields.size===0))for(let s of n)!r.wide&&!r.fields.has(s)||(s==="author"?e.author=oC(t.author):s==="labels"?e.labels=sC(t.labels):s==="url"?e.url=B(t,"url"):s==="updated"?e.updated=B(t,"updatedAt"):s==="event"?e.event=B(t,"event"):s==="branch"?e.branch=B(t,"headBranch"):s==="workflow"?e.workflow=B(t,"workflowName"):s==="created"&&(e.created=B(t,"createdAt")))}function sC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function oC(e){return Ln(e)?B(e,"login"):""}function Xi(e){return e.trim()?JSON.parse(e):null}function tt(e){return Array.isArray(e)?e.filter(Ln):[]}function ae(e){return Ln(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function ze(e,t){let r=e[t];return typeof r=="number"?r:0}function Ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var MK,BK,ty,jK,qK,Ou,oy=_(()=>{"use strict";we();V();xo();qA();Yg();An();io();bt();Yg();MK={"pr:list":["number","title","state","isDraft"],"pr:view":["number","title","state","body"],"issue:list":["number","title","state","labels"],"issue:view":["number","title","state","body"],"run:list":["databaseId","name","status","conclusion"],"run:view":["databaseId","name","status","conclusion","jobs"]},BK={"pr:list":["number","title","state","isDraft","author","labels","url","updatedAt"],"pr:view":["number","title","state","body","author","labels","url","baseRefName","headRefName"],"issue:list":["number","title","state","labels","author","url","updatedAt"],"issue:view":["number","title","state","body","author","labels","url","updatedAt"],"run:list":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt"],"run:view":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt","jobs","url"]},ty=160,jK=160,qK={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};Ou=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var cy={};se(cy,{renderTestContract:()=>iC,runTestWrapper:()=>fz});import{spawn as lz}from"node:child_process";async function fz(e,t){let r=oo(e),n=await bz(r.argv);return await iC(e,n,t)}async function iC(e,t,r){let n=oo(e),o=aC(n.argv)==="vitest"?wz(t.stdout):_z(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${Sz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await mz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await Ez(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:g.text}),u??=g.handle,d+=g.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Xt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:ay(t.status),signal:t.signal,payload:f,mintedHandle:u,bytesElided:d>0?d:void 0,rowsElided:l.length>0?Math.max(0,o.total-l.length):void 0}}async function mz(e,t,r,n,s,o,i){let a=hz(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Xt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((w,k)=>w.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:ay(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(w=>({suite:w.suite,name:w.name,excerpt:w.excerpt})));let m=M(f),g=Buffer.byteLength(m),b=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:g}});if(!b)throw new Error("terse test output requires an elision store");let E=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
287
- ${E}`),stderr:Buffer.from(t.stderr),status:ay(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function ay(e){return e===0||e===null?0:1}function hz(e){let t=[],r=dz;for(let n of e.slice(0,pz)){let s=gz(n.excerpt,Math.min(uz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function gz(e,t){if(t<=0)return"";let r=e.split(`
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=KA(u[++f]??""):m.startsWith("--fields=")?l=KA(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 VK(p),p}function VA(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?UK[t]:qK[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function KA(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function VK(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Au(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=WK[t];for(let n of e.fields)if(!r.includes(n))throw new Au(e,`unknown field: ${n}`,r)}async function KK(e){if(e.action==="combined")return await zK(e);let t=YK(e);if(!t)return await tz(VA(e));let r=await at({...t,command:["gh",...VA(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await QK(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function zK(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=tC(Zi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:tt(Zi(s.stdout)).map(ZK)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function YK(e){let t=rC(e.passthrough),r=ez(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 QK(e,t){let r=Zi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return tt(r).map(eC);case"pr:view":return tC(r);case"issue:list":return tt(r).filter(n=>!Ln(n.pull_request)).map(zA);case"issue:view":return zA(r);case"run:list":return{items:tt(ae(r).workflow_runs).map(YA),total:ze(ae(r),"total_count")};case"run:view":{let n=YA(r),s=rC(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(Zi(o.stdout)).jobs).map(XK):[]}}default:return r}}function eC(e){let t=ae(e);return{number:ze(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:sy(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 tC(e){return eC(e)}function zA(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:sy(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function YA(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 XK(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function ZK(e){let t=ae(e);return{author:sy(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function sy(e){let t=ae(e);return{login:B(t,"login")}}function rC(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 ez(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 tz(e){let t=jK("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function rz(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Zg(r,"prs"),o=s.rows.map(c=>nC(c,e)),i=Le(o,e.query),a=ey(i.length,o.length,s.total,e.query);return i.length===0?ty(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Ws({...n,prs:i,aggregate:a,summary:`${ry(i.length,o.length,e.query)} ${QA(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Ws({...n,pr:sC(ae(r),e),summary:`PR #${ze(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return nz(e,t,ae(r));case"issue:list":{let s=Zg(r,"issues"),o=s.rows.map(c=>oC(c,e)),i=Le(o,e.query),a=ey(i.length,o.length,s.total,e.query);return i.length===0?ty(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:`${ry(i.length,o.length,e.query)} ${QA(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Ws({...n,issue:cz(ae(r),e),summary:`issue #${ze(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Zg(r,"runs"),o=s.rows.map(c=>iC(c,e)),i=Le(o,e.query),a=ey(i.length,o.length,s.total,e.query);return i.length===0?ty(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:`${ry(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:lz(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 nz(e,t,r){let n=sC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(tt(r.checks).map(sz),e.query),o=ae(r.comments).comments,i=Le(tt(o).map(oz).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 sz(e){return{name:B(e,"name"),state:ea(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function oz(e){return{author:cC(e.author),body:Cu(e,"body",ny,!1),created:B(e,"createdAt")}}function Zg(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 ey(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function ty(e,t,r,n,s){return Xt({...e,empty:!0,scope:iz(t),[r]:[],aggregate:n,summary:`0 ${az(t)}`},s)}function iz(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 az(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function nC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:ea(e),draft:!!e.isDraft};return oy(r,e,t,["author","labels","url","updated"]),r}function sC(e,t){let r=nC(e,t);return r.body=Cu(e,"body",ny,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function oC(e,t){let r={number:ze(e,"number"),title:B(e,"title"),state:ea(e),labels:aC(e.labels)};return oy(r,e,t,["author","url","updated"]),r}function cz(e,t){let r=oC(e,t);return r.body=Cu(e,"body",ny,t.full),r}function iC(e,t){let r={id:ze(e,"databaseId"),name:B(e,"name"),status:ea(e),conclusion:B(e,"conclusion")};return oy(r,e,t,["event","branch","workflow","created"]),r}function lz(e,t){let r=iC(e,t),n=tt(e.jobs).map(s=>({name:B(s,"name"),status:ea(s),conclusion:B(s,"conclusion"),log:Cu(s,"log",HK,t.full)}));return r.jobs=n,r}function Cu(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function uz(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 dz(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 QA(e,t){return e.every(r=>r.state===t)?t:"returned"}function ry(e,t,r){return r?`${e}/${t}`:String(e)}function Ws(e,t,r){return t.query?Xt(e,r):e}function ea(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function oy(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=cC(t.author):s==="labels"?e.labels=aC(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 aC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function cC(e){return Ln(e)?B(e,"login"):""}function Zi(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 qK,UK,ny,HK,WK,Au,ay=_(()=>{"use strict";we();V();xo();WA();Xg();An();io();bt();Xg();qK={"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"]},UK={"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"]},ny=160,HK=160,WK={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};Au=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var uy={};se(uy,{renderTestContract:()=>lC,runTestWrapper:()=>gz});import{spawn as pz}from"node:child_process";async function gz(e,t){let r=oo(e),n=await Ez(r.argv);return await lC(e,n,t)}async function lC(e,t,r){let n=oo(e),o=uC(n.argv)==="vitest"?kz(t.stdout):Sz(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 ${Tz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await yz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await Rz(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:ly(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 yz(e,t,r,n,s,o,i){let a=bz(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:ly(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(w=>({suite:w.suite,name:w.name,excerpt:w.excerpt})));let m=M(f),g=Buffer.byteLength(m),b=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:g}});if(!b)throw new Error("terse test output requires an elision store");let E=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
287
+ ${E}`),stderr:Buffer.from(t.stderr),status:ly(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function ly(e){return e===0||e===null?0:1}function bz(e){let t=[],r=mz;for(let n of e.slice(0,hz)){let s=wz(n.excerpt,Math.min(fz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function wz(e,t){if(t<=0)return"";let r=e.split(`
288
288
  `),n=r.length<=2?e:`${r[0]}
289
289
  \u2026
290
- ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function aC(e){if(e[0]==="vitest")return"vitest";if(e[0]==="cargo"&&e[1]==="test")return"cargo";throw new Error(`unsupported test command: ${e.join(" ")}`)}function yz(e){if(aC(e)==="vitest"){let s=e.slice(1);return{executable:"vitest",args:s.some(i=>i==="--reporter=json"||i==="--reporter"||i.startsWith("--reporter="))?s:["run","--reporter=json",...s]}}let r=e.slice(1);return{executable:"cargo",args:r.some(s=>s==="--message-format=json"||s.startsWith("--message-format="))?r:["test","--message-format=json",...r.slice(1)]}}async function bz(e){let t=yz(e),r=lz(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=Ze();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function wz(e){let t=cC(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Vr(t.numTotalTests),o=Vr(t.numFailedTests),i=Rz(Vr(t.startTime),Vr(t.endTime));for(let a of r){if(!Jr(a))continue;let c=Ht(a.name)||Ht(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Jr(u)&&u.status==="failed"&&n.push({suite:c,name:Ht(u.fullName)||Ht(u.title)||Ht(u.name),excerpt:kz(u.failureMessages)||Ht(u.failureMessage)})}return s||=r.reduce((a,c)=>!Jr(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Jr(c)?a+Vr(c.perfStats&&Jr(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function _z(e){let t=e.split(`
291
- `).filter(Boolean).map(c=>cC(c)).filter(Jr);if(t.length===0)return null;let r=[],n=0,s=0,o=0,i=0,a=[];for(let c of t){if(c.type==="suite"){c.event==="started"&&(o+=1,n+=Vr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Vr(c.failed),i+=Vr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Ht(c.name).split("::").slice(0,-1).join("::"),name:Ht(c.name),excerpt:Ht(c.stdout)});continue}if(c.reason==="compiler-message"&&Jr(c.message)){let l=Ht(c.message.rendered);l&&a.push(l)}}return r.length===0&&a.length>0&&(r.push({suite:"cargo check",name:"compile-error",excerpt:a.join(`
292
- `)}),o||=1,n||=1,s||=1),s||=r.length,o||=1,n||=Math.max(s,r.length),{failed:s,total:n,suites:o,durationSeconds:i,failures:r}}async function Ez(e,t,r){let n=Buffer.from(e);if(n.length<=iy)return{text:e,bytesElided:0};if(!r)throw new Error("over-limit test failure excerpt requires an elision store");let s=await r.mint(n,{command:t,loss:{level:"brief",bytes_elided:n.length}}),o=n.subarray(0,iy).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
293
- \u2026 elided ${i} bytes (+${n.length}) \u2014 ${At(s)}`,handle:s,bytesElided:n.length}}function cC(e){try{return JSON.parse(e)}catch{return null}}function kz(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
294
- `):""}function Sz(e){return`${Number(e.toFixed(1))}s`}function Rz(e,t){return e>0&&t>e?(t-e)/1e3:0}function Vr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Ht(e){return typeof e=="string"?e:""}function Jr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var iy,uz,dz,pz,ly=_(()=>{"use strict";we();V();An();io();bt();iy=320,uz=160,dz=iy,pz=3});var py={};se(py,{parseCatCommand:()=>dy,renderCatContract:()=>Iz,runCatWrapper:()=>Pz});import{isUtf8 as vz}from"node:buffer";import{readFile as Tz}from"node:fs/promises";import{extname as xz}from"node:path";async function Pz(e,t){let r=dy(e),n;try{n=await Tz(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=qe(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
295
- `),status:1,signal:null}}return mC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await fC(e,r,n,t)}async function Iz(e,t,r){if((t.status??0)!==0||t.signal){let i=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=dy(e),s=Buffer.from(t.stdout,"utf8");return mC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await fC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function dy(e){if(e[0]!=="cat")throw new Error("expected rsp cat <file>");let t=e.slice(1),r="full",n,s=!1,o=[];for(let i=0;i<t.length;i++){let a=t[i];if(a==="--full"){s=!0;continue}if(a==="--head"||a==="--tail"){r=a.slice(2),n=pC(t[++i],uy);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=pC(l,uy);continue}o.push(a)}if(o.length!==1)throw new Error("usage: rsp cat [--full] [--head N|--tail N] <file>");return{file:o[0],mode:r,...n?{limit:n}:{},...s?{inlineFull:s}:{}}}async function fC(e,t,r,n){let s=r.toString("utf8"),o=$z(s,t);if(t.inlineFull)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let i=n.level!=="lossless"||r.length>dC(n.heavyByteThreshold,lC)||o.truncated;if(!uC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=uC(t.file)?Lz(e,t.file,r,s,n.level,o):Gz(e,t.file,r,s,o),c=`${M(a)}
296
- `;if(!i&&Buffer.byteLength(c)<=dC(n.heavyByteThreshold,lC))return{stdout:Buffer.from(c),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,rawOutput:r};let l=await n.store?.mint(r,{command:e.join(" "),loss:{level:n.level==="lossless"?"terse":n.level,bytes_elided:r.length}});if(!l)throw new Error("rsp cat elision requires an elision store");let u=`\u2026 elided file bytes (+${r.length}) \u2014 ${At(l)}
297
- `;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function Lz(e,t,r,n,s,o){let i=Cu(n),a=s==="terse"?Az:Oz,c=Cu(o.text),l=c.slice(0,a),u=c.slice(Math.max(l.length,c.length-a));return{command:e.join(" "),file:t,kind:"code",outline_source:"regex",bytes:r.length,lines:i.length,symbols:Nz(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function Gz(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Cu(n).length,content:Cu(s.text),truncated:s.truncated}}function $z(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
298
- `),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??uy,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
290
+ ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function uC(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 _z(e){if(uC(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 Ez(e){let t=_z(e),r=pz(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 kz(e){let t=dC(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Vr(t.numTotalTests),o=Vr(t.numFailedTests),i=xz(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:vz(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 Sz(e){let t=e.split(`
291
+ `).filter(Boolean).map(c=>dC(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 Rz(e,t,r){let n=Buffer.from(e);if(n.length<=cy)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,cy).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 dC(e){try{return JSON.parse(e)}catch{return null}}function vz(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
294
+ `):""}function Tz(e){return`${Number(e.toFixed(1))}s`}function xz(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 cy,fz,mz,hz,dy=_(()=>{"use strict";we();V();An();io();bt();cy=320,fz=160,mz=cy,hz=3});var my={};se(my,{parseCatCommand:()=>fy,renderCatContract:()=>$z,runCatWrapper:()=>Gz});import{isUtf8 as Oz}from"node:buffer";import{readFile as Az}from"node:fs/promises";import{extname as Cz}from"node:path";async function Gz(e,t){let r=fy(e),n;try{n=await Az(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 yC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await gC(e,r,n,t)}async function $z(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=fy(e),s=Buffer.from(t.stdout,"utf8");return yC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await gC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function fy(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=hC(t[++i],py);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=hC(l,py);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 gC(e,t,r,n){let s=r.toString("utf8"),o=Fz(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>mC(n.heavyByteThreshold,pC)||o.truncated;if(!fC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=fC(t.file)?Nz(e,t.file,r,s,n.level,o):Dz(e,t.file,r,s,o),c=`${M(a)}
296
+ `;if(!i&&Buffer.byteLength(c)<=mC(n.heavyByteThreshold,pC))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 Nz(e,t,r,n,s,o){let i=Pu(n),a=s==="terse"?Iz:Pz,c=Pu(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:Mz(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function Dz(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Pu(n).length,content:Pu(s.text),truncated:s.truncated}}function Fz(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??py,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
299
299
  `)}${n&&i.length>0?`
300
- `:""}`,truncated:i.length<s.length}}function Nz(e){let t=[];for(let r=0;r<e.length;r++){let s=e[r].trim(),o=/^(?:export\s+)?(?:default\s+)?(?:abstract\s+)?(class|interface|type)\s+([A-Za-z_$][\w$]*)/.exec(s);if(o){t.push({kind:o[1],name:o[2],line:r+1,signature:s});continue}let i=/^(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?/.exec(s);if(i){t.push({kind:"function",name:i[1],line:r+1,signature:s});continue}let a=/^(?:public\s+|private\s+|protected\s+|static\s+|async\s+)*([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?\s*\{/.exec(s);a&&!Dz(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Cu(e){let t=e.split(`
301
- `);return t.at(-1)===""?t.slice(0,-1):t}function mC(e){return e.includes(0)||!vz(e)}function uC(e){return Cz.has(xz(e).toLowerCase())}function Dz(e){return["for","if","switch","while"].includes(e)}function dC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function pC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var lC,uy,Oz,Az,Cz,fy=_(()=>{"use strict";V();An();bt();lC=8*1024,uy=10,Oz=8,Az=2,Cz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var kC={};se(kC,{REPO_STORE_PATH:()=>gy,mergeRspBlock:()=>wC,provisionRspRepoStore:()=>Vz});import{constants as Fz}from"node:fs";import{access as Mz,copyFile as Bz,mkdir as gC,readFile as jz,rename as qz,writeFile as yC}from"node:fs/promises";import{dirname as Uz,join as ea,resolve as Hz}from"node:path";async function Vz(e,t={}){let r=Hz(e),n=ea(r,".red"),s=ea(n,"config.yaml"),o=ea(r,gy);await gC(n,{recursive:!0}),await gC(Uz(o),{recursive:!0});let i="";try{i=await jz(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=wC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await yC(s,a,"utf8");let l=!await hy(o),u=!1,d=!1;if(l){let f=ea(r,Wz),m=ea(r,Jz);if(await hy(f))await qz(f,o),d=!0;else if(await hy(m))await Bz(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(rl(),uT)),b=process.env.REDDB_BIN;try{await g({uri:`file://${o}`,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt})}finally{b===void 0?delete process.env.REDDB_BIN:process.env.REDDB_BIN=b}}}let p=Kz(a,gy);return p!==a&&await yC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function wC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${Pu(t.ttlDays,_t)}`,` ephemeralTtlHours: ${Pu(t.ephemeralTtlHours,Et)}`,` byteBudget: ${Pu(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${Pu(t.heavyGitByteThreshold,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
302
- `),s=_C(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
300
+ `:""}`,truncated:i.length<s.length}}function Mz(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&&!Bz(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Pu(e){let t=e.split(`
301
+ `);return t.at(-1)===""?t.slice(0,-1):t}function yC(e){return e.includes(0)||!Oz(e)}function fC(e){return Lz.has(Cz(e).toLowerCase())}function Bz(e){return["for","if","switch","while"].includes(e)}function mC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function hC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var pC,py,Pz,Iz,Lz,hy=_(()=>{"use strict";V();An();bt();pC=8*1024,py=10,Pz=8,Iz=2,Lz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var vC={};se(vC,{REPO_STORE_PATH:()=>by,mergeRspBlock:()=>kC,provisionRspRepoStore:()=>Yz});import{constants as jz}from"node:fs";import{access as qz,copyFile as Uz,mkdir as wC,readFile as Hz,rename as Wz,writeFile as _C}from"node:fs/promises";import{dirname as Jz,join as ta,resolve as Vz}from"node:path";async function Yz(e,t={}){let r=Vz(e),n=ta(r,".red"),s=ta(n,"config.yaml"),o=ta(r,by);await wC(n,{recursive:!0}),await wC(Jz(o),{recursive:!0});let i="";try{i=await Hz(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=kC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await _C(s,a,"utf8");let l=!await yy(o),u=!1,d=!1;if(l){let f=ta(r,Kz),m=ta(r,zz);if(await yy(f))await Wz(f,o),d=!0;else if(await yy(m))await Uz(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(nl(),fT)),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=Qz(a,by);return p!==a&&await _C(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function kC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${Iu(t.ttlDays,_t)}`,` ephemeralTtlHours: ${Iu(t.ephemeralTtlHours,Et)}`,` byteBudget: ${Iu(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${Iu(t.heavyGitByteThreshold,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
302
+ `),s=SC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
303
303
  `)}
304
- `}let o=yy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
304
+ `}let o=wy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
305
305
  `)}
306
- `}function _C(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(wy(n)&&by(n)===0&&EC(n)===t)return r}return-1}function yy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(wy(e[s])&&by(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function by(e){return(e.match(/^ */)?.[0]??"").length}function wy(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function EC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Pu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Kz(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
307
- `),n=_C(r,"plugins");if(n===-1)return e;let s=yy(r,n,0),o=bC(r,"memory",n+1,s,2);if(o===-1)return e;let i=yy(r,o,2),a=[...r],c=bC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
306
+ `}function SC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Ey(n)&&_y(n)===0&&RC(n)===t)return r}return-1}function wy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Ey(e[s])&&_y(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function _y(e){return(e.match(/^ */)?.[0]??"").length}function Ey(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function RC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Iu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Qz(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
307
+ `),n=SC(r,"plugins");if(n===-1)return e;let s=wy(r,n,0),o=EC(r,"memory",n+1,s,2);if(o===-1)return e;let i=wy(r,o,2),a=[...r],c=EC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
308
308
  `)}
309
- `}function bC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(wy(i)&&by(i)===s&&EC(i)===t)return o}return-1}async function hy(e){try{return await Mz(e,Fz.F_OK),!0}catch{return!1}}var gy,Wz,Jz,SC=_(()=>{"use strict";Xe();Ue();gy=Ep,Wz=bw,Jz=".red/memory/graph.rdb"});var AC={};se(AC,{runRspMcpServer:()=>Yz});import{createInterface as zz}from"node:readline";async function Yz(){let e=$e(process.cwd(),process.env),t=zz({input:process.stdin,crlfDelay:1/0});for await(let r of t){if(!r.trim())continue;let n;try{n=JSON.parse(r);let s=await Qz(n,e);TC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){TC({jsonrpc:"2.0",id:typeof xC(r)?.id>"u"?null:xC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function Qz(e,t){if(e.method==="initialize")return{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:{name:"rsp",version:"0.1.0"}};if(e.method==="tools/list")return t.enabled?{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}},{name:"rsp_stats",description:"Read resident rsp accounting stats.",inputSchema:{type:"object",properties:{}}},{name:"rsp_show",description:"Read an rsp elision handle through the resident server.",inputSchema:{type:"object",properties:{handle:{type:"string"}},required:["handle"]}},{name:"rsp_compress",description:"Compress arbitrary text or JSON through rsp normalization, JSON selection, TOON rendering, and reversible elision.",inputSchema:{type:"object",properties:{payload:{description:"Text, JSON value, or JSON-serializable payload to compress."},level:{type:"string",enum:["brief","terse"],description:"Compression level. Defaults to brief."}},required:["payload"]}}]}:{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}}]};if(e.method==="tools/call"){let r=e.params;if(r?.name==="rsp_status")return{content:[{type:"text",text:vC(t)}]};if(!t.enabled)return{content:[{type:"text",text:vC(t)}],isError:!0};let n=oY(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Gn({tool:"rsp_stats",...await n.accountingStats(t.telemetryByteBudget)})}]};if(r?.name==="rsp_show"){let s=String(r.arguments?.handle??""),o=await n.get(s);return o?"status"in o?{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!1,category:"real-error",error:o.status,expired_at:o.expired_at,help:[o.command]})}],isError:!0}:{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Gn(Xz(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await Zz(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
310
- `}function Xz(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function Zz(e,t){let r=tY(e?.payload);try{return await eY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return OC(r)}}async function eY(e,t,r){let n=rY(t?.level),s=await Tg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return OC(s.output);let o=du(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:Buffer.byteLength(e),text:o});let i=Buffer.from(e),a=await r.mint(i,{command:"rsp mcp compress",loss:{level:n,bytes_elided:i.length}});return nY(o,i.length,a,n)}function tY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function rY(e){return e==="terse"?"terse":"brief"}function nY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=RC(o.subarray(0,i)),c=RC(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:sY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function OC(e){return e.endsWith(`
309
+ `}function EC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Ey(i)&&_y(i)===s&&RC(i)===t)return o}return-1}async function yy(e){try{return await qz(e,jz.F_OK),!0}catch{return!1}}var by,Kz,zz,TC=_(()=>{"use strict";Xe();Ue();by=kp,Kz=_w,zz=".red/memory/graph.rdb"});var IC={};se(IC,{runRspMcpServer:()=>Zz});import{createInterface as Xz}from"node:readline";async function Zz(){let e=$e(process.cwd(),process.env),t=Xz({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 eY(n,e);AC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){AC({jsonrpc:"2.0",id:typeof CC(r)?.id>"u"?null:CC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function eY(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:OC(t)}]};if(!t.enabled)return{content:[{type:"text",text:OC(t)}],isError:!0};let n=cY(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(tY(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await rY(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
310
+ `}function tY(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function rY(e,t){let r=sY(e?.payload);try{return await nY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return PC(r)}}async function nY(e,t,r){let n=oY(t?.level),s=await Og(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return PC(s.output);let o=pu(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 iY(o,i.length,a,n)}function sY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function oY(e){return e==="terse"?"terse":"brief"}function iY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=xC(o.subarray(0,i)),c=xC(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:aY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function PC(e){return e.endsWith(`
311
311
  `)?e:`${e}
312
- `}function RC(e){return e.toString("utf8").replace(/�$/g,"")}function sY(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function oY(e){return ho(process.cwd(),e)}function vC(e){let t=e.enabled?wr(process.cwd(),e.overhead):null;return Gn({tool:"rsp_status",enabled:e.enabled,status:e.enabled?"enabled":"disabled",message:e.enabled?"rsp is enabled in this directory":"rsp is not enabled in this directory",overhead_verdict:t?.verdict??"unknown",overhead_summary:t?.summary??"rsp is not enabled in this directory",overhead_disabled_families:t?.disabled_families.map(r=>r.family)??[],help:e.enabled?[]:["/red-setup"]})}function TC(e){process.stdout.write(`${JSON.stringify(e)}
313
- `)}function xC(e){try{return JSON.parse(e)}catch{return null}}var CC=_(()=>{"use strict";Qt();Ue();we();qi();nr()});var IC={};se(IC,{renderShellInit:()=>iY});function iY(e,t=zi){if(e==="fish")return aY(t);if(e==="bash"||e==="zsh")return cY(e,t);throw new Error(`unsupported shell: ${e}`)}function aY(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Lu))].map(r=>` abbr --add --position command -- ${r} '${pY(`rsp ${r}`)}'`)," function rspx --description 'Run a shell pipeline through rsp exec'"," rsp exec -- $argv"," end","else"," # rsp is not on PATH; rsp abbreviations and rspx were not installed.","end",""].join(`
314
- `)}function cY(e,t){let r=uY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Iu("git",r.get("git")??[]),...Iu("gh",r.get("gh")??[]),...Iu("vitest",r.get("vitest")??[]),...Iu("cargo",r.get("cargo")??[]),"rspx() {"," if command -v rsp >/dev/null 2>&1; then",' command rsp exec -- "$@"'," return"," fi"," printf '%s\\n' 'rspx requires rsp with exec support on PATH' >&2"," return 127","}",""].join(`
315
- `)}function Iu(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Lu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Lu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>PC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of lY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${dY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${PC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function lY(e){let t=new Map;for(let[r,...n]of e){if(!r)continue;let s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function uY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Lu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Lu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function PC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function dY(e){return e.replace(/'/g,"'\\''")}function pY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var LC=_(()=>{"use strict";Yi()});function _y(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&fY(t.chosenOption)&&mY(t.outcome)&&hY(t.cost)}function fY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function mY(e){return e==="success"||e==="failure"||e==="escalated"}function hY(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}var GC=_(()=>{});import{createHash as gY}from"node:crypto";function JC(e,t){return new ky(e,t)}function $C(e){let t=Number(e.red_entity_id??e.rid),r=Sy(e.properties??e.PROPERTIES),n=VC(String(e.node_type??e.NODE_TYPE??r.kind??"note"));if(!Number.isFinite(t))return null;let s=String(r.id??e.label??e.LABEL??t),o=String(r.title??e.label??e.LABEL??s),i=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??s),kind:n,properties:{...r,id:s,title:o,content:i,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function NC(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),s=KC(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Sy(e.properties??e.PROPERTIES)}}function wY(e){let t=Number(e.red_entity_id??e.rid),r=Sy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!_y(r)?null:{rid:t,event:r}}function Sy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Gu(e)?e:{}}function VC(e){let t=e==="contact"?"person":e;if(yY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function KC(e){if(bY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function _Y(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function DC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return Gu(e)?e:{}}function FC(e,t){return Nn(e)[t]}function MC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function BC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function jC(e){let t=Nn(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Ye(e){return typeof e=="string"&&e.length>0?e:void 0}function Gu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ey(e){return e!=null}function EY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function kY(e){return gY("sha256").update(JSON.stringify(e)).digest("hex")}function SY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function qC(e){return`artifact-hash:${e}`}function UC(e,t,r){return`connection:${e}:${t}:${r}`}function HC(){return"model-tier-bandit:v1"}function RY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function WC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function zC(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),s=e.properties.tags.map(i=>i.toLowerCase()),o=e.kind.toLowerCase();return{lexical:t.reduce((i,a)=>i+WC(r,a)*3+WC(n,a),0),tags:t.reduce((i,a)=>i+s.reduce((c,l)=>c+(l===a?4:l.includes(a)||a.includes(l)?2:0),0),0),kind:t.reduce((i,a)=>i+(o===a?3:o.includes(a)||a.includes(o)?1:0),0)}}function vY(e,t,r,n){let s=0;for(let o of r){let i=o.from_rid===e.rid?o.to_rid:o.to_rid===e.rid?o.from_rid:null;if(i==null)continue;let a=n.get(i);if(!a)continue;let c=YC({...zC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return $n(s)}function YC(e){return{...e,lexical:$n(e.lexical),tags:$n(e.tags),kind:$n(e.kind),connections:$n(e.connections),vector:$n(e.vector),total:$n(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function $n(e){return Math.round(e*1e3)/1e3}function TY(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(o=>r.indexOf(o)).filter(o=>o>=0).sort((o,i)=>o-i)[0]??0,s=Math.max(0,n-80);return`${s>0?"...":""}${e.slice(s,s+220)}${s+220<e.length?"...":""}`}function xY(e,t){let r=t.length===0?"none":t[0].score>=5?"high":t[0].score>=3?"medium":"low",n=t.length===0?[`No Brain artifacts matched "${e}".`]:[];return{answer:t.length===0?`Brain has no cited evidence for "${e}".`:`Brain found ${t.length} cited artifact${t.length===1?"":"s"} for "${e}".`,hits:t,citations:t.map((s,o)=>({ref:`B${o+1}`,rid:s.artifact.rid,id:s.artifact.properties.id,title:s.artifact.properties.title,kind:s.artifact.kind,score:s.score,score_breakdown:s.score_breakdown,excerpt:s.excerpt})),confidence:r,missing_evidence:n}}function OY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,yY,bY,ky,QC=_(()=>{"use strict";GC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},yY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),bY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),ky=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture(Nn(r));if(t==="getArtifact")return await this.getArtifact(FC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(MC(n,"query"),BC(n,"limit")??10,jC(n.options))}if(t==="think"){let n=Nn(r);return await this.think(MC(n,"query"),BC(n,"limit")??8,jC(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(FC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis(Nn(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:OY(t.map(n=>n.kind))}}async capture(t){let r=Ye(t.title)||"Untitled artifact",n=Ye(t.content);if(!n)throw new Error("brain capture requires content");let s=VC(Ye(t.kind)||"note"),o=EY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=kY([s,r,n,o,Ye(t.sourcePath),Ye(t.sourceSession)]),c=await this.kv().get(qC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${SY(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Ye(t.sourceAgent),source_runner:Ye(t.sourceRunner),source_session:Ye(t.sourceSession),source_path:Ye(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:Gu(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${Wt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=$C(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(qC(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${Wt.artifacts}`)).rows.map($C).filter(Ey)}async search(t,r,n={}){let s=RY(t),o=new Set(n.excludeRids??[]),i=await this.listArtifacts(),a=await this.listConnections(),c=new Map(i.map(l=>[l.rid,l]));return i.filter(l=>!o.has(l.rid)).map(l=>{let u=zC(l,s),d=YC({...u,connections:vY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:TY(l.properties.content,s)}}).filter(l=>l.score>0).sort((l,u)=>u.score-l.score||u.artifact.properties.updated_at-l.artifact.properties.updated_at).slice(0,Math.max(1,Math.min(100,r)))}async think(t,r,n={}){let s=(await this.search(t,Math.max(r*2,r+5),n)).slice(0,r);return xY(t,s)}async link(t){let r=await this.getArtifact(DC(t.from)),n=await this.getArtifact(DC(t.to));if(!r)throw new Error(`Brain artifact not found: ${String(t.from)}`);if(!n)throw new Error(`Brain artifact not found: ${String(t.to)}`);let s=KC(Ye(t.kind)||"related_to"),o=await this.findConnection(r.rid,n.rid,s);if(o!=null){let u=(await this.listConnections()).find(d=>d.rid===o);if(u)return u}let i={reason:Ye(t.reason),confidence:Ye(t.confidence)||"explicit",created_at:Date.now(),metadata:Gu(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${Wt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=NC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(UC(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${Wt.connections}`)).rows.map(NC).filter(Ey)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=_Y(Ye(t.interval)||"day"),s=Ye(t.timeField)==="ingested"?"ingested":"event";return{kind:"event",interval:n,timeField:s,range:{from:null,to:null},total:r.length,series:[{group:null,total:r.length,buckets:[]}]}}async appendOutcomeEvent(t){if(!_y(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Wt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${Wt.outcomeEvents}`)).rows.map(wY).filter(Ey).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(HC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(HC(),JSON.stringify(t)),t}async refreshModelTierBanditDocument(){let t=await this.loadModelTierBanditDocument();if(t!=null)return t;let r={schema_version:"brain.model-tier-bandit.v1",updated_at:new Date().toISOString(),arms:{}};return await this.saveModelTierBanditDocument(r),r}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async findConnection(t,r,n){let s=await this.kv().get(UC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var uP={};se(uP,{runResidentServer:()=>$Y});import{randomUUID as Js}from"node:crypto";import{execFileSync as sP,spawn as AY}from"node:child_process";import{existsSync as CY}from"node:fs";import{mkdir as oP,rename as PY,rm as XC,writeFile as iP}from"node:fs/promises";import{createServer as IY}from"node:net";import{dirname as xy,join as $u}from"node:path";import{fileURLToPath as LY,pathToFileURL as GY}from"node:url";async function $Y(e){await oP(xy(e.socketPath),{recursive:!0});let t=KY();VY();let r=e.telemetryDrainTimeoutMs??aP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??n8(e.rootDir??process.cwd()),a=e.idleMs??Za,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=IY(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),t8(S,async(T,C)=>{g();let O=await r8(n,T,e.storeUri,e.residentVersion??"0.0.0-dev",i),G={id:T.id,ok:!0,value:O,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};C(G),T.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=JY(l),f.close();for(let S of d)S.destroy()}function g(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let y=["SIGINT","SIGTERM"].map(S=>{let T=()=>{Nu(),f.close();for(let C of d)C.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(S,T),{signal:S,handler:T}});await new Promise((S,T)=>{f.once("error",T),f.listen(e.socketPath,()=>{f.off("error",T),S()})}),(async()=>{let S=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let T=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(T)&&T>0&&await new Promise(q=>setTimeout(q,T));let C=await En.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new Ty(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Qa,byteBudget:e.telemetryByteBudget??e.byteBudget??Xa});if(o){await C.close();return}if(await Ry(G,r),o){await C.close();return}n={kind:"ready",store:C,telemetry:G,storeOpenCount:1,storeElapsedMs:O},s=setInterval(()=>{let q=n.kind==="ready"?n:void 0;q&&Ry(q.telemetry,r)},p),s.unref(),g()})().catch(S=>{n={kind:"failed",error:S instanceof Error?S:new Error(String(S))},g()}),e.pidPath&&await iP(e.pidPath,`${process.pid}
316
- `,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??$u(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ia(w,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:E})}catch{}await new Promise(S=>f.once("close",S)),c&&clearTimeout(c),s&&clearInterval(s),await XC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Ry(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:S,handler:T}of y)process.off(S,T);t?.kill("SIGTERM"),Nu(),e.pidPath&&await XC(e.pidPath,{force:!0}),await La(w)}async function jY(e,t,r=new Date){let n=await nl(e,1,r),s=r.toISOString().slice(0,10),o=n.savings.daily_tokens_saved.find(u=>u.date===s)?.tokens_saved??0,i=n.savings.tokens_saved>0?o/n.savings.tokens_saved*n.savings.dollars_saved_estimate_usd:0,a=$u(ce(t),MY),c=`${a}.${process.pid}.${Date.now()}.tmp`,l={version:1,tokens_saved_today:o,dollars_saved_today_usd:Math.round(i*1e6)/1e6,show_total_today:n.health.show_total,updated_at:r.toISOString()};n.health.show_total>0&&(l.show_hit_rate=n.health.show_hit_rate),n.decisions.seen>0&&(l.decisions={seen:n.decisions.seen,contributed:n.decisions.contributed}),await oP(xy(a),{recursive:!0}),await iP(c,`${ge(l)}
317
- `,{encoding:"utf8",mode:384}),await PY(c,a)}async function Ry(e,t=aP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await lP(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
318
- `)}}async function qY(e){let t=[];for(let r of BY){let n=await UY(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await HY(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${cP(r)}`))}return t}async function UY(e,t){try{return await e.kv(t).get("__rsp_telemetry_model_probe__"),{ok:!0}}catch(r){let n=r instanceof Error?r.message:String(r);if(/\bnot found\b/i.test(n))return{ok:!1,previousModel:null};let s=n.match(/model mismatch: expected kv, got ([A-Za-z_][A-Za-z0-9_]*)/i);if(s?.[1])return{ok:!1,previousModel:s[1].toLowerCase()};if(/does not allow 'kv' operations/i.test(n))return{ok:!1,previousModel:"collection"};let o=(await e.list()).find(i=>i.name===t);if(o&&o.model!=="kv")return{ok:!1,previousModel:o.model};throw r}}async function HY(e,t,r){let n=WY(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${cP(t)}`)}function WY(e){let t=e.toLowerCase();return t==="table"?"TABLE":t==="kv"?"KV":t==="graph"?"GRAPH":t==="queue"?"QUEUE":t==="document"||t==="documents"?"DOCUMENT":null}function cP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function JY(e){return e&&clearTimeout(e),setTimeout(()=>{Nu(),process.exit(0)},FY)}function VY(){ZC||(ZC=!0,process.on("exit",()=>Nu()))}function KY(){if(process.platform==="win32")return;let t=AY(process.execPath,["-e",`
312
+ `}function xC(e){return e.toString("utf8").replace(/�$/g,"")}function aY(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 cY(e){return ho(process.cwd(),e)}function OC(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 AC(e){process.stdout.write(`${JSON.stringify(e)}
313
+ `)}function CC(e){try{return JSON.parse(e)}catch{return null}}var LC=_(()=>{"use strict";Qt();Ue();we();Ui();nr()});var $C={};se($C,{renderShellInit:()=>lY});function lY(e,t=Yi){if(e==="fish")return uY(t);if(e==="bash"||e==="zsh")return dY(e,t);throw new Error(`unsupported shell: ${e}`)}function uY(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(Gu))].map(r=>` abbr --add --position command -- ${r} '${hY(`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 dY(e,t){let r=fY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Lu("git",r.get("git")??[]),...Lu("gh",r.get("gh")??[]),...Lu("vitest",r.get("vitest")??[]),...Lu("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 Lu(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Gu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Gu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>GC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of pY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${mY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${GC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function pY(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 fY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Gu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Gu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function GC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function mY(e){return e.replace(/'/g,"'\\''")}function hY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var NC=_(()=>{"use strict";Qi()});function ky(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&gY(t.chosenOption)&&yY(t.outcome)&&bY(t.cost)}function gY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function yY(e){return e==="success"||e==="failure"||e==="escalated"}function bY(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 DC=_(()=>{});import{createHash as wY}from"node:crypto";function zC(e,t){return new Ry(e,t)}function FC(e){let t=Number(e.red_entity_id??e.rid),r=vy(e.properties??e.PROPERTIES),n=YC(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 MC(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=QC(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:vy(e.properties??e.PROPERTIES)}}function kY(e){let t=Number(e.red_entity_id??e.rid),r=vy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!ky(r)?null:{rid:t,event:r}}function vy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):$u(e)?e:{}}function YC(e){let t=e==="contact"?"person":e;if(_Y.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function QC(e){if(EY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function SY(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function BC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return $u(e)?e:{}}function jC(e,t){return Nn(e)[t]}function qC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function UC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function HC(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 $u(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Sy(e){return e!=null}function RY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function vY(e){return wY("sha256").update(JSON.stringify(e)).digest("hex")}function TY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function WC(e){return`artifact-hash:${e}`}function JC(e,t,r){return`connection:${e}:${t}:${r}`}function VC(){return"model-tier-bandit:v1"}function xY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function KC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function XC(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+KC(r,a)*3+KC(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 OY(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({...XC(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 AY(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 CY(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 PY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,_Y,EY,Ry,eP=_(()=>{"use strict";DC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},_Y=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),EY=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(Nn(r));if(t==="getArtifact")return await this.getArtifact(jC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(qC(n,"query"),UC(n,"limit")??10,HC(n.options))}if(t==="think"){let n=Nn(r);return await this.think(qC(n,"query"),UC(n,"limit")??8,HC(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(jC(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:PY(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=YC(Ye(t.kind)||"note"),o=RY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=vY([s,r,n,o,Ye(t.sourcePath),Ye(t.sourceSession)]),c=await this.kv().get(WC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${TY(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:$u(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=FC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(WC(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(FC).filter(Sy)}async search(t,r,n={}){let s=xY(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=XC(l,s),d=ZC({...u,connections:OY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:AY(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 CY(t,s)}async link(t){let r=await this.getArtifact(BC(t.from)),n=await this.getArtifact(BC(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=QC(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:$u(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=MC(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 ${Wt.connections}`)).rows.map(MC).filter(Sy)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=SY(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(!ky(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(kY).filter(Sy).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(VC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(VC(),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(Wt.kv)}}});var fP={};se(fP,{runResidentServer:()=>FY});import{randomUUID as Js}from"node:crypto";import{execFileSync as aP,spawn as IY}from"node:child_process";import{existsSync as LY}from"node:fs";import{mkdir as cP,rename as GY,rm as tP,writeFile as lP}from"node:fs/promises";import{createServer as $Y}from"node:net";import{dirname as Ay,join as Nu}from"node:path";import{fileURLToPath as NY,pathToFileURL as DY}from"node:url";async function FY(e){await cP(Ay(e.socketPath),{recursive:!0});let t=QY();YY();let r=e.telemetryDrainTimeoutMs??uP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??i8(e.rootDir??process.cwd()),a=e.idleMs??ec,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=$Y(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),s8(S,async(T,C)=>{g();let O=await o8(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=zY(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=()=>{Du(),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 Oy(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Xa,byteBudget:e.telemetryByteBudget??e.byteBudget??Za});if(o){await C.close();return}if(await Ty(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&&Ty(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 lP(e.pidPath,`${process.pid}
316
+ `,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??Nu(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await La(w,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:E})}catch{}await new Promise(S=>f.once("close",S)),c&&clearTimeout(c),s&&clearInterval(s),await tP(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Ty(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"),Du(),e.pidPath&&await tP(e.pidPath,{force:!0}),await Ga(w)}async function HY(e,t,r=new Date){let n=await sl(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=Nu(ce(t),qY),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 cP(Ay(a),{recursive:!0}),await lP(c,`${ge(l)}
317
+ `,{encoding:"utf8",mode:384}),await GY(c,a)}async function Ty(e,t=uP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await pP(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 WY(e){let t=[];for(let r of UY){let n=await JY(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await VY(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${dP(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 VY(e,t,r){let n=KY(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${dP(t)}`)}function KY(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 dP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function zY(e){return e&&clearTimeout(e),setTimeout(()=>{Du(),process.exit(0)},jY)}function YY(){rP||(rP=!0,process.on("exit",()=>Du()))}function QY(){if(process.platform==="win32")return;let t=IY(process.execPath,["-e",`
319
319
  const { execFileSync } = require("node:child_process");
320
320
  const parentPid = Number(process.argv[1]);
321
321
  const known = new Set();
@@ -356,26 +356,26 @@ const timer = setInterval(() => {
356
356
  clearInterval(timer);
357
357
  process.exit(0);
358
358
  }, 500);
359
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Nu(){for(let e of zY())try{process.kill(e,"SIGTERM")}catch{}}function zY(){if(process.platform==="win32")return[];let e="";try{e=sP("ps",["-eo","pid=,ppid=,args="],{encoding:"utf8"})}catch{return[]}let t=[];for(let r of e.split(/\n/)){let n=/^\s*(\d+)\s+(\d+)\s+([\s\S]*)$/.exec(r);if(!n)continue;let s=Number(n[1]),o=Number(n[2]),i=n[3]??"";o===process.pid&&/(^|\s)\S*red(?:\.exe)?\s+rpc\s+--stdio(\s|$)/.test(i)&&t.push(s)}return t}async function YY(e){if(e.collection!==lt)return e;let t=await eP(e.raw_text,rP(e.raw_bytes)),r=await eP(e.emitted_text,rP(e.emitted_bytes)),{raw_text:n,emitted_text:s,...o}=e;return{...o,tokens_raw:t.tokens,tokens_emitted:r.tokens,estimated:t.estimated||r.estimated}}async function eP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=NY)try{return await lP((async()=>({tokens:(await QY())("cl100k_base").encode(e).length,estimated:!1}))(),DY,"telemetry tokenization timed out")}catch{return{tokens:Math.ceil(r/4),estimated:!0}}return{tokens:Math.ceil(r/4),estimated:!0}}return t!=null?{tokens:Math.ceil(t/4),estimated:!0}:{tokens:0,estimated:!1}}async function QY(){return tP??=import(GY(XY()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await tP}function XY(){let e=xy(LY(import.meta.url)),r=[$u(e,"..","node_modules","js-tiktoken","dist","index.js"),$u(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>CY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function rP(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ie(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function vy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function lP(e,t,r){let n;try{return await Promise.race([e,new Promise((s,o)=>{n=setTimeout(()=>o(new Error(r)),t),n.unref()})])}finally{n&&clearTimeout(n)}}function ZY(e){try{return JSON.parse(e)}catch{return e}}function e8(e){return nP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>nP(t)&&(t.collection===We||t.collection===Je||t.collection===lt||t.collection===Tt)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function nP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function t8(e,t){Jw(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Js(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function r8(e,t,r,n,s){if(t.op==="handover")return{handover:!0,version:n,clientVersion:t.clientVersion};if(e.kind==="opening")throw new Error("rsp resident store is not ready");if(e.kind==="failed")throw new Error(`rsp resident store failed to open: ${e.error.message}`);let o=e.store;if(t.op==="ping")return{pong:!0,version:n};if(t.op==="stats")return await o.stats();if(t.op==="recovery-handles")return await o.recoveryHandles(t.limit);if(t.op==="accounting-stats"){let i=o.redDb();if(!i)throw new Error("rsp accounting stats require the shared RedDB store");return await Im(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await nl(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await Lm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return o8(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await s8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function n8(e){let t;return{async read(r){if(!t){let n=String(sP("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=Rc({rootDir:e,token:n,balance:Sc(n)})}return await t.read(r)}}}async function s8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await JC(s,t).request(r,n)}function o8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var NY,DY,aP,FY,MY,BY,Ty,ZC,tP,dP=_(()=>{"use strict";Xe();Ga();xa();Qt();rl();QC();kf();Ft();Ue();NY=256*1024,DY=500,aP=2e3,FY=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),MY="rsp-status-summary.toon",BY=[We,Je,lt,Tt,jo],Ty=class{constructor(t,r){this.store=t;this.opts=r;this.pendingHeals=[...r.bootHeals??[]]}running;pending=!1;pendingHeals;async drainAndSweep(){if(this.running){this.pending=!0,await this.running;return}this.running=(async()=>{do this.pending=!1,await this.drainAndSweepOnce();while(this.pending)})().finally(()=>{this.running=void 0}),await this.running}async drainAndSweepOnce(){let t=this.store.redDb();if(!t)return;let r=await qY(t);r.unshift(...this.pendingHeals),this.pendingHeals=[];let n=await this.readIndex(t),s=n.records.length,o=[...n.records];for(let a of r)o.push(await this.writeDrainDegradation(t,{reason:"telemetry collection model mismatch",command:"rsp resident telemetry drain",source_collection:a.collection,error:`expected kv, got ${a.previousModel}`,bytes:0}));await Qf(this.opts.rootDir,async a=>{let c=ws(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ie(c.command)||"unknown",source_id:Ie(c.id),source_collection:Ie(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await jY(t,this.opts.rootDir)}async writeEvent(t,r){let n=new Date,s=typeof r.created_at=="string"?r.created_at:n.toISOString(),o=new Date(Date.parse(s)+this.opts.ttlDays*24*60*60*1e3).toISOString(),i=typeof r.id=="string"&&r.id.trim()!==""?r.id:Js(),a={...await YY(r),id:i,created_at:s,expires_at:o};return await t.kv(r.collection).put(i,a),{collection:r.collection,key:i,created_at:s,expires_at:o,bytes:r.collection===We?0:typeof r.bytes=="number"&&Number.isFinite(r.bytes)?Math.max(0,r.bytes):Buffer.byteLength(JSON.stringify(a),"utf8")}}async writeAccountingMirror(t,r){return r.collection===We||r.accounting_recorded===!0?null:r.collection===lt?await this.writeEvent(t,{collection:We,id:`mirror:${Ie(r.id)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:vy(Ie(r.command)||"unknown"),wrapper:r.wrapper,loss:r.loss,elided:r.elided,raw_bytes:r.raw_bytes,emitted_bytes:r.emitted_bytes,tokens_raw:r.tokens_raw,tokens_emitted:r.tokens_emitted,estimated:r.estimated,wrapper_ms:r.wrapper_ms,store_open_count:r.store_open_count,store_elapsed_ms:r.store_elapsed_ms}):r.collection===Tt?await this.writeEvent(t,{collection:We,id:`mirror:${Ie(r.id)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:vy(Ie(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ie(r.reason)||"unknown",wrapper_family:Ie(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ie(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Tt,id:Js(),created_at:new Date().toISOString(),reason:r.reason,command:r.command,bytes:r.bytes,source_id:r.source_id,source_collection:r.source_collection,error:r.error});return await this.writeEvent(t,{collection:We,id:`mirror:${Js()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:vy(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(jo).get("index:v1"),n=typeof r=="string"?ZY(r):r;return e8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(jo).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};ZC=!1});Wu();bt();var sw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},cL={json:{kind:"boolean"}},lL={help:{kind:"boolean",aliases:["h"]}},uL={commands:{dashboard:{},stats:{},gains:{},show:{},git:{},gh:{},vitest:{},cargo:{},cat:{},exec:{},proxy:{},wait:{},doctor:{},status:{},sweep:{},setup:{},mcp:{},"shell-init":{},server:{},"warm-resident":{},"gh-api-json":{},hook:{}},default:"dashboard",keepArgvOnDefault:!0,errorOnUnknownCommand:!0};function ow(e){let{command:t,args:r}=Hu(e,dL);return t==="--version"?{kind:"version",json:Qs(r,cL).values.json===!0}:pL(e)?{kind:"help"}:{kind:"command"}}var dL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function pL(e){return Qr(e,lL).values.help===!0}function iw(e){let{values:t,rest:r}=mL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw ga.unknownFlag(n);let s=Hu(r,uL).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":t.full===!0?"full":"lossless",positional:o}}var ga=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:fL})}},fL=Object.keys(sw).map(e=>`--${e}`);function mL(e){try{return Qr(e,sw)}catch(t){throw new ga(t instanceof Error?t.message:String(t))}}function aw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function cw(e){return e instanceof Ys}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var hL={socket:{kind:"value",coerce:e=>e},"pid-file":{kind:"value",coerce:e=>e},"wake-lock":{kind:"value",coerce:e=>e},registry:{kind:"value",coerce:e=>e},"resident-version":{kind:"value",coerce:e=>e},"ttl-days":{kind:"value",coerce:br},"ephemeral-ttl-hours":{kind:"value",coerce:br},"byte-budget":{kind:"value",coerce:br},"telemetry-ttl-days":{kind:"value",coerce:br},"telemetry-byte-budget":{kind:"value",coerce:br},"telemetry-drain-interval-ms":{kind:"value",coerce:br},"telemetry-drain-timeout-ms":{kind:"value",coerce:br},"idle-ms":{kind:"value",coerce:br}};function _d(e){return Qs(e,hL).values}var lw={since:{kind:"value",coerce:yL},full:{kind:"boolean"}};function ya(e,t){return Qs(e,lw).values.since??t}function uw(e){return Qs(e,lw).values.full===!0}var gL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function dw(e){let{values:t,rest:r}=Qr(e,gL),n=r[1];if(!n)return null;let s={};for(let o of t.field??[]){let i=o.indexOf("=");i<=0||(s[o.slice(0,i)]=o.slice(i+1))}return{path:n,params:s}}function br(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function yL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}Ed();bt();import{existsSync as i8}from"node:fs";import{fileURLToPath as a8}from"node:url";Qt();io();we();wt();import{existsSync as gM}from"node:fs";import{fileURLToPath as yM}from"node:url";Qt();Zd();we();import{existsSync as VG}from"node:fs";import{fileURLToPath as KG}from"node:url";async function Qn(e,t){let r={stats:zG(e.telemetryByteBudget),telemetry:np(t)};if(!e.storeUri.startsWith("file://"))return r;let n=KG(e.storeUri);if(!VG(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Yn)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:np(t)}}catch{return r}finally{await o.close()}}function E_(e,t=np(30),r=!1,n=S_()){return`${ge(sp(e,t,r,n))}
360
- `}function k_(e,t){return`${ge({...e,overhead:R_(t)})}
361
- `}function S_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:Zt,breaching_families:[],disabled_families:[],families:[]}}function R_(e){return{schema_version:e.schema_version,verdict:e.verdict,summary:e.summary,ceiling:e.ceiling,breaching_families:e.breaching_families,disabled_families:e.disabled_families,families:e.families}}function sp(e,t,r,n=S_()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??$a(),a=t.health.recent_failures.slice(0,r?20:5),c=t.decisions.top_pass_reasons.slice(0,r?10:3);return{records:e.records,bytes:e.bytes,oldest:e.oldest,budget:e.budget,storage_classes:i,savings:{window_days:t.window_days,empty:t.empty,...t.savings,tokens_saved_display:YG(t.savings),dollars_saved_estimate_usd_display:QG(t.savings),daily_tokens_saved:o,daily_tokens_saved_elided:r?0:Math.max(0,t.savings.daily_tokens_saved.length-o.length),top_commands:s,top_commands_elided:r?0:Math.max(0,t.savings.top_commands.length-s.length)},overhead:R_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:rp(t.health.degradation_rate),show_hit_rate_display:rp(t.health.show_hit_rate),by_reason:t.health.by_reason,by_family:t.health.by_family,recent_failures:a,recent_failures_elided:r?0:Math.max(0,t.health.recent_failures.length-a.length),most_recent_degradation_at:t.health.most_recent?.timestamp??null,most_recent_degradation_reason:t.health.most_recent?.reason??null},decisions:{...t.decisions,contribution_rate_display:rp(t.decisions.contribution_rate),top_pass_reasons:c,top_pass_reasons_elided:r?0:Math.max(0,t.decisions.top_pass_reasons.length-c.length),by_command_family:r?t.decisions.by_command_family:t.decisions.by_command_family.slice(0,5),by_command_family_elided:r?0:Math.max(0,t.decisions.by_command_family.length-5)},latency:{...t.latency,wrapper_ms_p50_display:tp(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:tp(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:tp(t.latency.store_elapsed_ms_avg)}}}function v_(e){return`${ge(e)}
362
- `}function np(e){return{window_days:e,empty:!0,savings:{invocations:0,elided:0,raw_bytes:0,emitted_bytes:0,bytes_saved:0,tokens_saved:0,tokens_saved_estimated:!1,token_estimate_range_pct:null,tokens_saved_low:null,tokens_saved_high:null,dollars_saved_estimate_usd:0,dollars_saved_low_usd:null,dollars_saved_high_usd:null,pricing_model_family:"gpt-5",pricing_input_usd_per_million_tokens:1.25,pricing_note:"estimate derived from byte-based token estimate when token counts are estimated",daily_tokens_saved:[],top_commands:[]},health:{degradations:0,degradation_rate:0,show_total:0,show_hits:0,show_misses:0,show_hit_rate:0,by_reason:[],by_family:[],recent_failures:[],most_recent:null},latency:{wrapper_ms_p50:null,wrapper_ms_p95:null,store_open_count_sum:0,store_elapsed_ms_sum:0,store_elapsed_ms_avg:null},decisions:{seen:0,contributed:0,passed:0,failed_open:0,quota_free_saved_units:0,contribution_rate:0,top_pass_reasons:[],by_command_family:[]}}}function zG(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:$a()}}function $a(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function T_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
363
- `)}function YG(e){return e.tokens_saved_estimated?`${e.tokens_saved_low}-${e.tokens_saved_high} (estimate_midpoint: ${e.tokens_saved}, range_pct: ${e.token_estimate_range_pct})`:String(e.tokens_saved)}function QG(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?mo(e.dollars_saved_estimate_usd):`${mo(e.dollars_saved_low_usd)}-${mo(e.dollars_saved_high_usd)} (estimate_midpoint: ${mo(e.dollars_saved_estimate_usd)})`}function tp(e){return e==null?"none":String(e)}function rp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function sv(e){let{stats:t,telemetry:r}=await Qn(e,30),[n,s]=await Promise.all([bM(e),Promise.resolve().then(()=>(jf(),Bf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(st(process.cwd()).rootDir,e.overhead)}}function ov(e){let t=sp(e.stats,e.telemetry,!1,e.overhead),r=vd({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??$a()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},wM(e));return`${ge(r)}
364
- `}async function bM(e){if(!e.storeUri.startsWith("file://"))return[];let t=yM(e.storeUri);if(!gM(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(nr(),Yn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function wM(e){return[e.recoveryHandles.length>0?"rsp show <handle>":"rsp <wrapped-command> --terse",e.waits.length>0?"rsp wait ls":'rsp wait cmd -- "<command>"',"rsp stats --since <days>d"]}Qt();we();bt();import{existsSync as qV}from"node:fs";import{fileURLToPath as UV}from"node:url";Ft();import{spawn as pu}from"node:child_process";async function YO(e,t,r){let n=process.hrtime.bigint(),s=await QO(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return rV(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function QO(e){let t=e[0];if(!t)return{stdoutBytes:0,stderrBytes:0,status:2,signal:null};let r;if(t==="exec"||t==="proxy"){let o=t==="proxy"?await Promise.resolve().then(()=>(nu(),ru)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Ji(),Wi)).then(i=>i.parseExecCommandLine(e));r=pu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=pu(t,e.slice(1),{stdio:["inherit","pipe","pipe"]});let n=0,s=0;return r.stdout?.on("data",o=>{n+=o.length,process.stdout.write(o)}),r.stderr?.on("data",o=>{s+=o.length,process.stderr.write(o)}),await new Promise(o=>{r.on("error",i=>{let a=`${i instanceof Error?i.message:String(i)}
365
- `;s+=Buffer.byteLength(a),process.stderr.write(a),o({stdoutBytes:n,stderrBytes:s,status:127,signal:null})}),r.on("close",(i,a)=>o({stdoutBytes:n,stderrBytes:s,status:i,signal:a}))})}function XO(e){return e>0&&Math.random()<e}async function Ki(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
366
- `);let s=await rA(t);if(n){let o=nV(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),ci));mu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:fu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),mu(i(n,{collection:c,ts:new Date().toISOString(),command:fu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function ZO(e,t,r){let n=await QO(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),ci)),a={ts:new Date().toISOString(),command:fu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return mu(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),mu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function eA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${hu()}, passing through
367
- `),await rA(e)}function hu(){return"rsp is not enabled in this directory; run /red-setup"}function tA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return fu(e.positional)}function fu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Vi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function rV(e,t,r,n,s){let o=r.stdoutBytes+r.stderrBytes,i={event_type:"control_holdout",control_holdout:!0,holdout_share:s,ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};xr(e,{collection:"rsp_accounting_events_v1",...i}),xr(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function nV(e,t,r){let n=t[0]??"unknown",s=sV(r)||e;return{reason:zO(r)==="ENOENT"||zO(r)==="MODULE_NOT_FOUND"||/(?:command not found|cannot find package|cannot find module|module not found|not provisioned)/i.test(s)?"wrapper-unavailable":"wrapper-crash",family:n,exitCode:iV(r)??1,stderrHead:oV(s,240)}}function sV(e){return e instanceof Error?Vi(e.message):Vi(String(e??""))}function oV(e,t){let r=Vi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function zO(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function iV(e){if(typeof e!="object"||e===null)return null;for(let t of["status","exitCode","exit_code"]){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r}return null}function mu(e){e.catch(()=>{})}async function rA(e){if(e[0]==="exec"||e[0]==="proxy")return await aV(e);let t=e[0];if(!t)return 2;let r=pu(t,e.slice(1),{stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
368
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function aV(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(nu(),ru));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Ji(),Wi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
369
- `),2}let r=pu(t,{shell:!0,stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
370
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function wA(e,t,r){let n=[],s=!e.enabled;if(n.push(s?Se("config_gate_resolution","rsp disabled in this directory; run /red-setup to opt in"):Se("config_gate_resolution","rsp.enabled resolved true for this directory")),s)return n.push(Se("hook_wiring","skipped because rsp is disabled"),Se("proxy_mode","skipped because rsp is disabled"),Se("resident_liveness","skipped because rsp is disabled"),Se("store_provisioning","skipped because rsp is disabled"),Se("recent_degradation_rate","skipped because rsp is disabled"),Se("overhead_budget","skipped because rsp is disabled")),bA("disabled",n,r);n.push(await HV(e)),n.push(e.proxyEnabled?Se("proxy_mode","proxy routing enabled for pre-exec rewrites"):Pn("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(wt(),cn));if(n.push(WV(await o(t))),n.push(JV(e)),EA(e)){let{telemetry:i}=await Qn(e,r);n.push(VV(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(KV(wr(process.cwd(),e.overhead))),bA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function _A(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
371
- `}async function HV(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Yi(),ku)),r=t("git status");return r.kind==="rewrite"?Se("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):Pn("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return Pn("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Vi(t.message):"unknown error"}`,"rsp setup")}}function WV(e){return e.state==="registered-alive-socket-healthy"?Se("resident_liveness","resident registry points at a healthy socket"):Pn("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function JV(e){return e.storeUri.startsWith("file://")?EA(e)?Se("store_provisioning","rsp store exists for this directory"):Pn("store_provisioning","rsp store is not provisioned","rsp setup"):Se("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function VV(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Se("recent_degradation_rate",`0 degradations in the recent ${t}d window`);let n=e.health.degradations,s=r?.reason??e.health.most_recent?.reason??"unknown",o=r?.count??n;return Pn("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,zV(s,t))}function KV(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function zV(e,t){return/unavailable|not provisioned|missing/i.test(e)?"rsp setup":/resident|socket|registry/i.test(e)?"rsp warm-resident":`rsp stats --since ${t}d --full`}function EA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return qV(UV(e.storeUri))}catch{return!1}}function Se(e,t){return{name:e,pass:!0,finding:t}}function Pn(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:wd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function bA(e,t,r){return{schema_version:"red.rsp.doctor.v1",status:e,exitCode:e==="fail"?1:0,window_days:r,probes:t,errors:t.map(n=>n.error).filter(n=>!!n)}}Fg();function vA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${XV(t).join(`
359
+ `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Du(){for(let e of XY())try{process.kill(e,"SIGTERM")}catch{}}function XY(){if(process.platform==="win32")return[];let e="";try{e=aP("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 ZY(e){if(e.collection!==lt)return e;let t=await nP(e.raw_text,oP(e.raw_bytes)),r=await nP(e.emitted_text,oP(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 nP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=MY)try{return await pP((async()=>({tokens:(await e8())("cl100k_base").encode(e).length,estimated:!1}))(),BY,"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 e8(){return sP??=import(DY(t8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await sP}function t8(){let e=Ay(NY(import.meta.url)),r=[Nu(e,"..","node_modules","js-tiktoken","dist","index.js"),Nu(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>LY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function oP(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 xy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function pP(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 r8(e){try{return JSON.parse(e)}catch{return e}}function n8(e){return iP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>iP(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 iP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function s8(e,t){Kw(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 o8(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 Gm(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await sl(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await $m(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return c8(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 a8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function i8(e){let t;return{async read(r){if(!t){let n=String(aP("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=vc({rootDir:e,token:n,balance:Rc(n)})}return await t.read(r)}}}async function a8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await zC(s,t).request(r,n)}function c8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var MY,BY,uP,jY,qY,UY,Oy,rP,sP,mP=_(()=>{"use strict";Xe();$a();Oa();Qt();nl();eP();Sf();Ft();Ue();MY=256*1024,BY=500,uP=2e3,jY=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),qY="rsp-status-summary.toon",UY=[We,Je,lt,Tt,qo],Oy=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 WY(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 Zf(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 HY(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 ZY(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:xy(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:xy(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:xy(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(qo).get("index:v1"),n=typeof r=="string"?r8(r):r;return n8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(qo).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})}};rP=!1});Ju();bt();var iw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},dL={json:{kind:"boolean"}},pL={help:{kind:"boolean",aliases:["h"]}},fL={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 aw(e){let{command:t,args:r}=Wu(e,mL);return t==="--version"?{kind:"version",json:Qs(r,dL).values.json===!0}:hL(e)?{kind:"help"}:{kind:"command"}}var mL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function hL(e){return Qr(e,pL).values.help===!0}function cw(e){let{values:t,rest:r}=yL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw ya.unknownFlag(n);let s=Wu(r,fL).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 ya=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:gL})}},gL=Object.keys(iw).map(e=>`--${e}`);function yL(e){try{return Qr(e,iw)}catch(t){throw new ya(t instanceof Error?t.message:String(t))}}function lw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function uw(e){return e instanceof Ys}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var bL={socket:{kind:"value",coerce:e=>e},"pid-file":{kind:"value",coerce:e=>e},"wake-lock":{kind:"value",coerce:e=>e},registry:{kind:"value",coerce:e=>e},"resident-version":{kind:"value",coerce:e=>e},"ttl-days":{kind:"value",coerce:br},"ephemeral-ttl-hours":{kind:"value",coerce:br},"byte-budget":{kind:"value",coerce:br},"telemetry-ttl-days":{kind:"value",coerce:br},"telemetry-byte-budget":{kind:"value",coerce:br},"telemetry-drain-interval-ms":{kind:"value",coerce:br},"telemetry-drain-timeout-ms":{kind:"value",coerce:br},"idle-ms":{kind:"value",coerce:br}};function Ed(e){return Qs(e,bL).values}var dw={since:{kind:"value",coerce:_L},full:{kind:"boolean"}};function ba(e,t){return Qs(e,dw).values.since??t}function pw(e){return Qs(e,dw).values.full===!0}var wL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function fw(e){let{values:t,rest:r}=Qr(e,wL),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 _L(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}kd();bt();import{existsSync as l8}from"node:fs";import{fileURLToPath as u8}from"node:url";Qt();io();we();wt();import{existsSync as wM}from"node:fs";import{fileURLToPath as _M}from"node:url";Qt();ep();we();import{existsSync as YG}from"node:fs";import{fileURLToPath as QG}from"node:url";async function Qn(e,t){let r={stats:XG(e.telemetryByteBudget),telemetry:sp(t)};if(!e.storeUri.startsWith("file://"))return r;let n=QG(e.storeUri);if(!YG(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:sp(t)}}catch{return r}finally{await o.close()}}function S_(e,t=sp(30),r=!1,n=v_()){return`${ge(op(e,t,r,n))}
360
+ `}function R_(e,t){return`${ge({...e,overhead:T_(t)})}
361
+ `}function v_(){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 T_(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 op(e,t,r,n=v_()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??Na(),a=t.health.recent_failures.slice(0,r?20:5),c=t.decisions.top_pass_reasons.slice(0,r?10:3);return{records:e.records,bytes:e.bytes,oldest:e.oldest,budget:e.budget,storage_classes:i,savings:{window_days:t.window_days,empty:t.empty,...t.savings,tokens_saved_display:ZG(t.savings),dollars_saved_estimate_usd_display:e$(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:T_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:np(t.health.degradation_rate),show_hit_rate_display:np(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:np(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:rp(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:rp(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:rp(t.latency.store_elapsed_ms_avg)}}}function x_(e){return`${ge(e)}
362
+ `}function sp(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 XG(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Na()}}function Na(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function O_(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 e$(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 rp(e){return e==null?"none":String(e)}function np(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function av(e){let{stats:t,telemetry:r}=await Qn(e,30),[n,s]=await Promise.all([EM(e),Promise.resolve().then(()=>(Uf(),qf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(st(process.cwd()).rootDir,e.overhead)}}function cv(e){let t=op(e.stats,e.telemetry,!1,e.overhead),r=Td({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??Na()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},kM(e));return`${ge(r)}
364
+ `}async function EM(e){if(!e.storeUri.startsWith("file://"))return[];let t=_M(e.storeUri);if(!wM(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 kM(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 WV}from"node:fs";import{fileURLToPath as JV}from"node:url";Ft();import{spawn as fu}from"node:child_process";async function ZO(e,t,r){let n=process.hrtime.bigint(),s=await eA(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return oV(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function eA(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(()=>(su(),nu)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Vi(),Ji)).then(i=>i.parseExecCommandLine(e));r=fu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=fu(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 tA(e){return e>0&&Math.random()<e}async function zi(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 oA(t);if(n){let o=iV(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),li));hu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:mu(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})),hu(i(n,{collection:c,ts:new Date().toISOString(),command:mu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function rA(e,t,r){let n=await eA(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),li)),a={ts:new Date().toISOString(),command:mu(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 hu(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})),hu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function nA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${gu()}, passing through
367
+ `),await oA(e)}function gu(){return"rsp is not enabled in this directory; run /red-setup"}function sA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return mu(e.positional)}function mu(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 Ki(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function oV(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 iV(e,t,r){let n=t[0]??"unknown",s=aV(r)||e;return{reason:XO(r)==="ENOENT"||XO(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:lV(r)??1,stderrHead:cV(s,240)}}function aV(e){return e instanceof Error?Ki(e.message):Ki(String(e??""))}function cV(e,t){let r=Ki(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function XO(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function lV(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 hu(e){e.catch(()=>{})}async function oA(e){if(e[0]==="exec"||e[0]==="proxy")return await uV(e);let t=e[0];if(!t)return 2;let r=fu(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 uV(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(su(),nu));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Vi(),Ji));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
369
+ `),2}let r=fu(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 kA(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")),EA("disabled",n,r);n.push(await VV(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(KV(await o(t))),n.push(zV(e)),RA(e)){let{telemetry:i}=await Qn(e,r);n.push(YV(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(QV(wr(process.cwd(),e.overhead))),EA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function SA(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
371
+ `}async function VV(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(()=>(Qi(),Su)),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?Ki(t.message):"unknown error"}`,"rsp setup")}}function KV(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 zV(e){return e.storeUri.startsWith("file://")?RA(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 YV(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})`,XV(s,t))}function QV(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function XV(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 RA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return WV(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:_d({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function EA(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)}}Bg();function OA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${tK(t).join(`
372
372
  `)}
373
- `}function XV(e){switch(e){case"stats":return ie("rsp stats [--since <days>d] [--full]",["Defaults: --since 30d, --full false","--since <days>d telemetry window, default 30d","--full include wider daily/top-command/failure lists, default false","--store-uri <uri> read a non-default store"],["rsp stats","rsp stats --since 7d --full"]);case"gains":return ie("rsp gains [--since <days>d]",["--since <days>d gains window, default 28d","--store-uri <uri> read a non-default shared RedDB store"],["rsp gains","rsp gains --since 14d"]);case"show":return ie("rsp show <handle>",["<handle> elision handle such as el:<id>","--store-uri <uri> read a non-default store"],["rsp show el:<id>","rsp show <handle>"]);case"git":return ie("rsp git <status|log|diff|show|blame|branch|commit|push> [options]",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail"],["rsp git status --brief","rsp git log --terse","rsp git diff --query <path>"]);case"gh":return ie("rsp gh <pr|issue|run> <list|view> [options] | api <REST-path> | <issues|prs|edit-labels|link-sub-issues> ...",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail","--json <fields> select fields for batched issues/prs","--repo <slug> owner/repo override for batched operations","api GET reads use the resident ETag/rate-aware client and emit canonical TOON"],["rsp gh issues 42 43 --json state,title,labels,body","rsp gh prs 12 13 --json state,mergeable,statusCheckRollup","rsp gh edit-labels --add ready-for-agent --remove blocked:crashed 42 43","rsp gh link-sub-issues 100 101 102","rsp gh api repos/owner/repo/actions/runs/123"]);case"vitest":return ie("rsp vitest [run] [vitest-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp vitest run","rsp vitest run --query <suite-or-test>"]);case"cargo":return ie("rsp cargo test [cargo-test-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp cargo test","rsp cargo test --query <test-name>"]);case"cat":return ie("rsp cat [--head <n>|--tail <n>|--full] <file>",["--head <n> show first n lines, default slice 10","--tail <n> show last n lines, default slice 10","--full emit full text even when it is large","--brief/--terse reduce large text context"],["rsp cat <file>","rsp cat --head 20 <file>","rsp cat --tail 20 <file>"]);case"exec":return ie('rsp exec -- "<command line>"',["--brief compact recognized stdout, default lossless","--terse summarize large stdout and mint recovery handles","--query <text> filter supported structured summaries"],['rsp exec -- "pnpm -C apps/rsp build"','rsp exec -- "git status --short"']);case"proxy":return ie("rsp proxy -- <command line>",["--brief compact recognized stdout, default lossless","--terse summarize recognized large stdout"],["rsp proxy -- git status","rsp proxy -- pnpm test"]);case"wait":return["usage: rsp wait <subcommand> [options]","","Flags and defaults:"," --timeout <duration> default 30m for cmd, 45m for pr/run/job, 2h for release"," --reason <text> default empty"," --signal-pid <pid> optional completion signal target"," --signal <signal> default USR1"," --notify-cmd <cmd> optional completion command","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate."];case"doctor":return ie("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return ie("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return ie("rsp sweep",["No flags. Removes stale resident registry entries, reclaims orphan state temps,","re-bounds the gh ETag cache, and prints TOON status."],["rsp sweep"]);case"setup":return ie("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return ie("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return ie("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return ie("rsp server [options]",["--socket <path> default resident socket","--pid-file <path> default resident pid file","--store-uri <uri> default repo store","--ttl-days <days> default from config","--ephemeral-ttl-hours <hours> default from config","--byte-budget <bytes> default from config","--idle-ms <ms> default from config"],["rsp server","rsp server --socket <path> --store-uri <uri>"]);case"warm-resident":return ie("rsp warm-resident [options]",["--socket <path> default resident socket","--wake-lock <path> default resident wake lock","--store-uri <uri> default repo store","--idle-ms <ms> default from config"],["rsp warm-resident","rsp warm-resident --store-uri <uri>"]);case"gh-api-json":return ie("rsp gh-api-json <path> [-f name=value ...]",["-f name=value string GitHub API field","-F name=value typed GitHub API field"],["rsp gh-api-json repos/{owner}/{repo}","rsp gh-api-json repos/{owner}/{repo}/pulls -f state=open"]);case"dashboard":return ie("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return ie("rsp hook <claude-pre-exec|codex-pre-exec|claude-post-exec|codex-post-exec>",["Reads hook payload from stdin. Defaults come from the calling host."],["rsp hook codex-pre-exec","rsp hook claude-pre-exec"]);case void 0:return["usage: rsp <subcommand> [options]","","Bare invocation:"," rsp"," renders a live TOON dashboard with recovery handles, active waits, savings, and health.","","Subcommands:"," dashboard, stats, gains, show, git, gh, vitest, cargo, cat, exec, proxy, wait"," doctor, status, sweep, setup, mcp, shell-init, server, warm-resident, gh-api-json, hook","","Global flags:"," --store-uri <uri> default repo store"," --brief compact summaries"," --terse aggressive summaries with recovery handles"," --full suppress automatic reduction"," --query <text> filter supported rendered output"," --help, -h scoped help"," --version, -v build version; add --json for structured build info","","Examples:"," rsp"," rsp stats --since 7d"," rsp git log --terse"," rsp --full -- <command> <args...>"," rsp show el:<id>"];default:return ie(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function ie(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}Xe();we();Ft();import{spawn as ZV}from"node:child_process";import{createHash as eK}from"node:crypto";import{existsSync as tK,readFileSync as rK,statSync as nK}from"node:fs";import{tmpdir as sK}from"node:os";import{dirname as oK,join as Ur}from"node:path";async function De(e,t,r,n,s=process.cwd(),o,i=o?.overhead??Zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&aK(s,o);let c=iK(e,t,a);return Cd(s,c,i),n?In(dK(s,e,t,c,i,n.lastResponseMetrics())):pK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function iK(e,t,r){let n=Ld(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function In(e){e.catch(()=>{})}async function vu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),ci));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function aK(e,t){try{let r=lr(e),n=nK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!uK(r,Date.now()-s))return;let o=cK(e),i=lK(o),a=Ur(i,"rsp.sock"),c=Ur(i,"rsp.pid"),l=Ur(ce(o),"rsp-resident.pid.toon"),u=Ur(o,".red","tmp","rsp","wake.lock");ZV(process.execPath,[...process.execArgv,process.argv[1]??"","warm-resident","--socket",a,"--pid-file",c,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays),"--telemetry-byte-budget",String(t.telemetryByteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs),"--idle-ms",String(t.idleMs),"--registry",l,"--wake-lock",u],{cwd:o,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref()}catch{}}function cK(e){let t=e;for(;;){if(tK(Ur(t,".git")))return t;let r=oK(t);if(r===t)return e;t=r}}function lK(e){let t=eK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Ur(r,"red-skills",t);if(Ur(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Ur(sK(),`red-skills-${n}`,t)}function uK(e,t){try{let r=rK(e,"utf8");co(Buffer.byteLength(r));for(let n of r.split(/\r?\n/))if(n.trim())try{let s=JSON.parse(n),o=typeof s.created_at=="string"?s.created_at:s.ts;if(typeof o=="string"){let i=Date.parse(o);if(Number.isFinite(i)&&i<=t)return!0}}catch{}}catch{}return!1}async function dK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ra(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),ci));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:jt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function pK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ra(n,s);xr(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),xr(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var Kr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},my=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function hC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new my,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Fg(),RA));if(i(e.positional))return await De(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Rg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await De(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(oy(),sy)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(ly(),cy)),a=await i(e.positional,{level:e.level,store:s});return await De(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(fy(),py)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ji(),Wi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await De(e,a,o,s)}}catch(i){return Jn(i)?(process.stdout.write(i.render()),2):await Ki("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Ki("wrapper failed",e.positional,n,r)}async function c8(e=process.argv.slice(2)){let t=ba("rsp"),r=ow(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
374
- `:`${pw(t)}
375
- `),0;if(r.kind==="help")return process.stdout.write(vA(e)),0;let n;try{n=iw(e)}catch(y){if(cw(y))return process.stdout.write(aw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Yi(),ku));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Yi(),ku));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(qi(),Og));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(qi(),Og));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(SC(),kC)),E=await y(process.cwd());return process.stdout.write(T_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(CC(),AC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(jf(),Bf));return await y(n.positional)}if(n.command==="shell-init"){let y=n.positional[1];if(y!=="fish"&&y!=="bash"&&y!=="zsh")return process.stdout.write(ee({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:E}=await Promise.resolve().then(()=>(LC(),IC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),kp)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),cn)),E=y(process.cwd()),w=await wA(o,E,ya(n.positional,1));return process.stdout.write(_A(w)),w.exitCode}let i=tA(n.command);if(!o.enabled)return i?await eA(n.positional):(process.stdout.write(`${hu()}
376
- `),0);if(n.command==="git"&&Su(n.positional)){let y=process.hrtime.bigint();return await De(n,await Ru(),y,void 0,await Dg(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(wt(),cn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:y}=await Promise.resolve().then(()=>(we(),Ta)),E=y(l.rootDir,n.command);if(E)return await ZO(n.positional,l.rootDir,E)}if(i&&XO(o.measurementHoldoutShare))return await YO(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(dP(),uP)),E=a(process.cwd()),w=_d(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:w.socket??E.socketPath,pidPath:w["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:w["ttl-days"]??k.ttlDays,ephemeralTtlHours:w["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:w["byte-budget"]??k.byteBudget,telemetryTtlDays:w["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:w["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:w["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:w["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:w["idle-ms"]??k.idleMs,residentVersion:w["resident-version"]??t.version,registryPath:w.registry??E.registryPath}),0):(process.stdout.write(`${hu()}
377
- `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=_d(n.positional),w=s(process.cwd(),process.env,n.storeUri);if(!w.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),cn));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:w.storeUri,ttlDays:E["ttl-days"]??w.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??w.ephemeralTtlHours,byteBudget:E["byte-budget"]??w.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??w.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??w.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??w.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??w.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??w.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(nu(),ru));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(wt(),cn)),w=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Ya(),lE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),Ta)),S=k(l.rootDir,o.overhead);return process.stdout.write(k_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(xo(),EE)),E=dw(n.positional);if(!E)return process.stdout.write(ee({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let w=await y({path:E.path,params:E.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(w.stdout),w.stderr&&process.stderr.write(`${w.stderr}
378
- `),w.status}if(n.command==="dashboard"){let y=await sv(o);return process.stdout.write(ov(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!i8(a8(o.storeUri)))return i?await hC(n,o,l.rootDir):(process.stdout.write(ee({command:jt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(nr(),Yn)),f=(y=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:y,paths:l})),m=()=>c(l,u(o,t.version)).catch(y=>void p(y)),g=()=>f(),b;try{if(n.command==="stats"){let{stats:y,telemetry:E}=await Qn(o,ya(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),Ta));return process.stdout.write(E_(y,E,uw(n.positional),w(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(ya(n.positional,28))}catch(w){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:w instanceof Error?w.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(v_(E)),0}if(n.command==="git"){if(In(m()),Su(n.positional)){let S=process.hrtime.bigint();return await De(n,await Ru(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Rg)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(oy(),sy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(ly(),cy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(fy(),py)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(Ji(),Wi)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let E=await y.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await vu(l.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(k),await vu(l.rootDir,n.handle,!1,k.length),1}let w=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(w),await vu(l.rootDir,n.handle,!1,w.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(y){if(Jn(y))return process.stdout.write(y.render()),2;if(i)return await Ki("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();hg();wg();function Tce(e){return Jn(e)?{output:e.render(),status:2}:{output:ee({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"}),status:1}}export{c8 as main,bg as renderAutomaticCommandOutput,Tce as renderCliFailure,mg as renderStructuredBoundary};
373
+ `}function tK(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 rK}from"node:child_process";import{createHash as nK}from"node:crypto";import{existsSync as sK,readFileSync as oK,statSync as iK}from"node:fs";import{tmpdir as aK}from"node:os";import{dirname as cK,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&&uK(s,o);let c=lK(e,t,a);return Pd(s,c,i),n?In(mK(s,e,t,c,i,n.lastResponseMetrics())):hK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function lK(e,t,r){let n=Gd(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function In(e){e.catch(()=>{})}async function Tu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),li));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 uK(e,t){try{let r=lr(e),n=iK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!fK(r,Date.now()-s))return;let o=dK(e),i=pK(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");rK(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 dK(e){let t=e;for(;;){if(sK(Ur(t,".git")))return t;let r=cK(t);if(r===t)return e;t=r}}function pK(e){let t=nK("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(aK(),`red-skills-${n}`,t)}function fK(e,t){try{let r=oK(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 mK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=va(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),li));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 hK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=va(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}},gy=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function bC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new gy,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Bg(),xA));if(i(e.positional))return await De(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Tg)),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(()=>(ay(),iy)),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(()=>(dy(),uy)),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(()=>(hy(),my)),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(()=>(Vi(),Ji)),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 zi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await zi("wrapper failed",e.positional,n,r)}async function d8(e=process.argv.slice(2)){let t=wa("rsp"),r=aw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
374
+ `:`${mw(t)}
375
+ `),0;if(r.kind==="help")return process.stdout.write(OA(e)),0;let n;try{n=cw(e)}catch(y){if(uw(y))return process.stdout.write(lw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Qi(),Su));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Qi(),Su));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(Ui(),Cg));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(Ui(),Cg));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(TC(),vC)),E=await y(process.cwd());return process.stdout.write(O_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(LC(),IC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(Uf(),qf));return await y(n.positional)}if(n.command==="shell-init"){let y=n.positional[1];if(y!=="fish"&&y!=="bash"&&y!=="zsh")return process.stdout.write(ee({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:E}=await Promise.resolve().then(()=>(NC(),$C));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),Sp)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),cn)),E=y(process.cwd()),w=await kA(o,E,ba(n.positional,1));return process.stdout.write(SA(w)),w.exitCode}let i=sA(n.command);if(!o.enabled)return i?await nA(n.positional):(process.stdout.write(`${gu()}
376
+ `),0);if(n.command==="git"&&Ru(n.positional)){let y=process.hrtime.bigint();return await De(n,await vu(),y,void 0,await Mg(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(),xa)),E=y(l.rootDir,n.command);if(E)return await rA(n.positional,l.rootDir,E)}if(i&&tA(o.measurementHoldoutShare))return await ZO(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(mP(),fP)),E=a(process.cwd()),w=Ed(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:w.socket??E.socketPath,pidPath:w["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:w["ttl-days"]??k.ttlDays,ephemeralTtlHours:w["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:w["byte-budget"]??k.byteBudget,telemetryTtlDays:w["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:w["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:w["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:w["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:w["idle-ms"]??k.idleMs,residentVersion:w["resident-version"]??t.version,registryPath:w.registry??E.registryPath}),0):(process.stdout.write(`${gu()}
377
+ `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=Ed(n.positional),w=s(process.cwd(),process.env,n.storeUri);if(!w.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),cn));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:w.storeUri,ttlDays:E["ttl-days"]??w.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??w.ephemeralTtlHours,byteBudget:E["byte-budget"]??w.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??w.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??w.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??w.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??w.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??w.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(su(),nu));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(wt(),cn)),w=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Qa(),dE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),xa)),S=k(l.rootDir,o.overhead);return process.stdout.write(R_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(xo(),SE)),E=fw(n.positional);if(!E)return process.stdout.write(ee({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let w=await y({path:E.path,params:E.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(w.stdout),w.stderr&&process.stderr.write(`${w.stderr}
378
+ `),w.status}if(n.command==="dashboard"){let y=await av(o);return process.stdout.write(cv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!l8(u8(o.storeUri)))return i?await bC(n,o,l.rootDir):(process.stdout.write(ee({command:jt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(nr(),Yn)),f=(y=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:y,paths:l})),m=()=>c(l,u(o,t.version)).catch(y=>void p(y)),g=()=>f(),b;try{if(n.command==="stats"){let{stats:y,telemetry:E}=await Qn(o,ba(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),xa));return process.stdout.write(S_(y,E,pw(n.positional),w(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(ba(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(x_(E)),0}if(n.command==="git"){if(In(m()),Ru(n.positional)){let S=process.hrtime.bigint();return await De(n,await vu(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Tg)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(ay(),iy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(dy(),uy)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(hy(),my)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(Vi(),Ji)),E=new Kr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await De(n,k,w,E,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let E=await y.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await Tu(l.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(k),await Tu(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 Tu(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 zi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();yg();Eg();function Nce(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{d8 as main,_g as renderAutomaticCommandOutput,Nce as renderCliFailure,gg as renderStructuredBoundary};
379
379
  /*! Bundled license information:
380
380
 
381
381
  content-type/dist/index.js: