@reddb-io/red-skills 4.2.9 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,67 +1,68 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var GP=Object.create;var Vu=Object.defineProperty;var DP=Object.getOwnPropertyDescriptor;var NP=Object.getOwnPropertyNames;var $P=Object.getPrototypeOf,FP=Object.prototype.hasOwnProperty;var sa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var w=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t)=>{for(var r in t)Vu(e,r,{get:t[r],enumerable:!0})},MP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of NP(t))!FP.call(e,s)&&s!==r&&Vu(e,s,{get:()=>t[s],enumerable:!(n=DP(t,s))||n.enumerable});return e};var oa=(e,t,r)=>(r=e!=null?GP($P(e)):{},MP(t||!e||!e.__esModule?Vu(r,"default",{value:e,enumerable:!0}):r,e));function jP(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 qP(e=zy){return Object.entries(e).map(([t,r])=>jP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function UP(e){return/^-\d+(\.\d+)?$/.test(e)}function Mn(e){return!(!e||e.startsWith("-")&&!UP(e))}function ia(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function Yy(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=>Yy(r.trim())):e}function Xr(e,t){switch(t){case"boolean":return HP(e);case"number":return WP(e);case"array":return e.split(",").map(r=>ia(r.trim()));case"string":default:return e}}function HP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function WP(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 VP(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 JP(e){let t=[],r=zP(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
2
+ var NP=Object.create;var Ju=Object.defineProperty;var $P=Object.getOwnPropertyDescriptor;var FP=Object.getOwnPropertyNames;var MP=Object.getPrototypeOf,BP=Object.prototype.hasOwnProperty;var sa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var w=(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})},jP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of FP(t))!BP.call(e,s)&&s!==r&&Ju(e,s,{get:()=>t[s],enumerable:!(n=$P(t,s))||n.enumerable});return e};var oa=(e,t,r)=>(r=e!=null?NP(MP(e)):{},jP(t||!e||!e.__esModule?Ju(r,"default",{value:e,enumerable:!0}):r,e));function UP(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 HP(e=Qy){return Object.entries(e).map(([t,r])=>UP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function WP(e){return/^-\d+(\.\d+)?$/.test(e)}function Mn(e){return!(!e||e.startsWith("-")&&!WP(e))}function ia(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function Xy(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=>Xy(r.trim())):e}function Xr(e,t){switch(t){case"boolean":return VP(e);case"number":return JP(e);case"array":return e.split(",").map(r=>ia(r.trim()));case"string":default:return e}}function VP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function JP(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 KP(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 zP(e){let t=[],r=QP(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=YP(e.options);t.push(...n)}return t}function KP(e,t){let r=JP(e);return VP(r,t)}function zP(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 YP(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=nI(e.options??{},e.autoShort??!1),r=qP(e.separators??zy);return{schema:e,parse(n){return QP(n,e,t,r)},help(){return KP(e,e.formatter)}}}function QP(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?Xr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Xr(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=tI(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!cI(u)){c=rI(u,c,e,s,r,t);continue}let d=XP(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?Yy(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?Xr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Xr(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 oI(s,t,r),iI(s,t,a),aI(s,t,r),s}function XP(e,t){if(BP.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(ZP(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(eI(s,o,r))return{key:s,value:o,config:r}}}return null}function ZP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function eI(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 tI(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return aa(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Mn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function rI(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=Ju(c,s);return u?aa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ia(hr(l))),t+1)}if(i.length===1){let a=Ju(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Mn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Mn(c))return n.options[i]=ia(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Ju(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function aa(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Xr(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?Xr(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]=ia(hr(t)));return r}function nI(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=sI(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 sI(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function Ju(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function oI(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?Xr(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 iI(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 aI(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 cI(e){return/^-\d+(\.\d+)?$/.test(e)}var zy,BP,Xy=w(()=>{zy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},BP=/^[a-z][a-z0-9+.-]*:\/\//i});function lI(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 uI(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&&Mn(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 Zs(e,t,r={}){let s=Qy({options:lI(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=uI(e,t),a=s.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(s.errors.length>0)throw new Error(s.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(s.options))if(!c.has(l))throw new Ku(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=s.options[c];u!==void 0&&(l.kind==="boolean"?o[c]=u:l.type==="array"?o[c]=(i.get(c)??[]).map(d=>l.coerce(d)):o[c]=l.coerce(String(u)))}return{values:o,positionals:s.rest}}function fI(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 Zr(e,t,r={}){let n=fI(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=dI.exec(c)??pI.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&&Mn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function zu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Xs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Ku,dI,pI,Xs,Yu=w(()=>{Xy();Ku=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};dI=/^--([^=]+)(?:=([\s\S]*))?$/,pI=/^-([^-=])(?:=([\s\S]*))?$/;Xs=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 eb(e){return mI.test(e)}var mI,Zy,tb=w(()=>{mI=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,Zy="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new gr(e,t,r)}function Y(e,t){return new en(e,t)}function jn(e){return e instanceof en?e:e instanceof gr?new en(e.line,e.reason):new en(0,String(e&&e.message?e.message:e))}var Bn,gr,en,zt=w(()=>{Bn=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}},en=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 tn(e){return e instanceof Qu}var hI,Qu,eo=w(()=>{hI=/(?:^\uFEFF?|\n) *#/,Qu=class{value;constructor(t){if(hI.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function sb(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 je(e,t){if(e==="")return"";if(e.startsWith('"'))return ob(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(gI(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[ob(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function ob(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){rb.lastIndex=n;let s=rb.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 ib(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 rn(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=ib(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=ib(e,s+1,r)}return-1}function gI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function yI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function bI(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 to(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(tn(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return bI(e);if(typeof e=="string")return _I(e,t);throw F(0,"not a primitive")}function wI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return wI(e)?e:ca(e)}function _I(e,t){return Xu(e,t)?ca(e):e}function Xu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||yI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ca(e){return`"${ab(e)}"`}function ab(e){let t="",r=0;nb.lastIndex=0;let n;for(;(n=nb.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 nn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var Yt,rb,nb,sn=w(()=>{zt();eo();Yt=",";rb=/["\\\u0000-\u0008\u000a-\u001f]/g;nb=/["\\\u0000-\u001f]/g});var cb,EI,ro,lb,on,ub,no=w(()=>{cb={comma:",",tab:" ",pipe:"|"},EI=cb.comma,ro=1e3,lb=["type","kind","event"],on="|",ub=new Set(["order","discriminator","rows","common"])});function*pb(e,t,r,n,s,o,i){yield*fb(r,e,n,t,{index:0},s,i,!0,o)}function*fb(e,t,r,n,s,o,i,a,c){let l=gb(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!la(p.content,r,p.number))break;let f=rn(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ua(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*hb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*mb(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 vI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&la(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*mb(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*kI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*kI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*hb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=db(r,o,n.number),d=rn(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:je(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=ua(e.children),d=r[o.cellIndex],p=bb(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+RI(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*fb(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*mb(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=db(r,o,n.number);yield{type:"primitive",value:je(l,n.number),line:n.number}}function*hb(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:je(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function db(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function gb(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=yb(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 yb(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!la(p.content,n,p.number))return;let f=SI(t,r,rn(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&la(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function SI(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=bb(r[c]);if(p===void 0)return;c++;let f=gb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=yb(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=ua(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function bb(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function ua(e){return e.reduce((t,r)=>t+wb(r),0)}function wb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ua(e.children):1}function RI(e){return e.reduce((t,r)=>t+(r.children===void 0?wb(r):1),0)}function la(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s!==-1&&s<n}function vI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var _b=w(()=>{zt();sn()});function TI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*xI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*OI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function nd(e,t){let r=gt(e,"[",t);if(r===-1)return null;let n=gt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let g=i.slice(l+1);if(i=i.slice(0,l),a=!0,g===" "||g==="|")c=g;else if(g!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!AI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=kb(d,t);p=CI(d.slice(1,g),c,t),d=d.slice(g+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Dt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:yr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function kb(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 CI(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return da(e,",",t,r);try{return da(e,t,t,r)}catch(n){if(t===",")throw n;return da(e,",",t,r)}}function da(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(PI(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 PI(e,t,r,n){let s=Dt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?II(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=kb(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=da(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function II(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function sd(e){let t=0;for(let r of e)t+=r.children===void 0?1:sd(r.children);return t}function od(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&od(s.children,t,r)}}function Dt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function id(e,t,r){if(Dt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Dt(e.slice(s,i))),s=i+1)}return n.push(Dt(e.slice(s))),n}function Sb(e,t){return gt(e,":",t)!==-1}function Rb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function vb(e){let t=e?.maxDepth??ro;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*Tb(e){let t=new ed,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Zu(t,e);return}let n=null,s=!1;try{n=nd(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&fa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Cb(t,r,n,e):yield*cd(t,r,n,e),yield*Zu(t,e);return}if((n===null||s)&&!Sb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:je(Dt(r.content),r.number),line:r.number};return}yield*xb(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*xb(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*td(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*td(e,t,r,n,s,o){let i=null;try{i=nd(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(fa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{rd(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Cb(e,{...t,depth:n},i,s):yield*cd(e,{...t,depth:n},i,s);return}let a=gt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=Rb(Dt(r.slice(0,a)),t.number),l=Dt(r.slice(a+1));if(rd(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*xb(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:je(l,t.number),line:t.number}}function rd(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*cd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(od(r.fields,t.number,n),Ob(r.fields,n)){if(!n.objectArrayColumns&&Ab(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*pb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*GI(e,t,r,n);return}if(r.inline!==void 0){let i=id(r.inline,r.delimiter,t.number);ud(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:je(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*LI(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 Ob(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Ob(r.children,t))}function Ab(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Ab(t.children))}function*LI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Dt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=nd(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(fa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:je(n,t.number),line:t.number};return}yield*cd(e,t,s,r);return}if(s!=null&&s.key!==void 0||Sb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*td(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*td(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:je(n,t.number),line:t.number}}function*GI(e,t,r,n){let s=r.fields,o=sd(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!DI(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=id(l.content,r.delimiter,l.number);ud(u.length,o,l.number,"row cells",n),yield*ld(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function DI(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*ld(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:je(o,n),line:n}}else yield*ld(s.children,t,r,n);yield{type:"endObject",line:n}}function*Cb(e,t,r,n){let s=r.fields;od(s,t.number,n);let o=sd(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=gt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=Rb(Dt(u.content.slice(0,d)),u.number);rd(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=id(u.content.slice(d+1),r.delimiter,u.number);ud(f.length,o,u.number,"entry row cells",n),yield*ld(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function ud(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function Pb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function fa(e,t,r,n=1){if(e!==void 0){Pb(n,t,r);for(let s of e)s.children!==void 0&&fa(s.children,t,r,n+1)}}function*Ib(e,t){let r=vb(t),n=new pa(r),s=xI(e,n),o=Tb(r),i=o.next();try{for(;!i.done;)if(i.value===ad){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Gb(a,n)}finally{o.return(),s.return(void 0)}}async function*Lb(e,t){let r=vb(t),n=new pa(r),s=OI(e,n),o=Tb(r),i=o.next();try{for(;!i.done;)if(i.value===ad){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Gb(a,n)}finally{o.return(),await s.return(void 0)}}function Gb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Bn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function dd(e,t){return Symbol.asyncIterator in e?Lb(e,t):Ib(e,t)}var pa,AI,ad,Eb,ed,ma=w(()=>{zt();sn();no();_b();pa=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(TI(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,Pb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};AI=/^(0|[1-9]\d*)$/;ad=Symbol("need line"),Eb=2,ed=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=Eb)throw new Error(`decoder lookahead exceeds ${Eb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield ad;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Ze(e){if(e===null)return null;if(tn(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ze(t)}if(typeof e=="string")return Db(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(Ze);if(e instanceof Set)return Array.from(e,Ze);if(e instanceof Map){let t={};for(let[r,n]of e)qn(t,String(r),Ze(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Db(r,"object key"),qn(t,r,Ze(e[r]));return t}return null}function Db(e,t){if(NI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function nt(e){return e===null||tn(e)||["string","number","boolean"].includes(typeof e)}function qn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var NI,Un=w(()=>{eo();NI=/[\uD800-\uDFFF]/});function Fb(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;nn(t,r,s)}return t}function $I(e,t){if(!ne(e)||!FI(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=MI(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 Mb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!ub.has(d)){if(!Array.isArray(p)||!p.every(ne))throw xe(t);c.set(d,p)}if(c.size===0)throw xe(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw pd(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw pd(t);return l.set(d,m+1),BI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw pd(t);return u}function FI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function MI(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=>HI(u,r));if(a.some(u=>u===""))throw xe(r);let c=UI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Mb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function BI(e,t,r,n,s){let o={};nn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);nn(o,i,a)}for(let[i,a]of Object.entries(jI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);nn(o,i,a)}return o}function jI(e,t){let r={};for(let[n,s]of Object.entries(e))qI(r,n.split("."),s,t);return ha(r,t)}function qI(e,t,r,n){if(t.some(o=>o===""))throw xe(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!ne(s))throw xe(n)}}function ha(e,t){return Array.isArray(e)?e.map(r=>ha(r,t)):ne(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return ha(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,ha(n,t)])):e}function UI(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 HI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Nb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Mb(e){return F(e,"cyclic array length mismatch")}function pd(e){return F(e,"cyclic array group length mismatch")}function Bb(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=WI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)zI(n,s,o);return n.join("")}function WI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=VI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=JI(r);if(n===void 0)return;let s=KI(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!fd(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=QI(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 VI(e){return lb.find(t=>e.every(r=>typeof r[t]=="string"))}function JI(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(Nb).join(","),o=`cycle(${r.map(Nb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function KI(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(!YI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>to(i[o])))break;r.push(o)}return r}function zI(e,t,r){e.push(Te(t),`:
9
+ `));let n=XP(e.options);t.push(...n)}return t}function YP(e,t){let r=zP(e);return KP(r,t)}function QP(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 XP(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 Zy(e){let t=oI(e.options??{},e.autoShort??!1),r=HP(e.separators??Qy);return{schema:e,parse(n){return ZP(n,e,t,r)},help(){return YP(e,e.formatter)}}}function ZP(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?Xr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Xr(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=nI(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!uI(u)){c=sI(u,c,e,s,r,t);continue}let d=eI(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?Xy(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?Xr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Xr(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 aI(s,t,r),cI(s,t,a),lI(s,t,r),s}function eI(e,t){if(qP.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(tI(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(rI(s,o,r))return{key:s,value:o,config:r}}}return null}function tI(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function rI(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 nI(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return aa(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Mn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function sI(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=Ku(c,s);return u?aa(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ia(hr(l))),t+1)}if(i.length===1){let a=Ku(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Mn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Mn(c))return n.options[i]=ia(hr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Ku(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function aa(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Xr(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?Xr(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]=ia(hr(t)));return r}function oI(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=iI(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 iI(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 Ku(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function aI(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?Xr(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 cI(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 lI(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 uI(e){return/^-\d+(\.\d+)?$/.test(e)}var Qy,qP,eb=w(()=>{Qy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},qP=/^[a-z][a-z0-9+.-]*:\/\//i});function dI(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 pI(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&&Mn(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 Zs(e,t,r={}){let s=Zy({options:dI(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=pI(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 zu(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 hI(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 Zr(e,t,r={}){let n=hI(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=fI.exec(c)??mI.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&&Mn(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 Yu(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 Xs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var zu,fI,mI,Xs,Qu=w(()=>{eb();zu=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}};fI=/^--([^=]+)(?:=([\s\S]*))?$/,mI=/^-([^-=])(?:=([\s\S]*))?$/;Xs=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 rb(e){return gI.test(e)}var gI,tb,nb=w(()=>{gI=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,tb="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 en(e,t)}function jn(e){return e instanceof en?e:e instanceof gr?new en(e.line,e.reason):new en(0,String(e&&e.message?e.message:e))}var Bn,gr,en,zt=w(()=>{Bn=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}},en=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 tn(e){return e instanceof Xu}var yI,Xu,eo=w(()=>{yI=/(?:^\uFEFF?|\n) *#/,Xu=class{value;constructor(t){if(yI.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function ib(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 je(e,t){if(e==="")return"";if(e.startsWith('"'))return ab(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(bI(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[ab(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function ab(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){sb.lastIndex=n;let s=sb.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 cb(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 rn(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=cb(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=cb(e,s+1,r)}return-1}function bI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function wI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function _I(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 to(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(tn(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return _I(e);if(typeof e=="string")return kI(e,t);throw F(0,"not a primitive")}function EI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return EI(e)?e:ca(e)}function kI(e,t){return Zu(e,t)?ca(e):e}function Zu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||wI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ca(e){return`"${lb(e)}"`}function lb(e){let t="",r=0;ob.lastIndex=0;let n;for(;(n=ob.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 nn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var Yt,sb,ob,sn=w(()=>{zt();eo();Yt=",";sb=/["\\\u0000-\u0008\u000a-\u001f]/g;ob=/["\\\u0000-\u001f]/g});var ub,SI,ro,db,on,pb,no=w(()=>{ub={comma:",",tab:" ",pipe:"|"},SI=ub.comma,ro=1e3,db=["type","kind","event"],on="|",pb=new Set(["order","discriminator","rows","common"])});function*mb(e,t,r,n,s,o,i){yield*hb(r,e,n,t,{index:0},s,i,!0,o)}function*hb(e,t,r,n,s,o,i,a,c){let l=bb(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!la(p.content,r,p.number))break;let f=rn(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ua(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*yb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*gb(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 xI(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&la(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*gb(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*RI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*RI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*yb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=fb(r,o,n.number),d=rn(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:je(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=ua(e.children),d=r[o.cellIndex],p=_b(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+TI(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*hb(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*gb(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=fb(r,o,n.number);yield{type:"primitive",value:je(l,n.number),line:n.number}}function*yb(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:je(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function fb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function bb(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=wb(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 wb(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!la(p.content,n,p.number))return;let f=vI(t,r,rn(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&la(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function vI(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=_b(r[c]);if(p===void 0)return;c++;let f=bb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=wb(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=ua(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function _b(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function ua(e){return e.reduce((t,r)=>t+Eb(r),0)}function Eb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ua(e.children):1}function TI(e){return e.reduce((t,r)=>t+(r.children===void 0?Eb(r):1),0)}function la(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s!==-1&&s<n}function xI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var kb=w(()=>{zt();sn()});function OI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*AI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*CI(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function sd(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=Rb(d,t);p=II(d.slice(1,g),c,t),d=d.slice(g+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Dt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:yr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function Rb(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 II(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return da(e,",",t,r);try{return da(e,t,t,r)}catch(n){if(t===",")throw n;return da(e,",",t,r)}}function da(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(LI(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 LI(e,t,r,n){let s=Dt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?GI(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=Rb(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=da(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function GI(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 od(e){let t=0;for(let r of e)t+=r.children===void 0?1:od(r.children);return t}function id(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&&id(s.children,t,r)}}function Dt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function ad(e,t,r){if(Dt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Dt(e.slice(s,i))),s=i+1)}return n.push(Dt(e.slice(s))),n}function vb(e,t){return gt(e,":",t)!==-1}function Tb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function xb(e){let t=e?.maxDepth??ro;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*Ob(e){let t=new td,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*ed(t,e);return}let n=null,s=!1;try{n=sd(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&fa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Ib(t,r,n,e):yield*ld(t,r,n,e),yield*ed(t,e);return}if((n===null||s)&&!vb(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:je(Dt(r.content),r.number),line:r.number};return}yield*Ab(t,0,r.number,e),yield*ed(t,e)}function*ed(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*Ab(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*rd(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*rd(e,t,r,n,s,o){let i=null;try{i=sd(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(fa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{nd(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Ib(e,{...t,depth:n},i,s):yield*ld(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=Tb(Dt(r.slice(0,a)),t.number),l=Dt(r.slice(a+1));if(nd(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*Ab(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:je(l,t.number),line:t.number}}function nd(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*ld(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(id(r.fields,t.number,n),Cb(r.fields,n)){if(!n.objectArrayColumns&&Pb(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*mb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*NI(e,t,r,n);return}if(r.inline!==void 0){let i=ad(r.inline,r.delimiter,t.number);dd(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:je(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*DI(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 Cb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Cb(r.children,t))}function Pb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Pb(t.children))}function*DI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Dt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=sd(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(fa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:je(n,t.number),line:t.number};return}yield*ld(e,t,s,r);return}if(s!=null&&s.key!==void 0||vb(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*rd(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*rd(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:je(n,t.number),line:t.number}}function*NI(e,t,r,n){let s=r.fields,o=od(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(!$I(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=ad(l.content,r.delimiter,l.number);dd(u.length,o,l.number,"row cells",n),yield*ud(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 $I(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*ud(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:je(o,n),line:n}}else yield*ud(s.children,t,r,n);yield{type:"endObject",line:n}}function*Ib(e,t,r,n){let s=r.fields;id(s,t.number,n);let o=od(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=Tb(Dt(u.content.slice(0,d)),u.number);nd(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=ad(u.content.slice(d+1),r.delimiter,u.number);dd(f.length,o,u.number,"entry row cells",n),yield*ud(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 dd(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function Lb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function fa(e,t,r,n=1){if(e!==void 0){Lb(n,t,r);for(let s of e)s.children!==void 0&&fa(s.children,t,r,n+1)}}function*Gb(e,t){let r=xb(t),n=new pa(r),s=AI(e,n),o=Ob(r),i=o.next();try{for(;!i.done;)if(i.value===cd){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Nb(a,n)}finally{o.return(),s.return(void 0)}}async function*Db(e,t){let r=xb(t),n=new pa(r),s=CI(e,n),o=Ob(r),i=o.next();try{for(;!i.done;)if(i.value===cd){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Nb(a,n)}finally{o.return(),await s.return(void 0)}}function Nb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Bn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function pd(e,t){return Symbol.asyncIterator in e?Db(e,t):Gb(e,t)}var pa,PI,cd,Sb,td,ma=w(()=>{zt();sn();no();kb();pa=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(OI(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,Lb(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*)$/;cd=Symbol("need line"),Sb=2,td=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=Sb)throw new Error(`decoder lookahead exceeds ${Sb} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield cd;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 Ze(e){if(e===null)return null;if(tn(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ze(t)}if(typeof e=="string")return $b(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(Ze);if(e instanceof Set)return Array.from(e,Ze);if(e instanceof Map){let t={};for(let[r,n]of e)qn(t,String(r),Ze(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))$b(r,"object key"),qn(t,r,Ze(e[r]));return t}return null}function $b(e,t){if(FI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function nt(e){return e===null||tn(e)||["string","number","boolean"].includes(typeof e)}function qn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var FI,Un=w(()=>{eo();FI=/[\uD800-\uDFFF]/});function Bb(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=MI(n,1);if(s===void 0)return e;nn(t,r,s)}return t}function MI(e,t){if(!ne(e)||!BI(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=jI(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 jb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!pb.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 fd(t);let m=l.get(d)??0,g=f[m];if(g===void 0)throw fd(t);return l.set(d,m+1),qI(n,d,a[p],g,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw fd(t);return u}function BI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function jI(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=>VI(u,r));if(a.some(u=>u===""))throw xe(r);let c=WI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw jb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function qI(e,t,r,n,s){let o={};nn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);nn(o,i,a)}for(let[i,a]of Object.entries(UI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);nn(o,i,a)}return o}function UI(e,t){let r={};for(let[n,s]of Object.entries(e))HI(r,n.split("."),s,t);return ha(r,t)}function HI(e,t,r,n){if(t.some(o=>o===""))throw xe(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!ne(s))throw xe(n)}}function ha(e,t){return Array.isArray(e)?e.map(r=>ha(r,t)):ne(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw xe(t);return ha(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,ha(n,t)])):e}function WI(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 VI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Fb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function jb(e){return F(e,"cyclic array length mismatch")}function fd(e){return F(e,"cyclic array group length mismatch")}function qb(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=JI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)QI(n,s,o);return n.join("")}function JI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=KI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=zI(r);if(n===void 0)return;let s=YI(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)&&!md(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=ZI(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 KI(e){return db.find(t=>e.every(r=>typeof r[t]=="string"))}function zI(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(Fb).join(","),o=`cycle(${r.map(Fb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function YI(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(!XI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>to(i[o])))break;r.push(o)}return r}function QI(e,t,r){e.push(Te(t),`:
13
13
  `),e.push(" order: ",ve(r.order.encoded,on),`
14
14
  `),e.push(" discriminator: ",ve(r.discriminator,on),`
15
15
  `),e.push(" rows: ",String(r.rows.length),`
16
- `),r.common.length>0&&$b(e,"common",r.common,r.commonRows);for(let n of r.groups)$b(e,n.label,n.fields,n.rows)}function $b(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),on,"]{",r.map(Te).join(on),`}:
16
+ `),r.common.length>0&&Mb(e,"common",r.common,r.commonRows);for(let n of r.groups)Mb(e,n.label,n.fields,n.rows)}function Mb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),on,"]{",r.map(Te).join(on),`}:
17
17
  `);for(let s of n)e.push(" ",r.map(o=>ve(s[o],on)).join(on),`
18
- `)}function YI(e){return e!==""&&md(e)}function fd(e,t,r,n=new Set){if(!md(t))return!1;if(to(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>fd(o,`${t}.${i}`,r,n));return n.delete(e),s}if(ne(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&fd(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function QI(e){let t=Object.keys(e[0]??{});if(e.every(r=>XI(Object.keys(r),t)))return t.every(md)?t:void 0}function XI(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function md(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var hd=w(()=>{no();Un();zt();sn()});function gd(e,t){let r=yd(e,t,[]),n=t("",r,[]);return n===void 0?r:Ze(n)}function yd(e,t,r){return Array.isArray(e)?eL(e,t,r):ne(e)?ZI(e,t,r):e}function ZI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,yd(o,t,i),i);a!==void 0&&qn(n,s,Ze(a))}return n}function eL(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),yd(e[s],t,o),o);i!==void 0&&n.push(Ze(i))}return n}var jb=w(()=>{Un()});function Ub(e){let t=[],r,n=qb,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===qb?{}:n}function Hb(e,t){let r=Ub(dd(e,t));return t?.reviver?gd(r,t.reviver):r}function bd(e,t){let{reviver:r,...n}=t??{},s=Hb(tL(e),n),o=t?.cyclicDiscriminatedArrays===!0?Fb(s):s;return r?gd(o,r):o}function*tL(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 qb,ga=w(()=>{ma();hd();jb();qb=Symbol("unset")});function Wb(e,t){let r=t("",e,[]);return r===void 0?wd(e,t,[]):_d(e,r,t,[])}function _d(e,t,r,n){return tn(t)&&(Array.isArray(e)||ne(e))?wd(e,r,n):wd(Ze(t),r,n)}function wd(e,t,r){return Array.isArray(e)?nL(e,t,r):ne(e)?rL(e,t,r):e}function rL(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&&qn(n,s,_d(o,a,t,i))}return n}function nL(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),e[s],o);i!==void 0&&n.push(_d(e[s],i,t,o))}return n}var Vb=w(()=>{Un();eo()});function Hn(e,t={}){if(t.objectArrayColumns===!0){let s=Jb(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!ne(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(nt)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(nt))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=Jb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Hn(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=Hn(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function ya(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>ne(n)&&Object.keys(n).length>0))return Hn(r,t)}function Jb(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(nt))?t:void 0}var Kb=w(()=>{Un()});function M(e,t={}){return Array.from(zb(e,t)).join(`
20
- `)}function zb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??ro,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ze(e),a=t.replacer?Wb(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=Bb(a);if(l!==void 0)return l.trimEnd().split(`
21
- `)}return sL(a,c)}function sL(e,t){if(nt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Qb(void 0,e,0,t);let r=ya(e,t);return r===void 0?ba(e,0,t):Yb(void 0,e,r,0,t)}function ba(e,t,r){return Vn(t,r),Object.entries(e).flatMap(([n,s])=>oL(n,s,t,r))}function oL(e,t,r,n){let s=he(r,n)+Te(e);if(nt(t))return[`${s}: ${ve(t,n.delimiter)}`];if(Array.isArray(t))return Qb(e,t,r,n);let o=ya(t,n);if(o!==void 0)return Yb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ba(t,r+1,n)),i}function Yb(e,t,r,n,s){Vn(n,s);let o=Object.entries(t);so(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=Wn(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){Vn(r,n);let s=he(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Te(e)}: []`];if(t.every(nt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];let o=Hn(t,n);if(o!==void 0)return iL(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...Ed(a,r+1,n));return i}function iL(e,t,r,n,s){so(r,n+1,s);let o=[he(n,s)+yt(e,t.length,r,s.delimiter)];for(let i of t){let a=Wn(i,r,n+2,s);o.push(he(n+1,s)+a.cells),o.push(...a.children)}return o}function Ed(e,t,r){Vn(t,r);let n=he(t,r)+"-";if(nt(e))return[`${n} ${ve(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${yt(void 0,0,void 0,r.delimiter)}`];if(e.every(nt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${kd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...Ed(o,t+1,r));return s}return aL(e,t,r)}function aL(e,t,r){Vn(t,r);let n=Object.entries(e);if(n.length===0)return[he(t,r)+"-"];let[[s,o],...i]=n,a=cL(s,o,t,r),c;if(a!==void 0)c=a;else if(nt(o))c=[he(t,r)+"- "+Te(s)+": "+ve(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[he(t,r)+"- "+Te(s)+": []"];else{c=[he(t,r)+"- "+yt(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...Ed(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ba(o,t+2,r));return i.length>0&&c.push(...ba(Object.fromEntries(i),t+1,r)),c}function cL(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(nt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Hn(t,n);if(s!==void 0){so(s,r+1,n);let o=[he(r,n)+"- "+yt(e,t.length,s,n.delimiter)];for(let i of t){let a=Wn(i,s,r+3,n);o.push(he(r+2,n)+a.cells),o.push(...a.children)}return o}}if(ne(t)){let s=ya(t,n);if(s!==void 0){so(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=Wn(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?"":`{${Xb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Xb(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?"":`{${Xb(r.children,t)}}`)}).join(t)}function Wn(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=Wn(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=>lL(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=Wn(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 lL(e,t,r){return typeof e!="string"?ve(e,t):Xu(e,t)||e.includes(r)?ca(e):e}function kd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Vn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function so(e,t,r){Vn(t,r);for(let n of e)n.children!==void 0&&so(n.children,t+1,r)}var oo=w(()=>{sn();zt();no();Un();Vb();Kb();hd()});var Zb=w(()=>{});var ew=w(()=>{zt();ma()});var tw=w(()=>{oo()});function dL(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 pw(e,t){if(!dw.test(e))throw Y(t,"invalid tag")}function pL(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!dw.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 fL(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(!lw.includes(i)&&i!=="")throw Y(t,"invalid header delimiter");let a=i===""?Yt: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),pw(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=rn(u,a,t).map(p=>yr(p,t)[0])}catch(p){throw jn(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 mL(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 rw(e,t,r,n){let s;try{s=rn(e,t,n)}catch(o){throw jn(o)}if(s.length!==r)throw Y(n,"row arity mismatch");for(let o of s)try{je(o,n)}catch(i){throw jn(i)}return s}function hL(e,t,r){let n={};return e.forEach((s,o)=>{try{nn(n,s,je(t[o],r))}catch(i){throw jn(i)}}),n}function gL(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=dL(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=fL(e,t);if(s!==null)return s.continuation?(mL(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=pL(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:rw(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:rw(e,r.delimiter,r.fields.length,t)}}function yL(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>=uw)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(sb(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=gL(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 yL(e).flatMap(t=>t.rows.map(r=>hL(t.fields,r,0)))}function bL(e){if(!lw.includes(e))throw Y(0,"invalid header delimiter")}function nw(e,t,r=!1){return`[${`${r?"~":""}${e===Yt?"":e}`}]{${t}}:
22
- `}function sw(e,t){return`[]<${e}>{${t}}:
23
- `}function Sd(e,t){return t.map(Te).join(e)}function wL(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 jn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function ow(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function iw(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function _L(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function aw(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=>!to(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function EL(e){return JSON.stringify([...e].sort())}function cw(e,t){let r=EL(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function qe({delimiter:e=Yt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){bL(e),iw(r),iw(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=()=>_L(p,c,l)?(c=0,l=0,nw(e,o,!0)):"",g=b=>{pw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=uw)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=cw(aw(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=Sd(e,s),a=0,c=0,l=0,E+=nw(e,o));let _=s.map(S=>ve(b[S],e));E+=m();let k=`${_.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=wL(y),_=Sd(Yt,E),k=g(b);return ow(k.fields,E)?"":(k.fields=E,sw(b,_))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),_=cw(aw(y),E.fieldsByShape),k=Sd(Yt,_),S=_.map(C=>ve(y[C],Yt)),T="";return ow(E.fields,_)||(E.fields=_,T+=sw(b,k)),`${T}${b}:${S.join(Yt)}
26
- `},end(){return d?"":(d=!0,f())}}}var lw,uw,dw,Y4,Q4,fw=w(()=>{zt();ga();oo();sn();lw=[Yt,"|"," "],uw=8,dw=/^[A-Za-z0-9_-]+$/,Y4=new TextEncoder,Q4=new TextDecoder});var z,J=w(()=>{ga();oo();Zb();zt();no();ew();oo();eo();sn();ma();ga();tw();fw();z=bd});function SL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(Rd(e))}
27
- `)}function Rd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??SL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=RL(e.diagnostics,3)),t}function Ue(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&eb(s)?{command:e,category:"transient",error:io(s)||"GitHub API rate limit exceeded",help:Zy,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:io(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:io(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:io(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:io(s)||"command failed",help:`${e} --help`,diagnostics:s}}function mw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function io(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function RL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
- `).trim()}var bt=w(()=>{"use strict";tb();J()});function Ea(e){let t={app:e,version:DL(Kn("__RED_BUILD_VERSION__",()=>"4.2.9")??"0.0.0-dev"),gitSha:Kn("__RED_BUILD_GIT_SHA__",()=>"3cf5e1d461407733c36724c72d97d71636505e1d")??"unknown",buildTime:Kn("__RED_BUILD_TIME__",()=>"2026-08-24T16:44:58-03:00")??"unknown",bundleAsset:Kn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Kn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Kn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function DL(e){return e.startsWith("v")?e.slice(1):e}function Sw(e){return`${e.app} ${e.version} ${e.gitSha}`}function Kn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var Td=w(()=>{});import{isAbsolute as NL,join as Qt,resolve as xd}from"node:path";function ML(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function vw(e){return Qt(ML(e),Rw)}function Tw(e){return Qt(vw(e),"state")}function xw(e){return Qt(vw(e),"tmp")}function ce(e){return Qt(Tw(e),"rsp")}function BL(e){return Qt(Tw(e),"red-skills.rdb")}function jL(e){return Qt(xw(e),"red-skills.rdb")}function Cw(e,t){let r=BL(e);if(t(r))return r;let n=jL(e);if(t(n))throw qL();return r}function qL(){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 Pw(e){return Qt(xw(e),"waits")}function Iw(e){let t=e.overrideEnvVars??Od;for(let n of t){let s=e.env[n];if(s)return NL(s)?s:xd(e.startDir,s)}let r=xd(e.startDir);for(;;){if(e.exists(Qt(r,Rw)))return r;let n=Qt(r,".."),s=xd(n);if(s===r)break;r=s}return e.startDir}var Rw,$L,FL,Od,Ow,Aw,et=w(()=>{Rw=".red",$L="MEMORY_ROOT",FL="RED_BRAIN_ROOT",Od=[$L,FL];Ow=".red/state/red-skills.rdb";Aw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var UL,HL,U3,Xt=w(()=>{J();et();UL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],HL=[{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"}],U3=[...UL,...HL]});function ao(e){let{values:t,rest:r}=Zr(e,{query:Lw.query},Gw);return{argv:r,query:t.query?.trim()||void 0}}function Dw(e){let{values:t,rest:r}=Zr(e,Lw,Gw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function WL(e,t){if(!t)return!0;let r=Ad(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>WL(r,t)):[...e]}function Zt(e,t){return Cd(e,t,{includeLegacyHelp:!0})}function Cd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Ad(e){return Array.isArray(e)?e.map(Ad).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Ad).join(" "):String(e??"")}var Lw,Gw,co=w(()=>{"use strict";Yu();Lw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Gw={stopAtSeparator:!1}});var Aa={};se(Aa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ka,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Sa,DEFAULT_RSP_OVERHEAD_CEILING:()=>er,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>va,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ta,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ra,RSP_OVERHEAD_FAMILIES:()=>XL,RSP_OVERHEAD_LEDGER_FILE:()=>Fw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Mw,classifyOverheadSample:()=>Ld,noteChildProcessMs:()=>jw,noteSelfStateBytesRead:()=>uo,overheadCounters:()=>Fd,overheadFamilyDisabled:()=>ZL,overheadHealth:()=>wr,overheadLedgerPath:()=>Gd,overheadMsOf:()=>Bw,overheadTelemetryFields:()=>xa,readOverheadLedger:()=>lo,readSelfStateFile:()=>Oa,readSelfStateFileSync:()=>rG,recordOverheadSample:()=>Dd,resetOverheadCounters:()=>tG,resetOverheadLedger:()=>eG,startChildProcessTimer:()=>tt});import{existsSync as VL,mkdirSync as JL,readFileSync as Nw,renameSync as KL,writeFileSync as zL}from"node:fs";import{readFile as YL}from"node:fs/promises";import{dirname as QL,join as $w}from"node:path";function Bw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Id(t)):0}function Ld(e,t=er){let r=Bw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function xa(e,t=er){let r=Ld(e,t);return{wrapper_ms:Id(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Id(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function Gd(e){return $w(ce(e),Fw)}function lo(e){try{let t=Nw(Gd(e),"utf8"),r=iG(t);if(aG(r))return r}catch{}return{version:1,families:{}}}function Dd(e,t,r=er,n=Date.now()){let s=lo(e),o=Ld(t,r),i=s.families[t.family]??oG(t.family,n),a=Md(i,n)?qw(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=nG(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,Uw(e,s),l}function ZL(e,t,r=Date.now()){let n=lo(e).families[t];return!n?.disabled||Md(n,r)?null:n}function eG(e,t){let r=lo(e);return t?delete r.families[t]:r.families={},Uw(e,r),r}function wr(e,t=er,r=Date.now()){let n=Object.values(lo(e).families).map(a=>Md(a,r)?qw(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:Mw,verdict:i,summary:sG(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function uo(e){Number.isFinite(e)&&e>0&&(Nd+=e)}function jw(e){Number.isFinite(e)&&e>0&&($d+=e)}function Fd(){return{selfStateBytesRead:Nd,childMs:$d}}function tG(){Nd=0,$d=0}function tt(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,jw(Number(process.hrtime.bigint()-e)/1e6))}}async function Oa(e){let t=await YL(e,"utf8");return uo(Buffer.byteLength(t)),t}function rG(e){let t=Nw(e,"utf8");return uo(Buffer.byteLength(t)),t}function nG(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 sG(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function Md(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function qw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function oG(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 Uw(e,t){try{let r=Gd(e);if(!VL($w(e,".red")))return;JL(QL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;zL(n,`${M(t)}
29
- `,{encoding:"utf8",mode:384}),KL(n,r)}catch{}}function iG(e){try{return JSON.parse(e)}catch{return z(e)}}function aG(e){return!Pd(e)||e.version!==1||!Pd(e.families)?!1:Object.values(e.families).every(cG)}function cG(e){return Pd(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Pd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Id(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Fw,Mw,ka,Sa,Ra,va,Ta,XL,er,Nd,$d,we=w(()=>{"use strict";et();J();Fw="overhead-budget.toon",Mw="red.rsp.overhead.v1",ka=250,Sa=1024*1024,Ra=64*1024,va=3,Ta=6*60*60*1e3,XL=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],er={maxOverheadMs:ka,maxSelfStateBytes:Sa,netLossFloorBytes:Ra,consecutiveBreaches:va,cooldownMs:Ta};Nd=0,$d=0});function Vw(e){return e.trimStart().startsWith("{")?"json":"toon"}function jd(e){let t=0;for(;e[t]===`
30
- `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Vw(r);if(n==="json"){let o=r.indexOf(`
18
+ `)}function XI(e){return e!==""&&hd(e)}function md(e,t,r,n=new Set){if(!hd(t))return!1;if(to(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)=>md(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(".")&&md(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function ZI(e){let t=Object.keys(e[0]??{});if(e.every(r=>eL(Object.keys(r),t)))return t.every(hd)?t:void 0}function eL(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function hd(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var gd=w(()=>{no();Un();zt();sn()});function yd(e,t){let r=bd(e,t,[]),n=t("",r,[]);return n===void 0?r:Ze(n)}function bd(e,t,r){return Array.isArray(e)?rL(e,t,r):ne(e)?tL(e,t,r):e}function tL(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,bd(o,t,i),i);a!==void 0&&qn(n,s,Ze(a))}return n}function rL(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),bd(e[s],t,o),o);i!==void 0&&n.push(Ze(i))}return n}var Ub=w(()=>{Un()});function Wb(e){let t=[],r,n=Hb,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===Hb?{}:n}function Vb(e,t){let r=Wb(pd(e,t));return t?.reviver?yd(r,t.reviver):r}function wd(e,t){let{reviver:r,...n}=t??{},s=Vb(nL(e),n),o=t?.cyclicDiscriminatedArrays===!0?Bb(s):s;return r?yd(o,r):o}function*nL(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 Hb,ga=w(()=>{ma();gd();Ub();Hb=Symbol("unset")});function Jb(e,t){let r=t("",e,[]);return r===void 0?_d(e,t,[]):Ed(e,r,t,[])}function Ed(e,t,r,n){return tn(t)&&(Array.isArray(e)||ne(e))?_d(e,r,n):_d(Ze(t),r,n)}function _d(e,t,r){return Array.isArray(e)?oL(e,t,r):ne(e)?sL(e,t,r):e}function sL(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&&qn(n,s,Ed(o,a,t,i))}return n}function oL(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(Ed(e[s],i,t,o))}return n}var Kb=w(()=>{Un();eo()});function Hn(e,t={}){if(t.objectArrayColumns===!0){let s=zb(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!ne(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(nt)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(nt))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=zb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Hn(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=Hn(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function ya(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>ne(n)&&Object.keys(n).length>0))return Hn(r,t)}function zb(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(nt))?t:void 0}var Yb=w(()=>{Un()});function M(e,t={}){return Array.from(Qb(e,t)).join(`
20
+ `)}function Qb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??ro,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ze(e),a=t.replacer?Jb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=qb(a);if(l!==void 0)return l.trimEnd().split(`
21
+ `)}return iL(a,c)}function iL(e,t){if(nt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Zb(void 0,e,0,t);let r=ya(e,t);return r===void 0?ba(e,0,t):Xb(void 0,e,r,0,t)}function ba(e,t,r){return Vn(t,r),Object.entries(e).flatMap(([n,s])=>aL(n,s,t,r))}function aL(e,t,r,n){let s=he(r,n)+Te(e);if(nt(t))return[`${s}: ${ve(t,n.delimiter)}`];if(Array.isArray(t))return Zb(e,t,r,n);let o=ya(t,n);if(o!==void 0)return Xb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ba(t,r+1,n)),i}function Xb(e,t,r,n,s){Vn(n,s);let o=Object.entries(t);so(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=Wn(c,r,n+2,s);i.push(he(n+1,s)+Te(a)+": "+l.cells),i.push(...l.children)}return i}function Zb(e,t,r,n){Vn(r,n);let s=he(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Te(e)}: []`];if(t.every(nt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+Sd(t,n.delimiter)];let o=Hn(t,n);if(o!==void 0)return cL(e,t,o,r,n);let i=[s+yt(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...kd(a,r+1,n));return i}function cL(e,t,r,n,s){so(r,n+1,s);let o=[he(n,s)+yt(e,t.length,r,s.delimiter)];for(let i of t){let a=Wn(i,r,n+2,s);o.push(he(n+1,s)+a.cells),o.push(...a.children)}return o}function kd(e,t,r){Vn(t,r);let n=he(t,r)+"-";if(nt(e))return[`${n} ${ve(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${yt(void 0,0,void 0,r.delimiter)}`];if(e.every(nt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${Sd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...kd(o,t+1,r));return s}return lL(e,t,r)}function lL(e,t,r){Vn(t,r);let n=Object.entries(e);if(n.length===0)return[he(t,r)+"-"];let[[s,o],...i]=n,a=uL(s,o,t,r),c;if(a!==void 0)c=a;else if(nt(o))c=[he(t,r)+"- "+Te(s)+": "+ve(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[he(t,r)+"- "+Te(s)+": []"];else{c=[he(t,r)+"- "+yt(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...kd(l,t+2,r))}else c=[he(t,r)+"- "+Te(s)+":"],Object.keys(o).length>0&&c.push(...ba(o,t+2,r));return i.length>0&&c.push(...ba(Object.fromEntries(i),t+1,r)),c}function uL(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(nt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+Sd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Hn(t,n);if(s!==void 0){so(s,r+1,n);let o=[he(r,n)+"- "+yt(e,t.length,s,n.delimiter)];for(let i of t){let a=Wn(i,s,r+3,n);o.push(he(r+2,n)+a.cells),o.push(...a.children)}return o}}if(ne(t)){let s=ya(t,n);if(s!==void 0){so(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=Wn(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?"":`{${ew(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function ew(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?"":`{${ew(r.children,t)}}`)}).join(t)}function Wn(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=Wn(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=>dL(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=Wn(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 dL(e,t,r){return typeof e!="string"?ve(e,t):Zu(e,t)||e.includes(r)?ca(e):e}function Sd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Vn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function so(e,t,r){Vn(t,r);for(let n of e)n.children!==void 0&&so(n.children,t+1,r)}var oo=w(()=>{sn();zt();no();Un();Kb();Yb();gd()});var tw=w(()=>{});var rw=w(()=>{zt();ma()});var nw=w(()=>{oo()});function fL(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 mw(e,t){if(!fw.test(e))throw Y(t,"invalid tag")}function mL(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!fw.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 hL(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(!dw.includes(i)&&i!=="")throw Y(t,"invalid header delimiter");let a=i===""?Yt: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),mw(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=rn(u,a,t).map(p=>yr(p,t)[0])}catch(p){throw jn(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 gL(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 sw(e,t,r,n){let s;try{s=rn(e,t,n)}catch(o){throw jn(o)}if(s.length!==r)throw Y(n,"row arity mismatch");for(let o of s)try{je(o,n)}catch(i){throw jn(i)}return s}function yL(e,t,r){let n={};return e.forEach((s,o)=>{try{nn(n,s,je(t[o],r))}catch(i){throw jn(i)}}),n}function bL(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=fL(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=hL(e,t);if(s!==null)return s.continuation?(gL(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=mL(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:sw(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:sw(e,r.delimiter,r.fields.length,t)}}function wL(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>=pw)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(ib(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=bL(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 wL(e).flatMap(t=>t.rows.map(r=>yL(t.fields,r,0)))}function _L(e){if(!dw.includes(e))throw Y(0,"invalid header delimiter")}function ow(e,t,r=!1){return`[${`${r?"~":""}${e===Yt?"":e}`}]{${t}}:
22
+ `}function iw(e,t){return`[]<${e}>{${t}}:
23
+ `}function Rd(e,t){return t.map(Te).join(e)}function EL(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 jn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function aw(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function cw(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function kL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function lw(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=>!to(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function SL(e){return JSON.stringify([...e].sort())}function uw(e,t){let r=SL(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function qe({delimiter:e=Yt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){_L(e),cw(r),cw(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=()=>kL(p,c,l)?(c=0,l=0,ow(e,o,!0)):"",g=b=>{mw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=pw)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=uw(lw(b),i),E="";(s===null||s.length!==y.length||s.some((S,T)=>S!==y[T]))&&(E+=f(),s=y,o=Rd(e,s),a=0,c=0,l=0,E+=ow(e,o));let _=s.map(S=>ve(b[S],e));E+=m();let k=`${_.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=EL(y),_=Rd(Yt,E),k=g(b);return aw(k.fields,E)?"":(k.fields=E,iw(b,_))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),_=uw(lw(y),E.fieldsByShape),k=Rd(Yt,_),S=_.map(C=>ve(y[C],Yt)),T="";return aw(E.fields,_)||(E.fields=_,T+=iw(b,k)),`${T}${b}:${S.join(Yt)}
26
+ `},end(){return d?"":(d=!0,f())}}}var dw,pw,fw,Z4,e3,hw=w(()=>{zt();ga();oo();sn();dw=[Yt,"|"," "],pw=8,fw=/^[A-Za-z0-9_-]+$/,Z4=new TextEncoder,e3=new TextDecoder});var z,J=w(()=>{ga();oo();tw();zt();no();rw();oo();eo();sn();ma();ga();nw();hw();z=wd});function vL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(vd(e))}
27
+ `)}function vd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??vL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=TL(e.diagnostics,3)),t}function Ue(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&rb(s)?{command:e,category:"transient",error:io(s)||"GitHub API rate limit exceeded",help:tb,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:io(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:io(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:io(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:io(s)||"command failed",help:`${e} --help`,diagnostics:s}}function gw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function io(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function TL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
+ `).trim()}var bt=w(()=>{"use strict";nb();J()});function Ea(e){let t={app:e,version:$L(Kn("__RED_BUILD_VERSION__",()=>"4.4.0")??"0.0.0-dev"),gitSha:Kn("__RED_BUILD_GIT_SHA__",()=>"ff3fce2ff5ef229a669831a698518ec174b55bad")??"unknown",buildTime:Kn("__RED_BUILD_TIME__",()=>"2026-08-25T11:31:16-03:00")??"unknown",bundleAsset:Kn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Kn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Kn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function $L(e){return e.startsWith("v")?e.slice(1):e}function vw(e){return`${e.app} ${e.version} ${e.gitSha}`}function Kn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var xd=w(()=>{});import{isAbsolute as FL,join as Qt,resolve as Od}from"node:path";function jL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function xw(e){return Qt(jL(e),Tw)}function Ow(e){return Qt(xw(e),"state")}function Aw(e){return Qt(xw(e),"tmp")}function ce(e){return Qt(Ow(e),"rsp")}function qL(e){return Qt(Ow(e),"red-skills.rdb")}function UL(e){return Qt(Aw(e),"red-skills.rdb")}function Iw(e,t){let r=qL(e);if(t(r))return r;let n=UL(e);if(t(n))throw HL();return r}function HL(){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 Lw(e){return Qt(Aw(e),"waits")}function Gw(e){let t=e.overrideEnvVars??Ad;for(let n of t){let s=e.env[n];if(s)return FL(s)?s:Od(e.startDir,s)}let r=Od(e.startDir);for(;;){if(e.exists(Qt(r,Tw)))return r;let n=Qt(r,".."),s=Od(n);if(s===r)break;r=s}return e.startDir}var Tw,ML,BL,Ad,Cw,Pw,et=w(()=>{Tw=".red",ML="MEMORY_ROOT",BL="RED_BRAIN_ROOT",Ad=[ML,BL];Cw=".red/state/red-skills.rdb";Pw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var WL,VL,V3,Xt=w(()=>{J();et();WL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],VL=[{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"}],V3=[...WL,...VL]});function ao(e){let{values:t,rest:r}=Zr(e,{query:Dw.query},Nw);return{argv:r,query:t.query?.trim()||void 0}}function $w(e){let{values:t,rest:r}=Zr(e,Dw,Nw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function JL(e,t){if(!t)return!0;let r=Cd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>JL(r,t)):[...e]}function Zt(e,t){return Pd(e,t,{includeLegacyHelp:!0})}function Pd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Cd(e){return Array.isArray(e)?e.map(Cd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Cd).join(" "):String(e??"")}var Dw,Nw,co=w(()=>{"use strict";Qu();Dw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Nw={stopAtSeparator:!1}});var Aa={};se(Aa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ka,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Sa,DEFAULT_RSP_OVERHEAD_CEILING:()=>er,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>va,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ta,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ra,RSP_OVERHEAD_FAMILIES:()=>eG,RSP_OVERHEAD_LEDGER_FILE:()=>Bw,RSP_OVERHEAD_SCHEMA_VERSION:()=>jw,classifyOverheadSample:()=>Gd,noteChildProcessMs:()=>Uw,noteSelfStateBytesRead:()=>uo,overheadCounters:()=>Md,overheadFamilyDisabled:()=>tG,overheadHealth:()=>wr,overheadLedgerPath:()=>Dd,overheadMsOf:()=>qw,overheadTelemetryFields:()=>xa,readOverheadLedger:()=>lo,readSelfStateFile:()=>Oa,readSelfStateFileSync:()=>sG,recordOverheadSample:()=>Nd,resetOverheadCounters:()=>nG,resetOverheadLedger:()=>rG,startChildProcessTimer:()=>tt});import{existsSync as KL,mkdirSync as zL,readFileSync as Fw,renameSync as YL,writeFileSync as QL}from"node:fs";import{readFile as XL}from"node:fs/promises";import{dirname as ZL,join as Mw}from"node:path";function qw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Ld(t)):0}function Gd(e,t=er){let r=qw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function xa(e,t=er){let r=Gd(e,t);return{wrapper_ms:Ld(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Ld(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 Dd(e){return Mw(ce(e),Bw)}function lo(e){try{let t=Fw(Dd(e),"utf8"),r=cG(t);if(lG(r))return r}catch{}return{version:1,families:{}}}function Nd(e,t,r=er,n=Date.now()){let s=lo(e),o=Gd(t,r),i=s.families[t.family]??aG(t.family,n),a=Bd(i,n)?Hw(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=oG(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,Ww(e,s),l}function tG(e,t,r=Date.now()){let n=lo(e).families[t];return!n?.disabled||Bd(n,r)?null:n}function rG(e,t){let r=lo(e);return t?delete r.families[t]:r.families={},Ww(e,r),r}function wr(e,t=er,r=Date.now()){let n=Object.values(lo(e).families).map(a=>Bd(a,r)?Hw(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:jw,verdict:i,summary:iG(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function uo(e){Number.isFinite(e)&&e>0&&($d+=e)}function Uw(e){Number.isFinite(e)&&e>0&&(Fd+=e)}function Md(){return{selfStateBytesRead:$d,childMs:Fd}}function nG(){$d=0,Fd=0}function tt(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Uw(Number(process.hrtime.bigint()-e)/1e6))}}async function Oa(e){let t=await XL(e,"utf8");return uo(Buffer.byteLength(t)),t}function sG(e){let t=Fw(e,"utf8");return uo(Buffer.byteLength(t)),t}function oG(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 iG(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 Bd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Hw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function aG(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 Ww(e,t){try{let r=Dd(e);if(!KL(Mw(e,".red")))return;zL(ZL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;QL(n,`${M(t)}
29
+ `,{encoding:"utf8",mode:384}),YL(n,r)}catch{}}function cG(e){try{return JSON.parse(e)}catch{return z(e)}}function lG(e){return!Id(e)||e.version!==1||!Id(e.families)?!1:Object.values(e.families).every(uG)}function uG(e){return Id(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Id(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ld(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Bw,jw,ka,Sa,Ra,va,Ta,eG,er,$d,Fd,we=w(()=>{"use strict";et();J();Bw="overhead-budget.toon",jw="red.rsp.overhead.v1",ka=250,Sa=1024*1024,Ra=64*1024,va=3,Ta=6*60*60*1e3,eG=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],er={maxOverheadMs:ka,maxSelfStateBytes:Sa,netLossFloorBytes:Ra,consecutiveBreaches:va,cooldownMs:Ta};$d=0,Fd=0});function Kw(e){let t=e.trimStart()[0];return t==="{"||t==="["?"json":"toon"}function Ud(e){let t=0;for(;e[t]===`
30
+ `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Kw(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 qd(e){let t=Vw(e)==="json"?Bd:Hw,r=t===Bd?Hw:Bd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Bd(e){return JSON.parse(e)}function Hw(e){return z(e)}function Ud(e,t){if(t==="toon"){let r=uG(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 Hd(e){let t=Kw(e)==="json"?jd:Vw,r=t===jd?Vw:jd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function jd(e){return JSON.parse(e)}function Vw(e){return z(e)}function Wd(e,t){if(Array.isArray(e))return`${JSON.stringify(e)}
34
+ `;if(t==="toon"){let r=pG(e);if(r!==null)return r.endsWith(`
34
35
  `)?`${r}
35
36
  `:`${r}
36
37
 
37
38
  `}return`${JSON.stringify(e)}
38
- `}function uG(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 Jw(e,t){return!Ww(e)||!Ww(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Ww(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function zw(e){return Kw.has(e)?"json":lG}function Yw(e){Kw.add(e)}var lG,Kw,Qw=w(()=>{J();lG="toon";Kw=new Set});import{createHash as dG}from"node:crypto";import{constants as Hd}from"node:fs";import{mkdir as Zw,open as pG,readFile as fG,rm as e_,stat as mG}from"node:fs/promises";import{createConnection as hG}from"node:net";import{tmpdir as gG}from"node:os";import{dirname as t_,join as po}from"node:path";async function r_(e,t,r="resident server"){let n=e.wire,s=n??zw(e.socketPath),o=await Xw(e,t,r,s);return n||s==="json"||!Jw(t,o)?o:(Yw(e.socketPath),await Xw(e,t,r,"json"))}async function Xw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=hG(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>i(new Error(`${r} timed out`))),a.destroy()},s);function d(p){c||(c=!0,clearTimeout(u),p())}a.on("connect",()=>{a.write(Ud(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=jd(l);f&&(l=f.rest,d(()=>{try{o(qd(f.frame))}catch(m){i(m)}}),a.end())}),a.on("error",p=>d(()=>i(p))),a.on("close",()=>{c||d(()=>i(new Error(`${r} closed without response`)))})})}function n_(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=jd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Ud(a,o.dialect))}catch{}};(async()=>{let a;try{a=qd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Wd(e){await Zw(t_(e),{recursive:!0,mode:448});try{return await pG(e,Hd.O_CREAT|Hd.O_EXCL|Hd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Vd(e,t={}){let r=t.maxAgeMs??bG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await Zw(t_(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Wd(e);if(c)return await c.writeFile(`${s_} pid=${s} taken=${new Date(n()).toISOString()}
39
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await EG(e),u=await SG(e,l,n());if(a>=wG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=_G(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 e_(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Jd(e){await e.handle.close().catch(()=>{}),await e_(e.lockPath,{force:!0})}function _G(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Kd(e){let t=e.ageMs==null?"of unknown age":`taken ${Math.round(e.ageMs/1e3)}s ago`,r=e.holder==null?"an owner it does not name":`pid ${e.holder.pid} (at ${e.holder.takenAt})`;return`no spawn was attempted: the spawn lock ${JSON.stringify(e.lockPath)} is held by ${r}, ${t}. If that process is gone, remove the file to clear it`}async function EG(e){try{return kG(await fG(e,"utf8"))}catch{return null}}function kG(e){let t=e.split(`
40
- `,1)[0]?.trim()??"";if(!t.startsWith(s_))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 SG(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 mG(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 zd(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 o_(e){let t=e.env??process.env,r=dG("sha256").update(e.key).digest("hex").slice(0,20),n=c=>po(c,e.socketFileName).length<yG,s=t.XDG_RUNTIME_DIR;if(s){let c=po(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=po(`red-skills-${o}`,r),a=po(gG(),i);return n(a)||process.platform==="win32"?a:po(RG,i)}var yG,bG,s_,wG,RG,fo=w(()=>{Qw();yG=108;bG=6e4,s_="resident-spawn-lock v1",wG=3;RG="/tmp"});async function zn(e,t){return await r_(e,t,"resident rsp server")}var Yd=w(()=>{fo()});var i_=w(()=>{"use strict";Yd()});import{mkdir as vG,readFile as TG,rename as xG,rm as f9,writeFile as OG}from"node:fs/promises";import{dirname as AG}from"node:path";async function a_(e){try{let t=(await TG(e,"utf8")).trim();if(t==="")return null;try{return JSON.parse(t)}catch{return z(t)}}catch{return null}}async function c_(e,t){await vG(AG(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${Date.now()}.tmp`;await OG(r,`${M(t)}
41
- `,{encoding:"utf8",mode:384}),await xG(r,e)}var y9,l_=w(()=>{J();fo();y9=5*6e4});import{existsSync as CG,readdirSync as PG}from"node:fs";import{homedir as IG}from"node:os";import{basename as Xd,dirname as Qd,join as st,resolve as Ca}from"node:path";function LG(e){return"command"in e}function Pa(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??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&&NG(i))return a(Ca(i),"caller-entry");let c=[];for(let[l,u]of FG(i,t.rootDir,r,t.listDir??qG))if(c.push(l),n(l))return a(l,u);return{diagnostic:tr,searched:c,...i?{callerEntry:Ca(i)}:{}}}function d_(e={},t={}){let r=Pa(e,t);if(LG(r))return r;throw new Yn(r)}function NG(e){let t=Xd(e);return t===an||Zd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:$G(Ca(e))}function $G(e){let t=Qd(e);for(let r=0;r<4;r++){if(Xd(t)==="rsp")return!0;let n=Qd(t);if(n===t)return!1;t=n}return!1}function*FG(e,t,r,n){if(e){let o=Qd(Ca(e));yield[st(o,an),"caller-sibling-bundle"];let i=GG.exec(Xd(e));i&&(yield[st(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[st(o,"..","dist",an),"caller-sibling-bundle"]}for(let o of DG){let i=r[o];i&&(yield[st(i,"dist",an),"plugin-root-bundle"],yield[st(i,"..","..","dist",an),"plugin-root-bundle"])}t&&(yield[st(t,"dist",an),"repo-bundle"],yield[st(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[st(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=MG(r);yield[st(s,an),"bundle-cache"];for(let o of BG(s,n))yield[st(s,o),"bundle-cache"]}function MG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||st(e.HOME||IG(),".cache");return st(t,"red-skills","bundles")}function BG(e,t){return t(e).filter(r=>Zd.test(r)).sort((r,n)=>jG(u_(n),u_(r)))}function u_(e){return Zd.exec(e)?.[1]??""}function jG(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 qG(e){try{return PG(e)}catch{return[]}}var tr,Yn,an,GG,Zd,DG,ep=w(()=>{tr="rsp-resident-entry-unresolved";Yn=class extends Error{code=tr;searched;callerEntry;constructor(t){super(`${tr}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
39
+ `}function pG(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 zw(e,t){return!Jw(e)||!Jw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function Jw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Qw(e){return Yw.has(e)?"json":dG}function Xw(e){Yw.add(e)}var dG,qd,Ca,Yw,Zw=w(()=>{J();dG="toon";qd=8*1024*1024,Ca=class extends Error{constructor(t){super(`wire frame exceeded ${qd} bytes without a terminator (${t} held) \u2014 the connection cannot resync and is refused`),this.name="WireFrameOverflowError"}};Yw=new Set});import{createHash as fG}from"node:crypto";import{constants as Vd}from"node:fs";import{mkdir as t_,open as mG,readFile as hG,rm as r_,stat as gG}from"node:fs/promises";import{createConnection as yG}from"node:net";import{tmpdir as bG}from"node:os";import{dirname as n_,join as po}from"node:path";async function s_(e,t,r="resident server"){let n=e.wire,s=n??Qw(e.socketPath),o=await e_(e,t,r,s);return n||s==="json"||!zw(t,o)?o:(Xw(e.socketPath),await e_(e,t,r,"json"))}async function e_(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=yG(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(Wd(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Ud(l);f&&(l=f.rest,d(()=>{try{o(Hd(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 o_(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Ud(n);if(!o){n.length>qd&&e.destroy(new Ca(n.length));return}n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Wd(a,o.dialect))}catch{}};(async()=>{let a;try{a=Hd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Jd(e){await t_(n_(e),{recursive:!0,mode:448});try{return await mG(e,Vd.O_CREAT|Vd.O_EXCL|Vd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Kd(e,t={}){let r=t.maxAgeMs??_G,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await t_(n_(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Jd(e);if(c)return await c.writeFile(`${i_} pid=${s} taken=${new Date(n()).toISOString()}
40
+ `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await SG(e),u=await vG(e,l,n());if(a>=EG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=kG(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 r_(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function zd(e){await e.handle.close().catch(()=>{}),await r_(e.lockPath,{force:!0})}function kG(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Yd(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 RG(await hG(e,"utf8"))}catch{return null}}function RG(e){let t=e.split(`
41
+ `,1)[0]?.trim()??"";if(!t.startsWith(i_))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 vG(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 gG(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 a_(e){let t=e.env??process.env,r=fG("sha256").update(e.key).digest("hex").slice(0,20),n=c=>po(c,e.socketFileName).length<wG,s=t.XDG_RUNTIME_DIR;if(s){let c=po(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=po(`red-skills-${o}`,r),a=po(bG(),i);return n(a)||process.platform==="win32"?a:po(TG,i)}var wG,_G,i_,EG,TG,fo=w(()=>{Zw();wG=108;_G=6e4,i_="resident-spawn-lock v1",EG=3;TG="/tmp"});async function zn(e,t){return await s_(e,t,"resident rsp server")}var Xd=w(()=>{fo()});var c_=w(()=>{"use strict";Xd()});import{mkdir as xG,readFile as OG,rename as AG,rm as g9,writeFile as CG}from"node:fs/promises";import{dirname as PG}from"node:path";async function l_(e){try{let t=(await OG(e,"utf8")).trim();if(t==="")return null;try{return JSON.parse(t)}catch{return z(t)}}catch{return null}}async function u_(e,t){await xG(PG(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${Date.now()}.tmp`;await CG(r,`${M(t)}
42
+ `,{encoding:"utf8",mode:384}),await AG(r,e)}var _9,d_=w(()=>{J();fo();_9=5*6e4});import{existsSync as IG,readdirSync as LG}from"node:fs";import{homedir as GG}from"node:os";import{basename as ep,dirname as Zd,join as st,resolve as Pa}from"node:path";function DG(e){return"command"in e}function Ia(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??IG,s=t.execPath??process.execPath,o=t.execArgv??process.execArgv,i=t.callerEntry===void 0?process.argv[1]:t.callerEntry,a=(l,u)=>({command:s,args:[...o,l],source:u});if(r.RSP_BIN)return{command:r.RSP_BIN,args:[],source:"env-rsp-bin"};if(i&&FG(i))return a(Pa(i),"caller-entry");let c=[];for(let[l,u]of BG(i,t.rootDir,r,t.listDir??HG))if(c.push(l),n(l))return a(l,u);return{diagnostic:tr,searched:c,...i?{callerEntry:Pa(i)}:{}}}function f_(e={},t={}){let r=Ia(e,t);if(DG(r))return r;throw new Yn(r)}function FG(e){let t=ep(e);return t===an||tp.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:MG(Pa(e))}function MG(e){let t=Zd(e);for(let r=0;r<4;r++){if(ep(t)==="rsp")return!0;let n=Zd(t);if(n===t)return!1;t=n}return!1}function*BG(e,t,r,n){if(e){let o=Zd(Pa(e));yield[st(o,an),"caller-sibling-bundle"];let i=NG.exec(ep(e));i&&(yield[st(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[st(o,"..","dist",an),"caller-sibling-bundle"]}for(let o of $G){let i=r[o];i&&(yield[st(i,"dist",an),"plugin-root-bundle"],yield[st(i,"..","..","dist",an),"plugin-root-bundle"])}t&&(yield[st(t,"dist",an),"repo-bundle"],yield[st(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[st(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=jG(r);yield[st(s,an),"bundle-cache"];for(let o of qG(s,n))yield[st(s,o),"bundle-cache"]}function jG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||st(e.HOME||GG(),".cache");return st(t,"red-skills","bundles")}function qG(e,t){return t(e).filter(r=>tp.test(r)).sort((r,n)=>UG(p_(n),p_(r)))}function p_(e){return tp.exec(e)?.[1]??""}function UG(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 HG(e){try{return LG(e)}catch{return[]}}var tr,Yn,an,NG,tp,$G,rp=w(()=>{tr="rsp-resident-entry-unresolved";Yn=class extends Error{code=tr;searched;callerEntry;constructor(t){super(`${tr}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
42
43
  searched:
43
44
  ${t.searched.map(r=>` ${r}`).join(`
44
- `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},an="rsp.bundle.min.mjs",GG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Zd=/^rsp-(.+)\.bundle\.min\.mjs$/,DG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as g_}from"node:crypto";import{spawn as y_}from"node:child_process";import{readFileSync as UG}from"node:fs";import{mkdir as b_,readFile as HG,rm as nr,stat as WG}from"node:fs/promises";import{dirname as Qn,join as rr,resolve as np}from"node:path";import{fileURLToPath as VG}from"node:url";function ot(e){let t=nD(e)??np(e),r=rD(t),n=ce(t);return{rootDir:t,socketPath:rr(r,"rsp.sock"),pidPath:rr(r,"rsp.pid"),lockPath:rr(r,"rsp.lock"),wakeLockPath:rr(t,".red","tmp","rsp","wake.lock"),summaryPath:rr(n,"rsp-status-summary.toon"),registryPath:rr(n,"rsp-resident.pid.toon")}}async function Ia(e,t){if(await b_(Qn(e.socketPath),{recursive:!0,mode:448}),await m_(e.socketPath,t))return;await f_(e,t);let r=await Vd(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
45
- `)});if(r.acquired)try{if(await m_(e.socketPath,t))return;await f_(e,t),await zG(e.socketPath);let n=QG(e,t);await p_(e.socketPath,n);return}finally{await Jd(r)}try{await p_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Kd(r)}`)}}async function cn(e,t=200){try{return await __(e,t)!=null}catch{return!1}}async function __(e,t=200){let r=await zn({socketPath:e,timeoutMs:t},{id:g_(),op:"ping"});return r.ok?v_(r.value)?{version:aD(r.value.version)}:{}:null}async function La(e,t){if(await b_(Qn(e.socketPath),{recursive:!0,mode:448}),await cn(e.socketPath,50))return!1;let r=await YG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=S_(e,t);return y_(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 E_(e,t){try{await Ia(e,t)}finally{await nr(e.wakeLockPath,{force:!0})}}async function ho(e){let t=await a_(e);return cD(t)?t:null}async function Ga(e,t){let r={version:w_,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 c_(e,r)}async function Da(e,t=process.pid){try{let r=await ho(e);if(r&&r.pid!==t)return;await nr(e,{force:!0})}catch{}}async function mo(e){let t=await ho(e.registryPath);if(!t)try{return await HG(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 cn(t.socket_path,100);return r&&await tD(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 k_(e){let t=await mo(e);return t.state==="registered-dead"||t.state==="invalid"?(await nr(e.registryPath,{force:!0}),await mo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await zd(t.entry.pid),await nr(e.registryPath,{force:!0}),await nr(t.entry.socket_path,{force:!0}),await mo(e)):t}async function p_(e,t){let r=Date.now()+KG(),n;for(;Date.now()<r;){if(await cn(e))return;if(t){let s=t.spawnError();if(s)throw new Error(tp("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(tp("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?tp("resident rsp server did not start",t):"resident rsp server did not start")}function KG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:JG}async function zG(e){await nr(e,{force:!0})}function QG(e,t){let[r,n]=S_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=y_(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=ZG(`${i}${c}`,XG)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function tp(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let s=t.stderrTail().trimEnd();return s&&n.push(`stderr tail:
45
+ `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},an="rsp.bundle.min.mjs",NG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,tp=/^rsp-(.+)\.bundle\.min\.mjs$/,$G=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as b_}from"node:crypto";import{spawn as w_}from"node:child_process";import{readFileSync as WG}from"node:fs";import{mkdir as __,readFile as VG,rm as nr,stat as JG}from"node:fs/promises";import{dirname as Qn,join as rr,resolve as op}from"node:path";import{fileURLToPath as KG}from"node:url";function ot(e){let t=oD(e)??op(e),r=sD(t),n=ce(t);return{rootDir:t,socketPath:rr(r,"rsp.sock"),pidPath:rr(r,"rsp.pid"),lockPath:rr(r,"rsp.lock"),wakeLockPath:rr(t,".red","tmp","rsp","wake.lock"),summaryPath:rr(n,"rsp-status-summary.toon"),registryPath:rr(n,"rsp-resident.pid.toon")}}async function La(e,t){if(await __(Qn(e.socketPath),{recursive:!0,mode:448}),await g_(e.socketPath,t))return;await h_(e,t);let r=await Kd(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)
46
+ `)});if(r.acquired)try{if(await g_(e.socketPath,t))return;await h_(e,t),await QG(e.socketPath);let n=ZG(e,t);await m_(e.socketPath,n);return}finally{await zd(r)}try{await m_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Yd(r)}`)}}async function cn(e,t=200){try{return await k_(e,t)!=null}catch{return!1}}async function k_(e,t=200){let r=await zn({socketPath:e,timeoutMs:t},{id:b_(),op:"ping"});return r.ok?x_(r.value)?{version:lD(r.value.version)}:{}:null}async function Ga(e,t){if(await __(Qn(e.socketPath),{recursive:!0,mode:448}),await cn(e.socketPath,50))return!1;let r=await XG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=v_(e,t);return w_(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 S_(e,t){try{await La(e,t)}finally{await nr(e.wakeLockPath,{force:!0})}}async function ho(e){let t=await l_(e);return uD(t)?t:null}async function Da(e,t){let r={version:E_,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 u_(e,r)}async function Na(e,t=process.pid){try{let r=await ho(e);if(r&&r.pid!==t)return;await nr(e,{force:!0})}catch{}}async function mo(e){let t=await ho(e.registryPath);if(!t)try{return await VG(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 cn(t.socket_path,100);return r&&await nD(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 R_(e){let t=await mo(e);return t.state==="registered-dead"||t.state==="invalid"?(await nr(e.registryPath,{force:!0}),await mo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await Qd(t.entry.pid),await nr(e.registryPath,{force:!0}),await nr(t.entry.socket_path,{force:!0}),await mo(e)):t}async function m_(e,t){let r=Date.now()+YG(),n;for(;Date.now()<r;){if(await cn(e))return;if(t){let s=t.spawnError();if(s)throw new Error(np("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(np("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?np("resident rsp server did not start",t):"resident rsp server did not start")}function YG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:zG}async function QG(e){await nr(e,{force:!0})}function ZG(e,t){let[r,n]=v_(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=w_(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=tD(`${i}${c}`,eD)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function np(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
47
  ${s}`),n.join(`
47
- `)}function ZG(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}async function f_(e,t){try{let r=await ho(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!_r(r.pid)){await nr(e.registryPath,{force:!0});return}if(await cn(r.socket_path,100))return;if(R_(t.clientVersion,r.resident_version)&&(await eD(r.pid,1500),!_r(r.pid))){await nr(e.registryPath,{force:!0});return}await zd(r.pid),await nr(e.registryPath,{force:!0})}catch{}}async function eD(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function tD(e){if(!e.startsWith("file://"))return!1;try{return await WG(VG(e)),!1}catch(t){return t.code==="ENOENT"}}function S_(e,t){let r=d_(t,{rootDir:e.rootDir});return[r.command,r.args]}function rD(e){return o_({key:e,socketFileName:"rsp.sock"})}function nD(e){let t=np(e);for(let r=0;r<32;r++){try{let s=rp(rr(t,".git"));if(s!=null)return sD(t,s)??t;if(rp(rr(t,".git","HEAD"))!=null||rp(rr(t,".red","config.yaml"))!=null)return t}catch{}let n=Qn(t);if(n===t)return null;t=n}return null}function sD(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=np(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?Qn(Qn(Qn(n))):null}function rp(e){try{return UG(e,"utf8")}catch{return null}}async function m_(e,t){let r=await __(e).catch(()=>null);return r?R_(t.clientVersion,r.version)?(await oD(e,t.clientVersion),await lD(e),!1):!0:!1}async function oD(e,t){try{await zn({socketPath:e,timeoutMs:200},{id:g_(),op:"handover",clientVersion:t})}catch{}}function R_(e,t){return!e||!t?!1:iD(e,t)>0}function iD(e,t){let r=h_(e),n=h_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function h_(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 v_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function aD(e){return typeof e=="string"&&e.length>0?e:void 0}function cD(e){return v_(e)&&e.version===w_&&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 lD(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await cn(e,50))return;await new Promise(r=>setTimeout(r,50))}}var w_,JG,YG,XG,Na=w(()=>{et();l_();fo();Yd();ep();ep();w_=1,JG=5e3;YG=Wd;XG=8*1024});var ln={};se(ln,{RSP_ENTRY_UNRESOLVED:()=>tr,ResidentRspElisionStore:()=>go,RspResidentEntryError:()=>Yn,ensureResidentServer:()=>Ia,kickResidentServer:()=>La,pingResident:()=>cn,readResidentRegistry:()=>ho,removeResidentRegistry:()=>Da,residentRegistryStatus:()=>mo,resolveResidentPaths:()=>ot,resolveRspEntry:()=>Pa,sweepResidentRegistry:()=>k_,warmResidentServer:()=>E_,writeResidentRegistry:()=>Ga});import{randomUUID as uD}from"node:crypto";function T_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var go,wt=w(()=>{"use strict";i_();Na();go=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?T_(r)&&r.status==="expired"?r:!T_(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await Ia(this.paths,this.config);let r=await zn(this.paths,{...t,id:uD()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function op(e,t,r=x_){let n=Math.max(0,Math.floor(e)),s=r in O_?r:x_,o=O_[s],i=t?Math.floor(n*(1-.25)):null,a=t?Math.ceil(n*(1+.25)):null;return{tokens_saved:n,tokens_saved_estimated:t,token_estimate_range_pct:t?.25:null,tokens_saved_low:i,tokens_saved_high:a,dollars_saved_estimate_usd:sp(n,o),dollars_saved_low_usd:i==null?null:sp(i,o),dollars_saved_high_usd:a==null?null:sp(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:dD}}function sp(e,t){return pD(Math.max(0,e)/1e6*t)}function yo(e){return`$${e.toFixed(6)}`}function pD(e){return Math.round(e*1e6)/1e6}var x_,O_,dD,ip=w(()=>{"use strict";x_="gpt-5",O_={"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},dD="estimate derived from byte-based token estimate when token counts are estimated"});var Xn={};se(Xn,{isResidentEntryUnresolved:()=>P_,reportResidentEntryDiagnostic:()=>ap,residentConfigFor:()=>C_,residentElisionStore:()=>bo});function C_(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 bo(e,t,r={}){let n=r.paths??ot(e);return new go(n,C_(t,Ea("rsp").version),{ensureResident:r.ensureResident})}function ap(e){return P_(e)?(A_||(A_=!0,process.stderr.write(`rsp: ${tr} \u2014 elision is off until an rsp entry is installed
48
+ `)}function tD(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}async function h_(e,t){try{let r=await ho(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!_r(r.pid)){await nr(e.registryPath,{force:!0});return}if(await cn(r.socket_path,100))return;if(T_(t.clientVersion,r.resident_version)&&(await rD(r.pid,1500),!_r(r.pid))){await nr(e.registryPath,{force:!0});return}await Qd(r.pid),await nr(e.registryPath,{force:!0})}catch{}}async function rD(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function nD(e){if(!e.startsWith("file://"))return!1;try{return await JG(KG(e)),!1}catch(t){return t.code==="ENOENT"}}function v_(e,t){let r=f_(t,{rootDir:e.rootDir});return[r.command,r.args]}function sD(e){return a_({key:e,socketFileName:"rsp.sock"})}function oD(e){let t=op(e);for(let r=0;r<32;r++){try{let s=sp(rr(t,".git"));if(s!=null)return iD(t,s)??t;if(sp(rr(t,".git","HEAD"))!=null||sp(rr(t,".red","config.yaml"))!=null)return t}catch{}let n=Qn(t);if(n===t)return null;t=n}return null}function iD(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=op(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?Qn(Qn(Qn(n))):null}function sp(e){try{return WG(e,"utf8")}catch{return null}}async function g_(e,t){let r=await k_(e).catch(()=>null);return r?T_(t.clientVersion,r.version)?(await aD(e,t.clientVersion),await dD(e),!1):!0:!1}async function aD(e,t){try{await zn({socketPath:e,timeoutMs:200},{id:b_(),op:"handover",clientVersion:t})}catch{}}function T_(e,t){return!e||!t?!1:cD(e,t)>0}function cD(e,t){let r=y_(e),n=y_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function y_(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 x_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function lD(e){return typeof e=="string"&&e.length>0?e:void 0}function uD(e){return x_(e)&&e.version===E_&&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 dD(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await cn(e,50))return;await new Promise(r=>setTimeout(r,50))}}var E_,zG,XG,eD,$a=w(()=>{et();d_();fo();Xd();rp();rp();E_=1,zG=5e3;XG=Jd;eD=8*1024});var ln={};se(ln,{RSP_ENTRY_UNRESOLVED:()=>tr,ResidentRspElisionStore:()=>go,RspResidentEntryError:()=>Yn,ensureResidentServer:()=>La,kickResidentServer:()=>Ga,pingResident:()=>cn,readResidentRegistry:()=>ho,removeResidentRegistry:()=>Na,residentRegistryStatus:()=>mo,resolveResidentPaths:()=>ot,resolveRspEntry:()=>Ia,sweepResidentRegistry:()=>R_,warmResidentServer:()=>S_,writeResidentRegistry:()=>Da});import{randomUUID as pD}from"node:crypto";function O_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var go,wt=w(()=>{"use strict";c_();$a();go=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?O_(r)&&r.status==="expired"?r:!O_(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 La(this.paths,this.config);let r=await zn(this.paths,{...t,id:pD()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function ap(e,t,r=A_){let n=Math.max(0,Math.floor(e)),s=r in C_?r:A_,o=C_[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:ip(n,o),dollars_saved_low_usd:i==null?null:ip(i,o),dollars_saved_high_usd:a==null?null:ip(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:fD}}function ip(e,t){return mD(Math.max(0,e)/1e6*t)}function yo(e){return`$${e.toFixed(6)}`}function mD(e){return Math.round(e*1e6)/1e6}var A_,C_,fD,cp=w(()=>{"use strict";A_="gpt-5",C_={"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},fD="estimate derived from byte-based token estimate when token counts are estimated"});var Xn={};se(Xn,{isResidentEntryUnresolved:()=>L_,reportResidentEntryDiagnostic:()=>lp,residentConfigFor:()=>I_,residentElisionStore:()=>bo});function I_(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 bo(e,t,r={}){let n=r.paths??ot(e);return new go(n,I_(t,Ea("rsp").version),{ensureResident:r.ensureResident})}function lp(e){return L_(e)?(P_||(P_=!0,process.stderr.write(`rsp: ${tr} \u2014 elision is off until an rsp entry is installed
48
49
  `),process.env.RSP_DEBUG==="1"&&e instanceof Error&&process.stderr.write(`${e.message}
49
- `)),!0):!1}function P_(e){return typeof e=="object"&&e!==null&&e.code===tr}var A_,sr=w(()=>{"use strict";Td();wt();A_=!1});function mp(e){return e==="success"?0:e==="failure"?1:2}function hp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function it(e,t,r){return{status:e,exitCode:mp(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function or(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var F_,M_,B_,pp,j_,q_,U_,H_,fp,un=w(()=>{"use strict";F_="rsp.wait.result",M_="rsp.wait.registry",B_="rsp.wait.list",pp={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},j_=16*1024,q_=1e4,U_=2e3,H_=6e4,fp={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",job:"github-job:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as bD,readFile as wD}from"node:fs/promises";async function es(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ma(r),s=[r,...n];if(s.every(c=>!dn(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(W_(e,"SIGTERM"),Fa(n,"SIGTERM"),await V_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ma(r)])];W_(e,"SIGKILL"),Fa(o,"SIGKILL");let i=Math.max(1e3,t);await _D(e,i);let a=await V_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(dn)}}function W_(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function Fa(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function _D(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 V_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!dn(n)))return!0;await ED(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!dn(n))}async function Ma(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await bD("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await J_(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 wo(e){return(await J_(e))?.[19]}async function ts(e,t){if(!dn(e))return!1;if(!t)return!0;let r=await wo(e);return r===void 0?process.platform!=="linux":r===t}function dn(e){try{return process.kill(e,0),!0}catch{return!1}}async function J_(e){if(process.platform!=="linux")return null;try{let t=await wD(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function ED(e){await new Promise(t=>setTimeout(t,e))}var ir=w(()=>{"use strict"});import{constants as kD}from"node:os";async function K_(e){let t=e[1],r={timeoutMs:pp.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:q_,terminateGraceMs:U_,probeTimeoutMs:H_,format:"toon",captureBytes:j_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=pp[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=_o(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=vD(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=_o(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=_o(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=_o(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=RD(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 SD(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function SD(e){if(!(e.signal in kD.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(!dn(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await wo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function _o(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 rs(e,t,r=process.env){let n=r[e];if(!n)return t;try{return _o(n)}catch{return t}}function RD(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function vD(e){return e.startsWith("SIG")?e:`SIG${e}`}var z_=w(()=>{"use strict";un();ir()});import{existsSync as gp,readFileSync as TD,statSync as xD}from"node:fs";import{basename as Y_,dirname as Ba,isAbsolute as OD,join as Q_,resolve as Eo}from"node:path";function ko(e,t=process.env){let r=Eo(e);if(Od.map(i=>t[i]).find(Boolean))return Iw({startDir:r,env:t,exists:gp});let s=CD(r),o=AD(r,s);return o||(s??r)}function AD(e,t){let r=e;for(;;){if(gp(Q_(r,".red")))return r;if(t&&r===t)return null;let n=Eo(r,"..");if(n===r)return null;r=n}}function CD(e){let t=e;for(;;){let r=Q_(t,".git");if(gp(r))return LD(r)?t:PD(r)??t;let n=Eo(t,"..");if(n===t)return null;t=n}}function PD(e){let t=ID(e);if(!t)return null;let r=Ba(t),n=Ba(r);return Y_(r)!=="worktrees"||Y_(n)!==".git"?null:Ba(n)}function ID(e){let t;try{t=TD(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return OD(n)?Eo(n):Eo(Ba(e),n)}function LD(e){try{return xD(e).isDirectory()}catch{return!1}}var ja=w(()=>{et()});import{join as GD}from"node:path";function ND(e,t=process.env){return ko(e,t)}function ns(e,t=process.env){return Pw(ND(e,t))}function X_(e,t=process.env){return GD(ns(e,t),DD)}var DD,yp=w(()=>{"use strict";et();ja();DD="spool"});import{randomUUID as $D}from"node:crypto";import{existsSync as FD}from"node:fs";import{mkdir as MD,readdir as BD,readFile as jD,rename as qD,rm as bp,writeFile as UD}from"node:fs/promises";import{dirname as HD,join as eE}from"node:path";function tE(e,t,r=process.env){return eE(ns(e,r),`${t}${WD}`)}async function ss(e,t){await wp(e,`${ge(t)}
50
- `)}async function qa(e,t,r){t.status=r,await ss(e,t)}async function Ua(e,t=process.env){let r=ns(e,t);if(!FD(r))return[];let n=await BD(r).catch(()=>[]),s=[];for(let o of n.filter(i=>VD.some(a=>i.endsWith(a)))){let i=eE(r,o),a=await JD(i);if(!a){await bp(i,{force:!0});continue}if(!await KD(a)){await bp(i,{force:!0});continue}s.push(a)}return s}async function JD(e){let t;try{t=await jD(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=zD(r);return n&&Object.keys(n).length>0?n:null}async function KD(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 ts(t,r)}function zD(e){try{let t=z(e);if(Z_(t))return t}catch{}try{let t=JSON.parse(e);if(Z_(t))return t}catch{}return null}async function wp(e,t){await MD(HD(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${$D()}`;try{await UD(r,t,"utf8"),await qD(r,e)}finally{await bp(r,{force:!0})}}function _p(e){return{schema:M_,version:1,...e}}function Z_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var WD,VD,Ro=w(()=>{"use strict";J();Xt();un();yp();ir();WD=".toon",VD=[".toon",".json"]});function os(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return os(e)?e:{}}function pn(e){return Array.isArray(e)?e.filter(os):[]}function oe(e,t){let r=e[t];return typeof r=="string"?r:""}function fn(e,t){let r=e[t];return typeof r=="number"?r:0}function vo(e){let t=JSON.parse(e);if(!os(t))throw new Error("expected JSON object");return t}function Ha(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Wa=w(()=>{"use strict"});import{spawn as YD}from"node:child_process";import{resolve as QD}from"node:path";async function rE(e,t,r){let n=[];if(e.signalPid){let s=await XD(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await ZD(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function XD(e){let t=e.signalPid;if(!await ts(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:nE(r),pid:t,signal:e.signal}}}async function ZD(e,t,r){let n=at(t.wait),s=at(t.verdict);return await eN(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?QD(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 eN(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=YD(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,es(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:nE(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 nE(e){return e instanceof Error?e.message:String(e)}var sE=w(()=>{"use strict";Wa();ir()});import{resolve as tN}from"node:path";async function oE(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=rN(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=To(t,r,o,{status:"pending"},i);await xo(n.resultFile,a,n.format);let c=await rE(n,a,s),l=To(t,r,o,c,i);return await xo(n.resultFile,l,n.format),{result:l,exitCode:iE(o,c)}}function iE(e,t){return t.status!=="success"||e.status==="running"?2:mp(e.status)}function rN(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 To(e,t,r,n,s){return{schema:F_,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:iE(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function xo(e,t,r){e&&await wp(tN(e),is(t,r))}function is(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
50
+ `)),!0):!1}function L_(e){return typeof e=="object"&&e!==null&&e.code===tr}var P_,sr=w(()=>{"use strict";xd();wt();P_=!1});function gp(e){return e==="success"?0:e==="failure"?1:2}function yp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function it(e,t,r){return{status:e,exitCode:gp(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function or(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var B_,j_,q_,mp,U_,H_,W_,V_,hp,un=w(()=>{"use strict";B_="rsp.wait.result",j_="rsp.wait.registry",q_="rsp.wait.list",mp={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},U_=16*1024,H_=1e4,W_=2e3,V_=6e4,hp={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 _D,readFile as ED}from"node:fs/promises";async function es(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ba(r),s=[r,...n];if(s.every(c=>!dn(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(J_(e,"SIGTERM"),Ma(n,"SIGTERM"),await K_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ba(r)])];J_(e,"SIGKILL"),Ma(o,"SIGKILL");let i=Math.max(1e3,t);await kD(e,i);let a=await K_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(dn)}}function J_(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function Ma(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function kD(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 K_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!dn(n)))return!0;await SD(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!dn(n))}async function Ba(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await _D("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await z_(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 wo(e){return(await z_(e))?.[19]}async function ts(e,t){if(!dn(e))return!1;if(!t)return!0;let r=await wo(e);return r===void 0?process.platform!=="linux":r===t}function dn(e){try{return process.kill(e,0),!0}catch{return!1}}async function z_(e){if(process.platform!=="linux")return null;try{let t=await ED(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function SD(e){await new Promise(t=>setTimeout(t,e))}var ir=w(()=>{"use strict"});import{constants as RD}from"node:os";async function Y_(e){let t=e[1],r={timeoutMs:mp.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:H_,terminateGraceMs:W_,probeTimeoutMs:V_,format:"toon",captureBytes:U_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=mp[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=_o(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=xD(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=_o(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=_o(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=_o(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=TD(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 vD(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function vD(e){if(!(e.signal in RD.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(!dn(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await wo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function _o(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 rs(e,t,r=process.env){let n=r[e];if(!n)return t;try{return _o(n)}catch{return t}}function TD(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function xD(e){return e.startsWith("SIG")?e:`SIG${e}`}var Q_=w(()=>{"use strict";un();ir()});import{existsSync as bp,readFileSync as OD,statSync as AD}from"node:fs";import{basename as X_,dirname as ja,isAbsolute as CD,join as Z_,resolve as Eo}from"node:path";function ko(e,t=process.env){let r=Eo(e);if(Ad.map(i=>t[i]).find(Boolean))return Gw({startDir:r,env:t,exists:bp});let s=ID(r),o=PD(r,s);return o||(s??r)}function PD(e,t){let r=e;for(;;){if(bp(Z_(r,".red")))return r;if(t&&r===t)return null;let n=Eo(r,"..");if(n===r)return null;r=n}}function ID(e){let t=e;for(;;){let r=Z_(t,".git");if(bp(r))return DD(r)?t:LD(r)??t;let n=Eo(t,"..");if(n===t)return null;t=n}}function LD(e){let t=GD(e);if(!t)return null;let r=ja(t),n=ja(r);return X_(r)!=="worktrees"||X_(n)!==".git"?null:ja(n)}function GD(e){let t;try{t=OD(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return CD(n)?Eo(n):Eo(ja(e),n)}function DD(e){try{return AD(e).isDirectory()}catch{return!1}}var qa=w(()=>{et()});import{join as ND}from"node:path";function FD(e,t=process.env){return ko(e,t)}function ns(e,t=process.env){return Lw(FD(e,t))}function eE(e,t=process.env){return ND(ns(e,t),$D)}var $D,wp=w(()=>{"use strict";et();qa();$D="spool"});import{randomUUID as MD}from"node:crypto";import{existsSync as BD}from"node:fs";import{mkdir as jD,readdir as qD,readFile as UD,rename as HD,rm as _p,writeFile as WD}from"node:fs/promises";import{dirname as VD,join as rE}from"node:path";function nE(e,t,r=process.env){return rE(ns(e,r),`${t}${JD}`)}async function ss(e,t){await Ep(e,`${ge(t)}
51
+ `)}async function Ua(e,t,r){t.status=r,await ss(e,t)}async function Ha(e,t=process.env){let r=ns(e,t);if(!BD(r))return[];let n=await qD(r).catch(()=>[]),s=[];for(let o of n.filter(i=>KD.some(a=>i.endsWith(a)))){let i=rE(r,o),a=await zD(i);if(!a){await _p(i,{force:!0});continue}if(!await YD(a)){await _p(i,{force:!0});continue}s.push(a)}return s}async function zD(e){let t;try{t=await UD(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=QD(r);return n&&Object.keys(n).length>0?n:null}async function YD(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 ts(t,r)}function QD(e){try{let t=z(e);if(tE(t))return t}catch{}try{let t=JSON.parse(e);if(tE(t))return t}catch{}return null}async function Ep(e,t){await jD(VD(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${MD()}`;try{await WD(r,t,"utf8"),await HD(r,e)}finally{await _p(r,{force:!0})}}function kp(e){return{schema:j_,version:1,...e}}function tE(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var JD,KD,Ro=w(()=>{"use strict";J();Xt();un();wp();ir();JD=".toon",KD=[".toon",".json"]});function os(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return os(e)?e:{}}function pn(e){return Array.isArray(e)?e.filter(os):[]}function oe(e,t){let r=e[t];return typeof r=="string"?r:""}function fn(e,t){let r=e[t];return typeof r=="number"?r:0}function vo(e){let t=JSON.parse(e);if(!os(t))throw new Error("expected JSON object");return t}function Wa(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Va=w(()=>{"use strict"});import{spawn as XD}from"node:child_process";import{resolve as ZD}from"node:path";async function sE(e,t,r){let n=[];if(e.signalPid){let s=await eN(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await tN(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function eN(e){let t=e.signalPid;if(!await ts(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:oE(r),pid:t,signal:e.signal}}}async function tN(e,t,r){let n=at(t.wait),s=at(t.verdict);return await rN(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?ZD(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 rN(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=XD(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,es(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:oE(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 oE(e){return e instanceof Error?e.message:String(e)}var iE=w(()=>{"use strict";Va();ir()});import{resolve as nN}from"node:path";async function aE(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=sN(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=To(t,r,o,{status:"pending"},i);await xo(n.resultFile,a,n.format);let c=await sE(n,a,s),l=To(t,r,o,c,i);return await xo(n.resultFile,l,n.format),{result:l,exitCode:cE(o,c)}}function cE(e,t){return t.status!=="success"||e.status==="running"?2:gp(e.status)}function sN(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 To(e,t,r,n,s){return{schema:B_,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:cE(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function xo(e,t,r){e&&await Ep(nN(e),is(t,r))}function is(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
51
52
  `:`${ge(e)}
52
- `}var aE=w(()=>{"use strict";Xt();un();Ro();sE()});import{createWriteStream as nN,mkdirSync as sN}from"node:fs";import{readFile as oN,rm as iN}from"node:fs/promises";import{dirname as aN}from"node:path";import{join as cE}from"node:path";function lE(e,t,r){return{stdout:new Va(r,cE(e,`${t}.stdout.bin`)),stderr:new Va(r,cE(e,`${t}.stderr.bin`))}}function cN(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!lN(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function lN(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Va,uE=w(()=>{"use strict";Va=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...cN(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 oN(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{sN(aN(this.spoolPath),{recursive:!0}),t=nN(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 iN(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as uN,readFileSync as $6}from"node:fs";import{dirname as dN,join as pN}from"node:path";function Ep(e,t){let r=e;for(let n=0;n<16;n++){let s=pN(r,t);if(uN(s))return s;let o=dN(r);if(o===r)break;r=o}return null}function fN(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function Oo(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 fN(l)}}var Ja=w(()=>{});var _E={};se(_E,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>cs,GH_ETAG_CACHE_DIR_NAME:()=>mE,LEGACY_GH_ETAG_CACHE_FILE:()=>hE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>gE,enforceGhEtagCacheCeiling:()=>vp,ghEtagCacheDir:()=>Ka,ghEtagEntryPath:()=>za,isCacheEntry:()=>Qa,legacyGhEtagCachePaths:()=>Rp,migrateLegacyGhEtagCache:()=>xp,readGhEtagCache:()=>Ya,readGhEtagEntry:()=>_N,resetGhEtagCacheMigrationMemo:()=>kN,sweepGhEtagCache:()=>Tp,writeGhEtagEntry:()=>EN});import{existsSync as mN}from"node:fs";import{mkdir as hN,readdir as gN,rename as yN,rm as dE,stat as pE,unlink as fE,writeFile as bN}from"node:fs/promises";import{dirname as wN,join as as}from"node:path";function Ka(e){return as(ce(e),mE)}function za(e,t){return as(Ka(e),`${TN(t)}.toon`)}function Rp(e){let t=ce(e);return[as(t,hE),as(t,gE)]}async function _N(e,t){await xp(e);try{let r=wE(await Oa(za(e,t)));return Qa(r)?r:void 0}catch{return}}async function EN(e,t,r={}){return await bE(za(e,t.key),t),await vp(e,r.maxBytes??cs)}async function vp(e,t=cs){let r=await RN(e),n=r.reduce((o,i)=>o+i.bytes,0);if(n<=t)return{evictedEntries:0,bytes:n};r.sort((o,i)=>o.mtimeMs-i.mtimeMs||o.path.localeCompare(i.path));let s=0;for(let o of r){if(n<=t)break;try{await fE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function Tp(e,t={}){let r=await xp(e,{force:!0}),n=await SN(e);return{...await vp(e,t.maxBytes??cs),reclaimedTmp:n,migratedEntries:r}}async function Ya(e){for(let t of Rp(e))try{let r=wE(await Oa(t));if(xN(r))return r}catch{}return{version:1,entries:{}}}async function xp(e,t={}){if(!t.force&&kp.has(e))return 0;kp.add(e);let r=Rp(e).filter(o=>mN(o));if(r.length===0)return 0;let n=await Ya(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Qa(i))continue;let a=za(e,o);await vN(a)||(await bE(a,{...i,key:o}),s+=1)}for(let o of r)await dE(o,{force:!0});return s}function kN(){kp.clear()}async function SN(e){let t=0;for(let r of[ce(e),Ka(e)])for(let n of await yE(r))if(n.endsWith(".tmp"))try{await fE(as(r,n)),t+=1}catch{}return t}async function RN(e){let t=Ka(e),r=[];for(let n of await yE(t)){if(!n.endsWith(".toon"))continue;let s=as(t,n);try{let o=await pE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function yE(e){try{return await gN(e)}catch{return[]}}async function vN(e){try{return await pE(e),!0}catch{return!1}}async function bE(e,t){await hN(wN(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await bN(r,`${M(t)}
54
- `,{encoding:"utf8",mode:384}),await yN(r,e)}catch(n){throw await dE(r,{force:!0}),n}}function TN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function wE(e){try{return JSON.parse(e)}catch{return z(e)}}function xN(e){return Sp(e)&&e.version===1&&Sp(e.entries)&&Object.values(e.entries).every(Qa)}function Qa(e){return Sp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function Sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var mE,hE,gE,cs,kp,Xa=w(()=>{"use strict";et();J();we();mE="gh-etag",hE="gh-etag-cache.toon",gE="gh-etag-cache.json",cs=4*1024*1024;kp=new Set});var Ap={};se(Ap,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ar,DEFAULT_RSP_IDLE_MS:()=>tc,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>vE,DEFAULT_RSP_STORE_PATH:()=>Op,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>ec,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>kE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>SE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Za,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>RE,resolveRspConfig:()=>De});import{existsSync as ON,readFileSync as AN}from"node:fs";import{join as CN,resolve as EE}from"node:path";function De(e,t,r){let n=Ep(EE(e),CN(".red","config.yaml")),s=n?AN(n,"utf8"):"",o=Oo(s,"rsp.enabled")==="true",i=Oo(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"),Za),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),ec),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),kE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),SE),g=PN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),tc,RE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ar),y=IN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),vE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),cs),_={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),ka),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),Sa),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Ra),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),va),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Ta)},k=ot(e).rootDir,S=r??t.RSP_STORE_URI??`file://${Cw(EE(k),ON)}`;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:_}}function _e(e,t){let r=Oo(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 PN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function IN(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 ar,Op,_t,Et,kt,Za,ec,kE,SE,tc,RE,vE,He=w(()=>{"use strict";Ja();et();Na();we();Xa();ar=8*1024,Op=Ow,_t=7,Et=6,kt=64*1024*1024,Za=90,ec=4*1024*1024,kE=3e4,SE=2e3,tc=5*6e4,RE=5e3,vE=0});function TE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(sr(),Xn)),o=s(e,De(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var xE=w(()=>{"use strict";He()});import{spawn as LN}from"node:child_process";async function AE(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??TE(n),c=lE(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async y=>{u||(u=!0,i.removeEventListener("abort",g),await qa(s,o,y.verdict.status).catch(()=>{}),l(y))},f=LN(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 _=await es(f,r.terminateGraceMs),k=await OE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:_.cleaned,survivors:_.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${CE(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 _=y===0;OE(y,E,c,a,t).then(k=>p({verdict:{status:_?"success":"failure",exitCode:_?0:1,summary:_?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function Ao(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:GN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(g){u=ue(g instanceof Error?g.message:String(g))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=Cp(u),await ss(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await qa(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await DN(f,i,m)}return await qa(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${CE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Cp(l)}:{attempts:c}}}}async function OE(e,t,r,n,s){let[o,i]=await Promise.all([r.stdout.finish(n,`${s} # stdout`),r.stderr.finish(n,`${s} # stderr`)]);return{status:e??null,signal:t??null,stdout:o,stderr:i}}function Cp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function GN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Cp(e)}:{}})}async function DN(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 CE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var PE=w(()=>{"use strict";uE();xE();un();ir();Ro()});var IE={};se(IE,{readGhConditionalJson:()=>ct,readGhEtagCache:()=>Ya,sweepGhEtagCache:()=>Tp});import{execFileSync as NN}from"node:child_process";async function ct(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=MN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??FN(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=De(t,r),c=bo(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 FN(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 MN(e){let t="";try{t=String(NN("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 Co=w(()=>{"use strict";He();sr();Xa()});function LE(e){return e==="single-object"?"rest":"graphql"}function GE(e,t){return e==="stable-poll"?"rest":LE(t)}function We(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??GE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function Ve(e,t,r,n,s){let o=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...o,why:n}}function NE(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function Pp(e){let t=NE(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 $E(e){return BN.get(Pp(e))??null}function Ip(e){let t=$E(e);if(!t)throw new rc(e);return t}var DE,BN,rc,FE=w(()=>{DE=[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",We("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",We("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",We("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",We("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",We("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",We("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",We("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",We("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",We("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",We("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",We("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",We("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),Ve("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),Ve("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),Ve("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),Ve("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),Ve("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),Ve("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",We("linked-branch creation has no REST mutation")),Ve("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),Ve("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),Ve("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),Ve("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),Ve("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),Ve("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",We("GitHub exposes no REST ready-for-review mutation")),Ve("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),Ve("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],BN=new Map(DE.map(e=>[e.key,e]));rc=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Pp(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});function ME(e){return e instanceof ls}function nc(e=process.env){let t=e[Lp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function us(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new ls(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 Po(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??nc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=jN(n);try{return await us(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw ME(l)?l:o.aborted&&i?.aborted!==!0?new ls(c,r,{cause:l}):l}}}function jN(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var Lp,ls,Gp=w(()=>{Lp="RED_GITHUB_REQUEST_TIMEOUT_MS",ls=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Lp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function jE(e){if(e===!0)return"on";if(typeof e!="string")return sc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":sc}function Dp(e){return(e??sc)==="on"}function Np(e=process.env){return jE(e[BE])}var sc,BE,$p=w(()=>{sc="off",BE="RED_GITHUB_BUDGET_GATE"});import{execFile as qN}from"node:child_process";import{renameSync as UN,rmSync as HN,statSync as WN,writeFileSync as VN}from"node:fs";import{readdir as w5,readFile as JN,rename as KN,rm as zN,stat as YN,writeFile as QN}from"node:fs/promises";import{promisify as XN}from"node:util";function UE(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 HE(e){return e.code==="ENOENT"}async function ds(e,t,r,n=YN){let s=UE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!HE(i))throw i}return o+t>s}function WE(e,t,r,n=WN){let s=UE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!HE(i))throw i}return o+t>s}async function t$(e,t,r){try{return await ZN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function r$(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function n$(e){if(e.length===0)return"";let t=qe({trailer:!1});return e.map(r=>t.push(r)).join("")}async function s$(e,t){let r=`${e}.retaining-${process.pid}`;try{await QN(r,t,{encoding:"utf8",mode:384}),await KN(r,e)}finally{await zN(r,{force:!0})}}function VE(e,t){let r=`${e}.retaining-${process.pid}`;try{VN(r,t,{encoding:"utf8",mode:384}),UN(r,e)}finally{HN(r,{force:!0})}}async function ps(e,t,r={}){r$(t);let n=r.timeoutMs??e$;if(await(r.runTq??t$)(e,t,n))return"tq";let o=await JN(e,"utf8"),i=o.endsWith(`
53
+ `}var lE=w(()=>{"use strict";Xt();un();Ro();iE()});import{createWriteStream as oN,mkdirSync as iN}from"node:fs";import{readFile as aN,rm as cN}from"node:fs/promises";import{dirname as lN}from"node:path";import{join as uE}from"node:path";function dE(e,t,r){return{stdout:new Ja(r,uE(e,`${t}.stdout.bin`)),stderr:new Ja(r,uE(e,`${t}.stderr.bin`))}}function uN(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!dN(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function dN(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Ja,pE=w(()=>{"use strict";Ja=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...uN(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 aN(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{iN(lN(this.spoolPath),{recursive:!0}),t=oN(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 cN(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as pN,readFileSync as B6}from"node:fs";import{dirname as fN,join as mN}from"node:path";function Sp(e,t){let r=e;for(let n=0;n<16;n++){let s=mN(r,t);if(pN(s))return s;let o=fN(r);if(o===r)break;r=o}return null}function hN(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function Oo(e,t){let r=[];for(let n of e.split(`
54
+ `)){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 hN(l)}}var Ka=w(()=>{});var kE={};se(kE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>cs,GH_ETAG_CACHE_DIR_NAME:()=>gE,LEGACY_GH_ETAG_CACHE_FILE:()=>yE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>bE,enforceGhEtagCacheCeiling:()=>xp,ghEtagCacheDir:()=>za,ghEtagEntryPath:()=>Ya,isCacheEntry:()=>Xa,legacyGhEtagCachePaths:()=>Tp,migrateLegacyGhEtagCache:()=>Ap,readGhEtagCache:()=>Qa,readGhEtagEntry:()=>kN,resetGhEtagCacheMigrationMemo:()=>RN,sweepGhEtagCache:()=>Op,writeGhEtagEntry:()=>SN});import{existsSync as gN}from"node:fs";import{mkdir as yN,readdir as bN,rename as wN,rm as fE,stat as mE,unlink as hE,writeFile as _N}from"node:fs/promises";import{dirname as EN,join as as}from"node:path";function za(e){return as(ce(e),gE)}function Ya(e,t){return as(za(e),`${ON(t)}.toon`)}function Tp(e){let t=ce(e);return[as(t,yE),as(t,bE)]}async function kN(e,t){await Ap(e);try{let r=EE(await Oa(Ya(e,t)));return Xa(r)?r:void 0}catch{return}}async function SN(e,t,r={}){return await _E(Ya(e,t.key),t),await xp(e,r.maxBytes??cs)}async function xp(e,t=cs){let r=await TN(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 hE(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function Op(e,t={}){let r=await Ap(e,{force:!0}),n=await vN(e);return{...await xp(e,t.maxBytes??cs),reclaimedTmp:n,migratedEntries:r}}async function Qa(e){for(let t of Tp(e))try{let r=EE(await Oa(t));if(AN(r))return r}catch{}return{version:1,entries:{}}}async function Ap(e,t={}){if(!t.force&&Rp.has(e))return 0;Rp.add(e);let r=Tp(e).filter(o=>gN(o));if(r.length===0)return 0;let n=await Qa(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Xa(i))continue;let a=Ya(e,o);await xN(a)||(await _E(a,{...i,key:o}),s+=1)}for(let o of r)await fE(o,{force:!0});return s}function RN(){Rp.clear()}async function vN(e){let t=0;for(let r of[ce(e),za(e)])for(let n of await wE(r))if(n.endsWith(".tmp"))try{await hE(as(r,n)),t+=1}catch{}return t}async function TN(e){let t=za(e),r=[];for(let n of await wE(t)){if(!n.endsWith(".toon"))continue;let s=as(t,n);try{let o=await mE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function wE(e){try{return await bN(e)}catch{return[]}}async function xN(e){try{return await mE(e),!0}catch{return!1}}async function _E(e,t){await yN(EN(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await _N(r,`${M(t)}
55
+ `,{encoding:"utf8",mode:384}),await wN(r,e)}catch(n){throw await fE(r,{force:!0}),n}}function ON(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function EE(e){try{return JSON.parse(e)}catch{return z(e)}}function AN(e){return vp(e)&&e.version===1&&vp(e.entries)&&Object.values(e.entries).every(Xa)}function Xa(e){return vp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function vp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var gE,yE,bE,cs,Rp,Za=w(()=>{"use strict";et();J();we();gE="gh-etag",yE="gh-etag-cache.toon",bE="gh-etag-cache.json",cs=4*1024*1024;Rp=new Set});var Pp={};se(Pp,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ar,DEFAULT_RSP_IDLE_MS:()=>rc,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>xE,DEFAULT_RSP_STORE_PATH:()=>Cp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>tc,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>RE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>vE,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>ec,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>TE,resolveRspConfig:()=>De});import{existsSync as CN,readFileSync as PN}from"node:fs";import{join as IN,resolve as SE}from"node:path";function De(e,t,r){let n=Sp(SE(e),IN(".red","config.yaml")),s=n?PN(n,"utf8"):"",o=Oo(s,"rsp.enabled")==="true",i=Oo(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"),ec),p=Ge(_e(s,"rsp.telemetryByteBudget")??_e(s,"rsp.byteBudget"),tc),f=Ge(Nt(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??_e(s,"rsp.telemetryDrainIntervalMs"),RE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),vE),g=LN(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),rc,TE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ar),y=GN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),xE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),cs),_={maxOverheadMs:Ge(Nt(t.RSP_MAX_OVERHEAD_MS)??_e(s,"rsp.overhead.maxOverheadMs"),ka),maxSelfStateBytes:Ge(Nt(t.RSP_MAX_SELF_STATE_BYTES)??_e(s,"rsp.overhead.maxSelfStateBytes"),Sa),netLossFloorBytes:Ge(_e(s,"rsp.overhead.netLossFloorBytes"),Ra),consecutiveBreaches:Ge(Nt(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??_e(s,"rsp.overhead.consecutiveBreaches"),va),cooldownMs:Ge(_e(s,"rsp.overhead.cooldownMs"),Ta)},k=ot(e).rootDir,S=r??t.RSP_STORE_URI??`file://${Iw(SE(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:_}}function _e(e,t){let r=Oo(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 LN(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function GN(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 ar,Cp,_t,Et,kt,ec,tc,RE,vE,rc,TE,xE,He=w(()=>{"use strict";Ka();et();$a();we();Za();ar=8*1024,Cp=Cw,_t=7,Et=6,kt=64*1024*1024,ec=90,tc=4*1024*1024,RE=3e4,vE=2e3,rc=5*6e4,TE=5e3,xE=0});function OE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(sr(),Xn)),o=s(e,De(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var AE=w(()=>{"use strict";He()});import{spawn as DN}from"node:child_process";async function PE(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??OE(n),c=dE(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 Ua(s,o,y.verdict.status).catch(()=>{}),l(y))},f=DN(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 _=await es(f,r.terminateGraceMs),k=await CE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:_.cleaned,survivors:_.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${IE(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 _=y===0;CE(y,E,c,a,t).then(k=>p({verdict:{status:_?"success":"failure",exitCode:_?0:1,summary:_?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function Ao(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:NN(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=Ip(u),await ss(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await Ua(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 $N(f,i,m)}return await Ua(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${IE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Ip(l)}:{attempts:c}}}}async function CE(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 Ip(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function NN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Ip(e)}:{}})}async function $N(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 IE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var LE=w(()=>{"use strict";pE();AE();un();ir();Ro()});var GE={};se(GE,{readGhConditionalJson:()=>ct,readGhEtagCache:()=>Qa,sweepGhEtagCache:()=>Op});import{execFileSync as FN}from"node:child_process";async function ct(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=jN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??BN(e.path),path:e.path,actor:MN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=De(t,r),c=bo(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 MN(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 jN(e){let t="";try{t=String(FN("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 Co=w(()=>{"use strict";He();sr();Za()});function DE(e){return e==="single-object"?"rest":"graphql"}function NE(e,t){return e==="stable-poll"?"rest":DE(t)}function We(e){return{none:e}}function de(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??NE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function Ve(e,t,r,n,s){let o=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...o,why:n}}function FE(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 Lp(e){let t=FE(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 ME(e){return qN.get(Lp(e))??null}function Gp(e){let t=ME(e);if(!t)throw new nc(e);return t}var $E,qN,nc,BE=w(()=>{$E=[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",We("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",We("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",We("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",We("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",We("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",We("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",We("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",We("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",We("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",We("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",We("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",We("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),Ve("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),Ve("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),Ve("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),Ve("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),Ve("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),Ve("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",We("linked-branch creation has no REST mutation")),Ve("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),Ve("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),Ve("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),Ve("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),Ve("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),Ve("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",We("GitHub exposes no REST ready-for-review mutation")),Ve("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),Ve("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],qN=new Map($E.map(e=>[e.key,e]));nc=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=Lp(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 jE(e){return e instanceof ls}function sc(e=process.env){let t=e[Dp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function us(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new ls(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 Po(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??sc();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=UN(n);try{return await us(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw jE(l)?l:o.aborted&&i?.aborted!==!0?new ls(c,r,{cause:l}):l}}}function UN(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 Dp,ls,Np=w(()=>{Dp="RED_GITHUB_REQUEST_TIMEOUT_MS",ls=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Dp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function UE(e){if(e===!0)return"on";if(typeof e!="string")return oc;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":oc}function $p(e){return(e??oc)==="on"}function Fp(e=process.env){return UE(e[qE])}var oc,qE,Mp=w(()=>{oc="off",qE="RED_GITHUB_BUDGET_GATE"});import{execFile as HN}from"node:child_process";import{renameSync as WN,rmSync as VN,statSync as JN,writeFileSync as KN}from"node:fs";import{readdir as k5,readFile as zN,rename as YN,rm as QN,stat as XN,writeFile as ZN}from"node:fs/promises";import{promisify as e$}from"node:util";function WE(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 VE(e){return e.code==="ENOENT"}async function ds(e,t,r,n=XN){let s=WE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!VE(i))throw i}return o+t>s}function JE(e,t,r,n=JN){let s=WE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!VE(i))throw i}return o+t>s}async function n$(e,t,r){try{return await t$("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function s$(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function o$(e){if(e.length===0)return"";let t=qe({trailer:!1});return e.map(r=>t.push(r)).join("")}async function i$(e,t){let r=`${e}.retaining-${process.pid}`;try{await ZN(r,t,{encoding:"utf8",mode:384}),await YN(r,e)}finally{await QN(r,{force:!0})}}function KE(e,t){let r=`${e}.retaining-${process.pid}`;try{KN(r,t,{encoding:"utf8",mode:384}),WN(r,e)}finally{VN(r,{force:!0})}}async function ps(e,t,r={}){s$(t);let n=r.timeoutMs??r$;if(await(r.runTq??n$)(e,t,n))return"tq";let o=await zN(e,"utf8"),i=o.endsWith(`
55
56
  `)?o:o.slice(0,o.lastIndexOf(`
56
- `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await s$(e,n$(c)),"js"}var ZN,Ne,e$,k5,$t,qE,St,mn=w(()=>{J();ZN=XN(qN),Ne=.5,e$=5e3,k5=256*1024*1024,$t=1024*1024,qE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*$t,maxAgeMs:qE,targetRatio:Ne},"github-spend":{maxBytes:8*$t,targetRatio:Ne},"github-balance":{maxBytes:64*1024,targetRatio:Ne},"github-balance-history":{maxBytes:2*$t,targetRatio:Ne},"castle-singleton-events":{maxBytes:2*$t,targetRatio:Ne},"redskilled-events":{maxBytes:4*$t,targetRatio:Ne},"rsp-telemetry-spool":{maxBytes:8*$t,targetRatio:Ne},"rsp-telemetry-corrections":{maxBytes:$t,targetRatio:Ne},"death-attributions":{maxBytes:$t,maxAgeMs:qE,targetRatio:Ne},"worker-log":{maxLines:5e4,targetRatio:Ne},"worker-liveness":{maxBytes:$t,targetRatio:Ne},"castle-history":{maxLines:1e4,targetRatio:Ne},countersigns:{maxBytes:4*$t,targetRatio:Ne}}});import{appendFile as o$,mkdir as i$,readFile as JE}from"node:fs/promises";import{dirname as a$}from"node:path";function Mp(e){let t=e.now??(()=>new Date().toISOString()),r=St["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=d$(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=qe().push(f$(i)),c=s.then(async()=>{await i$(a$(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await ds(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 c$(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await ps(e.path,l$(d,l,p))}await o$(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Fp(o.from,"report window start"),a=Fp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await p$(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 c$(e){try{let t=await JE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(KE(t)&&t.code==="ENOENT")return[];throw t}}function l$(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=u$(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function u$(e){return e.map(t=>qe({trailer:!1}).push(t)).join("")}function d$(e,t,r,n,s){if(Fp(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,...s===void 0?{}:{identity:s},pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function p$(e){let t;try{t=await JE(e,"utf8")}catch(o){if(KE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
57
+ `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await i$(e,o$(c)),"js"}var t$,Ne,r$,v5,$t,HE,St,mn=w(()=>{J();t$=e$(HN),Ne=.5,r$=5e3,v5=256*1024*1024,$t=1024*1024,HE=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*$t,maxAgeMs:HE,targetRatio:Ne},"github-spend":{maxBytes:8*$t,targetRatio:Ne},"github-balance":{maxBytes:64*1024,targetRatio:Ne},"github-balance-history":{maxBytes:2*$t,targetRatio:Ne},"castle-singleton-events":{maxBytes:2*$t,targetRatio:Ne},"redskilled-events":{maxBytes:4*$t,targetRatio:Ne},"rsp-telemetry-spool":{maxBytes:8*$t,targetRatio:Ne},"rsp-telemetry-corrections":{maxBytes:$t,targetRatio:Ne},"death-attributions":{maxBytes:$t,maxAgeMs:HE,targetRatio:Ne},"worker-log":{maxLines:5e4,targetRatio:Ne},"worker-liveness":{maxBytes:$t,targetRatio:Ne},"castle-history":{maxLines:1e4,targetRatio:Ne},countersigns:{maxBytes:4*$t,targetRatio:Ne}}});import{appendFile as a$,mkdir as c$,readFile as zE}from"node:fs/promises";import{dirname as l$}from"node:path";function jp(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=f$(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=qe().push(h$(i)),c=s.then(async()=>{await c$(l$(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await ds(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 u$(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await ps(e.path,d$(d,l,p))}await a$(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=Bp(o.from,"report window start"),a=Bp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await m$(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 u$(e){try{let t=await zE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(YE(t)&&t.code==="ENOENT")return[];throw t}}function d$(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=p$(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function p$(e){return e.map(t=>qe({trailer:!1}).push(t)).join("")}function f$(e,t,r,n,s){if(Bp(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 m$(e){let t;try{t=await zE(e,"utf8")}catch(o){if(YE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
57
58
  `);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
59
  ${a}
59
- `)[0]}catch{n+=1,o+=1;continue}if(!m$(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function f$(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 m$(e){return h$(e)?e.version===1&&typeof e.observed_at=="string"&&Number.isFinite(Date.parse(e.observed_at))&&typeof e.operation_key=="string"&&e.operation_key!==""&&(e.pool==="rest"||e.pool==="graphql"||e.pool==="search")&&(e.actor===void 0||typeof e.actor=="string"&&e.actor!=="")&&typeof e.cost=="number"&&Number.isSafeInteger(e.cost)&&e.cost>=0:!1}function Fp(e,t){let r=Date.parse(e);if(!Number.isFinite(r))throw new Error(`${t} must be an ISO-8601 instant; received ${JSON.stringify(e)}`);return r}function h$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KE(e){return e instanceof Error&&"code"in e}var zE=w(()=>{mn();J()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var cr=w(()=>{});function w$(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function _$(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function XE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{_$(t[n])?n in e?r[n]=XE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function YE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function jp(e,t,r){if(typeof t=="string"){let[s,o]=t.split(" ");r=Object.assign(o?{method:s,url:o}:{url:s},r)}else r=Object.assign({},t);r.headers=w$(r.headers),YE(r),YE(r.headers);let n=XE(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 E$(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 S$(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function R$(e){let t=e.match(k$);return t?t.map(S$).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 ZE(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function ms(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Io(e,t,r){return t=e==="+"||e==="#"?ZE(t):ms(t),r?ms(r)+"="+t:t}function fs(e){return e!=null}function Bp(e){return e===";"||e==="&"||e==="?"}function v$(e,t,r,n){var s=e[r],o=[];if(fs(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(Io(t,s,Bp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(fs).forEach(function(i){o.push(Io(t,i,Bp(t)?r:""))}):Object.keys(s).forEach(function(i){fs(s[i])&&o.push(Io(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(fs).forEach(function(a){i.push(Io(t,a))}):Object.keys(s).forEach(function(a){fs(s[a])&&(i.push(ms(a)),i.push(Io(t,s[a].toString())))}),Bp(t)?o.push(ms(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?fs(s)&&o.push(ms(r)):s===""&&(t==="&"||t==="?")?o.push(ms(r)+"="):s===""&&o.push("");return o}function T$(e){return{expand:x$.bind(null,e)}}function x$(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(v$(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var i=",";return a==="?"?i="&":a!=="#"&&(i=a),(c.length!==0?a:"")+c.join(i)}else return c.join(",")}else return ZE(o)}),e==="/"?e:e.replace(/\/$/,"")}function ek(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=R$(r);r=T$(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=E$(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 O$(e,t,r){return ek(jp(e,t,r))}function tk(e,t){let r=jp(e,t),n=O$.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:tk.bind(null,r),merge:jp.bind(null,r),parse:ek})}var g$,y$,b$,k$,rk,nk=w(()=>{cr();g$="0.0.0-development",y$=`octokit-endpoint.js/${g$} ${Ae()}`,b$={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":y$},mediaType:{format:""}};k$=/\{[^{}}]+\}/g;rk=tk(null,b$)});var uk=I(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.format=I$;oc.parse=L$;var A$=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,ok=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,C$=/[\\"]/g,P$=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,ik=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function I$(e){let{type:t,parameters:r}=e;if(!t||!P$.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!ok.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${$$(r[s])}`}return n}function L$(e,t){let r=e.length,n=Up(e,0,r),s=n;n=qp(e,n,r);let o=Hp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new ik:N$(e,n,r);return{type:i,parameters:a}}var ak=32,ck=9,lk=59,G$=61,sk=34,D$=92;function N$(e,t,r){let n=new ik;e:for(;t<r;){t=Up(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===lk)continue e;if(o===G$){let i=Hp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Up(e,t+1,r),t<r&&e.charCodeAt(t)===sk){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===sk){t=qp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===D$&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=qp(e,t,r),n[a]===void 0){let l=Hp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function qp(e,t,r){for(;t<r&&e.charCodeAt(t)!==lk;)t++;return t}function Up(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==ak&&n!==ck)break;t++}return t}function Hp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==ak&&n!==ck)break;r--}return r}function $$(e){if(ok.test(e))return e;if(A$.test(e))return`"${e.replace(C$,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var F$,ac,Er,Wp,hk,dk,pk,Vp,Jp,M$,gk,ic,B$,j$,q$,yk,fk,U$,H$,W$,mk,bk,wk=w(()=>{F$=/^-?\d+$/,ac=/^-?\d+n+$/,Er=JSON.stringify,Wp=JSON.parse,hk=/^-?\d+n$/,dk=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,pk=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Vp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Jp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",M$=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,g,b)=>(b!==null&&typeof b=="object"&&typeof b.toJSON=="function"&&(b=b.toJSON(g)),typeof b=="string"&&ac.test(b)?b+"n":typeof b=="bigint"?"rawJSON"in JSON?JSON.rawJSON(b.toString()):b.toString()+"n":(s&&(b=t.call(m,g,b)),b!==null&&typeof b=="object"&&(b instanceof Number||b instanceof String||b instanceof Boolean)&&(b=b.valueOf()),b)),a=i({"":e},"",e);if(Vp(a))return;let c=a===null||typeof a!="object",l=Jp(a);if(c||l)return Er(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let g=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
60
- `+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(Vp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",_=Jp(y);if(E&&!_){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(Er(y)),m.first=!1,m.index++}}else g=!0;else{for(;m.index<m.keys.length;){let y=m.keys[m.index++];if(o&&!o.has(y))continue;let _=m.val[y],k=i(m.val,y,_);if(Vp(k))continue;m.first||u.push(","),n?u.push(`
61
- `+n.repeat(d)+Er(y)+": "):u.push(Er(y)+":");let S=k!==null&&typeof k=="object",T=Jp(k);if(S&&!T){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:y,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(Er(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(g=!0)}g&&(d--,!m.first&&n&&u.push(`
62
- `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},gk=(e,t,r)=>{try{return"rawJSON"in JSON?Er(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?Er(e,(a,c)=>typeof c=="string"&&ac.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(dk,"$1$2$3").replace(pk,"$1$2$3"):Er(e,t,r)}catch(n){if(n instanceof RangeError){let s=M$(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(dk,"$1$2$3").replace(pk,"$1$2$3")}throw n}},ic=new Map,B$=()=>{let e=JSON.parse.toString();if(ic.has(e))return ic.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return ic.set(e,t),t}catch{return ic.set(e,!1),!1}},j$=(e,t,r,n)=>typeof t=="string"&&hk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&ac.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,q$=(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&&F$.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),yk=Number.MAX_SAFE_INTEGER.toString(),fk=yk.length,U$=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,H$=/^"-?\d+n+"$/,W$=(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"&&(hk.test(a)?a=BigInt(a.slice(0,-1)):ac.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},mk=e=>e.replace(U$,(t,r,n,s)=>{let o=t[0]==='"';if(o&&H$.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<fk||r.length===fk&&r<=yk);return o||a||c?t:'"'+t+'n"'}),bk=(e,t)=>{if(!e)return Wp(e,t);try{if(B$())return q$(e,t);let r=mk(e);return Wp(r,(n,s,o)=>j$(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=mk(e),s=Wp(n);return W$(s,t)}throw r}}});var Rt,cc=w(()=>{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 K$(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 Ek(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=K$(e.body)||Array.isArray(e.body)?gk(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([d,p])=>[d,String(p)])),i;try{i=await t(e.url,{method:e.method,body:s,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(d){let p="Unknown Error";if(d instanceof Error){if(d.name==="AbortError")throw d.status=500,d;p=d.message,d.name==="TypeError"&&"cause"in d&&(d.cause instanceof Error?p=d.cause.message:typeof d.cause=="string"&&(p=d.cause))}let f=new Rt(p,500,{request:e});throw f.cause=d,f}let a=i.status,c=i.url,l={};for(let[d,p]of i.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.link.match(/<([^<>]+)>; rel="deprecation"/),p=d&&d.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Rt(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Kp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Kp(i),new Rt(Y$(u.data),a,{response:u,request:e});return u.data=n?await Kp(i):i.body,u}async function Kp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(_k);let r=(0,kk.parse)(t);if(z$(r)){let n="";try{return n=await e.text(),bk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(_k):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function z$(e){return e.type==="application/json"||e.type==="application/scim+json"}function Y$(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if(typeof e=="object"&&e!==null&&"message"in e){let t=e,r="documentation_url"in t?` - ${t.documentation_url}`:"";return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(n=>JSON.stringify(n)).join(", ")}${r}`:`${t.message}${r}`}return`Unknown error: ${JSON.stringify(e)}`}function zp(e,t){let r=e.defaults(t);return Object.assign(function(s,o){let i=r.merge(s,o);if(!i.request||!i.request.hook)return Ek(r.parse(i));let a=(c,l)=>Ek(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:zp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:zp.bind(null,r)})}var kk,V$,J$,_k,te,$e=w(()=>{nk();cr();kk=oa(uk(),1);wk();cc();V$="10.0.13",J$={headers:{"user-agent":`octokit-request.js/${V$} ${Ae()}`}};_k=()=>"";te=zp(rk,J$);});function Q$(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?"https://github.com":/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace("api.",""):t.baseUrl.replace("/api/v3","")}async function lc(e,t,r){let n={baseUrl:Q$(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 Tk(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=Sk(s,r.data.expires_in),n.refreshTokenExpiresAt=Sk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function Sk(e,t){return new Date(e+t*1e3).toISOString()}async function xk(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),lc(t,"POST /login/device/code",r)}async function Yp(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,device_code:e.code,grant_type:"urn:ietf:params:oauth:grant-type:device_code"}),n={clientType:e.clientType,clientId:e.clientId,token:r.data.access_token,scopes:r.data.scope.split(/\s+/).filter(Boolean)};if("clientSecret"in e&&(n.clientSecret=e.clientSecret),e.clientType==="github-app"){if("refresh_token"in r.data){let s=new Date(r.headers.date).getTime();n.refreshToken=r.data.refresh_token,n.expiresAt=Rk(s,r.data.expires_in),n.refreshTokenExpiresAt=Rk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function Rk(e,t){return new Date(e+t*1e3).toISOString()}async function Ok(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 Ak(e){let t=e.request||te,r=await lc(t,"POST /login/oauth/access_token",{client_id:e.clientId,client_secret:e.clientSecret,grant_type:"refresh_token",refresh_token:e.refreshToken}),n=new Date(r.headers.date).getTime(),s={clientType:"github-app",clientId:e.clientId,clientSecret:e.clientSecret,token:r.data.access_token,refreshToken:r.data.refresh_token,expiresAt:vk(n,r.data.expires_in),refreshTokenExpiresAt:vk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function vk(e,t){return new Date(e+t*1e3).toISOString()}async function Ck(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 Pk(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 Ik(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var uc=w(()=>{cc();$e();$e();$e();$e();$e();$e();$e();$e();});async function Gk(e,t){let r=X$(e,t.auth);if(r)return r;let{data:n}=await xk({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Qp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function X$(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 Lk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Qp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Yp({...s,clientType:"oauth-app"}):await Yp({...s,clientType:"github-app"});return{type:"token",tokenType:"oauth",...o}}catch(s){if(!s.response)throw s;let o=s.response.data.error;if(o==="authorization_pending")return await Lk(n.interval),Qp(e,t,r,n);if(o==="slow_down")return await Lk(n.interval+7),Qp(e,t,r,n);throw s}}async function Z$(e,t){return Gk(e,{auth:t})}async function eF(e,t,r,n){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);let{token:o}=await Gk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Dk(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${tF} ${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(Z$.bind(null,s),{hook:eF.bind(null,s)})}var tF,Nk=w(()=>{cr();$e();uc();tF="0.0.0-development";});async function $k(e){if("code"in e.strategyOptions){let{authentication:t}=await Tk({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 Dk({clientType:e.clientType,clientId:e.clientId,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request})({type:"oauth"});return{clientSecret:e.clientSecret,...r}}if("token"in e.strategyOptions)return{type:"token",tokenType:"oauth",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions};throw new Error("[@octokit/auth-oauth-user] Invalid strategy options")}async function Xp(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await $k(e):await $k(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 Ak({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"?Ok:Ck;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"?Pk:Ik;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 Lo(e){return e&&rF.test(e)}async function nF(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(Lo(s.url)){let i=btoa(`${e.clientId}:${e.clientSecret}`);return s.headers.authorization=`basic ${i}`,t(s)}let{token:o}=e.clientType==="oauth-app"?await Xp({...e,request:t}):await Xp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function dc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Fk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(Xp.bind(null,i),{hook:nF.bind(null,i)})}var Fk,rF,pc=w(()=>{cr();$e();Nk();uc();uc();Fk="0.0.0-development";rF=/\/applications\/[^/]+\/(token|grant)s?/;dc.VERSION=Fk;});async function sF(e,t){if(t.type==="oauth-app")return{type:"oauth-app",clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if("factory"in t){let{type:s,...o}={...t,...e};return t.factory(o)}let r={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType==="oauth-app"?await dc({...r,clientType:e.clientType}):await dc({...r,clientType:e.clientType}))()}async function oF(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"&&!Lo(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 Mk(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${iF} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(sF.bind(null,t),{hook:oF.bind(null,t)})}var iF,Bk=w(()=>{cr();$e();pc();pc();iF="0.0.0-development";});function fc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function qk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function Zp(e){let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0,s=e.length;n<s;n++)r[n]=e.charCodeAt(n);return t}function Uk(e){let t=e.trim().split(`
63
- `).slice(1,-1).join(""),r=atob(t);return Zp(r)}function Hk(e,t){return`${jk(e)}.${jk(t)}`}function Wk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return Vk(btoa(t))}function Vk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jk(e){return Vk(btoa(JSON.stringify(e)))}var ef=w(()=>{});import{subtle as tf}from"node:crypto";import{createPrivateKey as aF}from"node:crypto";function Jk(e){return fc(e)?aF(e).export({type:"pkcs8",format:"pem"}):e}var Kk=w(()=>{ef()});async function zk({privateKey:e,payload:t}){let r=Jk(e);if(fc(r))throw new Error("[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats");if(qk(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=Uk(r),i=await tf.importKey("pkcs8",o,n,!1,["sign"]),a=Hk(s,t),c=Zp(a),l=await tf.sign(n.name,i,c),u=Wk(l);return`${a}.${u}`}var Yk=w(()=>{ef();Kk()});async function rf({id:e,privateKey:t,now:r=Math.floor(Date.now()/1e3)}){let n=t.replace(/\\n/g,`
64
- `),s=r-30,o=s+60*10,a=await zk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Qk=w(()=>{Yk()});function cF(e,t){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid max value");if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid ttl value")}var mc,Xk=w(()=>{mc=class{constructor(t=1e3,r=0){cF(t,r),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=t,this.ttl=r}bumpLru(t){if(this.last===t)return;let r=this.last,n=t.next,s=t.prev;this.first===t&&(this.first=n),t.next=null,t.prev=r,r.next=t,s!==null&&(s.next=n),n!==null&&(n.prev=s),this.last=t}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(t){let r=this.items[t];r!==void 0&&(delete this.items[t],this.size--,r.prev!==null&&(r.prev.next=r.next),r.next!==null&&(r.next.prev=r.prev),this.first===r&&(this.first=r.next),this.last===r&&(this.last=r.prev))}deleteMany(t){for(var r=0;r<t.length;r++)this.delete(t[r])}evict(){if(this.size>0){let t=this.first;delete this.items[t.key],--this.size===0?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}}expiresAt(t){let r=this.items[t];if(r!==void 0)return r.expiry}get(t){let r=this.items[t];if(r!==void 0){if(this.ttl>0&&r.expiry<=Date.now()){this.delete(t);return}return this.bumpLru(r),r.value}}getMany(t){let r=new Array(t.length);for(var n=0;n<t.length;n++)r[n]=this.get(t[n]);return r}keys(){return Object.keys(this.items)}set(t,r){let n=this.items[t];if(n!==void 0){n.value=r,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let s={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:r};this.items[t]=s,++this.size===1?this.first=s:this.last.next=s,this.last=s}}});async function gc({appId:e,privateKey:t,timeDifference:r,createJwt:n}){try{if(n){let{jwt:i,expiresAt:a}=await n(e,r);return{type:"app",token:i,appId:e,expiresAt:a}}let s={id:e,privateKey:t};r&&Object.assign(s,{now:Math.floor(Date.now()/1e3)+r});let o=await rf(s);return{type:"app",token:o.token,appId:o.appId,expiresAt:new Date(o.expiration*1e3).toISOString()}}catch(s){throw t==="-----BEGIN RSA PRIVATE KEY-----"?new Error("The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"):s}}function lF(){return new mc(15e3,1e3*60*59)}async function uF(e,t){let r=nf(t),n=await e.get(r);if(!n)return;let[s,o,i,a,c,l]=n.split("|"),u=t.permissions||c.split(/,/).reduce((d,p)=>(/!$/.test(p)?d[p.slice(0,-1)]="write":d[p]="read",d),{});return{token:s,createdAt:o,expiresAt:i,permissions:u,repositoryIds:t.repositoryIds,repositoryNames:t.repositoryNames,singleFileName:l,repositorySelection:a}}async function dF(e,t,r){let n=nf(t),s=t.permissions?"":Object.keys(r.permissions).map(i=>`${i}${r.permissions[i]==="write"?"!":""}`).join(","),o=[r.token,r.createdAt,r.expiresAt,r.repositorySelection,s,r.singleFileName].join("|");await e.set(n,o)}function nf({installationId:e,permissions:t={},repositoryIds:r=[],repositoryNames:n=[]}){let s=Object.keys(t).sort().map(a=>t[a]==="read"?a:`${a}!`).join(","),o=r.sort().join(","),i=n.join(",");return[e,o,i,s].filter(Boolean).join("|")}function Zk({installationId:e,token:t,createdAt:r,expiresAt:n,repositorySelection:s,permissions:o,repositoryIds:i,repositoryNames:a,singleFileName:c}){return Object.assign({type:"token",tokenType:"installation",token:t,installationId:e,permissions:o,createdAt:r,expiresAt:n,repositorySelection:s},i?{repositoryIds:i}:null,a?{repositoryNames:a}:null,c?{singleFileName:c}:null)}async function eS(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 pF(e,{...t,installationId:n},s)}function pF(e,t,r){let n=nf(t);if(hc.has(n))return hc.get(n);let s=fF(e,t,r).finally(()=>hc.delete(n));return hc.set(n,s),s}async function fF(e,t,r){if(!t.refresh){let E=await uF(e.cache,t);if(E){let{token:_,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return Zk({installationId:t.installationId,token:_,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await gc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await dF(e.cache,t,b);let y={installationId:t.installationId,token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};return u&&Object.assign(y,{singleFileName:u}),Zk(y)}async function mF(e,t){switch(t.type){case"app":return gc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return eS(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}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 bF(e){return!!e&&yF.test(e.split("?")[0])}function _F(e){return!(e.message.match(/'Expiration time' claim \('exp'\) is too far in the future/)||e.message.match(/'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/)||e.message.match(/'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/))}async function EF(e,t,r,n){let s=t.endpoint.merge(r,n),o=s.url;if(/\/login\/oauth\/access_token$/.test(o))return t(s);if(bF(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await gc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(_F(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await gc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Lo(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await eS(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,tS(e,t,s,a)}async function tS(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>=wF)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)),tS(e,t,r,n,s)}}function rS(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/${kF} ${Ae()}`}}),n=Object.assign({request:r,cache:lF()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Mk({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(mF.bind(null,n),{hook:EF.bind(null,n)})}var hc,hF,yF,wF,kF,nS=w(()=>{cr();$e();Bk();Qk();Xk();pc();hc=new Map;hF=["/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"];yF=gF(hF);wF=5*1e3;kF="8.3.0";});var af=I((sf,of)=>{(function(e,t){typeof sf=="object"&&typeof of<"u"?of.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(sf,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=$[v])!=null?x:A;return h},n=function($,R,h={}){var v,x;for(v in $)x=$[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,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,_;E=10,b=5,_=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=_.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,V,D;V=i,D=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new V}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,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=D,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Me,Be,Kt,Fn,mr;mr=s,It=c,Kt=L,Be=U,Fn=Jt,Me=function(){class ${constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=Jy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Kt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Be(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",...Fn.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 $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var zs=Me,Qr,Ys,My;My=s,Ys=c,Qr=function(){class ${constructor(h={}){this.options=h,My.load(this.options,this.defaults,this),this.Events=new Ys(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var AP=Qr,CP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),PP=t(me),By,jy,qu,Uu,qy,Hu,Uy,Hy,Wy,Wu,Lt,Vy=[].splice;Hu=10,jy=5,Lt=s,Uy=p,Uu=k,qy=O,Hy=CP,qu=c,Wy=Q,Wu=H,By=function(){class ${constructor(h={},...v){var x,A;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(h,v),Lt.load(h,this.instanceDefaults,this),this._queues=new Uy(Hu),this._scheduled={},this._states=new Wy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new qu(this),this._submitLock=new Wu("submit",this.Promise),this._registerLock=new Wu("register",this.Promise),A=Lt.load(h,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return x=Lt.load(h,this.redisStoreDefaults,{}),new Hy(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new qy(this,A,x);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(h,v){if(!(h!=null&&typeof h=="object"&&v.length===0))throw new $.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(h){return this._store.__publish__(h)}disconnect(h=!0){return this._store.__disconnect__(h)}chain(h){return this._limiter=h,this}queued(h){return this._queues.queued(h)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(h){return this._states.jobStatus(h)}jobs(h){return this._states.statusJobs(h)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(h=1){return this._store.__check__(h)}_clearGlobalState(h){return this._scheduled[h]!=null?(clearTimeout(this._scheduled[h].expiration),delete this._scheduled[h],!0):!1}async _free(h,v,x,A){var P,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 Qs;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?(N.shift(),Qs=this.empty(),Qs&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",Qs),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:Hu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new $.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,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===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===$.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===$.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),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 $.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]=Vy.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=Vy.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(Qs,LP){return x(...Re,function(...Ky){return(Ky[0]!=null?LP:Qs)(Ky)})}),A=new Uu(be,h,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),A.promise.then(function(Re){return typeof v=="function"?v(...Re):void 0}).catch(function(Re){return Array.isArray(Re)?typeof v=="function"?v(...Re):void 0:typeof v=="function"?v(Re):void 0}),this._receive(A)}schedule(...h){var v,x,A;return typeof h[0]=="function"?([A,...h]=h,x={}):[x,A,...h]=h,v=new Uu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return $.default=$,$.Events=qu,$.version=$.prototype.version=PP.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=zs,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=U,$.Batcher=$.prototype.Batcher=AP,$.prototype.jobDefaults={priority:jy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var Jy=By,IP=Jy;return IP})});function RF(e){return e.request!==void 0}async function sS(e,t,r,n){if(!RF(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 vF(e,t,r,n){let s=new oS.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(TF.bind(null,e,t,r),n)}async function TF(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 sS(e,t,o,n)}return s}function cf(e,t){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},t.retry),n={retry:{retryRequest:(s,o,i)=>(s.request.request=Object.assign({},s.request.request,{retries:o,retryAfter:i}),s)}};return r.enabled&&(e.hook.error("request",sS.bind(null,r,n)),e.hook.wrap("request",vF.bind(null,r,n))),n}var oS,SF,iS=w(()=>{oS=oa(af(),1);cc();SF="0.0.0-development";cf.VERSION=SF});import{readFileSync as xF}from"node:fs";function lf(e){try{return xF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var yc=w(()=>{});function AF(e,t,r){return e.retryLimiter.schedule(CF,e,t,r)}async function CF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=PF(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),l=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(l.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(l,uf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,uf),i&&await e.search.key(e.id).schedule(l,uf);let u=(s?e.auth:e.global).key(e.id).schedule(l,t,r);if(a){let d=await u;if(d.data.errors!=null&&d.data.errors.some(p=>p.type==="RATE_LIMITED"))throw Object.assign(new Error("GraphQL Rate Limit Exceeded"),{response:d,data:d.data})}return u}function PF(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 LF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function bc(e,t){let{enabled:r=!0,Bottleneck:n=cS.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:lS,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
60
+ `)[0]}catch{n+=1,o+=1;continue}if(!g$(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function h$(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 g$(e){return y$(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 Bp(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 y$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function YE(e){return e instanceof Error&&"code"in e}var QE=w(()=>{mn();J()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var cr=w(()=>{});function E$(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function k$(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 ek(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{k$(t[n])?n in e?r[n]=ek(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function XE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Up(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=E$(r.headers),XE(r),XE(r.headers);let n=ek(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 S$(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 v$(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function T$(e){let t=e.match(R$);return t?t.map(v$).reduce((r,n)=>r.concat(n),[]):[]}function ZE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function tk(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 ms(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Io(e,t,r){return t=e==="+"||e==="#"?tk(t):ms(t),r?ms(r)+"="+t:t}function fs(e){return e!=null}function qp(e){return e===";"||e==="&"||e==="?"}function x$(e,t,r,n){var s=e[r],o=[];if(fs(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(Io(t,s,qp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(fs).forEach(function(i){o.push(Io(t,i,qp(t)?r:""))}):Object.keys(s).forEach(function(i){fs(s[i])&&o.push(Io(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(fs).forEach(function(a){i.push(Io(t,a))}):Object.keys(s).forEach(function(a){fs(s[a])&&(i.push(ms(a)),i.push(Io(t,s[a].toString())))}),qp(t)?o.push(ms(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?fs(s)&&o.push(ms(r)):s===""&&(t==="&"||t==="?")?o.push(ms(r)+"="):s===""&&o.push("");return o}function O$(e){return{expand:A$.bind(null,e)}}function A$(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(x$(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 tk(o)}),e==="/"?e:e.replace(/\/$/,"")}function rk(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=ZE(e,["method","baseUrl","url","headers","request","mediaType"]),i=T$(r);r=O$(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=ZE(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=S$(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 C$(e,t,r){return rk(Up(e,t,r))}function nk(e,t){let r=Up(e,t),n=C$.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:nk.bind(null,r),merge:Up.bind(null,r),parse:rk})}var b$,w$,_$,R$,sk,ok=w(()=>{cr();b$="0.0.0-development",w$=`octokit-endpoint.js/${b$} ${Ae()}`,_$={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":w$},mediaType:{format:""}};R$=/\{[^{}}]+\}/g;sk=nk(null,_$)});var pk=I(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.format=G$;ic.parse=D$;var P$=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,ak=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,I$=/[\\"]/g,L$=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,ck=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function G$(e){let{type:t,parameters:r}=e;if(!t||!L$.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!ak.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${M$(r[s])}`}return n}function D$(e,t){let r=e.length,n=Wp(e,0,r),s=n;n=Hp(e,n,r);let o=Vp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new ck:F$(e,n,r);return{type:i,parameters:a}}var lk=32,uk=9,dk=59,N$=61,ik=34,$$=92;function F$(e,t,r){let n=new ck;e:for(;t<r;){t=Wp(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===dk)continue e;if(o===N$){let i=Vp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Wp(e,t+1,r),t<r&&e.charCodeAt(t)===ik){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===ik){t=Hp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===$$&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Hp(e,t,r),n[a]===void 0){let l=Vp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Hp(e,t,r){for(;t<r&&e.charCodeAt(t)!==dk;)t++;return t}function Wp(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==lk&&n!==uk)break;t++}return t}function Vp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==lk&&n!==uk)break;r--}return r}function M$(e){if(ak.test(e))return e;if(P$.test(e))return`"${e.replace(I$,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var B$,cc,Er,Jp,yk,fk,mk,Kp,zp,j$,bk,ac,q$,U$,H$,wk,hk,W$,V$,J$,gk,_k,Ek=w(()=>{B$=/^-?\d+$/,cc=/^-?\d+n+$/,Er=JSON.stringify,Jp=JSON.parse,yk=/^-?\d+n$/,fk=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,mk=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Kp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",zp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",j$=(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"&&cc.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(Kp(a))return;let c=a===null||typeof a!="object",l=zp(a);if(c||l)return Er(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let g=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
61
+ `+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(Kp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",_=zp(y);if(E&&!_){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(Er(y)),m.first=!1,m.index++}}else g=!0;else{for(;m.index<m.keys.length;){let y=m.keys[m.index++];if(o&&!o.has(y))continue;let _=m.val[y],k=i(m.val,y,_);if(Kp(k))continue;m.first||u.push(","),n?u.push(`
62
+ `+n.repeat(d)+Er(y)+": "):u.push(Er(y)+":");let S=k!==null&&typeof k=="object",T=zp(k);if(S&&!T){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:y,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(Er(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(g=!0)}g&&(d--,!m.first&&n&&u.push(`
63
+ `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},bk=(e,t,r)=>{try{return"rawJSON"in JSON?Er(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?Er(e,(a,c)=>typeof c=="string"&&cc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(fk,"$1$2$3").replace(mk,"$1$2$3"):Er(e,t,r)}catch(n){if(n instanceof RangeError){let s=j$(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(fk,"$1$2$3").replace(mk,"$1$2$3")}throw n}},ac=new Map,q$=()=>{let e=JSON.parse.toString();if(ac.has(e))return ac.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return ac.set(e,t),t}catch{return ac.set(e,!1),!1}},U$=(e,t,r,n)=>typeof t=="string"&&yk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&cc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,H$=(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&&B$.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),wk=Number.MAX_SAFE_INTEGER.toString(),hk=wk.length,W$=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,V$=/^"-?\d+n+"$/,J$=(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"&&(yk.test(a)?a=BigInt(a.slice(0,-1)):cc.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[""]},gk=e=>e.replace(W$,(t,r,n,s)=>{let o=t[0]==='"';if(o&&V$.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<hk||r.length===hk&&r<=wk);return o||a||c?t:'"'+t+'n"'}),_k=(e,t)=>{if(!e)return Jp(e,t);try{if(q$())return H$(e,t);let r=gk(e);return Jp(r,(n,s,o)=>U$(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=gk(e),s=Jp(n);return J$(s,t)}throw r}}});var Rt,lc=w(()=>{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 Y$(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 Sk(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=Y$(e.body)||Array.isArray(e.body)?bk(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 Yp(i),new Rt("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Yp(i),new Rt(X$(u.data),a,{response:u,request:e});return u.data=n?await Yp(i):i.body,u}async function Yp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(kk);let r=(0,Rk.parse)(t);if(Q$(r)){let n="";try{return n=await e.text(),_k(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(kk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function Q$(e){return e.type==="application/json"||e.type==="application/scim+json"}function X$(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 Sk(r.parse(i));let a=(c,l)=>Sk(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 Rk,K$,z$,kk,te,$e=w(()=>{ok();cr();Rk=oa(pk(),1);Ek();lc();K$="10.0.13",z$={headers:{"user-agent":`octokit-request.js/${K$} ${Ae()}`}};kk=()=>"";te=Qp(sk,z$);});function Z$(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 uc(e,t,r){let n={baseUrl:Z$(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 Ok(e){let t=e.request||te,r=await uc(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=vk(s,r.data.expires_in),n.refreshTokenExpiresAt=vk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function vk(e,t){return new Date(e+t*1e3).toISOString()}async function Ak(e){let t=e.request||te,r={client_id:e.clientId};return"scopes"in e&&Array.isArray(e.scopes)&&(r.scope=e.scopes.join(" ")),uc(t,"POST /login/device/code",r)}async function Xp(e){let t=e.request||te,r=await uc(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=Tk(s,r.data.expires_in),n.refreshTokenExpiresAt=Tk(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function Tk(e,t){return new Date(e+t*1e3).toISOString()}async function Ck(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 Pk(e){let t=e.request||te,r=await uc(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:xk(n,r.data.expires_in),refreshTokenExpiresAt:xk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function xk(e,t){return new Date(e+t*1e3).toISOString()}async function Ik(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 Lk(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 Gk(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 dc=w(()=>{lc();$e();$e();$e();$e();$e();$e();$e();$e();});async function Nk(e,t){let r=eF(e,t.auth);if(r)return r;let{data:n}=await Ak({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(n);let s=await Zp(t.request||e.request,e.clientId,e.clientType,n);return e.authentication=s,s}function eF(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 Dk(e){await new Promise(t=>setTimeout(t,e*1e3))}async function Zp(e,t,r,n){try{let s={clientId:t,request:e,code:n.device_code},{authentication:o}=r==="oauth-app"?await Xp({...s,clientType:"oauth-app"}):await Xp({...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 Dk(n.interval),Zp(e,t,r,n);if(o==="slow_down")return await Dk(n.interval+7),Zp(e,t,r,n);throw s}}async function tF(e,t){return Nk(e,{auth:t})}async function rF(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 Nk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function $k(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${nF} ${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(tF.bind(null,s),{hook:rF.bind(null,s)})}var nF,Fk=w(()=>{cr();$e();dc();nF="0.0.0-development";});async function Mk(e){if("code"in e.strategyOptions){let{authentication:t}=await Ok({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 $k({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 ef(e,t={}){if(e.authentication||(e.authentication=e.clientType==="oauth-app"?await Mk(e):await Mk(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 Pk({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"?Ck:Ik;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"?Lk:Gk;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 Lo(e){return e&&sF.test(e)}async function oF(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(Lo(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 ef({...e,request:t}):await ef({...e,request:t});return s.headers.authorization="token "+o,t(s)}function pc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Bk} ${Ae()}`}}),onTokenCreated:s,...o}){let i=Object.assign({clientType:r,clientId:e,clientSecret:t,onTokenCreated:s,strategyOptions:o,request:n});return Object.assign(ef.bind(null,i),{hook:oF.bind(null,i)})}var Bk,sF,fc=w(()=>{cr();$e();Fk();dc();dc();Bk="0.0.0-development";sF=/\/applications\/[^/]+\/(token|grant)s?/;pc.VERSION=Bk;});async function iF(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 pc({...r,clientType:e.clientType}):await pc({...r,clientType:e.clientType}))()}async function aF(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"&&!Lo(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 jk(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${cF} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(iF.bind(null,t),{hook:aF.bind(null,t)})}var cF,qk=w(()=>{cr();$e();fc();fc();cF="0.0.0-development";});function mc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Hk(e){return e.includes("-----BEGIN OPENSSH PRIVATE KEY-----")}function tf(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 Wk(e){let t=e.trim().split(`
64
+ `).slice(1,-1).join(""),r=atob(t);return tf(r)}function Vk(e,t){return`${Uk(e)}.${Uk(t)}`}function Jk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return Kk(btoa(t))}function Kk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Uk(e){return Kk(btoa(JSON.stringify(e)))}var rf=w(()=>{});import{subtle as nf}from"node:crypto";import{createPrivateKey as lF}from"node:crypto";function zk(e){return mc(e)?lF(e).export({type:"pkcs8",format:"pem"}):e}var Yk=w(()=>{rf()});async function Qk({privateKey:e,payload:t}){let r=zk(e);if(mc(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(Hk(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=Wk(r),i=await nf.importKey("pkcs8",o,n,!1,["sign"]),a=Vk(s,t),c=tf(a),l=await nf.sign(n.name,i,c),u=Jk(l);return`${a}.${u}`}var Xk=w(()=>{rf();Yk()});async function sf({id:e,privateKey:t,now:r=Math.floor(Date.now()/1e3)}){let n=t.replace(/\\n/g,`
65
+ `),s=r-30,o=s+60*10,a=await Qk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Zk=w(()=>{Xk()});function uF(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 hc,eS=w(()=>{hc=class{constructor(t=1e3,r=0){uF(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 yc({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 sf(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 dF(){return new hc(15e3,1e3*60*59)}async function pF(e,t){let r=of(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 fF(e,t,r){let n=of(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 of({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 tS({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 rS(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 mF(e,{...t,installationId:n},s)}function mF(e,t,r){let n=of(t);if(gc.has(n))return gc.get(n);let s=hF(e,t,r).finally(()=>gc.delete(n));return gc.set(n,s),s}async function hF(e,t,r){if(!t.refresh){let E=await pF(e.cache,t);if(E){let{token:_,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return tS({installationId:t.installationId,token:_,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await yc(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 fF(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}),tS(y)}async function gF(e,t){switch(t.type){case"app":return yc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return rS(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function bF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function _F(e){return!!e&&wF.test(e.split("?")[0])}function kF(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(_F(o.replace(t.endpoint.DEFAULTS.baseUrl,""))){let{token:c}=await yc(e);s.headers.authorization=`bearer ${c}`;let l;try{l=await t(s)}catch(u){if(kF(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 yc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Lo(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await rS(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,nS(e,t,s,a)}async function nS(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>=EF)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)),nS(e,t,r,n,s)}}function sS(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:dF()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:jk({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(gF.bind(null,n),{hook:SF.bind(null,n)})}var gc,yF,wF,EF,RF,oS=w(()=>{cr();$e();qk();Zk();eS();fc();gc=new Map;yF=["/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"];wF=bF(yF);EF=5*1e3;RF="8.3.0";});var lf=I((af,cf)=>{(function(e,t){typeof af=="object"&&typeof cf<"u"?cf.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(af,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,R,h={}){var v,x,A;for(v in R)A=R[v],h[v]=(x=$[v])!=null?x:A;return h},n=function($,R,h={}){var v,x;for(v in $)x=$[v],R[v]!==void 0&&(h[v]=x);return h},s={load:r,overwrite:n},o;o=class{constructor(R,h){this.incr=R,this.decr=h,this._first=null,this._last=null,this.length=0}push(R){var h;this.length++,typeof this.incr=="function"&&this.incr(),h={value:R,prev:this._last,next:null},this._last!=null?(this._last.next=h,this._last=h):this._first=this._last=h}shift(){var R;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),R=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,R}first(){if(this._first!=null)return this._first.value}getArray(){var R,h,v;for(R=this._first,v=[];R!=null;)v.push((h=R,R=R.next,h.value));return v}forEachShift(R){var h;for(h=this.shift();h!=null;)R(h),h=this.shift()}debug(){var R,h,v,x,A;for(R=this._first,A=[];R!=null;)A.push((h=R,R=R.next,{value:h.value,prev:(v=h.prev)!=null?v.value:void 0,next:(x=h.next)!=null?x.value:void 0}));return A}};var i=o,a;a=class{constructor(R){if(this.instance=R,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(h,v)=>this._addListener(h,"many",v),this.instance.once=(h,v)=>this._addListener(h,"once",v),this.instance.removeAllListeners=(h=null)=>h!=null?delete this._events[h]:this._events={}}_addListener(R,h,v){var x;return(x=this._events)[R]==null&&(x[R]=[]),this._events[R].push({cb:v,status:h}),this.instance}listenerCount(R){return this._events[R]!=null?this._events[R].length:0}async trigger(R,...h){var v,x;try{return R!=="debug"&&this.trigger("debug",`Event triggered: ${R}`,h),this._events[R]==null?void 0:(this._events[R]=this._events[R].filter(function(A){return A.status!=="none"}),x=this._events[R].map(async A=>{var P,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,_;E=10,b=5,_=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=_.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,V,D;V=i,D=class{constructor(R,h){this.schedule=this.schedule.bind(this),this.name=R,this.Promise=h,this._running=0,this._queue=new V}isEmpty(){return this._queue.length===0}async _tryToRun(){var R,h,v,x,A,P,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=D,ye="2.19.5",ht={version:ye},me=Object.freeze({version:ye,default:ht}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),U=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Jt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Me,Be,Kt,Fn,mr;mr=s,It=c,Kt=L,Be=U,Fn=Jt,Me=function(){class ${constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=zy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Kt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Be(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",...Fn.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 $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var zs=Me,Qr,Ys,jy;jy=s,Ys=c,Qr=function(){class ${constructor(h={}){this.options=h,jy.load(this.options,this.defaults,this),this.Events=new Ys(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var PP=Qr,IP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),LP=t(me),qy,Uy,Uu,Hu,Hy,Wu,Wy,Vy,Jy,Vu,Lt,Ky=[].splice;Wu=10,Uy=5,Lt=s,Wy=p,Hu=k,Hy=O,Vy=IP,Uu=c,Jy=Q,Vu=H,qy=function(){class ${constructor(h={},...v){var x,A;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(h,v),Lt.load(h,this.instanceDefaults,this),this._queues=new Wy(Wu),this._scheduled={},this._states=new Jy(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new Uu(this),this._submitLock=new Vu("submit",this.Promise),this._registerLock=new Vu("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 Vy(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new Hy(this,A,x);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(h,v){if(!(h!=null&&typeof h=="object"&&v.length===0))throw new $.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(h){return this._store.__publish__(h)}disconnect(h=!0){return this._store.__disconnect__(h)}chain(h){return this._limiter=h,this}queued(h){return this._queues.queued(h)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(h){return this._states.jobStatus(h)}jobs(h){return this._states.statusJobs(h)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(h=1){return this._store.__check__(h)}_clearGlobalState(h){return this._scheduled[h]!=null?(clearTimeout(this._scheduled[h].expiration),delete this._scheduled[h],!0):!1}async _free(h,v,x,A){var P,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 Qs;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?(N.shift(),Qs=this.empty(),Qs&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",Qs),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:Wu-1,weight:0},()=>x(1)),this._receive=function(A){return A._reject(new $.prototype.BottleneckError(h.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),v}async _addToQueue(h){var v,x,A,P,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===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):be===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):be===$.prototype.strategy.OVERFLOW?h:void 0,Z?.doDrop(),Z==null||be===$.prototype.strategy.OVERFLOW)?(Z==null&&h.doDrop(),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 $.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]=Ky.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=Ky.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(Qs,DP){return x(...Re,function(...Yy){return(Yy[0]!=null?DP:Qs)(Yy)})}),A=new Hu(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 Hu(A,h,x,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(v),v.promise}wrap(h){var v,x;return v=this.schedule.bind(this),x=function(...A){return v(h.bind(this),...A)},x.withOptions=function(A,...P){return v(A,h,...P)},x}async updateSettings(h={}){return await this._store.__updateSettings__(Lt.overwrite(h,this.storeDefaults)),Lt.overwrite(h,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(h=0){return this._store.__incrementReservoir__(h)}}return $.default=$,$.Events=Uu,$.version=$.prototype.version=LP.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=zs,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=U,$.Batcher=$.prototype.Batcher=PP,$.prototype.jobDefaults={priority:Uy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var zy=qy,GP=zy;return GP})});function TF(e){return e.request!==void 0}async function iS(e,t,r,n){if(!TF(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 xF(e,t,r,n){let s=new aS.default;return s.on("failed",function(o,i){let a=~~o.request.request?.retries,c=~~o.request.request?.retryAfter;if(n.request.retryCount=i.retryCount+1,a>i.retryCount)return c*e.retryAfterBaseValue}),s.schedule(OF.bind(null,e,t,r),n)}async function OF(e,t,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let o=new Rt(s.data.errors[0].message,500,{request:n,response:s});return iS(e,t,o,n)}return s}function uf(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",iS.bind(null,r,n)),e.hook.wrap("request",xF.bind(null,r,n))),n}var aS,vF,cS=w(()=>{aS=oa(lf(),1);lc();vF="0.0.0-development";uf.VERSION=vF});import{readFileSync as AF}from"node:fs";function df(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 bc=w(()=>{});function PF(e,t,r){return e.retryLimiter.schedule(IF,e,t,r)}async function IF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=LF(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,pf),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,pf),i&&await e.search.key(e.id).schedule(l,pf);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 LF(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 DF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function wc(e,t){let{enabled:r=!0,Bottleneck:n=uS.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:dS,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
66
  You must pass the onSecondaryRateLimit and onRateLimit error handlers.
66
67
  See https://octokit.github.io/rest.js/#throttling
67
68
 
@@ -71,77 +72,77 @@ ${a}
71
72
  onRateLimit: (retryAfter, options) => {/* ... */}
72
73
  }
73
74
  })
74
- `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&GF(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(),AF(c,d,p))),{}}var cS,OF,uf,IF,aS,lS,vt,GF,uS=w(()=>{cS=oa(af(),1),OF="0.0.0-development",uf=()=>Promise.resolve();IF=["/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"];aS=LF(IF),lS=aS.test.bind(aS),vt={},GF=function(e,t){vt.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),vt.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),vt.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),vt.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),vt.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};bc.VERSION=OF;bc.triggersNotification=lS});function wc(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce((s,o)=>wc.bind(null,e,o,s,n),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}var dS=w(()=>{});function pS(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 fS=w(()=>{});function mS(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 hS=w(()=>{});function bS(e,t,r){let n=yS(mS,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]=yS(pS,null).apply(null,o)})}function DF(){let e=Symbol("Singular"),t={registry:{}},r=wc.bind(null,t,e);return bS(r,t,e),r}function NF(){let e={registry:{}},t=wc.bind(null,e);return bS(t,e),t}var gS,yS,wS,_S=w(()=>{dS();fS();hS();gS=Function.bind,yS=gS.bind(gS);wS={Singular:DF,Collection:NF}});function FF(e){return`Request failed due to following response errors:
75
+ `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&NF(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 uS,CF,pf,GF,lS,dS,vt,NF,pS=w(()=>{uS=oa(lf(),1),CF="0.0.0-development",pf=()=>Promise.resolve();GF=["/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"];lS=DF(GF),dS=lS.test.bind(lS),vt={},NF=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})};wc.VERSION=CF;wc.triggersNotification=dS});function _c(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)=>_c.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 fS=w(()=>{});function mS(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 hS=w(()=>{});function gS(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 yS=w(()=>{});function _S(e,t,r){let n=wS(gS,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]=wS(mS,null).apply(null,o)})}function $F(){let e=Symbol("Singular"),t={registry:{}},r=_c.bind(null,t,e);return _S(r,t,e),r}function FF(){let e={registry:{}},t=_c.bind(null,e);return _S(t,e),t}var bS,wS,ES,kS=w(()=>{fS();hS();yS();bS=Function.bind,wS=bS.bind(bS);ES={Singular:$F,Collection:FF}});function BF(e){return`Request failed due to following response errors:
75
76
  `+e.errors.map(t=>` - ${t.message}`).join(`
76
- `)}function qF(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(jF.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)=>BF.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 ES.test(o)&&(s.url=o.replace(ES,"/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 MF(s,a,i.data)}return i.data.data})}function df(e,t){let r=e.defaults(t);return Object.assign((s,o)=>qF(r,s,o),{defaults:df.bind(null,r),endpoint:r.endpoint})}function kS(e){return df(e,{method:"POST",url:"/graphql"})}var $F,MF,BF,jF,ES,QQ,SS=w(()=>{$e();cr();$F="0.0.0-development";MF=class extends Error{constructor(e,t,r){super(FF(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},BF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],jF=["query","method","url"],ES=/\/api\/v3\/?$/;QQ=df(te,{headers:{"user-agent":`octokit-graphql.js/${$F} ${Ae()}`},method:"POST",url:"/graphql"});});async function HF(e){let t=UF(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 WF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function VF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=WF(e),t(s)}var pf,RS,vS,UF,TS,xS=w(()=>{pf="(?:[a-zA-Z0-9_-]+)",RS="\\.",vS=new RegExp(`^${pf}${RS}${pf}${RS}${pf}$`),UF=vS.test.bind(vS);TS=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(HF.bind(null,t),{hook:VF.bind(null,t)})}});var ff,OS=w(()=>{ff="7.0.7"});function zF(e={}){return typeof e.debug!="function"&&(e.debug=AS),typeof e.info!="function"&&(e.info=AS),typeof e.warn!="function"&&(e.warn=JF),typeof e.error!="function"&&(e.error=KF),e}var AS,JF,KF,CS,_c,PS=w(()=>{cr();_S();$e();SS();xS();OS();AS=()=>{},JF=console.warn.bind(console),KF=console.error.bind(console);CS=`octokit-core.js/${ff} ${Ae()}`,_c=class{static VERSION=ff;static defaults(t){return class extends this{constructor(...n){let s=n[0]||{};if(typeof t=="function"){super(t(s));return}super(Object.assign({},t,s,s.userAgent&&t.userAgent?{userAgent:`${s.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let r=this.plugins;return class extends this{static plugins=r.concat(t.filter(s=>!r.includes(s)))}}constructor(t={}){let r=new wS.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} ${CS}`:CS,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=kS(this.request).defaults(n),this.log=zF(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=TS(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 IS,LS=w(()=>{IS="6.0.0"});function mf(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),s=e.request.endpoint.parse(r),o=s.url.replace(r.baseUrl,"");return t(r).then(i=>{let a=i.headers["x-github-request-id"];return e.log.info(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i}).catch(i=>{let a=i.response?.headers["x-github-request-id"]||"UNKNOWN";throw e.log.error(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i})})}var GS=w(()=>{LS();mf.VERSION=IS});function QF(e){if(!e.data)return{...e,data:[]};if(!(("total_count"in e.data||"total_commits"in e.data)&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,s=e.data.total_count,o=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let i=Object.keys(e.data)[0],a=e.data[i];return e.data=a,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=s,e.data.total_commits=o,e}function hf(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),s=typeof t=="function"?t:e.request,o=n.method,i=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:o,url:a,headers:i}),l=QF(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 DS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),NS(e,[],hf(e,t,r)[Symbol.asyncIterator](),n)}function NS(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:NS(e,t,r,n)})}function gf(e){return{paginate:Object.assign(DS.bind(null,e),{iterator:hf.bind(null,e)})}}var YF,mX,$S=w(()=>{YF="0.0.0-development";mX=Object.assign(DS,{iterator:hf});gf.VERSION=YF});var yf,FS=w(()=>{yf="17.0.0"});var XF,MS,BS=w(()=>{XF={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"]}},MS=XF});function bf(e){let t={};for(let r of hn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},ZF);return t}function eM(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 hn,ZF,jS=w(()=>{BS();hn=new Map;for(let[e,t]of Object.entries(MS))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);hn.has(e)||hn.set(e,new Map),hn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}ZF={has({scope:e},t){return hn.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[...hn.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=hn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=eM(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function tM(e){return{rest:bf(e)}}function wf(e){let t=bf(e);return{...t,rest:t}}var qS=w(()=>{FS();jS();tM.VERSION=yf;wf.VERSION=yf});var US,HS=w(()=>{US="22.0.1"});var WS,VS=w(()=>{PS();GS();$S();qS();HS();WS=_c.plugin(mf,wf,gf).defaults({userAgent:`octokit-rest.js/${US}`})});function rM(e){return`r${e}`}function JS(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=rM(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
+ `)}function HF(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(UF.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)=>qF.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 SS.test(o)&&(s.url=o.replace(SS,"/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 jF(s,a,i.data)}return i.data.data})}function ff(e,t){let r=e.defaults(t);return Object.assign((s,o)=>HF(r,s,o),{defaults:ff.bind(null,r),endpoint:r.endpoint})}function RS(e){return ff(e,{method:"POST",url:"/graphql"})}var MF,jF,qF,UF,SS,eX,vS=w(()=>{$e();cr();MF="0.0.0-development";jF=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},qF=["method","baseUrl","url","headers","request","query","mediaType","operationName"],UF=["query","method","url"],SS=/\/api\/v3\/?$/;eX=ff(te,{headers:{"user-agent":`octokit-graphql.js/${MF} ${Ae()}`},method:"POST",url:"/graphql"});});async function VF(e){let t=WF(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 JF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function KF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=JF(e),t(s)}var mf,TS,xS,WF,OS,AS=w(()=>{mf="(?:[a-zA-Z0-9_-]+)",TS="\\.",xS=new RegExp(`^${mf}${TS}${mf}${TS}${mf}$`),WF=xS.test.bind(xS);OS=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(VF.bind(null,t),{hook:KF.bind(null,t)})}});var hf,CS=w(()=>{hf="7.0.7"});function QF(e={}){return typeof e.debug!="function"&&(e.debug=PS),typeof e.info!="function"&&(e.info=PS),typeof e.warn!="function"&&(e.warn=zF),typeof e.error!="function"&&(e.error=YF),e}var PS,zF,YF,IS,Ec,LS=w(()=>{cr();kS();$e();vS();AS();CS();PS=()=>{},zF=console.warn.bind(console),YF=console.error.bind(console);IS=`octokit-core.js/${hf} ${Ae()}`,Ec=class{static VERSION=hf;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 ES.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} ${IS}`:IS,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=RS(this.request).defaults(n),this.log=QF(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=OS(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 GS,DS=w(()=>{GS="6.0.0"});function gf(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 NS=w(()=>{DS();gf.VERSION=GS});function ZF(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 yf(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=ZF(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 $S(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),FS(e,[],yf(e,t,r)[Symbol.asyncIterator](),n)}function FS(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:FS(e,t,r,n)})}function bf(e){return{paginate:Object.assign($S.bind(null,e),{iterator:yf.bind(null,e)})}}var XF,yX,MS=w(()=>{XF="0.0.0-development";yX=Object.assign($S,{iterator:yf});bf.VERSION=XF});var wf,BS=w(()=>{wf="17.0.0"});var eM,jS,qS=w(()=>{eM={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"]}},jS=eM});function _f(e){let t={};for(let r of hn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},tM);return t}function rM(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 hn,tM,US=w(()=>{qS();hn=new Map;for(let[e,t]of Object.entries(jS))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);hn.has(e)||hn.set(e,new Map),hn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}tM={has({scope:e},t){return hn.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[...hn.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=hn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=rM(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function nM(e){return{rest:_f(e)}}function Ef(e){let t=_f(e);return{...t,rest:t}}var HS=w(()=>{BS();US();nM.VERSION=wf;Ef.VERSION=wf});var WS,VS=w(()=>{WS="22.0.1"});var JS,KS=w(()=>{LS();NS();MS();HS();VS();JS=Ec.plugin(gf,Ef,bf).defaults({userAgent:`octokit-rest.js/${WS}`})});function sM(e){return`r${e}`}function zS(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=sM(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
78
  `)})," rateLimit { cost }","}"].join(`
78
- `),aliases:r}}function KS(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 zS=w(()=>{});function kc(e,t,r=Date.now()){if(e instanceof kr)return e.fact;let n=oM(e),s=Ec(n,"retry-after"),o=e instanceof Error?e.message:iM(e,"message")??"";if(aM(e,"status")===429||s!==void 0||/secondary rate|abuse detection/i.test(o)){let d=s===void 0?YS(n):sM(s,r);return d===null?null:{kind:"secondary-throttled",pool:"secondary",retry_at:d,evidence:s===void 0?"x-ratelimit-reset":"retry-after",message:`GitHub secondary throttling is active; retry after ${d}`}}if(Ec(n,"x-ratelimit-remaining")!=="0")return null;let c=YS(n);if(c===null)return null;let l=Ec(n,"x-ratelimit-resource");return nM(l==="graphql"||l==="search"?l:l==="core"?"rest":t,c,"x-ratelimit-reset")}function nM(e,t,r){return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:r,message:`REST primary quota is exhausted; retry after ${t}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:r,message:`GraphQL primary quota is exhausted; retry after ${t}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:r,message:`GitHub Search quota is exhausted; retry after ${t}`}}function sM(e,t){let r=Number(e);if(Number.isFinite(r)&&r>=0&&Number.isFinite(t))return new Date(t+r*1e3).toISOString();let n=Date.parse(e);return Number.isFinite(n)?new Date(n).toISOString():null}function YS(e){let t=Number(Ec(e,"x-ratelimit-reset"));return Number.isFinite(t)&&t>=0?new Date(t*1e3).toISOString():null}function oM(e){return!Go(e)||!Go(e.response)||!Go(e.response.headers)?{}:e.response.headers}function Ec(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function iM(e,t){return Go(e)&&typeof e[t]=="string"?e[t]:void 0}function aM(e,t){return Go(e)&&typeof e[t]=="number"?e[t]:void 0}function Go(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var kr,_f=w(()=>{kr=class extends Error{fact;retryAt;constructor(t,r){super(t.message,r),this.name="GithubBackpressureError",this.fact=t,this.retryAt=t.retry_at}}});function ZS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function eR(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function Rc(e){let t=e.etags??ZS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??nc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Dp(e.budgetGate??Np()),i=Po({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:rS,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:lf(e.app)}},c=new cM({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 us("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(_,k)=>{if(!o)return;let S=_?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new Sr(k,S.reset_at)},d=async _=>{let k=t.get(_.cacheKey),S=o?(await l())?.pools[_.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return QS(k,_.operation.budget,S.reset_at,r());throw new Sr(_.operation.budget,S.reset_at)}let T={..._.parameters??{}},C=Rr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(_.route,T),G=O.headers,q=Sc(G,"etag");return q!==void 0&&t.set(_.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:_.operation,cost:1,actor:_.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Do(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(_.cacheKey)} without a held answer to reuse`,{cause:O});let G=tR(O),q={...k.headers,...G},Q=Sc(q,"etag")??k.etag;return t.set(_.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:_.operation,cost:0,actor:_.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Do(O)===401)throw new hs({cause:O});if(No(O)){if(k!==void 0){let G=kc(O,_.operation.budget,Date.parse(r()));if(G===null)throw O;return QS(k,_.operation.budget,G.retry_at,r())}throw XS(_.operation.budget,O,Date.parse(r()))}throw O}},p=new Map,f=!1,m=async(_,k)=>{let S=_.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});_.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){_.reject(C)}},g=async(_,k)=>{try{let S=JS(_.map(({input:q})=>q)),T=await c.graphql(S.query),C=KS(S,T),O=dM(T),G=_[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:pM(_.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let V=_[Q];q.value===null?V.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):V.resolve({data:V.input.project?V.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Do(S)===401?new hs({cause:S}):S;_.forEach(C=>C.reject(T))}},b=async()=>{try{let _=await l(),k=eR(_);f=!1;let S=[...p.values()];p.clear(),await y(S,_,k)}catch(_){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(_))}},y=async(_,k,S)=>{await Promise.all(_.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,V=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),D=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||D)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!V&&o){let me=new Sr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:_=>new Promise((k,S)=>{let T=`${_.kind}:${_.rail??"default"}`,C=p.get(T)??[];C.push({input:_,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(_){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({..._,cacheKey:`${_.cacheKey}:page:${O}`,parameters:{..._.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(_.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!lM(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(_,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(_,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Do(T)===401?new hs({cause:T}):No(T)?XS(S?.operation.budget??"graphql",T,Date.parse(r())):T}}}}function QS(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 XS(e,t,r){let n=kc(t,e,r);if(n?.kind==="secondary-throttled")return new kr(n,{cause:t});if(n!==null)return new Sr(n.pool,n.retry_at,"GitHub refused the live request",{cause:t});throw t}function lM(e){let t=Sc(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function No(e){if(e instanceof kr)return!0;let t=Do(e),r=tR(e);return t===429||t===403&&Sc(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function uM(e,t,r){let n=r?` (${r})`:"";return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:"balance",message:`REST primary quota (rest pool) is exhausted; retry after ${t}${n}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GraphQL primary quota (graphql pool) is exhausted; retry after ${t}${n}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GitHub Search quota is exhausted; retry after ${t}${n}`}}function Do(e){if(Rr(e))return typeof e.status=="number"?e.status:void 0}function tR(e){return!Rr(e)||!Rr(e.response)||!Rr(e.response.headers)?{}:e.response.headers}function Sc(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Rr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dM(e){let t=Rr(e)?e:{},r=Rr(t.data)?t.data:t,s=(Rr(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function pM(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 cM,hs,Sr,rR=w(()=>{nS();iS();yc();uS();VS();zS();Gp();$p();_f();cM=WS.plugin(cf,bc);hs=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},Sr=class extends kr{pool;resetAt;constructor(t,r,n,s){let o=uM(t,r,n);super(o,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function iR(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...vr],detail:t??"no balance has been asked for yet, so none is known"}}function aR(e,t){let r=sR(e),n=sR(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of vr){let c=oR[a],l=n[c],u=fM(a,c,l);s[a]=u,u==null&&o.push(a)}let i=vr.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${vr.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Rf(e){try{let t=await e.transport();return aR(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...iR(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function cR(e){let t=null;for(let r of vr){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function vf(e,t){let r=cR(e);if(r==null)return nR(Sf).every_ms;let n=nR(r.fraction);if(r.remaining>0)return n.every_ms;let s=mM(t.now,r.reset_at);return s==null?n.every_ms:Math.max(kf,Math.min(n.every_ms,s))}function nR(e){for(let t of Tc)if(e<=t.at_or_below_fraction)return t;return Tc[Tc.length-1]}function fM(e,t,r){if(!lR(r))return null;let n=vc(r.limit),s=vc(r.remaining),o=vc(r.used),i=vc(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function Tf(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Ef}`,{method:"GET",headers:{authorization:`bearer ${e.token}`,accept:"application/vnd.github+json"}});if(!n.ok)throw new Error(`the balance ask was refused with HTTP ${n.status}`);return await n.json()}}function mM(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function vc(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function sR(e){return lR(e)?e:{}}function lR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ef,oR,vr,kf,Sf,Tc,qX,$o=w(()=>{Ef="rate_limit",oR={rest:"core",graphql:"graphql",search:"search"},vr=["rest","graphql","search"];kf=15e3,Sf=.15,Tc=[{at_or_below_fraction:0,every_ms:kf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Sf,every_ms:3e4,why:"inside the reserved band: the posture can change between two calls"},{at_or_below_fraction:.5,every_ms:12e4,why:"below half: tightening, because the band is now reachable inside one window"},{at_or_below_fraction:1,every_ms:6e5,why:"above half: rare, because nothing this balance decides is anywhere close"}],qX=60*6e4});var uR=w(()=>{J();mn();$o()});var dR=w(()=>{mn();J();J();$o()});var pR=w(()=>{});var fR=w(()=>{});var mR=w(()=>{});var hR=w(()=>{yc();$o()});var gR=w(()=>{J()});var xc=w(()=>{FE();Gp();$p();zE();rR();uR();dR();$o();pR();fR();mR();_f();yc();hR();gR()});import{join as wM}from"node:path";function Oc(e,t){let r=Tf({token:e,...t?{origin:t}:{},fetchImpl:Po({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await yR(o);let a=new Date(i).toISOString();return o=Rf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+vf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await yR(o)}}async function yR(e){try{return await us("balance ask",1e4,()=>e)}catch{return null}}function Ac(e){let t=Mp({path:wM(ce(e.rootDir),"github","spend.toonl")}),r=Rc({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return _M(r)}function _M(e){return{async read(t){let r=Ip(t.args);if(r.kind!=="read")return Fo(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Fo(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Fo(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=EM(r,t);if(n){let o=await e.singleObject({cacheKey:wR(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=SM(r,t);if(!o)return Fo(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:wR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:TM(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 No(n)?Fo(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:xM(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function EM(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=Mo(t.params,"owner")||r[1],s=Mo(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"?Ft(i)??{}:_R(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"?Ft(i)??{}:kM(i)}}function _R(e){let t=Ft(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:Ft(t.author)??{},labels:xf(t.labels).map(r=>({name:r.name}))}}function kM(e){let t=Ft(e)??{};return{..._R(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function SM(e,t){let r=Mo(t.params,"owner"),n=Mo(t.params,"repo");if(!r||!n)return null;let s=RM(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
+ `),aliases:r}}function YS(e,t){let r=t!==null&&typeof t=="object"?t:{},n=r.data??r,s=n!==null&&typeof n=="object"?n:{};return Object.entries(e.aliases).map(([o,i])=>{let a=s[o];if(a===null||typeof a!="object")return{read:i,value:null};let c=a.object;return{read:i,value:c!==null&&typeof c=="object"&&!Array.isArray(c)?c:null}})}var QS=w(()=>{});function Sc(e,t,r=Date.now()){if(e instanceof kr)return e.fact;let n=aM(e),s=kc(n,"retry-after"),o=e instanceof Error?e.message:cM(e,"message")??"";if(lM(e,"status")===429||s!==void 0||/secondary rate|abuse detection/i.test(o)){let d=s===void 0?XS(n):iM(s,r);return d===null?null:{kind:"secondary-throttled",pool:"secondary",retry_at:d,evidence:s===void 0?"x-ratelimit-reset":"retry-after",message:`GitHub secondary throttling is active; retry after ${d}`}}if(kc(n,"x-ratelimit-remaining")!=="0")return null;let c=XS(n);if(c===null)return null;let l=kc(n,"x-ratelimit-resource");return oM(l==="graphql"||l==="search"?l:l==="core"?"rest":t,c,"x-ratelimit-reset")}function oM(e,t,r){return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:r,message:`REST primary quota is exhausted; retry after ${t}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:r,message:`GraphQL primary quota is exhausted; retry after ${t}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:r,message:`GitHub Search quota is exhausted; retry after ${t}`}}function iM(e,t){let r=Number(e);if(Number.isFinite(r)&&r>=0&&Number.isFinite(t))return new Date(t+r*1e3).toISOString();let n=Date.parse(e);return Number.isFinite(n)?new Date(n).toISOString():null}function XS(e){let t=Number(kc(e,"x-ratelimit-reset"));return Number.isFinite(t)&&t>=0?new Date(t*1e3).toISOString():null}function aM(e){return!Go(e)||!Go(e.response)||!Go(e.response.headers)?{}:e.response.headers}function kc(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function cM(e,t){return Go(e)&&typeof e[t]=="string"?e[t]:void 0}function lM(e,t){return Go(e)&&typeof e[t]=="number"?e[t]:void 0}function Go(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var kr,kf=w(()=>{kr=class extends Error{fact;retryAt;constructor(t,r){super(t.message,r),this.name="GithubBackpressureError",this.fact=t,this.retryAt=t.retry_at}}});function tR(e=dM){let t=Math.max(1,Math.floor(e)),r=new Map;return{get:n=>{let s=r.get(n);return s!=null&&(r.delete(n),r.set(n,s)),s},set:(n,s)=>{for(r.delete(n),r.set(n,s);r.size>t;){let o=r.keys().next().value;if(o==null)break;r.delete(o)}}}}function rR(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 vc(e){let t=e.etags??tR(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??sc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=$p(e.budgetGate??Fp()),i=Po({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:sS,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:df(e.app)}},c=new uM({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 us("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(_,k)=>{if(!o)return;let S=_?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new Sr(k,S.reset_at)},d=async _=>{let k=t.get(_.cacheKey),S=o?(await l())?.pools[_.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return ZS(k,_.operation.budget,S.reset_at,r());throw new Sr(_.operation.budget,S.reset_at)}let T={..._.parameters??{}},C=Rr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(_.route,T),G=O.headers,q=Rc(G,"etag");return q!==void 0&&t.set(_.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:_.operation,cost:1,actor:_.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Do(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(_.cacheKey)} without a held answer to reuse`,{cause:O});let G=nR(O),q={...k.headers,...G},Q=Rc(q,"etag")??k.etag;return t.set(_.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:_.operation,cost:0,actor:_.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Do(O)===401)throw new hs({cause:O});if(No(O)){if(k!==void 0){let G=Sc(O,_.operation.budget,Date.parse(r()));if(G===null)throw O;return ZS(k,_.operation.budget,G.retry_at,r())}throw eR(_.operation.budget,O,Date.parse(r()))}throw O}},p=new Map,f=!1,m=async(_,k)=>{let S=_.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});_.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){_.reject(C)}},g=async(_,k)=>{try{let S=zS(_.map(({input:q})=>q)),T=await c.graphql(S.query),C=YS(S,T),O=mM(T),G=_[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:hM(_.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let V=_[Q];q.value===null?V.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):V.resolve({data:V.input.project?V.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Do(S)===401?new hs({cause:S}):S;_.forEach(C=>C.reject(T))}},b=async()=>{try{let _=await l(),k=rR(_);f=!1;let S=[...p.values()];p.clear(),await y(S,_,k)}catch(_){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(_))}},y=async(_,k,S)=>{await Promise.all(_.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,V=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),D=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||D)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!V&&o){let me=new Sr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:_=>new Promise((k,S)=>{let T=`${_.kind}:${_.rail??"default"}`,C=p.get(T)??[];C.push({input:_,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(_){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({..._,cacheKey:`${_.cacheKey}:page:${O}`,parameters:{..._.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(_.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!pM(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(_,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(_,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Do(T)===401?new hs({cause:T}):No(T)?eR(S?.operation.budget??"graphql",T,Date.parse(r())):T}}}}function ZS(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 eR(e,t,r){let n=Sc(t,e,r);if(n?.kind==="secondary-throttled")return new kr(n,{cause:t});if(n!==null)return new Sr(n.pool,n.retry_at,"GitHub refused the live request",{cause:t});throw t}function pM(e){let t=Rc(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function No(e){if(e instanceof kr)return!0;let t=Do(e),r=nR(e);return t===429||t===403&&Rc(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function fM(e,t,r){let n=r?` (${r})`:"";return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:"balance",message:`REST primary quota (rest pool) is exhausted; retry after ${t}${n}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GraphQL primary quota (graphql pool) is exhausted; retry after ${t}${n}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GitHub Search quota is exhausted; retry after ${t}${n}`}}function Do(e){if(Rr(e))return typeof e.status=="number"?e.status:void 0}function nR(e){return!Rr(e)||!Rr(e.response)||!Rr(e.response.headers)?{}:e.response.headers}function Rc(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function Rr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function mM(e){let t=Rr(e)?e:{},r=Rr(t.data)?t.data:t,s=(Rr(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function hM(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 uM,dM,hs,Sr,sR=w(()=>{oS();cS();bc();pS();KS();QS();Np();Mp();kf();uM=JS.plugin(uf,wc),dM=256;hs=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},Sr=class extends kr{pool;resetAt;constructor(t,r,n,s){let o=fM(t,r,n);super(o,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function cR(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...vr],detail:t??"no balance has been asked for yet, so none is known"}}function lR(e,t){let r=iR(e),n=iR(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of vr){let c=aR[a],l=n[c],u=gM(a,c,l);s[a]=u,u==null&&o.push(a)}let i=vr.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${vr.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Tf(e){try{let t=await e.transport();return lR(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...cR(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function uR(e){let t=null;for(let r of vr){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function xf(e,t){let r=uR(e);if(r==null)return oR(vf).every_ms;let n=oR(r.fraction);if(r.remaining>0)return n.every_ms;let s=yM(t.now,r.reset_at);return s==null?n.every_ms:Math.max(Rf,Math.min(n.every_ms,s))}function oR(e){for(let t of xc)if(e<=t.at_or_below_fraction)return t;return xc[xc.length-1]}function gM(e,t,r){if(!dR(r))return null;let n=Tc(r.limit),s=Tc(r.remaining),o=Tc(r.used),i=Tc(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 Of(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Sf}`,{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 yM(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 Tc(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function iR(e){return dR(e)?e:{}}function dR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Sf,aR,vr,Rf,vf,xc,WX,$o=w(()=>{Sf="rate_limit",aR={rest:"core",graphql:"graphql",search:"search"},vr=["rest","graphql","search"];Rf=15e3,vf=.15,xc=[{at_or_below_fraction:0,every_ms:Rf,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:vf,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"}],WX=60*6e4});var pR=w(()=>{J();mn();$o()});var fR=w(()=>{mn();J();J();$o()});var mR=w(()=>{});var hR=w(()=>{});var gR=w(()=>{});var yR=w(()=>{bc();$o()});var bR=w(()=>{J()});var Oc=w(()=>{BE();Np();Mp();QE();sR();pR();fR();$o();mR();hR();gR();kf();bc();yR();bR()});import{join as kM}from"node:path";function Ac(e,t){let r=Of({token:e,...t?{origin:t}:{},fetchImpl:Po({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await wR(o);let a=new Date(i).toISOString();return o=Tf({transport:r,now:a}).then(c=>(n=c,s=Date.now()+xf(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await wR(o)}}async function wR(e){try{return await us("balance ask",1e4,()=>e)}catch{return null}}function Cc(e){let t=jp({path:kM(ce(e.rootDir),"github","spend.toonl")}),r=vc({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 SM(r)}function SM(e){return{async read(t){let r=Gp(t.args);if(r.kind!=="read")return Fo(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Fo(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Fo(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=RM(r,t);if(n){let o=await e.singleObject({cacheKey:ER(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=TM(r,t);if(!o)return Fo(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:ER(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:AM(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 No(n)?Fo(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:CM(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function RM(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=Mo(t.params,"owner")||r[1],s=Mo(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"?Ft(i)??{}:kR(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"?Ft(i)??{}:vM(i)}}function kR(e){let t=Ft(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:Ft(t.author)??{},labels:Af(t.labels).map(r=>({name:r.name}))}}function vM(e){let t=Ft(e)??{};return{...kR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function TM(e,t){let r=Mo(t.params,"owner"),n=Mo(t.params,"repo");if(!r||!n)return null;let s=xM(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
80
  repository(owner: $owner, name: $repo) {
80
81
  issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
81
82
  nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
82
83
  }
83
84
  }
84
- }`,variables:{owner:r,repo:n,first:s,states:o,labels:vM(t.params,"labels")},decode:i=>bR(i,"issues").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,user:a.author,labels:xf(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
85
+ }`,variables:{owner:r,repo:n,first:s,states:o,labels:OM(t.params,"labels")},decode:i=>_R(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:Af(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
85
86
  repository(owner: $owner, name: $repo) {
86
87
  pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
87
88
  nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
88
89
  }
89
90
  }
90
- }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>bR(i,"pullRequests").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,draft:a.isDraft===!0,user:a.author,base:{ref:a.baseRefName},head:{ref:a.headRefName},labels:xf(a.labels)}))}:null}function bR(e,t){let r=Ft(e.repository),n=Ft(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Ft).filter(s=>s!==null):[]}function xf(e){let t=Ft(e);return Array.isArray(t?.nodes)?t.nodes.map(Ft).filter(r=>r!==null):[]}function Ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Mo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function RM(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function vM(e,t){let r=Mo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Fo(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 wR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function TM(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function xM(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var Of=w(()=>{"use strict";xc();et()});import{spawn as OM}from"node:child_process";async function Tr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=ot(t).rootDir;if(De(n,r).enabled&&!kR.has(n)){let s=await ct(e);if(!CM(s))return s;kR.add(n)}return await ct({...e,residentRead:async s=>await(await AM(n,r,e.signal)).read(s)})}async function AM(e,t,r){let n=ER.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await Af(["auth","token"],e,r??AbortSignal.timeout(6e4));if(a.status!==0)throw new Error(a.stderr||"rsp wait could not obtain a GitHub credential");s=a.stdout.trim()}if(!s)throw new Error("rsp wait could not obtain a GitHub credential");let o=String(t.GITHUB_API_URL??"").trim()||void 0,i=Ac({rootDir:e,token:s,balance:Oc(s,o),...o?{baseUrl:o}:{}});return ER.set(e,i),i}function CM(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function gn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await SR(t,async r=>await Af(e,t.cwd,r)):await SR(t,async r=>{let n=await PM(e,t.cwd,r);return n||await Af(e,t.cwd,r)})}async function SR(e,t){if(e.signal.aborted)return{status:1,stdout:"",stderr:"wait cancelled"};let r=new AbortController,n=setTimeout(()=>r.abort(),e.timeoutMs),s=AbortSignal.any([e.signal,r.signal]);try{let o=await t(s);return r.signal.aborted?{status:1,stdout:"",stderr:`GitHub probe exceeded ${e.timeoutMs}ms`}:o}finally{clearTimeout(n)}}async function Af(e,t,r){return r.aborted?{status:1,stdout:"",stderr:"gh call cancelled"}:await new Promise(n=>{let s=!1,o=u=>{s||(s=!0,r.removeEventListener("abort",a),n(u))},i=OM("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ma(u).then(d=>Fa(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],l=[];i.stdout.on("data",u=>c.push(Buffer.from(u))),i.stderr.on("data",u=>l.push(Buffer.from(u))),i.once("error",u=>o({status:1,stdout:"",stderr:u.message})),i.once("close",u=>{o({status:u??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(l).toString("utf8").trim()})})})}async function PM(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await IM(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:fn(s,"database_id")||fn(s,"id"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),workflowName:oe(s,"workflow_name")||oe(s,"name"),headBranch:oe(s,"head_branch"),url:oe(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:fn(s,"id"),name:oe(s,"name"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),url:oe(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ha(e,"--branch"),s=Ha(e,"--limit")??"20",o=await Tr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=pn(at(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:fn(a,"database_id")||fn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ha(e,"--limit")??"20",s=await Tr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=pn(JSON.parse(s.stdout)).map(i=>({tagName:oe(i,"tag_name"),publishedAt:oe(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await Tr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=at(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:oe(o,"tag_name"),publishedAt:oe(o,"published_at"),isDraft:o.draft===!0})}}return null}async function IM(e,t,r){let n=await Tr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(at(s.head),"sha"),[i,a]=o?await Promise.all([Tr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),Tr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?pn(at(JSON.parse(i.stdout)).statuses):[],l=a.status===0?pn(at(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
91
- `),stdout:JSON.stringify({number:fn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:LM(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 LM(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 ER,kR,RR=w(()=>{"use strict";He();Co();Of();wt();Wa();ir();ER=new Map,kR=new Set});function TR(e,t,r){let n=Date.now();return()=>GM(e,t,r,n)}async function GM(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await gn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=vo(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(NM),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return it("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return it("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return it("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return or(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?or(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):it("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?or(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):it("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function xR(e,t){if(!e)return ue("missing run id");let r=await gn(["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=vo(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?or(`run ${e} is ${s||"pending"}`):o==="success"?it("success",`run ${e} succeeded`,vR(n)):it("failure",`run ${e} concluded ${o||"unknown"}`,vR(n))}async function OR(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await gn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):DM(e,vo(r.stdout))}function DM(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return or(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?it("success",`job ${e} succeeded`,s):it("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function AR(e,t){let r=await gn(["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 os(s)&&s.databaseId!=null?String(s.databaseId):""}async function CR(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await gn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return or(`release ${e} is not published yet`);let c=vo(a.stdout);return c.isDraft===!0?or(`release ${e} is still a draft`):it("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await gn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=pn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||$M(e,c))&&(n||l>=t)});return i?it("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):or("no matching release is published yet")}function NM(e){let t=os(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 vR(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 $M(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var PR=w(()=>{"use strict";un();RR();Wa()});function Bo(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
92
- `)}var Cf=w(()=>{"use strict"});var IR=w(()=>{"use strict";J()});var LR=w(()=>{"use strict"});function FM(e){return Object.keys(e)}function ys(e){return{...e,fields:FM(e.fields)}}var GR,DR,NR,MM,BM,jM,$R,Pf=w(()=>{"use strict";GR="red.castle.lane.v1",DR="red.castle.state.v1",NR="red.castle.history.v1",MM="red.castle.validation.v2",BM="red.castle.envelope.v1",jM="red.castle.hitl-card.v1",$R=[ys({schemaId:GR,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}}),ys({schemaId:DR,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}}),ys({schemaId:NR,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}}),ys({schemaId:MM,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}}),ys({schemaId:BM,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}}),ys({schemaId:jM,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 G7,Cc=w(()=>{"use strict";mn();J();Pf();G7=new Map($R.map(e=>[e.schemaId,new Set(e.fields)]))});var FR=w(()=>{"use strict";LR();Cc()});var MR=w(()=>{"use strict"});var Pc=w(()=>{"use strict"});var If=w(()=>{"use strict";Pc()});var Ic=w(()=>{"use strict"});import{appendFile as HM,mkdir as WM,readFile as VM}from"node:fs/promises";import{dirname as JM,join as KM}from"node:path";function Lf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function BR(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:Lf(t.at,"at"),singleton:Lf(t.singleton,"singleton"),kind:Lf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function zM(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function YM(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function QM(e){if(e.length===0)return"";let t=qe({trailer:!1});return e.map(r=>t.push(r)).join("")}function XM(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(QM(i))+t<=r?n=o:s=o-1}return n}function ZM(e){return KM(e.castleStateRoot,"singleton-events.toonl")}function Lc(e,t={}){let r=t.fs??{appendFile:HM,mkdir:WM,readFile:VM},n=t.clock??(()=>new Date().toISOString()),s=ZM(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=BR({at:a.at??n(),...a}),l=qe().push(zM(c)),u=Buffer.byteLength(l);if(await r.mkdir(JM(s),{recursive:!0}),await ds(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=XM(f,u,g);await ps(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){YM(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(BR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Gc=w(()=>{"use strict";mn();J()});var Dc=w(()=>{"use strict";J();Ic();Gc()});var jR=w(()=>{"use strict";Pc();If();Dc()});var qR=w(()=>{"use strict"});var UR=w(()=>{"use strict"});var _ee,HR=w(()=>{"use strict";J();_ee=24*60*60*1e3});var WR=w(()=>{"use strict";Cc()});var VR=w(()=>{"use strict"});var vee,Tee,JR=w(()=>{"use strict";vee=15*6e4,Tee=30*6e4});var KR=w(()=>{"use strict"});var tB,rB,Aee,Cee,zR=w(()=>{"use strict";tB=["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"],rB={pre_worktree:["cargo","gradle"]},Aee=Object.values(rB).flat(),Cee=new Set(tB)});var YR=w(()=>{"use strict"});var QR=w(()=>{"use strict";Dc()});var Gf=w(()=>{});var XR=w(()=>{"use strict";xc();Gf()});import{EventEmitter as sB}from"node:events";import{spawn as oB}from"node:child_process";function qo(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 Uo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var bs,Nc,iB,aB,cB,lB,jo,$c=w(()=>{bs="github-webhook",Nc="github.webhook.delivery";iB="pull_request,pull_request_review,check_run,check_suite,workflow_run",aB=3,cB=1e3,lB=/no extension matched|unknown command|command not found/i,jo=class extends sB{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,cB).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?qo(c,n):Uo(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=oB(r,["webhook","forward",`--events=${iB}`],{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");lB.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>=aB)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as Ce}from"node:path";function Df(e){let t=Ce(e),r=Ce(t,"state"),n=Ce(r,"castle"),s=Ce(t,"tmp"),o=Ce(s,"supervisors"),i=Ce(s,"workers"),a=Ce(s,"monitors"),c=Ce(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:Ce(n,"history.toonl"),castleValidation:Ce(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>Ce(o,l),projectSupervisor:Ce(o,uB),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 uB,Nf=w(()=>{"use strict";uB="default"});import{mkdir as dB,readFile as pB,rename as fB,rm as mB,writeFile as hB}from"node:fs/promises";import{dirname as gB,join as yB}from"node:path";function wB(e){if(!bB.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function _B(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function EB(e){return e.code==="ENOENT"}function kB(e){return e.code==="EEXIST"}function SB(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 $f(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Fc(e,t){return wB(t),yB(e.castleStateRoot,"singletons",t,"lease.toon")}function Ff(e,t={}){let r=t.fs??{mkdir:dB,readFile:pB,rename:fB,rm:mB,writeFile:hB},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??_B;async function o(a){try{return SB(z(await r.readFile(a,"utf8")))}catch(c){if(EB(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Fc(e,a))},async acquire(a,c){let l=Fc(e,a);await r.mkdir(gB(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(!kB(m))throw m}let f=await o(l);if(f){if($f(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Fc(e,a),u=await o(l);if(!u||!$f(u,c))throw new Mc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Fc(e,a),u=await o(l);if(!u)return!1;if(!$f(u,c))throw new Mc(a);return await r.rm(l,{force:!0}),!0}}}var Mc,bB,Mf=w(()=>{"use strict";J();Mc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},bB=/^[a-z0-9][a-z0-9._-]{0,63}$/});var ZR=w(()=>{"use strict";$c();Gf();ja();Nf();Gc();Mf()});var ev=w(()=>{"use strict"});var tv=w(()=>{});var rv=w(()=>{"use strict";tv()});var nv=w(()=>{"use strict"});var Bf=w(()=>{"use strict"});var sv=w(()=>{"use strict";J();Bf()});var ov=w(()=>{"use strict";J()});var jf=w(()=>{"use strict"});var qf=w(()=>{"use strict"});var iv=w(()=>{"use strict";Ic()});var av=w(()=>{"use strict"});var cv=w(()=>{"use strict";jf();qf()});var Ho,Uf=w(()=>{"use strict";Ho={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var Ite,lv=w(()=>{"use strict";Uf();Ite=Math.max(Ho.monologueMessages,Ho.repeatedActionObservationPairs*2,Ho.errorStreakPairs*2,Ho.alternatingPingPongCycles*4)});var Hf=w(()=>{"use strict"});var Wf=w(()=>{"use strict";Hf();Hf()});var dv=w(()=>{"use strict"});var RB,vB,TB,Bte,pv=w(()=>{"use strict";RB={refreshCadenceS:270,tolerance:3},vB=270,TB=2700,Bte={...RB,claimGraceS:vB,recentCommitProtectionS:TB}});var fv=w(()=>{"use strict"});var mv=w(()=>{Ja()});var hv=w(()=>{Ja();mv()});import{execFile as CB,execFileSync as Xte}from"node:child_process";import{promisify as PB}from"node:util";var nre,gv=w(()=>{"use strict";xc();hv();Wf();nre=PB(CB)});var yv=w(()=>{"use strict";IR();FR();MR();Pc();jR();qR();UR();HR();WR();VR();Cc();JR();KR();zR();YR();If();QR();XR();ZR();ev();rv();nv();Dc();sv();ov();Pf();jf();qf();Nf();iv();av();cv();Ic();Bf();Gc();Mf();Uf();lv();Wf();dv();pv();fv();gv()});var Bc,bv=w(()=>{"use strict";$c();$c();ir();Bc=class extends jo{constructor(t){super(t,es)}}});import{EventEmitter as IB}from"node:events";import{join as LB}from"node:path";function Jf(e){let t=ko(e.cwd),r=Df(LB(t,".red"));return new Vf({...e,leases:e.leases??Ff(r),lane:e.lane??Lc(r),makeForwarder:e.makeForwarder??((n,s)=>new Bc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>ts(n.pid,n.start_time))})}var Vf,wv=w(()=>{"use strict";yv();bv();ir();ja();Vf=class extends IB{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(bs).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"?qo(a,n):Uo(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===bs&&o.kind===Nc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(bs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Kf={};se(Kf,{listWaits:()=>Ua,renderWaitHelp:()=>Bo,runWait:()=>NB});import{randomUUID as _v}from"node:crypto";import{mkdir as GB,rm as DB}from"node:fs/promises";async function NB(e,t=process.cwd()){let r;try{r=await K_(e)}catch(n){return await jB(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Bo()),0;if(r.kind==="ls"){let n={schema:B_,version:1,waits:await Ua(t)};return process.stdout.write(is(n,r.options.format)),0}return hp(r.kind)?await $B({...r,kind:r.kind},t):(process.stdout.write(Bo()),2)}async function $B(e,t){let r=e.kind,n=_p({id:_v(),kind:r,target:BB(e),reason:e.options.reason,pid:process.pid,pid_start_time:await wo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:fp[r],status:"running",attempts:0}),s=tE(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 GB(ns(t),{recursive:!0}),await ss(s,n);let u=await FB(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await oE({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(is(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=To(r,n,d,{status:"success"},new Date().toISOString());return await xo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(is(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await DB(s,{force:!0}).catch(()=>{})}}async function FB(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await AE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:X_(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 Ao({probe:TR(i,o,{emptyChecksGraceMs:rs("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("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 MB(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 Ao({probe:()=>xR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("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 Ao({probe:()=>OR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await Ao({probe:()=>CR(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function MB(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 AR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await ss(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function BB(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 jB(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=hp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=_p({id:_v(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:fp[o],status:"indeterminate",attempts:0}),c=To(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await xo(s,c,r).catch(()=>{}),process.stdout.write(is(c,r)),2}var zf=w(()=>{"use strict";z_();aE();PE();un();yp();PR();ir();Ro();Cf();wv();Ro();Cf()});var Yf,Qf,Xf,Je,Ke,lt,Tt,Wo,jc=w(()=>{"use strict";Yf="rsp-telemetry.spool.toonl",Qf="rsp-telemetry.spool.jsonl",Xf="rsp-telemetry.spool.corrections.toonl",Je="rsp_accounting_events_v1",Ke="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",Wo="rsp_telemetry_index_v1"});function ws(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return xr(e)??0}function xr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var Zf=w(()=>{"use strict"});import{randomUUID as Vo,createHash as VB}from"node:crypto";import{appendFileSync as JB,closeSync as KB,existsSync as zB,fstatSync as YB,mkdirSync as Ov,openSync as QB,readFileSync as XB,statSync as ZB,writeSync as e1}from"node:fs";import{mkdir as Av,readdir as t1,readFile as Cv,rename as r1,rm as Pv,writeFile as Iv}from"node:fs/promises";import{basename as em,dirname as Jo,join as _s,resolve as Sv}from"node:path";function Uc(e){if(!e)return null;let t=Sv(e);for(;;){if(zB(_s(t,".red")))return t;let r=Sv(_s(t,".."));if(r===t)break;t=r}return null}function lr(e){return _s(ce(e),Yf)}function nm(e){return _s(ce(e),Qf)}function sm(e){return _s(ce(e),Xf)}async function yn(e,t,r=St["rsp-telemetry-spool"]){Or(e,t,r)}function Or(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Uc(e);if(!s)return;let o=lr(s);Ov(Jo(o),{recursive:!0});let i=Tv({spool_id:Vo(),event:o1(t)}),a=Nv(o,i,r,im,Tv);s1(o,i,n),a>0&&Dv(s,"telemetry spool retention",a)}catch{}}function s1(e,t,r){let n=0;for(;;){let s=QB(e,"a",384);try{e1(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=YB(s),i=ZB(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{KB(s)}}}function o1(e){return Rv(Rv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function Rv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=n1)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function i1(e){let t=Uc(e);if(!t)return[];let r=lr(t);await Av(Jo(r),{recursive:!0}).catch(()=>{});let n=await $v(t),s=[...await Fv(t),...await u1(n)];return await Promise.all(n.map(o=>Pv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function om(e,t){let r=Uc(e);if(!r)return;let n=lr(r);await Av(Jo(n),{recursive:!0}).catch(()=>{}),await l1(r);for(let s of await a1(r))await vv(r,s,t);for(let s of await Fv(r))await Lv(r,s,t,!0);for(let s of await $v(r))await vv(r,s,t)}async function a1(e){let t=[lr(e),nm(e)],r=Jo(t[0]);return(await t1(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${em(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${em(c)}.`));if(!o)return!1;let i=`${em(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&c1(a))}).sort().map(s=>_s(r,s))}function c1(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function vv(e,t,r){try{let n=await Gv(t);for(let s of im(n))await Lv(e,s,r,!1)}finally{await Pv(t,{force:!0})}}async function Lv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&tm(e,{correction_id:Vo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}tm(e,{correction_id:Vo(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function Gv(e){let t="";for(let r=0;r<5;r++){let n=await Cv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function Es(e){try{let t=JSON.parse(e);return!ws(t)||t.collection!==Je&&t.collection!==Ke&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function Tv(e){return qe().push(p1(e))}function tm(e,t,r=!0){try{let n=Uc(e);if(!n)return;let s=sm(n);Ov(Jo(s),{recursive:!0});let o=xv(t),i=Nv(s,o,St["rsp-telemetry-corrections"],Mv,xv);JB(s,o,{encoding:"utf8",mode:384}),r&&i>0&&Dv(n,"telemetry corrections retention",i,!1)}catch{}}function Dv(e,t,r,n=!0){let s=Vo();tm(e,{correction_id:Vo(),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 xv(e){return qe().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 Nv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!WE(e,o,r))return 0;let i;try{i=XB(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??Ne))-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 VE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function $v(e){let t=lr(e),r=[t,nm(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await r1(s,o),s===t&&await Iv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function l1(e){await Iv(lr(e),"",{flag:"a"}).catch(()=>{})}async function u1(e){let t=[];for(let r of e)t.push(...im(await Gv(r)));return t}async function Fv(e){let t=await Cv(sm(e),"utf8").catch(()=>""),r=new Map;for(let n of Mv(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:Es(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function im(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(ws(o)){let i=Es(JSON.stringify(o));t.push(i?{spool_id:qc(JSON.stringify(o)),event:i}:{spool_id:qc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:qc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
91
+ }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>_R(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:Af(a.labels)}))}:null}function _R(e,t){let r=Ft(e.repository),n=Ft(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Ft).filter(s=>s!==null):[]}function Af(e){let t=Ft(e);return Array.isArray(t?.nodes)?t.nodes.map(Ft).filter(r=>r!==null):[]}function Ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Mo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function xM(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function OM(e,t){let r=Mo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Fo(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 ER(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function AM(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function CM(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 Cf=w(()=>{"use strict";Oc();et()});import{spawn as PM}from"node:child_process";async function Tr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=ot(t).rootDir;if(De(n,r).enabled&&!RR.has(n)){let s=await ct(e);if(!LM(s))return s;RR.add(n)}return await ct({...e,residentRead:async s=>await(await IM(n,r,e.signal)).read(s)})}async function IM(e,t,r){let n=SR.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await Pf(["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=Cc({rootDir:e,token:s,balance:Ac(s,o),...o?{baseUrl:o}:{}});return SR.set(e,i),i}function LM(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function gn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await vR(t,async r=>await Pf(e,t.cwd,r)):await vR(t,async r=>{let n=await GM(e,t.cwd,r);return n||await Pf(e,t.cwd,r)})}async function vR(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 Pf(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=PM("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ba(u).then(d=>Ma(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 GM(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await DM(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:fn(s,"database_id")||fn(s,"id"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),workflowName:oe(s,"workflow_name")||oe(s,"name"),headBranch:oe(s,"head_branch"),url:oe(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:fn(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=Wa(e,"--branch"),s=Wa(e,"--limit")??"20",o=await Tr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=pn(at(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:fn(a,"database_id")||fn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Wa(e,"--limit")??"20",s=await Tr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=pn(JSON.parse(s.stdout)).map(i=>({tagName:oe(i,"tag_name"),publishedAt:oe(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await Tr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=at(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:oe(o,"tag_name"),publishedAt:oe(o,"published_at"),isDraft:o.draft===!0})}}return null}async function DM(e,t,r){let n=await Tr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(at(s.head),"sha"),[i,a]=o?await Promise.all([Tr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),Tr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?pn(at(JSON.parse(i.stdout)).statuses):[],l=a.status===0?pn(at(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
92
+ `),stdout:JSON.stringify({number:fn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:NM(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 NM(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 SR,RR,TR=w(()=>{"use strict";He();Co();Cf();wt();Va();ir();SR=new Map,RR=new Set});function OR(e,t,r){let n=Date.now();return()=>$M(e,t,r,n)}async function $M(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await gn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=vo(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(MM),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return it("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return it("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return it("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return or(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?or(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):it("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?or(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):it("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function AR(e,t){if(!e)return ue("missing run id");let r=await gn(["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=vo(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?or(`run ${e} is ${s||"pending"}`):o==="success"?it("success",`run ${e} succeeded`,xR(n)):it("failure",`run ${e} concluded ${o||"unknown"}`,xR(n))}async function CR(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await gn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):FM(e,vo(r.stdout))}function FM(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return or(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?it("success",`job ${e} succeeded`,s):it("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function PR(e,t){let r=await gn(["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 os(s)&&s.databaseId!=null?String(s.databaseId):""}async function IR(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await gn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return or(`release ${e} is not published yet`);let c=vo(a.stdout);return c.isDraft===!0?or(`release ${e} is still a draft`):it("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await gn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=pn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||BM(e,c))&&(n||l>=t)});return i?it("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):or("no matching release is published yet")}function MM(e){let t=os(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 xR(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 BM(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var LR=w(()=>{"use strict";un();TR();Va()});function Bo(){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(`
93
+ `)}var If=w(()=>{"use strict"});var GR=w(()=>{"use strict";J()});var DR=w(()=>{"use strict"});function jM(e){return Object.keys(e)}function ys(e){return{...e,fields:jM(e.fields)}}var NR,$R,FR,qM,UM,HM,MR,Lf=w(()=>{"use strict";NR="red.castle.lane.v1",$R="red.castle.state.v1",FR="red.castle.history.v1",qM="red.castle.validation.v2",UM="red.castle.envelope.v1",HM="red.castle.hitl-card.v1",MR=[ys({schemaId:NR,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}}),ys({schemaId:$R,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),ys({schemaId:FR,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}}),ys({schemaId:qM,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}}),ys({schemaId:UM,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}}),ys({schemaId:HM,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 $7,Pc=w(()=>{"use strict";mn();J();Lf();$7=new Map(MR.map(e=>[e.schemaId,new Set(e.fields)]))});var BR=w(()=>{"use strict";DR();Pc()});var jR=w(()=>{"use strict"});var Ic=w(()=>{"use strict"});var Gf=w(()=>{"use strict";Ic()});var Lc=w(()=>{"use strict"});import{appendFile as JM,mkdir as KM,readFile as zM}from"node:fs/promises";import{dirname as YM,join as QM}from"node:path";function Df(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function qR(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:Df(t.at,"at"),singleton:Df(t.singleton,"singleton"),kind:Df(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function XM(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function ZM(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function eB(e){if(e.length===0)return"";let t=qe({trailer:!1});return e.map(r=>t.push(r)).join("")}function tB(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(eB(i))+t<=r?n=o:s=o-1}return n}function rB(e){return QM(e.castleStateRoot,"singleton-events.toonl")}function Gc(e,t={}){let r=t.fs??{appendFile:JM,mkdir:KM,readFile:zM},n=t.clock??(()=>new Date().toISOString()),s=rB(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=qR({at:a.at??n(),...a}),l=qe().push(XM(c)),u=Buffer.byteLength(l);if(await r.mkdir(YM(s),{recursive:!0}),await ds(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=tB(f,u,g);await ps(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){ZM(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(qR);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Dc=w(()=>{"use strict";mn();J()});var Nc=w(()=>{"use strict";J();Lc();Dc()});var UR=w(()=>{"use strict";Ic();Gf();Nc()});var HR=w(()=>{"use strict"});var WR=w(()=>{"use strict"});var See,VR=w(()=>{"use strict";J();See=24*60*60*1e3});var JR=w(()=>{"use strict";Pc()});var KR=w(()=>{"use strict"});var Oee,Aee,zR=w(()=>{"use strict";Oee=15*6e4,Aee=30*6e4});var YR=w(()=>{"use strict"});var sB,oB,Iee,Lee,QR=w(()=>{"use strict";sB=["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"],oB={pre_worktree:["cargo","gradle"]},Iee=Object.values(oB).flat(),Lee=new Set(sB)});var XR=w(()=>{"use strict"});var ZR=w(()=>{"use strict";Nc()});var Nf=w(()=>{});var ev=w(()=>{"use strict";Oc();Nf()});import{EventEmitter as aB}from"node:events";import{spawn as cB}from"node:child_process";function qo(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 Uo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var bs,$c,lB,uB,dB,pB,jo,Fc=w(()=>{bs="github-webhook",$c="github.webhook.delivery";lB="pull_request,pull_request_review,check_run,check_suite,workflow_run",uB=3,dB=1e3,pB=/no extension matched|unknown command|command not found/i,jo=class extends aB{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,dB).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?qo(c,n):Uo(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=cB(r,["webhook","forward",`--events=${lB}`],{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(`
94
+ `))>=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");pB.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>=uB)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 $f(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,fB),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 fB,Ff=w(()=>{"use strict";fB="default"});import{mkdir as mB,readFile as hB,rename as gB,rm as yB,writeFile as bB}from"node:fs/promises";import{dirname as wB,join as _B}from"node:path";function kB(e){if(!EB.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function SB(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function RB(e){return e.code==="ENOENT"}function vB(e){return e.code==="EEXIST"}function TB(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 Mf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Mc(e,t){return kB(t),_B(e.castleStateRoot,"singletons",t,"lease.toon")}function Bf(e,t={}){let r=t.fs??{mkdir:mB,readFile:hB,rename:gB,rm:yB,writeFile:bB},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??SB;async function o(a){try{return TB(z(await r.readFile(a,"utf8")))}catch(c){if(RB(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(Mc(e,a))},async acquire(a,c){let l=Mc(e,a);await r.mkdir(wB(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(!vB(m))throw m}let f=await o(l);if(f){if(Mf(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=Mc(e,a),u=await o(l);if(!u||!Mf(u,c))throw new Bc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Mc(e,a),u=await o(l);if(!u)return!1;if(!Mf(u,c))throw new Bc(a);return await r.rm(l,{force:!0}),!0}}}var Bc,EB,jf=w(()=>{"use strict";J();Bc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},EB=/^[a-z0-9][a-z0-9._-]{0,63}$/});var tv=w(()=>{"use strict";Fc();Nf();qa();Ff();Dc();jf()});var rv=w(()=>{"use strict"});var nv=w(()=>{});var sv=w(()=>{"use strict";nv()});var ov=w(()=>{"use strict"});var qf=w(()=>{"use strict"});var iv=w(()=>{"use strict";J();qf()});var av=w(()=>{"use strict";J()});var Uf=w(()=>{"use strict"});var Hf=w(()=>{"use strict"});var cv=w(()=>{"use strict";Lc()});var lv=w(()=>{"use strict"});var uv=w(()=>{"use strict";Uf();Hf()});var Ho,Wf=w(()=>{"use strict";Ho={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var Dte,dv=w(()=>{"use strict";Wf();Dte=Math.max(Ho.monologueMessages,Ho.repeatedActionObservationPairs*2,Ho.errorStreakPairs*2,Ho.alternatingPingPongCycles*4)});var Vf=w(()=>{"use strict"});var Jf=w(()=>{"use strict";Vf();Vf()});var fv=w(()=>{"use strict"});var xB,OB,AB,Ute,mv=w(()=>{"use strict";xB={refreshCadenceS:270,tolerance:3},OB=270,AB=2700,Ute={...xB,claimGraceS:OB,recentCommitProtectionS:AB}});var hv=w(()=>{"use strict"});var gv=w(()=>{Ka()});var yv=w(()=>{Ka();gv()});import{execFile as LB,execFileSync as tre}from"node:child_process";import{promisify as GB}from"node:util";var ire,bv=w(()=>{"use strict";Oc();yv();Jf();ire=GB(LB)});var wv=w(()=>{"use strict";GR();BR();jR();Ic();UR();HR();WR();VR();JR();KR();Pc();zR();YR();QR();XR();Gf();ZR();ev();tv();rv();sv();ov();Nc();iv();av();Lf();Uf();Hf();Ff();cv();lv();uv();Lc();qf();Dc();jf();Wf();dv();Jf();fv();mv();hv();bv()});var jc,_v=w(()=>{"use strict";Fc();Fc();ir();jc=class extends jo{constructor(t){super(t,es)}}});import{EventEmitter as DB}from"node:events";import{join as NB}from"node:path";function zf(e){let t=ko(e.cwd),r=$f(NB(t,".red"));return new Kf({...e,leases:e.leases??Bf(r),lane:e.lane??Gc(r),makeForwarder:e.makeForwarder??((n,s)=>new jc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>ts(n.pid,n.start_time))})}var Kf,Ev=w(()=>{"use strict";wv();_v();ir();qa();Kf=class extends DB{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(bs).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"?qo(a,n):Uo(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===bs&&o.kind===$c&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(bs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Yf={};se(Yf,{listWaits:()=>Ha,renderWaitHelp:()=>Bo,runWait:()=>MB});import{randomUUID as kv}from"node:crypto";import{mkdir as $B,rm as FB}from"node:fs/promises";async function MB(e,t=process.cwd()){let r;try{r=await Y_(e)}catch(n){return await HB(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Bo()),0;if(r.kind==="ls"){let n={schema:q_,version:1,waits:await Ha(t)};return process.stdout.write(is(n,r.options.format)),0}return yp(r.kind)?await BB({...r,kind:r.kind},t):(process.stdout.write(Bo()),2)}async function BB(e,t){let r=e.kind,n=kp({id:kv(),kind:r,target:UB(e),reason:e.options.reason,pid:process.pid,pid_start_time:await wo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:hp[r],status:"running",attempts:0}),s=nE(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 $B(ns(t),{recursive:!0}),await ss(s,n);let u=await jB(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await aE({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(is(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=To(r,n,d,{status:"success"},new Date().toISOString());return await xo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(is(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await FB(s,{force:!0}).catch(()=>{})}}async function jB(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await PE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:eE(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=zf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Ao({probe:OR(i,o,{emptyChecksGraceMs:rs("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("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 qB(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=zf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await Ao({probe:()=>AR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("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 Ao({probe:()=>CR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await Ao({probe:()=>IR(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:rs("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function qB(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 PR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await ss(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function UB(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 HB(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=yp(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=kp({id:kv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:hp[o],status:"indeterminate",attempts:0}),c=To(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await xo(s,c,r).catch(()=>{}),process.stdout.write(is(c,r)),2}var Qf=w(()=>{"use strict";Q_();lE();LE();un();wp();LR();ir();Ro();If();Ev();Ro();If()});var Xf,Zf,em,Je,Ke,lt,Tt,Wo,qc=w(()=>{"use strict";Xf="rsp-telemetry.spool.toonl",Zf="rsp-telemetry.spool.jsonl",em="rsp-telemetry.spool.corrections.toonl",Je="rsp_accounting_events_v1",Ke="rsp_decisions_v1",lt="rsp_telemetry_invocations_v1",Tt="rsp_telemetry_degradations_v1",Wo="rsp_telemetry_index_v1"});function ws(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return xr(e)??0}function xr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var tm=w(()=>{"use strict"});import{randomUUID as Vo,createHash as zB}from"node:crypto";import{appendFileSync as YB,closeSync as QB,existsSync as XB,fstatSync as ZB,mkdirSync as Cv,openSync as e1,readFileSync as t1,statSync as r1,writeSync as n1}from"node:fs";import{mkdir as Pv,readdir as s1,readFile as Iv,rename as o1,rm as Lv,writeFile as Gv}from"node:fs/promises";import{basename as rm,dirname as Jo,join as _s,resolve as vv}from"node:path";function Hc(e){if(!e)return null;let t=vv(e);for(;;){if(XB(_s(t,".red")))return t;let r=vv(_s(t,".."));if(r===t)break;t=r}return null}function lr(e){return _s(ce(e),Xf)}function om(e){return _s(ce(e),Zf)}function im(e){return _s(ce(e),em)}async function yn(e,t,r=St["rsp-telemetry-spool"]){Or(e,t,r)}function Or(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Hc(e);if(!s)return;let o=lr(s);Cv(Jo(o),{recursive:!0});let i=Ov({spool_id:Vo(),event:c1(t)}),a=Fv(o,i,r,cm,Ov);a1(o,i,n),a>0&&$v(s,"telemetry spool retention",a)}catch{}}function a1(e,t,r){let n=0;for(;;){let s=e1(e,"a",384);try{n1(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=ZB(s),i=r1(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{QB(s)}}}function c1(e){return Tv(Tv(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function Tv(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=i1)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function l1(e){let t=Hc(e);if(!t)return[];let r=lr(t);await Pv(Jo(r),{recursive:!0}).catch(()=>{});let n=await Mv(t),s=[...await Bv(t),...await f1(n)];return await Promise.all(n.map(o=>Lv(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function am(e,t){let r=Hc(e);if(!r)return;let n=lr(r);await Pv(Jo(n),{recursive:!0}).catch(()=>{}),await p1(r);for(let s of await u1(r))await xv(r,s,t);for(let s of await Bv(r))await Dv(r,s,t,!0);for(let s of await Mv(r))await xv(r,s,t)}async function u1(e){let t=[lr(e),om(e)],r=Jo(t[0]);return(await s1(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${rm(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${rm(c)}.`));if(!o)return!1;let i=`${rm(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&d1(a))}).sort().map(s=>_s(r,s))}function d1(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function xv(e,t,r){try{let n=await Nv(t);for(let s of cm(n))await Dv(e,s,r,!1)}finally{await Lv(t,{force:!0})}}async function Dv(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&nm(e,{correction_id:Vo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}nm(e,{correction_id:Vo(),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 Nv(e){let t="";for(let r=0;r<5;r++){let n=await Iv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function Es(e){try{let t=JSON.parse(e);return!ws(t)||t.collection!==Je&&t.collection!==Ke&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function Ov(e){return qe().push(h1(e))}function nm(e,t,r=!0){try{let n=Hc(e);if(!n)return;let s=im(n);Cv(Jo(s),{recursive:!0});let o=Av(t),i=Fv(s,o,St["rsp-telemetry-corrections"],jv,Av);YB(s,o,{encoding:"utf8",mode:384}),r&&i>0&&$v(n,"telemetry corrections retention",i,!1)}catch{}}function $v(e,t,r,n=!0){let s=Vo();nm(e,{correction_id:Vo(),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 Av(e){return qe().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 Fv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!JE(e,o,r))return 0;let i;try{i=t1(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??Ne))-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 KE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function Mv(e){let t=lr(e),r=[t,om(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await o1(s,o),s===t&&await Gv(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function p1(e){await Gv(lr(e),"",{flag:"a"}).catch(()=>{})}async function f1(e){let t=[];for(let r of e)t.push(...cm(await Nv(r)));return t}async function Bv(e){let t=await Iv(im(e),"utf8").catch(()=>""),r=new Map;for(let n of jv(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:Es(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function cm(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(ws(o)){let i=Es(JSON.stringify(o));t.push(i?{spool_id:Uc(JSON.stringify(o)),event:i}:{spool_id:Uc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:Uc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
94
95
  ${s}
95
- `))rm(o)&&f1(o)&&t.push({spool_id:o.spool_id,event:Bv(o)})}catch{s.startsWith("{")&&t.push({spool_id:qc(s),raw_line:s})}}}return t}function Mv(e){return d1(e).map(m1).filter(t=>t!==null)}function d1(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);rm(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
96
+ `))sm(o)&&g1(o)&&t.push({spool_id:o.spool_id,event:qv(o)})}catch{s.startsWith("{")&&t.push({spool_id:Uc(s),raw_line:s})}}}return t}function jv(e){return m1(e).map(y1).filter(t=>t!==null)}function m1(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);sm(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Oe(`${r}
96
97
  ${s}
97
- `))rm(o)&&t.push(o)}catch{}}}return t}function qc(e){return`legacy:${VB("sha256").update(e).digest("hex").slice(0,24)}`}function p1(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 Bv(e){let{spool_id:t,...r}=e;return Es(JSON.stringify(r))}function f1(e){return typeof e.spool_id=="string"&&Bv(e)!==null}function m1(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 rm(e){return ws(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var n1,jv=w(()=>{"use strict";et();mn();J();jc();Zf();n1=64*1024});function Hc(e){return e.trim().split(/\s+/).filter(Boolean)}function Ko(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function zo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Hc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:bn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:bn(t)&&t[1]?`gh ${t[1]} json-jq`:bn(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 bn(e){return e[0]==="gh"&&e.some(h1)}function h1(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function ks(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Yo=w(()=>{"use strict"});var Ee,Wc=w(()=>{"use strict";He();Ee="rsp_elisions_v1"});import{spawnSync as Xo}from"node:child_process";import{createHash as lm}from"node:crypto";import{mkdir as g1,readFile as y1,readdir as b1,rename as w1,writeFile as _1}from"node:fs/promises";import{basename as E1,dirname as k1,join as S1}from"node:path";import{fileURLToPath as R1}from"node:url";import{gunzipSync as v1,gzipSync as T1}from"node:zlib";function Zo(e,t){return`el:${lm("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function Ar(e){return`record:${e.slice(3)}`}function _n(e){return`expired:${e.slice(3)}`}function Kc(){return"index:v1"}function x1(e){return`blob:${e}`}function qv(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=Hc(e),r=t[0]??"";if(r==="cat")return"derivable";if(r==="git"){let n=t[1]??"";return n==="log"||n==="diff"||n==="blame"||n==="show"?"derivable":zc(t)?"re-executable":"ephemeral"}return"ephemeral"}function ei(e){return Zc(e.storage_class)?e.storage_class:ur(e.command)}function Uv(e){return Zc(e.storage_class)?e.storage_class:ur(e.command)}function um(e){let t=C1(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=Uv(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 dm(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:O1(o),storage_class:Uv(s),recover:`rsp show ${s.handle}`}})}function O1(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 pm(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 En(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 fm(e,t){let r=process.cwd(),n=Xo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Xo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:A1(r),original_bytes:e.length}:null}function A1(e){let t=am(e,["rev-parse","HEAD"])||"unborn",r=am(e,["write-tree"])||"no-index",n=am(e,["status","--porcelain=v1","-z"])||"";return lm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function am(e,t){let r=Xo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function mm(e,t){let r=Hc(t);if(!zc(r))return null;let n=Jv(process.cwd(),r,e.length);return!n||wn(n)!==wn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:wn(e)}}function zc(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function wn(e){return lm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function hm(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 gm(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 ym(e,t,r){let n=T1(e);return{key:x1(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Hv(e){try{let t=v1(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Wv(e){let t=e.object_ids[0];if(!t)return null;let r=Xo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function Vv(e){if(!zc(e.argv))return null;let t=Jv(e.cwd,e.argv,e.original_bytes);return t?wn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
98
- `,"utf8"),t]):null}function Jv(e,t,r){let n=t[0];if(!n)return null;let s=Xo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function C1(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function ti(e){return/^el:[a-f0-9]{12}$/.test(e)}function Jc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Kv(e){if(!Qo(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Qo(e.scope)?e.scope:void 0,ranking:Qo(e.ranking)?e.ranking:void 0}}}function zv(e){if(!Qo(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Qo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Yv(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 b1(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=S1(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 Qv(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Qo(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Yc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ri(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=I1(e.derivation_recipe),n=L1(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Jc(s);return e.collection===Ee&&typeof e.handle=="string"&&ti(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||wm(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Jc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&P1(e.loss)&&(e.storage_class===void 0||Zc(e.storage_class))}function bm(e){return!pt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!pt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&ti(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||Zc(t.storage_class))&&(r===void 0||typeof r=="string"&&Jc(r))})}function Qc(e){return pt(e)&&typeof e.key=="string"&&Jc(e.key)&&wm(e.content_hash)&&e.encoding==="gzip+base64"&&typeof e.bytes=="string"&&typeof e.original_bytes=="number"&&typeof e.stored_bytes=="number"&&typeof e.created_at=="string"}function Xc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function P1(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 I1(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 L1(e){return pt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&zc(e.argv)&&typeof e.original_bytes=="number"&&wm(e.content_hash)}function wm(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 Xv(e){try{let n=(await y1(e,"utf8")).trim();if(n==="")return Vc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(G1(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Vc();return await Ss(e,s),s}let n=Vc();return await Ss(e,n),n}let t=Vc();return await Ss(e,t),t}async function Zv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function eT(e){return E1(e)==="red-skills.rdb"}async function Ss(e,t){await g1(k1(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await _1(r,`${M(cm(t))}
99
- `,"utf8"),await w1(r,e)}function cm(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=>cm(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=cm(n));return t}return String(e)}function Vc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function G1(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(ri)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Qc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Xc)&&bm(e.index)}function tT(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return R1(e)}var el=w(()=>{"use strict";J();Yo();Wc()});async function rT(e,t){return D1?F1(e,t):N1?B1(e,t):$1(e,t)}async function $1(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 F1(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:M1(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*M1(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 B1(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:j1(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*j1(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var D1,N1,nT=w(()=>{D1=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",N1=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as q1}from"node:fs";import{join as U1}from"node:path";function sT(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=U1(r,"bin",t);if(q1(o))return o;throw new Error(`reddb: binary "${t}" not found.
98
+ `))sm(o)&&t.push(o)}catch{}}}return t}function Uc(e){return`legacy:${zB("sha256").update(e).digest("hex").slice(0,24)}`}function h1(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 qv(e){let{spool_id:t,...r}=e;return Es(JSON.stringify(r))}function g1(e){return typeof e.spool_id=="string"&&qv(e)!==null}function y1(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 sm(e){return ws(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var i1,Uv=w(()=>{"use strict";et();mn();J();qc();tm();i1=64*1024});function Wc(e){return e.trim().split(/\s+/).filter(Boolean)}function Ko(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function zo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Wc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:bn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:bn(t)&&t[1]?`gh ${t[1]} json-jq`:bn(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 bn(e){return e[0]==="gh"&&e.some(b1)}function b1(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function ks(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Yo=w(()=>{"use strict"});var Ee,Vc=w(()=>{"use strict";He();Ee="rsp_elisions_v1"});import{spawnSync as Xo}from"node:child_process";import{createHash as dm}from"node:crypto";import{mkdir as w1,readFile as _1,readdir as E1,rename as k1,writeFile as S1}from"node:fs/promises";import{basename as R1,dirname as v1,join as T1}from"node:path";import{fileURLToPath as x1}from"node:url";import{gunzipSync as O1,gzipSync as A1}from"node:zlib";function Zo(e,t){return`el:${dm("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function Ar(e){return`record:${e.slice(3)}`}function _n(e){return`expired:${e.slice(3)}`}function zc(){return"index:v1"}function C1(e){return`blob:${e}`}function Hv(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=Wc(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":Yc(t)?"re-executable":"ephemeral"}return"ephemeral"}function ei(e){return el(e.storage_class)?e.storage_class:ur(e.command)}function Wv(e){return el(e.storage_class)?e.storage_class:ur(e.command)}function pm(e){let t=L1(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=Wv(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 fm(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:P1(o),storage_class:Wv(s),recover:`rsp show ${s.handle}`}})}function P1(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 mm(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 En(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 hm(e,t){let r=process.cwd(),n=Xo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Xo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:I1(r),original_bytes:e.length}:null}function I1(e){let t=lm(e,["rev-parse","HEAD"])||"unborn",r=lm(e,["write-tree"])||"no-index",n=lm(e,["status","--porcelain=v1","-z"])||"";return dm("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function lm(e,t){let r=Xo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function gm(e,t){let r=Wc(t);if(!Yc(r))return null;let n=zv(process.cwd(),r,e.length);return!n||wn(n)!==wn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:wn(e)}}function Yc(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 wn(e){return dm("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function ym(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 bm(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 wm(e,t,r){let n=A1(e);return{key:C1(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function Vv(e){try{let t=O1(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Jv(e){let t=e.object_ids[0];if(!t)return null;let r=Xo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function Kv(e){if(!Yc(e.argv))return null;let t=zv(e.cwd,e.argv,e.original_bytes);return t?wn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
99
+ `,"utf8"),t]):null}function zv(e,t,r){let n=t[0];if(!n)return null;let s=Xo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function L1(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function ti(e){return/^el:[a-f0-9]{12}$/.test(e)}function Kc(e){return/^blob:[a-f0-9]{64}$/.test(e)}function Yv(e){if(!Qo(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Qo(e.scope)?e.scope:void 0,ranking:Qo(e.ranking)?e.ranking:void 0}}}function Qv(e){if(!Qo(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Qo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Xv(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 E1(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=T1(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 Zv(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Qo(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Qc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ri(e){if(!pt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=D1(e.derivation_recipe),n=N1(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Kc(s);return e.collection===Ee&&typeof e.handle=="string"&&ti(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||Em(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Kc(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&G1(e.loss)&&(e.storage_class===void 0||el(e.storage_class))}function _m(e){return!pt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!pt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&ti(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||el(t.storage_class))&&(r===void 0||typeof r=="string"&&Kc(r))})}function Xc(e){return pt(e)&&typeof e.key=="string"&&Kc(e.key)&&Em(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 Zc(e){return pt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function G1(e){return pt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function el(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function D1(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 N1(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")&&Yc(e.argv)&&typeof e.original_bytes=="number"&&Em(e.content_hash)}function Em(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 eT(e){try{let n=(await _1(e,"utf8")).trim();if(n==="")return Jc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if($1(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Jc();return await Ss(e,s),s}let n=Jc();return await Ss(e,n),n}let t=Jc();return await Ss(e,t),t}async function tT(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function rT(e){return R1(e)==="red-skills.rdb"}async function Ss(e,t){await w1(v1(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await S1(r,`${M(um(t))}
100
+ `,"utf8"),await k1(r,e)}function um(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=>um(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=um(n));return t}return String(e)}function Jc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function $1(e){return pt(e)&&e.version===1&&pt(e.records)&&Object.values(e.records).every(ri)&&(e.blobs===void 0||pt(e.blobs)&&Object.values(e.blobs).every(Xc))&&pt(e.tombstones)&&Object.values(e.tombstones).every(Zc)&&_m(e.index)}function nT(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return x1(e)}var tl=w(()=>{"use strict";J();Yo();Vc()});async function sT(e,t){return F1?j1(e,t):M1?U1(e,t):B1(e,t)}async function B1(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 j1(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:q1(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*q1(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 U1(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:H1(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*H1(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var F1,M1,oT=w(()=>{F1=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",M1=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as W1}from"node:fs";import{join as V1}from"node:path";function iT(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=V1(r,"bin",t);if(W1(o))return o;throw new Error(`reddb: binary "${t}" not found.
100
101
  expected at: ${o}
101
102
  override: set ${n}=/path/to/${t}
102
103
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
103
- or check the postinstall log for a download error.`)}var oT=w(()=>{});import{fileURLToPath as H1}from"node:url";import{dirname as W1,resolve as V1,join as mse}from"node:path";function z1(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function iT(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:sT({name:z1(),packageRoot:K1,envVar:"REDDB_BIN"})}var J1,K1,aT=w(()=>{oT();J1=W1(H1(import.meta.url)),K1=V1(J1,"..")});var Y1,Q1,j,tl,Cr=w(()=>{Y1=new TextEncoder,Q1=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},tl=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(Y1.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(Q1.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 Em(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:/"?X1(e):Z1(e)}function X1(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=ej(s),a=r.port?Number(r.port):_m(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 Z1(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):_m(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):_m(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 ej(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 _m(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 km=w(()=>{Cr()});function rj(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return cT(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return cT(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function cT(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 nj(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 tj,ni,Sm=w(()=>{Cr();tj=new Set(["embedded"]),ni=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&tj.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:nj(n.value)}async put(t,r,n,s={}){this._guard("put");let o=rj(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 Rm(e,t){return`${vm(e)}.${sj(t)}`}function vm(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 sj(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function oj(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 lT(e){return`'${String(e).replace(/'/g,"''")}'`}var Rs,Tm=w(()=>{Cr();Rs=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(lT).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Rm(s,t)} = ${oj(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 ${Rm(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 ${Rm(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 ${vm(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(lT).join(", ")}] FROM ${vm(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(`
104
+ or check the postinstall log for a download error.`)}var aT=w(()=>{});import{fileURLToPath as J1}from"node:url";import{dirname as K1,resolve as z1,join as yse}from"node:path";function X1(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function cT(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:iT({name:X1(),packageRoot:Q1,envVar:"REDDB_BIN"})}var Y1,Q1,lT=w(()=>{aT();Y1=K1(J1(import.meta.url)),Q1=z1(Y1,"..")});var Z1,ej,j,rl,Cr=w(()=>{Z1=new TextEncoder,ej=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},rl=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new j("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(Z1.encode(s+`
105
+ `)).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(ej.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 Sm(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:/"?tj(e):rj(e)}function tj(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=nj(s),a=r.port?Number(r.port):km(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 rj(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):km(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):km(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 nj(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 km(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 Rm=w(()=>{Cr()});function oj(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return uT(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return uT(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function uT(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 ij(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 sj,ni,vm=w(()=>{Cr();sj=new Set(["embedded"]),ni=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&sj.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:ij(n.value)}async put(t,r,n,s={}){this._guard("put");let o=oj(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 Tm(e,t){return`${xm(e)}.${aj(t)}`}function xm(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 aj(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function cj(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 dT(e){return`'${String(e).replace(/'/g,"''")}'`}var Rs,Om=w(()=>{Cr();Rs=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(dT).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Tm(s,t)} = ${cj(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 ${Tm(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 ${Tm(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 ${xm(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(dT).join(", ")}] FROM ${xm(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
106
 
106
107
  `)){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 ij(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?Om(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 Om(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 aj(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function cj(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 ${aj(e.priority)}`),e.key!=null&&(t+=` KEY ${Am(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Am(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function lj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Am(e):JSON.stringify(e)}function Am(e){return`'${String(e).replace(/'/g,"''")}'`}function xm(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var si,Cm=w(()=>{Cr();si=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=cj(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${lj(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${Om(r)}`});return xm(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${Om(r)}`});return xm(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=ij(t,r,n),o=await this.client.call("query",{sql:s});return xm(o)}}});function uT(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function uj(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 rl(e){return String(e).split(".").map(dT).join(".")}function dT(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 dj(e){return pT(JSON.stringify(e))}function pj(e){return JSON.stringify(e)}function fj(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?dj(e):pT(e)}function pT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Pm=w(()=>{Cr();oi=class{constructor(t){this.db=t}async insert(t,r){uT(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${rl(t)} DOCUMENT VALUES (${pj(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=uj(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 ${rl(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){uT(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])=>`${dT(c)} = ${fj(l)}`).join(", "),a=(await this.db.query(`UPDATE ${rl(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 ${rl(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function mj(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Pr(r)}.${Pr(n)})`}return gj(e)}function hj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Pr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function gj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):fT(e)}function fT(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Im=w(()=>{ii=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){hj(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(fT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Pr(s)} ${Pr(t)} = ${mj(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Pr(n)} ${Pr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Pr(n)} ${Pr(t)}`})}}});function yj(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 vs(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 bj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):mT(e)}function mT(e){return`'${String(e).replace(/'/g,"''")}'`}var ai,Lm=w(()=>{ai=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){yj(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(mT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${vs(s)}.${vs(t)} = ${bj(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${vs(n)}.${vs(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${vs(n)}.${vs(t)}`})}}});async function gT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(wj)}async function yT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${Ej(t)}`)).rows??[]).some(n=>n.name===String(t))}function wj(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function hT(e){return String(e).split(".").map(_j).join(".")}function _j(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 Ej(e){return`'${String(e).replace(/'/g,"''")}'`}var ci,Gm=w(()=>{Cr();ci=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(hT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${hT(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 ol(e,t={}){let r=Em(e);if(Pj(r),r.kind==="embedded"){let n=Cj(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=Aj(r),o=t.binary??iT(),i=await rT(o,s),a=new tl(i);return await a.call("version",{}),new Nm(a,{transport:"embedded"})}}function wT(e){return Rj(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:Tj(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 Rj(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 vj(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(wT):e.map(wT)}function Tj(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 xj(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 nl(e){if(Array.isArray(e))return e.map(nl);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return xj(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]=nl(s);return r}return e}function Aj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function Cj(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 Pj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",kj)}function $m(){return new j(bT,`${bT}: nested transactions are not supported on one connection`)}function ET(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 >= ${_T} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function Lj(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 >= ${_T} 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 kj,Sj,_T,bT,sl,Dm,Nm,kT=w(()=>{nT();aT();Cr();km();Sm();Tm();Cm();Pm();Im();Lm();Gm();Sm();Tm();Cm();Pm();Im();Lm();Gm();km();kj="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",Sj="1.0",_T="1.0.9",bT="NESTED_TX_NOT_SUPPORTED";sl=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw $m()}},Dm=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw $m();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new sl(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){ET(r,n)}throw r}}},Nm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=Sj,this.cache=new ni(t,this.transport),this.queue=new si(t),this.queues=this.queue,this.documents=new oi(this);let n=new Rs(t);this.kv=Object.assign((s="kv_default")=>new Rs(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ii(t,s),this.vault=(s="red.vault")=>new ai(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=vj(r);return n==null?this.client.call("query",{sql:t}).then(nl):this.client.call("query",{sql:t,params:n}).then(nl)}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 Lj(n,r.length)}tx(){return new Dm(this)}async transaction(t){if(this.inTransaction)throw $m();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new sl(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){ET(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return yT(this,t)}list(){return gT(this)}from(t){return new ci(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{existsSync as Gj,readdirSync as Dj}from"node:fs";import{homedir as Nj}from"node:os";import{delimiter as $j,dirname as ST,join as Ir}from"node:path";import{fileURLToPath as Fj}from"node:url";function Fm(e=process.platform){return e==="win32"?"red.exe":"red"}function Mm(e={}){let t=e.env??process.env,r=e.exists??Gj,n=e.listDir??Vj,s=e.platform??process.platform,o=Fm(s),i=t.REDDB_BIN;if(typeof i=="string"&&i!=="")return{path:i,source:"env"};let a=e.fromDir??Wj(),c=e.cwd??process.cwd();for(let l of jj(a,c,o))if(r(l))return{path:l,source:"sdk-package"};for(let l of Uj(t,e.home??Nj(),o,n))if(r(l))return{path:l,source:"warm-cache"};for(let l of Hj(t,o))if(r(l))return{path:l,source:"path"};return null}function il(e={}){let t=e.env??process.env,r=Mm({...e,env:t});return r&&(t.REDDB_BIN=r.path),r}function*jj(e,t,r){let n=new Set;for(let s of[e,t])for(let o of qj(s))for(let i of[o,Ir(o,...Bj)]){let a=Ir(i,...Mj,"bin",r);n.has(a)||(n.add(a),yield a)}}function*qj(e){let t=e;for(;;){yield Ir(t,"node_modules");let r=ST(t);if(r===t)return;t=r}}function*Uj(e,t,r,n){let s=e.RED_SKILLS_CACHE_DIR??(e.XDG_CACHE_HOME?Ir(e.XDG_CACHE_HOME,"red-skills","bundles"):Ir(t,".cache","red-skills","bundles")),o=Ir(s,"reddb");for(let i of n(o).sort().reverse())yield Ir(o,i,r)}function*Hj(e,t){for(let r of(e.PATH??"").split($j))r!==""&&(yield Ir(r,t))}function Wj(){return ST(Fj(import.meta.url))}function Vj(e){try{return Dj(e)}catch{return[]}}var Mj,Bj,Bm=w(()=>{"use strict";Mj=["@reddb-io","sdk"],Bj=[".pnpm","node_modules"]});import{createHash as Jj}from"node:crypto";import{existsSync as RT}from"node:fs";import{mkdir as Kj,readFile as zj,rename as jm,rm as li,stat as qm}from"node:fs/promises";import{basename as Yj,dirname as Qj}from"node:path";async function vT(e){await(await kn.open({...e,allowResidentOpen:!0})).close()}var kn,TT=w(()=>{"use strict";kT();Wc();Bm();el();kn=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=tT(t.uri),n=await Zv(r),s=new e(n,{uri:t.uri,ttlDays:Yc(t.ttlDays,_t),ephemeralTtlHours:Yc(t.ephemeralTtlHours,Et),byteBudget:Yc(t.byteBudget,kt),now:t.now??(()=>new Date)});return eT(n)?(il(),await Kj(Qj(n),{recursive:!0}),s.db=await ol(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Xv(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=ur(r.command),l=c==="derivable"?fm(n,r.command):null,u=c==="re-executable"?mm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=pm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=wn(n),m=d==="ephemeral"?ym(n,f,o):null,g=hm(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[_n(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!ti(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Ar(t)];if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Ar(n.handle),bytes:gm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:En(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:um(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),dm(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=En(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=En(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[_n(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[_n(t)];return Xc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Wv(t.derivation_recipe);if(t.reexecution_recipe)return Vv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Qc(r)?Hv(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 Ss(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await qm(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 Ss(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(Ee)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===Ee);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${Ee}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${Ee}`),await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=ur(r.command),l=c==="derivable"?fm(n,r.command):null,u=c==="re-executable"?mm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=pm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=wn(n),m=d==="ephemeral"?ym(n,f,o):null,g=hm(n,l,u,m);m&&!Qc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let b={collection:Ee,handle:i,original_bytes:n.length,stored_bytes:g,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(_n(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(_=>_.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!ti(t))return null;let r=await this.kvGet(_n(t));if(Xc(r))return r;let n=await this.kvGet(Ar(t));if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:Ar(n.handle),bytes:gm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:En(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:um(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return dm(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=Kv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=zv(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 Yv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await zj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=Yj(s),c=Jj("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=>Qv(i,s)).filter(i=>i!=null).sort((i,a)=>a.score-i.score).slice(0,Math.max(1,Math.min(100,r)));return{hits:o,context_md:o.map(i=>`- memory_nodes:${i.rid} ${i.label}: ${i.excerpt}`).join(`
109
- `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Kc());return bm(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Kc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=En(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=En(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 qm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await li(o,{force:!0}),await li(i,{force:!0});let a=await ol(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${qv(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 qm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await li(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await jm(this.path,i),await jm(o,this.path),await li(i,{force:!0})}catch(l){throw!RT(this.path)&&RT(i)&&await jm(i,this.path),await li(o,{force:!0}),l}finally{this.db=await ol(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Kc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(_n(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Ar(t));if(!ri(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var xT={};se(xT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>kn,contentHandle:()=>Zo,ensureReddbBinary:()=>il,provisionElisionStore:()=>vT,reddbBinaryFileName:()=>Fm,resolveReddbBinary:()=>Mm,storageClassForCommand:()=>ur});var al=w(()=>{"use strict";Wc();el();el();TT();Bm()});async function cl(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await CT(e,s),i=(await ui(e,Ke)).filter(D=>xs(D)>=s),a=o.filter(D=>W(D.event_type)!=="show"&&W(D.degradation_reason)===""),c=o.filter(D=>W(D.event_type)==="show"),l=o.filter(D=>W(D.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,_=0,k=0;for(let D of a){D.elided===!0&&u++;let H=ut(D.raw_bytes),ye=ut(D.emitted_bytes),ht=Math.max(0,H-ye),me=Os(D,"raw"),L=Os(D,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=(D.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=Sn(D).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W(D.command)||"unknown",Me=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Me.invocations++,Me.bytes_saved+=ht,Me.tokens_saved+=U,b.set(It,Me);let Be=xr(D.wrapper_ms);Be!=null&&y.push(Be),E+=ut(D.store_open_count);let Kt=xr(D.store_elapsed_ms);Kt!=null&&(_+=Kt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let D of l){let H=W(D.degradation_reason)||W(D.reason)||"unknown",ye=W(D.wrapper_family)||dt(W(D.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=Sn(D);C.push({timestamp:ht,family:ye,command:W(D.command)||"unknown",reason:H,exit_code:xr(D.wrapper_exit_code),stderr_head:W(D.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W(D.command)||"unknown"})}let G=a.length+l.length,q=c.filter(D=>D.hit===!0).length,Q=op(f,m),V=Xj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([D],[H])=>D.localeCompare(H)).map(([D,H])=>({date:D,tokens_saved:H})),top_commands:[...b.values()].sort((D,H)=>H.bytes_saved-D.bytes_saved||H.tokens_saved-D.tokens_saved||D.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({reason:D,count:H})),by_family:[...T.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({family:D,count:H})),recent_failures:C.sort((D,H)=>H.timestamp.localeCompare(D.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Ts(y,.5),wrapper_ms_p95:Ts(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(_),store_elapsed_ms_avg:k===0?null:Pe(_/k)},decisions:V}}function Xj(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 Um(e,t,r=new Date){let s=(await ui(e,Je)).filter(o=>xs(o)<=r.getTime()||Sn(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=Sn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:aq(s)}}async function Hm(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 CT(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(xs).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)/gq()))),g=[],b=new Map,y=new Map,E=new Map,_=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=Sn(L),Jt=U.slice(0,10),It=U.slice(0,16),Me=dt(W(L.command)),Be=Math.max(0,Os(L,"raw").tokens-Os(L,"emitted").tokens);T+=Be,C||=L.estimated===!0&&Be>0;let Kt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Fn=xr(L.wrapper_ms);if(Fn!=null){g.push(Fn);let Ys=b.get(Me)??[];Ys.push(Fn),b.set(Me,Ys)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=dq(U);mr&&_.set(mr,(_.get(mr)??0)+1);let zs=mq(U);zs&&k.set(zs,(k.get(zs)??0)+Be);let Qr=S.get(Me)??{command_family:Me,invocations:0,tokens_saved:0,bytes_saved:0};Qr.invocations++,Qr.tokens_saved+=Be,Qr.bytes_saved+=Kt,S.set(Me,Qr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Be>0&&(!G||Be>G.tokens_saved||Be===G.tokens_saved&&Kt>G.bytes_saved)&&(G={timestamp:U,command_family:Me,tokens_saved:Be,bytes_saved:Kt})}let V=d.map(L=>({timestamp:Sn(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),D=new Map;for(let L of V)D.set(L.reason,(D.get(L.reason)??0)+1);let H=rq(V),ye=tq(u),ht=sq([...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:AT(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,...AT(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:pq(_)},savings:{tokens:op(T,C),measured_control_holdout:Zj(c,l),weekly_tokens_saved:hq(k),elision_rate:c.length===0?0:Pe(O/c.length),top_commands_by_tokens_saved:[...S.values()].sort((L,U)=>U.tokens_saved-L.tokens_saved||U.bytes_saved-L.bytes_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),top_commands_by_invocation_count:[...S.values()].sort((L,U)=>U.invocations-L.invocations||U.tokens_saved-L.tokens_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),single_biggest_elision:G},health:{degradation_timeline:V,degradations_by_reason:[...D.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0])).map(([L,U])=>({reason:L,count:U})),cold_boots:q===0?null:Q,warm_hits:q===0?null:Math.max(0,q-Q)},mining:{recovery_usage_by_family:ye,degradation_clusters:H,threshold_tuning_suggestions:ht}}}async function CT(e,t){let r=(await ui(e,Je)).filter(i=>xs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ui(e,lt)).filter(i=>xs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await ui(e,Tt)).filter(i=>xs(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 Os(e,t){let r=xr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function Zj(e,t){let r=iq(t.map(a=>xr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(OT).filter(a=>a!=null),s=t.map(OT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(oq(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:eq(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function OT(e){let t=Os(e,"raw").tokens;if(t<=0)return null;let r=Os(e,"emitted").tokens;return Math.max(0,t-r)/t}function eq(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 tq(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 rq(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:nq(r)}))}function nq(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 sq(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 oq(e){return e.reduce((t,r)=>t+r,0)/e.length}function iq(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function aq(e){let t=lq();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=cq(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 cq(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function lq(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}async function ui(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>uq(n.value)).filter(n=>ws(n))}function uq(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function xs(e){let t=Date.parse(Sn(e));return Number.isFinite(t)?t:0}function Sn(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function Ts(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 AT(e){return{wrapper_ms_p50:Ts(e,.5),wrapper_ms_p90:Ts(e,.9),wrapper_ms_p95:Ts(e,.95),wrapper_ms_p99:Ts(e,.99)}}function Pe(e){return Math.round(e*100)/100}function dq(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${fq(t.getUTCDay())}:${t.getUTCHours()}`:null}function pq(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 fq(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function mq(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 hq(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 gq(){return 24*60*60*1e3}var PT=w(()=>{"use strict";Yo();al();ip();jc();Zf()});var di={};se(di,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>Je,RSP_DECISIONS_COLLECTION:()=>Ke,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>Wo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Qf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Xf,RSP_TELEMETRY_SPOOL_FILE:()=>Yf,appendTelemetryEvent:()=>yn,appendTelemetryEventSync:()=>Or,drainTelemetrySpool:()=>om,parseTelemetryEvent:()=>Es,readAccountingLaneStats:()=>Um,readTelemetryGainsReport:()=>Hm,readTelemetryStats:()=>cl,takeTelemetrySpool:()=>i1,telemetryLegacySpoolPath:()=>nm,telemetrySpoolCorrectionsPath:()=>sm,telemetrySpoolPath:()=>lr});var Mt=w(()=>{"use strict";jc();jv();PT()});import{isUtf8 as yq}from"node:buffer";async function IT(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&&yq(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 LT=w(()=>{"use strict"});var K=I(ke=>{"use strict";var Wm=Symbol.for("yaml.alias"),GT=Symbol.for("yaml.document"),ll=Symbol.for("yaml.map"),DT=Symbol.for("yaml.pair"),Vm=Symbol.for("yaml.scalar"),ul=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),bq=e=>!!e&&typeof e=="object"&&e[pr]===Wm,wq=e=>!!e&&typeof e=="object"&&e[pr]===GT,_q=e=>!!e&&typeof e=="object"&&e[pr]===ll,Eq=e=>!!e&&typeof e=="object"&&e[pr]===DT,NT=e=>!!e&&typeof e=="object"&&e[pr]===Vm,kq=e=>!!e&&typeof e=="object"&&e[pr]===ul;function $T(e){if(e&&typeof e=="object")switch(e[pr]){case ll:case ul:return!0}return!1}function Sq(e){if(e&&typeof e=="object")switch(e[pr]){case Wm:case ll:case Vm:case ul:return!0}return!1}var Rq=e=>(NT(e)||$T(e))&&!!e.anchor;ke.ALIAS=Wm;ke.DOC=GT;ke.MAP=ll;ke.NODE_TYPE=pr;ke.PAIR=DT;ke.SCALAR=Vm;ke.SEQ=ul;ke.hasAnchor=Rq;ke.isAlias=bq;ke.isCollection=$T;ke.isDocument=wq;ke.isMap=_q;ke.isNode=Sq;ke.isPair=Eq;ke.isScalar=NT;ke.isSeq=kq});var pi=I(Jm=>{"use strict";var pe=K(),ze=Symbol("break visit"),FT=Symbol("skip children"),Bt=Symbol("remove node");function dl(e,t){let r=MT(t);pe.isDocument(e)?As(null,e.contents,r,Object.freeze([e]))===Bt&&(e.contents=null):As(null,e,r,Object.freeze([]))}dl.BREAK=ze;dl.SKIP=FT;dl.REMOVE=Bt;function As(e,t,r,n){let s=BT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return jT(e,n,s),As(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=As(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Bt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=As("key",t.key,r,n);if(o===ze)return ze;o===Bt&&(t.key=null);let i=As("value",t.value,r,n);if(i===ze)return ze;i===Bt&&(t.value=null)}}return s}async function pl(e,t){let r=MT(t);pe.isDocument(e)?await Cs(null,e.contents,r,Object.freeze([e]))===Bt&&(e.contents=null):await Cs(null,e,r,Object.freeze([]))}pl.BREAK=ze;pl.SKIP=FT;pl.REMOVE=Bt;async function Cs(e,t,r,n){let s=await BT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return jT(e,n,s),Cs(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 Cs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Bt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await Cs("key",t.key,r,n);if(o===ze)return ze;o===Bt&&(t.key=null);let i=await Cs("value",t.value,r,n);if(i===ze)return ze;i===Bt&&(t.value=null)}}return s}function MT(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 BT(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 jT(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`)}}Jm.visit=dl;Jm.visitAsync=pl});var Km=I(UT=>{"use strict";var qT=K(),vq=pi(),Tq={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},xq=e=>e.replace(/[!,[\]{}]/g,t=>Tq[t]),fi=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[o,i]=n;return this.tags[o]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[o]=n;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let i=/^\d+\.\d+$/.test(o);return r(6,`Unsupported YAML version ${o}`,i),!1}}default:return r(0,`Unknown directive ${s}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let i=t.slice(2,-1);return i==="!"||i==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),i)}let[,n,s]=t.match(/^(.*!)([^!]*)$/s);s||r(`The ${t} tag has no suffix`);let o=this.tags[n];if(o)try{return o+decodeURIComponent(s)}catch(i){return r(String(i)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+xq(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&&qT.isNode(t.contents)){let o={};vq.visit(t.contents,(i,a)=>{qT.isNode(a)&&a.tag&&(o[a.tag]=!0)}),s=Object.keys(o)}else s=[];for(let[o,i]of n)o==="!!"&&i==="tag:yaml.org,2002:"||(!t||s.some(a=>a.startsWith(i)))&&r.push(`%TAG ${o} ${i}`);return r.join(`
111
- `)}};fi.defaultYaml={explicit:!1,version:"1.2"};fi.defaultTags={"!!":"tag:yaml.org,2002:"};UT.Directives=fi});var fl=I(mi=>{"use strict";var HT=K(),Oq=pi();function Aq(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 WT(e){let t=new Set;return Oq.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function VT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Cq(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=WT(e));let i=VT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(HT.isScalar(i.node)||HT.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:n}}mi.anchorIsValid=Aq;mi.anchorNames=WT;mi.createNodeAnchors=Cq;mi.findNewAnchor=VT});var zm=I(JT=>{"use strict";function hi(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,o=n.length;s<o;++s){let i=n[s],a=hi(e,n,String(s),i);a===void 0?delete n[s]:a!==i&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let o=n.get(s),i=hi(e,n,s,o);i===void 0?n.delete(s):i!==o&&n.set(s,i)}else if(n instanceof Set)for(let s of Array.from(n)){let o=hi(e,n,s,s);o===void 0?n.delete(s):o!==s&&(n.delete(s),n.add(o))}else for(let[s,o]of Object.entries(n)){let i=hi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}JT.applyReviver=hi});var Lr=I(zT=>{"use strict";var Pq=K();function KT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>KT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!Pq.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}zT.toJS=KT});var ml=I(QT=>{"use strict";var Iq=zm(),YT=K(),Lq=Lr(),Ym=class{constructor(t){Object.defineProperty(this,YT.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(!YT.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=Lq.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Iq.applyReviver(o,{"":a},"",a):a}};QT.NodeBase=Ym});var gi=I(XT=>{"use strict";var Gq=fl(),Dq=pi(),Ps=K(),Nq=ml(),$q=Lr(),Qm=class extends Nq.NodeBase{constructor(t){super(Ps.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=[],Dq.visit(t,{Node:(o,i)=>{(Ps.isAlias(i)||Ps.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||($q.toJS(i,null,r),a=n.get(i)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=hl(s,i,n)),a.count*a.aliasCount>o)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(t,r,n){let s=`*${this.source}`;if(t){if(Gq.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function hl(e,t,r){if(Ps.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Ps.isCollection(t)){let n=0;for(let s of t.items){let o=hl(e,s,r);o>n&&(n=o)}return n}else if(Ps.isPair(t)){let n=hl(e,t.key,r),s=hl(e,t.value,r);return Math.max(n,s)}return 1}XT.Alias=Qm});var le=I(Xm=>{"use strict";var Fq=K(),Mq=ml(),Bq=Lr(),jq=e=>!e||typeof e!="function"&&typeof e!="object",Gr=class extends Mq.NodeBase{constructor(t){super(Fq.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:Bq.toJS(this.value,t,r)}toString(){return String(this.value)}};Gr.BLOCK_FOLDED="BLOCK_FOLDED";Gr.BLOCK_LITERAL="BLOCK_LITERAL";Gr.PLAIN="PLAIN";Gr.QUOTE_DOUBLE="QUOTE_DOUBLE";Gr.QUOTE_SINGLE="QUOTE_SINGLE";Xm.Scalar=Gr;Xm.isScalarValue=jq});var yi=I(ex=>{"use strict";var qq=gi(),Rn=K(),ZT=le(),Uq="tag:yaml.org,2002:";function Hq(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 Wq(e,t,r){if(Rn.isDocument(e)&&(e=e.contents),Rn.isNode(e))return e;if(Rn.isPair(e)){let d=r.schema[Rn.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 qq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=Uq+t.slice(2));let l=Hq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new ZT.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[Rn.MAP]:Symbol.iterator in Object(e)?i[Rn.SEQ]:i[Rn.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 ZT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}ex.createNode=Wq});var yl=I(gl=>{"use strict";var Vq=yi(),jt=K(),Jq=ml();function Zm(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return Vq.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 tx=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,eh=class extends Jq.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=>jt.isNode(n)||jt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(tx(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(jt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,Zm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(jt.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&&jt.isScalar(o)?o.value:o:jt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!jt.isPair(r))return!1;let n=r.value;return n==null||t&&jt.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 jt.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(jt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,Zm(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};gl.Collection=eh;gl.collectionFromPath=Zm;gl.isEmptyPath=tx});var bi=I(bl=>{"use strict";var Kq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function th(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var zq=(e,t,r)=>e.endsWith(`
112
- `)?th(r,t):r.includes(`
108
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function lj(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?Cm(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 Cm(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 uj(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function dj(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 ${uj(e.priority)}`),e.key!=null&&(t+=` KEY ${Pm(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${Pm(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function pj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?Pm(e):JSON.stringify(e)}function Pm(e){return`'${String(e).replace(/'/g,"''")}'`}function Am(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var si,Im=w(()=>{Cr();si=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=dj(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${pj(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${dr(t)}${Cm(r)}`});return Am(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${dr(t)}${Cm(r)}`});return Am(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=lj(t,r,n),o=await this.client.call("query",{sql:s});return Am(o)}}});function pT(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function fj(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function nl(e){return String(e).split(".").map(fT).join(".")}function fT(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 mj(e){return mT(JSON.stringify(e))}function hj(e){return JSON.stringify(e)}function gj(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?mj(e):mT(e)}function mT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Lm=w(()=>{Cr();oi=class{constructor(t){this.db=t}async insert(t,r){pT(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${nl(t)} DOCUMENT VALUES (${hj(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=fj(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${nl(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){pT(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])=>`${fT(c)} = ${gj(l)}`).join(", "),a=(await this.db.query(`UPDATE ${nl(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${nl(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function yj(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Pr(r)}.${Pr(n)})`}return wj(e)}function bj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Pr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function wj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):hT(e)}function hT(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Gm=w(()=>{ii=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){bj(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(hT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Pr(s)} ${Pr(t)} = ${yj(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${Pr(n)} ${Pr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${Pr(n)} ${Pr(t)}`})}}});function _j(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 vs(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 Ej(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):gT(e)}function gT(e){return`'${String(e).replace(/'/g,"''")}'`}var ai,Dm=w(()=>{ai=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){_j(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(gT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${vs(s)}.${vs(t)} = ${Ej(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${vs(n)}.${vs(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${vs(n)}.${vs(t)}`})}}});async function bT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(kj)}async function wT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${Rj(t)}`)).rows??[]).some(n=>n.name===String(t))}function kj(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function yT(e){return String(e).split(".").map(Sj).join(".")}function Sj(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 Rj(e){return`'${String(e).replace(/'/g,"''")}'`}var ci,Nm=w(()=>{Cr();ci=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(yT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${yT(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function il(e,t={}){let r=Sm(e);if(Gj(r),r.kind==="embedded"){let n=Lj(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??cT(),i=await sT(o,s),a=new rl(i);return await a.call("version",{}),new Fm(a,{transport:"embedded"})}}function ET(e){return xj(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:Aj(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&Pj(e)?{$uuid:e}:e}function xj(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 Oj(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(ET):e.map(ET)}function Aj(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 Cj(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 Pj(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function sl(e){if(Array.isArray(e))return e.map(sl);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return Cj(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=sl(s);return r}return e}function Ij(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function Lj(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 Gj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",vj)}function Mm(){return new j(_T,`${_T}: nested transactions are not supported on one connection`)}function ST(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function Dj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${kT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function Nj(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 >= ${kT} 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 vj,Tj,kT,_T,ol,$m,Fm,RT=w(()=>{oT();lT();Cr();Rm();vm();Om();Im();Lm();Gm();Dm();Nm();vm();Om();Im();Lm();Gm();Dm();Nm();Rm();vj="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",Tj="1.0",kT="1.0.9",_T="NESTED_TX_NOT_SUPPORTED";ol=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw Mm()}},$m=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw Mm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new ol(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){ST(r,n)}throw r}}},Fm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=Tj,this.cache=new ni(t,this.transport),this.queue=new si(t),this.queues=this.queue,this.documents=new oi(this);let n=new Rs(t);this.kv=Object.assign((s="kv_default")=>new Rs(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ii(t,s),this.vault=(s="red.vault")=>new ai(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=Oj(r);return n==null?this.client.call("query",{sql:t}).then(sl):this.client.call("query",{sql:t,params:n}).then(sl)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return Dj(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 Nj(n,r.length)}tx(){return new $m(this)}async transaction(t){if(this.inTransaction)throw Mm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new ol(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){ST(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return wT(this,t)}list(){return bT(this)}from(t){return new ci(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{existsSync as $j,readdirSync as Fj}from"node:fs";import{homedir as Mj}from"node:os";import{delimiter as Bj,dirname as vT,join as Ir}from"node:path";import{fileURLToPath as jj}from"node:url";function Bm(e=process.platform){return e==="win32"?"red.exe":"red"}function jm(e={}){let t=e.env??process.env,r=e.exists??$j,n=e.listDir??zj,s=e.platform??process.platform,o=Bm(s),i=t.REDDB_BIN;if(typeof i=="string"&&i!=="")return{path:i,source:"env"};let a=e.fromDir??Kj(),c=e.cwd??process.cwd();for(let l of Hj(a,c,o))if(r(l))return{path:l,source:"sdk-package"};for(let l of Vj(t,e.home??Mj(),o,n))if(r(l))return{path:l,source:"warm-cache"};for(let l of Jj(t,o))if(r(l))return{path:l,source:"path"};return null}function al(e={}){let t=e.env??process.env,r=jm({...e,env:t});return r&&(t.REDDB_BIN=r.path),r}function*Hj(e,t,r){let n=new Set;for(let s of[e,t])for(let o of Wj(s))for(let i of[o,Ir(o,...Uj)]){let a=Ir(i,...qj,"bin",r);n.has(a)||(n.add(a),yield a)}}function*Wj(e){let t=e;for(;;){yield Ir(t,"node_modules");let r=vT(t);if(r===t)return;t=r}}function*Vj(e,t,r,n){let s=e.RED_SKILLS_CACHE_DIR??(e.XDG_CACHE_HOME?Ir(e.XDG_CACHE_HOME,"red-skills","bundles"):Ir(t,".cache","red-skills","bundles")),o=Ir(s,"reddb");for(let i of n(o).sort().reverse())yield Ir(o,i,r)}function*Jj(e,t){for(let r of(e.PATH??"").split(Bj))r!==""&&(yield Ir(r,t))}function Kj(){return vT(jj(import.meta.url))}function zj(e){try{return Fj(e)}catch{return[]}}var qj,Uj,qm=w(()=>{"use strict";qj=["@reddb-io","sdk"],Uj=[".pnpm","node_modules"]});import{createHash as Yj}from"node:crypto";import{existsSync as TT}from"node:fs";import{mkdir as Qj,readFile as Xj,rename as Um,rm as li,stat as Hm}from"node:fs/promises";import{basename as Zj,dirname as eq}from"node:path";async function xT(e){await(await kn.open({...e,allowResidentOpen:!0})).close()}var kn,OT=w(()=>{"use strict";RT();Vc();qm();tl();kn=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=nT(t.uri),n=await tT(r),s=new e(n,{uri:t.uri,ttlDays:Qc(t.ttlDays,_t),ephemeralTtlHours:Qc(t.ephemeralTtlHours,Et),byteBudget:Qc(t.byteBudget,kt),now:t.now??(()=>new Date)});return rT(n)?(al(),await Qj(eq(n),{recursive:!0}),s.db=await il(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await eT(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=ur(r.command),l=c==="derivable"?hm(n,r.command):null,u=c==="re-executable"?gm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=mm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=wn(n),m=d==="ephemeral"?wm(n,f,o):null,g=ym(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[_n(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!ti(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Ar(t)];if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Ar(n.handle),bytes:bm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:En(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:pm(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),fm(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=En(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=En(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[_n(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[_n(t)];return Zc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Jv(t.derivation_recipe);if(t.reexecution_recipe)return Kv(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Xc(r)?Vv(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 Ss(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await Hm(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)}
109
+ `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await Ss(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(Ee)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===Ee);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${Ee}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${Ee}`),await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=ur(r.command),l=c==="derivable"?hm(n,r.command):null,u=c==="re-executable"?gm(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=mm(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=wn(n),m=d==="ephemeral"?wm(n,f,o):null,g=ym(n,l,u,m);m&&!Xc(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(_n(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(_=>_.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!ti(t))return null;let r=await this.kvGet(_n(t));if(Zc(r))return r;let n=await this.kvGet(Ar(t));if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:Ar(n.handle),bytes:bm(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:ei(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:Ee,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:ei(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:En(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:pm(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return fm(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=Yv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Qv(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 Xv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await Xj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=Zj(s),c=Yj("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=>Zv(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(`
110
+ `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(zc());return _m(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(zc(),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=En(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=En(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 Hm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await li(o,{force:!0}),await li(i,{force:!0});let a=await il(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${Hv(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 Hm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await li(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await Um(this.path,i),await Um(o,this.path),await li(i,{force:!0})}catch(l){throw!TT(this.path)&&TT(i)&&await Um(i,this.path),await li(o,{force:!0}),l}finally{this.db=await il(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:zc(),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(_n(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Ar(t));if(!ri(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var AT={};se(AT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>kn,contentHandle:()=>Zo,ensureReddbBinary:()=>al,provisionElisionStore:()=>xT,reddbBinaryFileName:()=>Bm,resolveReddbBinary:()=>jm,storageClassForCommand:()=>ur});var cl=w(()=>{"use strict";Vc();tl();tl();OT();qm()});async function ll(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await IT(e,s),i=(await ui(e,Ke)).filter(D=>xs(D)>=s),a=o.filter(D=>W(D.event_type)!=="show"&&W(D.degradation_reason)===""),c=o.filter(D=>W(D.event_type)==="show"),l=o.filter(D=>W(D.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,_=0,k=0;for(let D of a){D.elided===!0&&u++;let H=ut(D.raw_bytes),ye=ut(D.emitted_bytes),ht=Math.max(0,H-ye),me=Os(D,"raw"),L=Os(D,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=(D.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Jt=Sn(D).slice(0,10);Jt&&g.set(Jt,(g.get(Jt)??0)+U);let It=W(D.command)||"unknown",Me=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Me.invocations++,Me.bytes_saved+=ht,Me.tokens_saved+=U,b.set(It,Me);let Be=xr(D.wrapper_ms);Be!=null&&y.push(Be),E+=ut(D.store_open_count);let Kt=xr(D.store_elapsed_ms);Kt!=null&&(_+=Kt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let D of l){let H=W(D.degradation_reason)||W(D.reason)||"unknown",ye=W(D.wrapper_family)||dt(W(D.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=Sn(D);C.push({timestamp:ht,family:ye,command:W(D.command)||"unknown",reason:H,exit_code:xr(D.wrapper_exit_code),stderr_head:W(D.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W(D.command)||"unknown"})}let G=a.length+l.length,q=c.filter(D=>D.hit===!0).length,Q=ap(f,m),V=tq(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([D],[H])=>D.localeCompare(H)).map(([D,H])=>({date:D,tokens_saved:H})),top_commands:[...b.values()].sort((D,H)=>H.bytes_saved-D.bytes_saved||H.tokens_saved-D.tokens_saved||D.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({reason:D,count:H})),by_family:[...T.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({family:D,count:H})),recent_failures:C.sort((D,H)=>H.timestamp.localeCompare(D.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:Ts(y,.5),wrapper_ms_p95:Ts(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(_),store_elapsed_ms_avg:k===0?null:Pe(_/k)},decisions:V}}function tq(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 Wm(e,t,r=new Date){let s=(await ui(e,Je)).filter(o=>xs(o)<=r.getTime()||Sn(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=Sn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:uq(s)}}async function Vm(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 IT(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(xs).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)/wq()))),g=[],b=new Map,y=new Map,E=new Map,_=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=Sn(L),Jt=U.slice(0,10),It=U.slice(0,16),Me=dt(W(L.command)),Be=Math.max(0,Os(L,"raw").tokens-Os(L,"emitted").tokens);T+=Be,C||=L.estimated===!0&&Be>0;let Kt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),Fn=xr(L.wrapper_ms);if(Fn!=null){g.push(Fn);let Ys=b.get(Me)??[];Ys.push(Fn),b.set(Me,Ys)}Jt&&y.set(Jt,(y.get(Jt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=mq(U);mr&&_.set(mr,(_.get(mr)??0)+1);let zs=yq(U);zs&&k.set(zs,(k.get(zs)??0)+Be);let Qr=S.get(Me)??{command_family:Me,invocations:0,tokens_saved:0,bytes_saved:0};Qr.invocations++,Qr.tokens_saved+=Be,Qr.bytes_saved+=Kt,S.set(Me,Qr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Be>0&&(!G||Be>G.tokens_saved||Be===G.tokens_saved&&Kt>G.bytes_saved)&&(G={timestamp:U,command_family:Me,tokens_saved:Be,bytes_saved:Kt})}let V=d.map(L=>({timestamp:Sn(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),D=new Map;for(let L of V)D.set(L.reason,(D.get(L.reason)??0)+1);let H=oq(V),ye=sq(u),ht=aq([...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:hq(_)},savings:{tokens:ap(T,C),measured_control_holdout:rq(c,l),weekly_tokens_saved:bq(k),elision_rate:c.length===0?0:Pe(O/c.length),top_commands_by_tokens_saved:[...S.values()].sort((L,U)=>U.tokens_saved-L.tokens_saved||U.bytes_saved-L.bytes_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),top_commands_by_invocation_count:[...S.values()].sort((L,U)=>U.invocations-L.invocations||U.tokens_saved-L.tokens_saved||L.command_family.localeCompare(U.command_family)).slice(0,10),single_biggest_elision:G},health:{degradation_timeline:V,degradations_by_reason:[...D.entries()].sort((L,U)=>U[1]-L[1]||L[0].localeCompare(U[0])).map(([L,U])=>({reason:L,count:U})),cold_boots:q===0?null:Q,warm_hits:q===0?null:Math.max(0,q-Q)},mining:{recovery_usage_by_family:ye,degradation_clusters:H,threshold_tuning_suggestions:ht}}}async function IT(e,t){let r=(await ui(e,Je)).filter(i=>xs(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ui(e,lt)).filter(i=>xs(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await ui(e,Tt)).filter(i=>xs(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 Os(e,t){let r=xr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function rq(e,t){let r=lq(t.map(a=>xr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(CT).filter(a=>a!=null),s=t.map(CT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(cq(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:nq(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function CT(e){let t=Os(e,"raw").tokens;if(t<=0)return null;let r=Os(e,"emitted").tokens;return Math.max(0,t-r)/t}function nq(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 sq(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 oq(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:iq(r)}))}function iq(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 aq(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 cq(e){return e.reduce((t,r)=>t+r,0)/e.length}function lq(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function uq(e){let t=pq();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=dq(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 dq(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function pq(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}async function ui(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>fq(n.value)).filter(n=>ws(n))}function fq(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function xs(e){let t=Date.parse(Sn(e));return Number.isFinite(t)?t:0}function Sn(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function Ts(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:Ts(e,.5),wrapper_ms_p90:Ts(e,.9),wrapper_ms_p95:Ts(e,.95),wrapper_ms_p99:Ts(e,.99)}}function Pe(e){return Math.round(e*100)/100}function mq(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${gq(t.getUTCDay())}:${t.getUTCHours()}`:null}function hq(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 gq(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function yq(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 bq(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 wq(){return 24*60*60*1e3}var LT=w(()=>{"use strict";Yo();cl();cp();qc();tm()});var di={};se(di,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>Je,RSP_DECISIONS_COLLECTION:()=>Ke,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Tt,RSP_TELEMETRY_INDEX_COLLECTION:()=>Wo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Zf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>em,RSP_TELEMETRY_SPOOL_FILE:()=>Xf,appendTelemetryEvent:()=>yn,appendTelemetryEventSync:()=>Or,drainTelemetrySpool:()=>am,parseTelemetryEvent:()=>Es,readAccountingLaneStats:()=>Wm,readTelemetryGainsReport:()=>Vm,readTelemetryStats:()=>ll,takeTelemetrySpool:()=>l1,telemetryLegacySpoolPath:()=>om,telemetrySpoolCorrectionsPath:()=>im,telemetrySpoolPath:()=>lr});var Mt=w(()=>{"use strict";qc();Uv();LT()});import{isUtf8 as _q}from"node:buffer";async function GT(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&&_q(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)}
111
+ `)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var DT=w(()=>{"use strict"});var K=I(ke=>{"use strict";var Jm=Symbol.for("yaml.alias"),NT=Symbol.for("yaml.document"),ul=Symbol.for("yaml.map"),$T=Symbol.for("yaml.pair"),Km=Symbol.for("yaml.scalar"),dl=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),Eq=e=>!!e&&typeof e=="object"&&e[pr]===Jm,kq=e=>!!e&&typeof e=="object"&&e[pr]===NT,Sq=e=>!!e&&typeof e=="object"&&e[pr]===ul,Rq=e=>!!e&&typeof e=="object"&&e[pr]===$T,FT=e=>!!e&&typeof e=="object"&&e[pr]===Km,vq=e=>!!e&&typeof e=="object"&&e[pr]===dl;function MT(e){if(e&&typeof e=="object")switch(e[pr]){case ul:case dl:return!0}return!1}function Tq(e){if(e&&typeof e=="object")switch(e[pr]){case Jm:case ul:case Km:case dl:return!0}return!1}var xq=e=>(FT(e)||MT(e))&&!!e.anchor;ke.ALIAS=Jm;ke.DOC=NT;ke.MAP=ul;ke.NODE_TYPE=pr;ke.PAIR=$T;ke.SCALAR=Km;ke.SEQ=dl;ke.hasAnchor=xq;ke.isAlias=Eq;ke.isCollection=MT;ke.isDocument=kq;ke.isMap=Sq;ke.isNode=Tq;ke.isPair=Rq;ke.isScalar=FT;ke.isSeq=vq});var pi=I(zm=>{"use strict";var pe=K(),ze=Symbol("break visit"),BT=Symbol("skip children"),Bt=Symbol("remove node");function pl(e,t){let r=jT(t);pe.isDocument(e)?As(null,e.contents,r,Object.freeze([e]))===Bt&&(e.contents=null):As(null,e,r,Object.freeze([]))}pl.BREAK=ze;pl.SKIP=BT;pl.REMOVE=Bt;function As(e,t,r,n){let s=qT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return UT(e,n,s),As(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=As(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Bt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=As("key",t.key,r,n);if(o===ze)return ze;o===Bt&&(t.key=null);let i=As("value",t.value,r,n);if(i===ze)return ze;i===Bt&&(t.value=null)}}return s}async function fl(e,t){let r=jT(t);pe.isDocument(e)?await Cs(null,e.contents,r,Object.freeze([e]))===Bt&&(e.contents=null):await Cs(null,e,r,Object.freeze([]))}fl.BREAK=ze;fl.SKIP=BT;fl.REMOVE=Bt;async function Cs(e,t,r,n){let s=await qT(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return UT(e,n,s),Cs(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 Cs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Bt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await Cs("key",t.key,r,n);if(o===ze)return ze;o===Bt&&(t.key=null);let i=await Cs("value",t.value,r,n);if(i===ze)return ze;i===Bt&&(t.value=null)}}return s}function jT(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 qT(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 UT(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`)}}zm.visit=pl;zm.visitAsync=fl});var Ym=I(WT=>{"use strict";var HT=K(),Oq=pi(),Aq={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Cq=e=>e.replace(/[!,[\]{}]/g,t=>Aq[t]),fi=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[o,i]=n;return this.tags[o]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[o]=n;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let i=/^\d+\.\d+$/.test(o);return r(6,`Unsupported YAML version ${o}`,i),!1}}default:return r(0,`Unknown directive ${s}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let i=t.slice(2,-1);return i==="!"||i==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),i)}let[,n,s]=t.match(/^(.*!)([^!]*)$/s);s||r(`The ${t} tag has no suffix`);let o=this.tags[n];if(o)try{return o+decodeURIComponent(s)}catch(i){return r(String(i)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+Cq(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&&HT.isNode(t.contents)){let o={};Oq.visit(t.contents,(i,a)=>{HT.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(`
112
+ `)}};fi.defaultYaml={explicit:!1,version:"1.2"};fi.defaultTags={"!!":"tag:yaml.org,2002:"};WT.Directives=fi});var ml=I(mi=>{"use strict";var VT=K(),Pq=pi();function Iq(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 JT(e){let t=new Set;return Pq.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function KT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function Lq(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=JT(e));let i=KT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(VT.isScalar(i.node)||VT.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:n}}mi.anchorIsValid=Iq;mi.anchorNames=JT;mi.createNodeAnchors=Lq;mi.findNewAnchor=KT});var Qm=I(zT=>{"use strict";function hi(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,o=n.length;s<o;++s){let i=n[s],a=hi(e,n,String(s),i);a===void 0?delete n[s]:a!==i&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let o=n.get(s),i=hi(e,n,s,o);i===void 0?n.delete(s):i!==o&&n.set(s,i)}else if(n instanceof Set)for(let s of Array.from(n)){let o=hi(e,n,s,s);o===void 0?n.delete(s):o!==s&&(n.delete(s),n.add(o))}else for(let[s,o]of Object.entries(n)){let i=hi(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}zT.applyReviver=hi});var Lr=I(QT=>{"use strict";var Gq=K();function YT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>YT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!Gq.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}QT.toJS=YT});var hl=I(ZT=>{"use strict";var Dq=Qm(),XT=K(),Nq=Lr(),Xm=class{constructor(t){Object.defineProperty(this,XT.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(!XT.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=Nq.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?Dq.applyReviver(o,{"":a},"",a):a}};ZT.NodeBase=Xm});var gi=I(ex=>{"use strict";var $q=ml(),Fq=pi(),Ps=K(),Mq=hl(),Bq=Lr(),Zm=class extends Mq.NodeBase{constructor(t){super(Ps.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=[],Fq.visit(t,{Node:(o,i)=>{(Ps.isAlias(i)||Ps.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||(Bq.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=gl(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($q.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 gl(e,t,r){if(Ps.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Ps.isCollection(t)){let n=0;for(let s of t.items){let o=gl(e,s,r);o>n&&(n=o)}return n}else if(Ps.isPair(t)){let n=gl(e,t.key,r),s=gl(e,t.value,r);return Math.max(n,s)}return 1}ex.Alias=Zm});var le=I(eh=>{"use strict";var jq=K(),qq=hl(),Uq=Lr(),Hq=e=>!e||typeof e!="function"&&typeof e!="object",Gr=class extends qq.NodeBase{constructor(t){super(jq.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:Uq.toJS(this.value,t,r)}toString(){return String(this.value)}};Gr.BLOCK_FOLDED="BLOCK_FOLDED";Gr.BLOCK_LITERAL="BLOCK_LITERAL";Gr.PLAIN="PLAIN";Gr.QUOTE_DOUBLE="QUOTE_DOUBLE";Gr.QUOTE_SINGLE="QUOTE_SINGLE";eh.Scalar=Gr;eh.isScalarValue=Hq});var yi=I(rx=>{"use strict";var Wq=gi(),Rn=K(),tx=le(),Vq="tag:yaml.org,2002:";function Jq(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 Kq(e,t,r){if(Rn.isDocument(e)&&(e=e.contents),Rn.isNode(e))return e;if(Rn.isPair(e)){let d=r.schema[Rn.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 Wq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=Vq+t.slice(2));let l=Jq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new tx.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[Rn.MAP]:Symbol.iterator in Object(e)?i[Rn.SEQ]:i[Rn.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 tx.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}rx.createNode=Kq});var bl=I(yl=>{"use strict";var zq=yi(),jt=K(),Yq=hl();function th(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 zq.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 nx=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,rh=class extends Yq.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=>jt.isNode(n)||jt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(nx(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(jt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,th(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(jt.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&&jt.isScalar(o)?o.value:o:jt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!jt.isPair(r))return!1;let n=r.value;return n==null||t&&jt.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 jt.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(jt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,th(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};yl.Collection=rh;yl.collectionFromPath=th;yl.isEmptyPath=nx});var bi=I(wl=>{"use strict";var Qq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function nh(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Xq=(e,t,r)=>e.endsWith(`
113
+ `)?nh(r,t):r.includes(`
113
114
  `)?`
114
- `+th(r,t):(e.endsWith(" ")?"":" ")+r;bl.indentComment=th;bl.lineComment=zq;bl.stringifyComment=Kq});var nx=I(wi=>{"use strict";var Yq="flow",rh="block",wl="quoted";function Qq(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===rh&&(g=rx(e,g,t.length),g!==-1&&(d=g+c));for(let _;_=e[g+=1];){if(r===wl&&_==="\\"){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(_===`
115
- `)r===rh&&(g=rx(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(_===" "&&f&&f!==" "&&f!==`
115
+ `+nh(r,t):(e.endsWith(" ")?"":" ")+r;wl.indentComment=nh;wl.lineComment=Xq;wl.stringifyComment=Qq});var ox=I(wi=>{"use strict";var Zq="flow",sh="block",_l="quoted";function eU(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===sh&&(g=sx(e,g,t.length),g!==-1&&(d=g+c));for(let _;_=e[g+=1];){if(r===_l&&_==="\\"){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(_===`
116
+ `)r===sh&&(g=sx(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(_===" "&&f&&f!==" "&&f!==`
116
117
  `&&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===wl){for(;f===" "||f===" ";)f=_,_=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=_}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let _=0;_<l.length;++_){let k=l[_],S=l[_+1]||e.length;k===0?E=`
118
- ${t}${e.slice(0,S)}`:(r===wl&&u[k]&&(E+=`${e[k]}\\`),E+=`
119
- ${t}${e.slice(k+1,S)}`)}return E}function rx(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
120
- `);n=t,s=t+1,o=e[s]}return n}wi.FOLD_BLOCK=rh;wi.FOLD_FLOW=Yq;wi.FOLD_QUOTED=wl;wi.foldFlowLines=Qq});var Ei=I(sx=>{"use strict";var xt=le(),Dr=nx(),El=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),kl=e=>/^(%|---|\.\.\.)/m.test(e);function Xq(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
121
- `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function _i(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(kl(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
118
+ `&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===_l){for(;f===" "||f===" ";)f=_,_=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=_}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let _=0;_<l.length;++_){let k=l[_],S=l[_+1]||e.length;k===0?E=`
119
+ ${t}${e.slice(0,S)}`:(r===_l&&u[k]&&(E+=`${e[k]}\\`),E+=`
120
+ ${t}${e.slice(k+1,S)}`)}return E}function sx(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!==`
121
+ `);n=t,s=t+1,o=e[s]}return n}wi.FOLD_BLOCK=sh;wi.FOLD_FLOW=Zq;wi.FOLD_QUOTED=_l;wi.foldFlowLines=eU});var Ei=I(ix=>{"use strict";var xt=le(),Dr=ox(),kl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Sl=e=>/^(%|---|\.\.\.)/m.test(e);function tU(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]===`
122
+ `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function _i(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(Sl(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
123
 
123
124
  `;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:Dr.foldFlowLines(i,o,Dr.FOLD_QUOTED,El(t,!1))}function nh(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
125
- `)||/[ \t]\n|\n[ \t]/.test(e))return _i(e,t);let r=t.indent||(kl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
126
- ${r}`)+"'";return t.implicitKey?n:Dr.foldFlowLines(n,r,Dr.FOLD_FLOW,El(t,!1))}function Is(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=_i;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=nh:o&&!s?n=_i:n=r?nh:_i}return n(e,t)}var sh;try{sh=new RegExp(`(^|(?<!
125
+ `,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:Dr.foldFlowLines(i,o,Dr.FOLD_QUOTED,kl(t,!1))}function oh(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
126
+ `)||/[ \t]\n|\n[ \t]/.test(e))return _i(e,t);let r=t.indent||(Sl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
127
+ ${r}`)+"'";return t.implicitKey?n:Dr.foldFlowLines(n,r,Dr.FOLD_FLOW,kl(t,!1))}function Is(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=_i;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=oh:o&&!s?n=_i:n=r?oh:_i}return n(e,t)}var ih;try{ih=new RegExp(`(^|(?<!
127
128
  ))
128
129
  +(?!
129
- |$)`,"g")}catch{sh=/\n+(?!\n|$)/g}function _l({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Is(r,n);let l=n.indent||(n.forceBlockIndent||kl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!Xq(r,c,l.length);if(!r)return u?`|
130
+ |$)`,"g")}catch{ih=/\n+(?!\n|$)/g}function El({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 Is(r,n);let l=n.indent||(n.forceBlockIndent||Sl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!tU(r,c,l.length);if(!r)return u?`|
130
131
  `:`>
131
132
  `;let d,p;for(p=r.length;p>0;--p){let S=r[p-1];if(S!==`
132
133
  `&&S!==" "&&S!==" ")break}let f=r.substring(p),m=f.indexOf(`
133
134
  `);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(sh,`$&${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
+ `&&(f=f.slice(0,-1)),f=f.replace(ih,`$&${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
136
  `)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=El(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Dr.foldFlowLines(`${E}${S}${f}`,l,Dr.FOLD_BLOCK,C);if(!T)return`>${k}
137
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=kl(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Dr.foldFlowLines(`${E}${S}${f}`,l,Dr.FOLD_BLOCK,C);if(!T)return`>${k}
137
138
  ${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
138
- ${l}${E}${r}${f}`}function Zq(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
+ ${l}${E}${r}${f}`}function rU(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
140
  `)||u&&/[[\]{},]/.test(o))return Is(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
140
- `)?Is(o,t):_l(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
141
- `))return _l(e,t,r,n);if(kl(o)){if(c==="")return t.forceBlockIndent=!0,_l(e,t,r,n);if(a&&c===l)return Is(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 Is(o,t)}return a?d:Dr.foldFlowLines(d,c,Dr.FOLD_FLOW,El(t,!1))}function eU(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?Is(i.value,t):_l(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return _i(i.value,t);case xt.Scalar.QUOTE_SINGLE:return nh(i.value,t);case xt.Scalar.PLAIN:return Zq(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}sx.stringifyString=eU});var ki=I(oh=>{"use strict";var tU=fl(),Nr=K(),rU=bi(),nU=Ei();function sU(e,t){let r=Object.assign({blockQuote:!0,commentString:rU.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 oU(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(Nr.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 iU(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Nr.isScalar(e)||Nr.isCollection(e))&&e.anchor;o&&tU.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 aU(e,t,r,n){if(Nr.isPair(e))return e.toString(t,r,n);if(Nr.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=Nr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=oU(t.doc.schema.tags,o));let i=iU(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):Nr.isScalar(o)?nU.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Nr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
143
- ${t.indent}${a}`:a}oh.createStringifyContext=sU;oh.stringify=aU});var cx=I(ax=>{"use strict";var fr=K(),ox=le(),ix=ki(),Si=bi();function cU({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===ox.Scalar.BLOCK_FOLDED||e.type===ox.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=ix.stringify(e,r,()=>m=!0,()=>g=!0);if(!f&&!r.inFlow&&b.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),b===""?"?":f?`? ${b}`:b}else if(o&&!d||t==null&&f)return b=`? ${b}`,p&&!m?b+=Si.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=Si.lineComment(b,r.indent,l(p))),b=`? ${b}
144
- ${a}:`):(b=`${b}:`,p&&(b+=Si.lineComment(b,r.indent,l(p))));let y,E,_;fr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,_=t.comment):(y=!1,E=null,_=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=ix.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
141
+ `)?Is(o,t):El(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
142
+ `))return El(e,t,r,n);if(Sl(o)){if(c==="")return t.forceBlockIndent=!0,El(e,t,r,n);if(a&&c===l)return Is(o,t)}let d=o.replace(/\n+/g,`$&
143
+ ${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 Is(o,t)}return a?d:Dr.foldFlowLines(d,c,Dr.FOLD_FLOW,kl(t,!1))}function nU(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?Is(i.value,t):El(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return _i(i.value,t);case xt.Scalar.QUOTE_SINGLE:return oh(i.value,t);case xt.Scalar.PLAIN:return rU(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}ix.stringifyString=nU});var ki=I(ah=>{"use strict";var sU=ml(),Nr=K(),oU=bi(),iU=Ei();function aU(e,t){let r=Object.assign({blockQuote:!0,commentString:oU.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 cU(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(Nr.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 lU(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Nr.isScalar(e)||Nr.isCollection(e))&&e.anchor;o&&sU.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 uU(e,t,r,n){if(Nr.isPair(e))return e.toString(t,r,n);if(Nr.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=Nr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=cU(t.doc.schema.tags,o));let i=lU(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):Nr.isScalar(o)?iU.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Nr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
144
+ ${t.indent}${a}`:a}ah.createStringifyContext=aU;ah.stringify=uU});var ux=I(lx=>{"use strict";var fr=K(),ax=le(),cx=ki(),Si=bi();function dU({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===ax.Scalar.BLOCK_FOLDED||e.type===ax.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=cx.stringify(e,r,()=>m=!0,()=>g=!0);if(!f&&!r.inFlow&&b.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),b===""?"?":f?`? ${b}`:b}else if(o&&!d||t==null&&f)return b=`? ${b}`,p&&!m?b+=Si.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=Si.lineComment(b,r.indent,l(p))),b=`? ${b}
145
+ ${a}:`):(b=`${b}:`,p&&(b+=Si.lineComment(b,r.indent,l(p))));let y,E,_;fr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,_=t.comment):(y=!1,E=null,_=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=cx.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
145
146
  `:"",E){let C=l(E);T+=`
146
147
  ${Si.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
147
148
  `&&_&&(T=`
@@ -150,34 +151,34 @@ ${Si.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
150
151
  ${r.indent}`}else if(!f&&fr.isCollection(t)){let C=S[0],O=S.indexOf(`
151
152
  `),G=O!==-1,q=r.inFlow??t.flow??t.items.length===0;if(G||!q){let Q=!1;if(G&&(C==="&"||C==="!")){let V=S.indexOf(" ");C==="&"&&V!==-1&&V<O&&S[V+1]==="!"&&(V=S.indexOf(" ",V+1)),(V===-1||O<V)&&(Q=!0)}Q||(T=`
152
153
  ${r.indent}`)}}else(S===""||S[0]===`
153
- `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():_&&!k?b+=Si.lineComment(b,r.indent,l(_)):g&&s&&s(),b}ax.stringifyPair=cU});var ah=I(ih=>{"use strict";var lx=sa("process");function lU(e,...t){e==="debug"&&console.log(...t)}function uU(e,t){(e==="debug"||e==="warn")&&(typeof lx.emitWarning=="function"?lx.emitWarning(t):console.warn(t))}ih.debug=lU;ih.warn=uU});var xl=I(Tl=>{"use strict";var vl=K(),ux=le(),Sl="<<",Rl={identify:e=>e===Sl||typeof e=="symbol"&&e.description===Sl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new ux.Scalar(Symbol(Sl)),{addToJSMap:dx}),stringify:()=>Sl},dU=(e,t)=>(Rl.identify(t)||vl.isScalar(t)&&(!t.type||t.type===ux.Scalar.PLAIN)&&Rl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===Rl.tag&&r.default);function dx(e,t,r){let n=px(e,r);if(vl.isSeq(n))for(let s of n.items)ch(e,t,s);else if(Array.isArray(n))for(let s of n)ch(e,t,s);else ch(e,t,n)}function ch(e,t,r){let n=px(e,r);if(!vl.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,e,Map);for(let[o,i]of s)t instanceof Map?t.has(o)||t.set(o,i):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function px(e,t){return e&&vl.isAlias(t)?t.resolve(e.doc,e):t}Tl.addMergeToJSMap=dx;Tl.isMergeKey=dU;Tl.merge=Rl});var uh=I(hx=>{"use strict";var pU=ah(),fx=xl(),fU=ki(),mx=K(),lh=Lr();function mU(e,t,{key:r,value:n}){if(mx.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(fx.isMergeKey(e,r))fx.addMergeToJSMap(e,t,n);else{let s=lh.toJS(r,"",e);if(t instanceof Map)t.set(s,lh.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=hU(r,s,e),i=lh.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 hU(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(mx.isNode(e)&&r?.doc){let n=fU.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)+'..."'),pU.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)}hx.addPairToJSMap=mU});var $r=I(dh=>{"use strict";var gx=yi(),gU=cx(),yU=uh(),Ol=K();function bU(e,t,r){let n=gx.createNode(e,void 0,r),s=gx.createNode(t,void 0,r);return new Al(n,s)}var Al=class e{constructor(t,r=null){Object.defineProperty(this,Ol.NODE_TYPE,{value:Ol.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Ol.isNode(r)&&(r=r.clone(t)),Ol.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return yU.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?gU.stringifyPair(this,t,r,n):JSON.stringify(this)}};dh.Pair=Al;dh.createPair=bU});var ph=I(bx=>{"use strict";var vn=K(),yx=ki(),Cl=bi();function wU(e,t,r){return(t.inFlow??e.flow?EU:_U)(e,t,r)}function _U({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(vn.isNode(g))!d&&g.spaceBefore&&p.push(""),Pl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(vn.isPair(g)){let E=vn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),Pl(r,p,E.commentBefore,d))}d=!1;let y=yx.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=Cl.lineComment(y,o,l(b))),d&&b&&(d=!1),p.push(n+y)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let g=p[m];f+=g?`
154
+ `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():_&&!k?b+=Si.lineComment(b,r.indent,l(_)):g&&s&&s(),b}lx.stringifyPair=dU});var lh=I(ch=>{"use strict";var dx=sa("process");function pU(e,...t){e==="debug"&&console.log(...t)}function fU(e,t){(e==="debug"||e==="warn")&&(typeof dx.emitWarning=="function"?dx.emitWarning(t):console.warn(t))}ch.debug=pU;ch.warn=fU});var Ol=I(xl=>{"use strict";var Tl=K(),px=le(),Rl="<<",vl={identify:e=>e===Rl||typeof e=="symbol"&&e.description===Rl,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new px.Scalar(Symbol(Rl)),{addToJSMap:fx}),stringify:()=>Rl},mU=(e,t)=>(vl.identify(t)||Tl.isScalar(t)&&(!t.type||t.type===px.Scalar.PLAIN)&&vl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===vl.tag&&r.default);function fx(e,t,r){let n=mx(e,r);if(Tl.isSeq(n))for(let s of n.items)uh(e,t,s);else if(Array.isArray(n))for(let s of n)uh(e,t,s);else uh(e,t,n)}function uh(e,t,r){let n=mx(e,r);if(!Tl.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 mx(e,t){return e&&Tl.isAlias(t)?t.resolve(e.doc,e):t}xl.addMergeToJSMap=fx;xl.isMergeKey=mU;xl.merge=vl});var ph=I(yx=>{"use strict";var hU=lh(),hx=Ol(),gU=ki(),gx=K(),dh=Lr();function yU(e,t,{key:r,value:n}){if(gx.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(hx.isMergeKey(e,r))hx.addMergeToJSMap(e,t,n);else{let s=dh.toJS(r,"",e);if(t instanceof Map)t.set(s,dh.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=bU(r,s,e),i=dh.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 bU(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(gx.isNode(e)&&r?.doc){let n=gU.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)+'..."'),hU.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)}yx.addPairToJSMap=yU});var $r=I(fh=>{"use strict";var bx=yi(),wU=ux(),_U=ph(),Al=K();function EU(e,t,r){let n=bx.createNode(e,void 0,r),s=bx.createNode(t,void 0,r);return new Cl(n,s)}var Cl=class e{constructor(t,r=null){Object.defineProperty(this,Al.NODE_TYPE,{value:Al.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return Al.isNode(r)&&(r=r.clone(t)),Al.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return _U.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?wU.stringifyPair(this,t,r,n):JSON.stringify(this)}};fh.Pair=Cl;fh.createPair=EU});var mh=I(_x=>{"use strict";var vn=K(),wx=ki(),Pl=bi();function kU(e,t,r){return(t.inFlow??e.flow?RU:SU)(e,t,r)}function SU({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(vn.isNode(g))!d&&g.spaceBefore&&p.push(""),Il(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(vn.isPair(g)){let E=vn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),Il(r,p,E.commentBefore,d))}d=!1;let y=wx.stringify(g,u,()=>b=null,()=>d=!0);b&&(y+=Pl.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
155
  ${c}${g}`:`
155
156
  `}}return e?(f+=`
156
- `+Cl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function EU({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(vn.isNode(g))g.spaceBefore&&d.push(""),Pl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(vn.isPair(g)){let E=vn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),Pl(t,d,E.commentBefore,!1),E.comment&&(l=!0));let _=vn.isNode(g.value)?g.value:null;_?(_.comment&&(b=_.comment),_.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=yx.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,_)=>E+_.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Cl.lineComment(y,n,a(b))),d.push(y),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((g,b)=>g+b.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let g of d)m+=g?`
157
+ `+Pl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function RU({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(vn.isNode(g))g.spaceBefore&&d.push(""),Il(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(vn.isPair(g)){let E=vn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),Il(t,d,E.commentBefore,!1),E.comment&&(l=!0));let _=vn.isNode(g.value)?g.value:null;_?(_.comment&&(b=_.comment),_.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=wx.stringify(g,c,()=>b=null);l||(l=d.length>u||y.includes(`
158
+ `)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,_)=>E+_.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Pl.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
159
  ${o}${s}${g}`:`
159
160
  `;return`${m}
160
- ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function Pl({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=Cl.indentComment(t(n),e);r.push(o.trimStart())}}bx.stringifyCollection=wU});var Mr=I(mh=>{"use strict";var kU=ph(),SU=uh(),RU=yl(),Fr=K(),Il=$r(),vU=le();function Ri(e,t){let r=Fr.isScalar(t)?t.value:t;for(let n of e)if(Fr.isPair(n)&&(n.key===t||n.key===r||Fr.isScalar(n.key)&&n.key.value===r))return n}var fh=class extends RU.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Fr.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:s,replacer:o}=n,i=new this(t),a=(c,l)=>{if(typeof o=="function")l=o.call(r,c,l);else if(Array.isArray(o)&&!o.includes(c))return;(l!==void 0||s)&&i.items.push(Il.createPair(c,l,n))};if(r instanceof Map)for(let[c,l]of r)a(c,l);else if(r&&typeof r=="object")for(let c of Object.keys(r))a(c,r[c]);return typeof t.sortMapEntries=="function"&&i.items.sort(t.sortMapEntries),i}add(t,r){let n;Fr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new Il.Pair(t,t?.value):n=new Il.Pair(t.key,t.value);let s=Ri(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Fr.isScalar(s.value)&&vU.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(o){let i=this.items.findIndex(a=>o(n,a)<0);i===-1?this.items.push(n):this.items.splice(i,0,n)}else this.items.push(n)}delete(t){let r=Ri(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=Ri(this.items,t)?.value;return(!r&&Fr.isScalar(s)?s.value:s)??void 0}has(t){return!!Ri(this.items,t)}set(t,r){this.add(new Il.Pair(t,r),!0)}toJSON(t,r,n){let s=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(s);for(let o of this.items)SU.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Fr.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})),kU.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};mh.YAMLMap=fh;mh.findPair=Ri});var Ls=I(_x=>{"use strict";var TU=K(),wx=Mr(),xU={collection:"map",default:!0,nodeClass:wx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return TU.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>wx.YAMLMap.from(e,t,r)};_x.map=xU});var Br=I(Ex=>{"use strict";var OU=yi(),AU=ph(),CU=yl(),Gl=K(),PU=le(),IU=Lr(),hh=class extends CU.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Ll(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Ll(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Gl.isScalar(s)?s.value:s}has(t){let r=Ll(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Ll(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Gl.isScalar(s)&&PU.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(IU.toJS(o,String(s++),r));return n}toString(t,r,n){return t?AU.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(OU.createNode(a,void 0,n))}}return o}};function Ll(e){let t=Gl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}Ex.YAMLSeq=hh});var Gs=I(Sx=>{"use strict";var LU=K(),kx=Br(),GU={collection:"seq",default:!0,nodeClass:kx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return LU.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>kx.YAMLSeq.from(e,t,r)};Sx.seq=GU});var vi=I(Rx=>{"use strict";var DU=Ei(),NU={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),DU.stringifyString(e,t,r,n)}};Rx.string=NU});var Dl=I(xx=>{"use strict";var vx=le(),Tx={identify:e=>e==null,createNode:()=>new vx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new vx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&Tx.test.test(e)?e:t.options.nullStr};xx.nullTag=Tx});var gh=I(Ax=>{"use strict";var $U=le(),Ox={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new $U.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&Ox.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};Ax.boolTag=Ox});var Ds=I(Cx=>{"use strict";function FU({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}Cx.stringifyNumber=FU});var bh=I(Nl=>{"use strict";var MU=le(),yh=Ds(),BU={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:yh.stringifyNumber},jU={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():yh.stringifyNumber(e)}},qU={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 MU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:yh.stringifyNumber};Nl.float=qU;Nl.floatExp=jU;Nl.floatNaN=BU});var _h=I(Fl=>{"use strict";var Px=Ds(),$l=e=>typeof e=="bigint"||Number.isInteger(e),wh=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function Ix(e,t,r){let{value:n}=e;return $l(n)&&n>=0?r+n.toString(t):Px.stringifyNumber(e)}var UU={identify:e=>$l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>wh(e,2,8,r),stringify:e=>Ix(e,8,"0o")},HU={identify:$l,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>wh(e,0,10,r),stringify:Px.stringifyNumber},WU={identify:e=>$l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>wh(e,2,16,r),stringify:e=>Ix(e,16,"0x")};Fl.int=HU;Fl.intHex=WU;Fl.intOct=UU});var Gx=I(Lx=>{"use strict";var VU=Ls(),JU=Dl(),KU=Gs(),zU=vi(),YU=gh(),Eh=bh(),kh=_h(),QU=[VU.map,KU.seq,zU.string,JU.nullTag,YU.boolTag,kh.intOct,kh.int,kh.intHex,Eh.floatNaN,Eh.floatExp,Eh.float];Lx.schema=QU});var $x=I(Nx=>{"use strict";var XU=le(),ZU=Ls(),eH=Gs();function Dx(e){return typeof e=="bigint"||Number.isInteger(e)}var Ml=({value:e})=>JSON.stringify(e),tH=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Ml},{identify:e=>e==null,createNode:()=>new XU.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Ml},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Ml},{identify:Dx,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})=>Dx(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:Ml}],rH={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},nH=[ZU.map,eH.seq].concat(tH,rH);Nx.schema=nH});var Rh=I(Fx=>{"use strict";var Ti=sa("buffer"),Sh=le(),sH=Ei(),oH={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Ti.Buffer=="function")return Ti.Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let s=0;s<r.length;++s)n[s]=r.charCodeAt(s);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:r},n,s,o){if(!r)return"";let i=r,a;if(typeof Ti.Buffer=="function")a=i instanceof Ti.Buffer?i.toString("base64"):Ti.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=Sh.Scalar.BLOCK_LITERAL),t!==Sh.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===Sh.Scalar.BLOCK_LITERAL?`
161
- `:" ")}return sH.stringifyString({comment:e,type:t,value:a},n,s,o)}};Fx.binary=oH});var ql=I(jl=>{"use strict";var Bl=K(),vh=$r(),iH=le(),aH=Br();function Mx(e,t){if(Bl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Bl.isPair(n)){if(Bl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new vh.Pair(new iH.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
161
+ ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function Il({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=Pl.indentComment(t(n),e);r.push(o.trimStart())}}_x.stringifyCollection=kU});var Mr=I(gh=>{"use strict";var vU=mh(),TU=ph(),xU=bl(),Fr=K(),Ll=$r(),OU=le();function Ri(e,t){let r=Fr.isScalar(t)?t.value:t;for(let n of e)if(Fr.isPair(n)&&(n.key===t||n.key===r||Fr.isScalar(n.key)&&n.key.value===r))return n}var hh=class extends xU.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Fr.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(Ll.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;Fr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new Ll.Pair(t,t?.value):n=new Ll.Pair(t.key,t.value);let s=Ri(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Fr.isScalar(s.value)&&OU.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(o){let i=this.items.findIndex(a=>o(n,a)<0);i===-1?this.items.push(n):this.items.splice(i,0,n)}else this.items.push(n)}delete(t){let r=Ri(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=Ri(this.items,t)?.value;return(!r&&Fr.isScalar(s)?s.value:s)??void 0}has(t){return!!Ri(this.items,t)}set(t,r){this.add(new Ll.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)TU.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Fr.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})),vU.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};gh.YAMLMap=hh;gh.findPair=Ri});var Ls=I(kx=>{"use strict";var AU=K(),Ex=Mr(),CU={collection:"map",default:!0,nodeClass:Ex.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return AU.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>Ex.YAMLMap.from(e,t,r)};kx.map=CU});var Br=I(Sx=>{"use strict";var PU=yi(),IU=mh(),LU=bl(),Dl=K(),GU=le(),DU=Lr(),yh=class extends LU.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Dl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=Gl(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=Gl(t);if(typeof n!="number")return;let s=this.items[n];return!r&&Dl.isScalar(s)?s.value:s}has(t){let r=Gl(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=Gl(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];Dl.isScalar(s)&&GU.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(DU.toJS(o,String(s++),r));return n}toString(t,r,n){return t?IU.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(PU.createNode(a,void 0,n))}}return o}};function Gl(e){let t=Dl.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=yh});var Gs=I(vx=>{"use strict";var NU=K(),Rx=Br(),$U={collection:"seq",default:!0,nodeClass:Rx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return NU.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>Rx.YAMLSeq.from(e,t,r)};vx.seq=$U});var vi=I(Tx=>{"use strict";var FU=Ei(),MU={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),FU.stringifyString(e,t,r,n)}};Tx.string=MU});var Nl=I(Ax=>{"use strict";var xx=le(),Ox={identify:e=>e==null,createNode:()=>new xx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new xx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&Ox.test.test(e)?e:t.options.nullStr};Ax.nullTag=Ox});var bh=I(Px=>{"use strict";var BU=le(),Cx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new BU.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&Cx.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=Cx});var Ds=I(Ix=>{"use strict";function jU({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}Ix.stringifyNumber=jU});var _h=I($l=>{"use strict";var qU=le(),wh=Ds(),UU={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},HU={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():wh.stringifyNumber(e)}},WU={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 qU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:wh.stringifyNumber};$l.float=WU;$l.floatExp=HU;$l.floatNaN=UU});var kh=I(Ml=>{"use strict";var Lx=Ds(),Fl=e=>typeof e=="bigint"||Number.isInteger(e),Eh=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function Gx(e,t,r){let{value:n}=e;return Fl(n)&&n>=0?r+n.toString(t):Lx.stringifyNumber(e)}var VU={identify:e=>Fl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>Eh(e,2,8,r),stringify:e=>Gx(e,8,"0o")},JU={identify:Fl,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>Eh(e,0,10,r),stringify:Lx.stringifyNumber},KU={identify:e=>Fl(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>Eh(e,2,16,r),stringify:e=>Gx(e,16,"0x")};Ml.int=JU;Ml.intHex=KU;Ml.intOct=VU});var Nx=I(Dx=>{"use strict";var zU=Ls(),YU=Nl(),QU=Gs(),XU=vi(),ZU=bh(),Sh=_h(),Rh=kh(),eH=[zU.map,QU.seq,XU.string,YU.nullTag,ZU.boolTag,Rh.intOct,Rh.int,Rh.intHex,Sh.floatNaN,Sh.floatExp,Sh.float];Dx.schema=eH});var Mx=I(Fx=>{"use strict";var tH=le(),rH=Ls(),nH=Gs();function $x(e){return typeof e=="bigint"||Number.isInteger(e)}var Bl=({value:e})=>JSON.stringify(e),sH=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Bl},{identify:e=>e==null,createNode:()=>new tH.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Bl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:Bl},{identify:$x,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})=>$x(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:Bl}],oH={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},iH=[rH.map,nH.seq].concat(sH,oH);Fx.schema=iH});var Th=I(Bx=>{"use strict";var Ti=sa("buffer"),vh=le(),aH=Ei(),cH={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Ti.Buffer=="function")return Ti.Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let s=0;s<r.length;++s)n[s]=r.charCodeAt(s);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:r},n,s,o){if(!r)return"";let i=r,a;if(typeof Ti.Buffer=="function")a=i instanceof Ti.Buffer?i.toString("base64"):Ti.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=vh.Scalar.BLOCK_LITERAL),t!==vh.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===vh.Scalar.BLOCK_LITERAL?`
162
+ `:" ")}return aH.stringifyString({comment:e,type:t,value:a},n,s,o)}};Bx.binary=cH});var Ul=I(ql=>{"use strict";var jl=K(),xh=$r(),lH=le(),uH=Br();function jx(e,t){if(jl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!jl.isPair(n)){if(jl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new xh.Pair(new lH.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
162
163
  ${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]=Bl.isPair(n)?n:new vh.Pair(n)}}else t("Expected a sequence for this tag");return e}function Bx(e,t,r){let{replacer:n}=r,s=new aH.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(vh.createPair(a,c,r))}return s}var cH={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Mx,createNode:Bx};jl.createPairs=Bx;jl.pairs=cH;jl.resolvePairs=Mx});var Oh=I(xh=>{"use strict";var jx=K(),Th=Lr(),xi=Mr(),lH=Br(),qx=ql(),Tn=class e extends lH.YAMLSeq{constructor(){super(),this.add=xi.YAMLMap.prototype.add.bind(this),this.delete=xi.YAMLMap.prototype.delete.bind(this),this.get=xi.YAMLMap.prototype.get.bind(this),this.has=xi.YAMLMap.prototype.has.bind(this),this.set=xi.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if(jx.isPair(s)?(o=Th.toJS(s.key,"",r),i=Th.toJS(s.value,o,r)):o=Th.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=qx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};Tn.tag="tag:yaml.org,2002:omap";var uH={collection:"seq",identify:e=>e instanceof Map,nodeClass:Tn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=qx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)jx.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new Tn,r)},createNode:(e,t,r)=>Tn.from(e,t,r)};xh.YAMLOMap=Tn;xh.omap=uH});var Jx=I(Ah=>{"use strict";var Ux=le();function Hx({value:e,source:t},r){return t&&(e?Wx:Vx).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Wx={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 Ux.Scalar(!0),stringify:Hx},Vx={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 Ux.Scalar(!1),stringify:Hx};Ah.falseTag=Vx;Ah.trueTag=Wx});var Kx=I(Ul=>{"use strict";var dH=le(),Ch=Ds(),pH={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},fH={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():Ch.stringifyNumber(e)}},mH={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 dH.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:Ch.stringifyNumber};Ul.float=mH;Ul.floatExp=fH;Ul.floatNaN=pH});var Yx=I(Ai=>{"use strict";var zx=Ds(),Oi=e=>typeof e=="bigint"||Number.isInteger(e);function Hl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function Ph(e,t,r){let{value:n}=e;if(Oi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return zx.stringifyNumber(e)}var hH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Hl(e,2,2,r),stringify:e=>Ph(e,2,"0b")},gH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Hl(e,1,8,r),stringify:e=>Ph(e,8,"0")},yH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Hl(e,0,10,r),stringify:zx.stringifyNumber},bH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Hl(e,2,16,r),stringify:e=>Ph(e,16,"0x")};Ai.int=yH;Ai.intBin=hH;Ai.intHex=bH;Ai.intOct=gH});var Lh=I(Ih=>{"use strict";var Jl=K(),Wl=$r(),Vl=Mr(),xn=class e extends Vl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Jl.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Wl.Pair(t.key,null):r=new Wl.Pair(t,null),Vl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Vl.findPair(this.items,t);return!r&&Jl.isPair(n)?Jl.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=Vl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Wl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Wl.createPair(i,null,n));return o}};xn.tag="tag:yaml.org,2002:set";var wH={collection:"map",identify:e=>e instanceof Set,nodeClass:xn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>xn.from(e,t,r),resolve(e,t){if(Jl.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new xn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};Ih.YAMLSet=xn;Ih.set=wH});var Dh=I(Kl=>{"use strict";var _H=Ds();function Gh(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 Qx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return _H.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 EH={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})=>Gh(e,r),stringify:Qx},kH={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=>Gh(e,!1),stringify:Qx},Xx={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(Xx.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=Gh(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Kl.floatTime=kH;Kl.intTime=EH;Kl.timestamp=Xx});var t0=I(e0=>{"use strict";var SH=Ls(),RH=Dl(),vH=Gs(),TH=vi(),xH=Rh(),Zx=Jx(),Nh=Kx(),zl=Yx(),OH=xl(),AH=Oh(),CH=ql(),PH=Lh(),$h=Dh(),IH=[SH.map,vH.seq,TH.string,RH.nullTag,Zx.trueTag,Zx.falseTag,zl.intBin,zl.intOct,zl.int,zl.intHex,Nh.floatNaN,Nh.floatExp,Nh.float,xH.binary,OH.merge,AH.omap,CH.pairs,PH.set,$h.intTime,$h.floatTime,$h.timestamp];e0.schema=IH});var d0=I(Bh=>{"use strict";var o0=Ls(),LH=Dl(),i0=Gs(),GH=vi(),DH=gh(),Fh=bh(),Mh=_h(),NH=Gx(),$H=$x(),a0=Rh(),Ci=xl(),c0=Oh(),l0=ql(),r0=t0(),u0=Lh(),Yl=Dh(),n0=new Map([["core",NH.schema],["failsafe",[o0.map,i0.seq,GH.string]],["json",$H.schema],["yaml11",r0.schema],["yaml-1.1",r0.schema]]),s0={binary:a0.binary,bool:DH.boolTag,float:Fh.float,floatExp:Fh.floatExp,floatNaN:Fh.floatNaN,floatTime:Yl.floatTime,int:Mh.int,intHex:Mh.intHex,intOct:Mh.intOct,intTime:Yl.intTime,map:o0.map,merge:Ci.merge,null:LH.nullTag,omap:c0.omap,pairs:l0.pairs,seq:i0.seq,set:u0.set,timestamp:Yl.timestamp},FH={"tag:yaml.org,2002:binary":a0.binary,"tag:yaml.org,2002:merge":Ci.merge,"tag:yaml.org,2002:omap":c0.omap,"tag:yaml.org,2002:pairs":l0.pairs,"tag:yaml.org,2002:set":u0.set,"tag:yaml.org,2002:timestamp":Yl.timestamp};function MH(e,t,r){let n=n0.get(t);if(n&&!e)return r&&!n.includes(Ci.merge)?n.concat(Ci.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(n0.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(Ci.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?s0[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(s0).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},[])}Bh.coreKnownTags=FH;Bh.getTags=MH});var Uh=I(p0=>{"use strict";var jh=K(),BH=Ls(),jH=Gs(),qH=vi(),Ql=d0(),UH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,qh=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Ql.getTags(t,"compat"):t?Ql.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Ql.coreKnownTags:{},this.tags=Ql.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,jh.MAP,{value:BH.map}),Object.defineProperty(this,jh.SCALAR,{value:qH.string}),Object.defineProperty(this,jh.SEQ,{value:jH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?UH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};p0.Schema=qh});var m0=I(f0=>{"use strict";var HH=K(),Hh=ki(),Pi=bi();function WH(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=Hh.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Pi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(HH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Pi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Hh.stringify(e.contents,s,()=>a=null,c);a&&(l+=Pi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Hh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
164
+ ${o.comment}`:n.comment}n=s}e.items[r]=jl.isPair(n)?n:new xh.Pair(n)}}else t("Expected a sequence for this tag");return e}function qx(e,t,r){let{replacer:n}=r,s=new uH.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(xh.createPair(a,c,r))}return s}var dH={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:jx,createNode:qx};ql.createPairs=qx;ql.pairs=dH;ql.resolvePairs=jx});var Ch=I(Ah=>{"use strict";var Ux=K(),Oh=Lr(),xi=Mr(),pH=Br(),Hx=Ul(),Tn=class e extends pH.YAMLSeq{constructor(){super(),this.add=xi.YAMLMap.prototype.add.bind(this),this.delete=xi.YAMLMap.prototype.delete.bind(this),this.get=xi.YAMLMap.prototype.get.bind(this),this.has=xi.YAMLMap.prototype.has.bind(this),this.set=xi.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if(Ux.isPair(s)?(o=Oh.toJS(s.key,"",r),i=Oh.toJS(s.value,o,r)):o=Oh.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=Hx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};Tn.tag="tag:yaml.org,2002:omap";var fH={collection:"seq",identify:e=>e instanceof Map,nodeClass:Tn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Hx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Ux.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new Tn,r)},createNode:(e,t,r)=>Tn.from(e,t,r)};Ah.YAMLOMap=Tn;Ah.omap=fH});var zx=I(Ph=>{"use strict";var Wx=le();function Vx({value:e,source:t},r){return t&&(e?Jx:Kx).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var Jx={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 Wx.Scalar(!0),stringify:Vx},Kx={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 Wx.Scalar(!1),stringify:Vx};Ph.falseTag=Kx;Ph.trueTag=Jx});var Yx=I(Hl=>{"use strict";var mH=le(),Ih=Ds(),hH={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},gH={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():Ih.stringifyNumber(e)}},yH={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 mH.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:Ih.stringifyNumber};Hl.float=yH;Hl.floatExp=gH;Hl.floatNaN=hH});var Xx=I(Ai=>{"use strict";var Qx=Ds(),Oi=e=>typeof e=="bigint"||Number.isInteger(e);function Wl(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 Lh(e,t,r){let{value:n}=e;if(Oi(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return Qx.stringifyNumber(e)}var bH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Wl(e,2,2,r),stringify:e=>Lh(e,2,"0b")},wH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Wl(e,1,8,r),stringify:e=>Lh(e,8,"0")},_H={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Wl(e,0,10,r),stringify:Qx.stringifyNumber},EH={identify:Oi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Wl(e,2,16,r),stringify:e=>Lh(e,16,"0x")};Ai.int=_H;Ai.intBin=bH;Ai.intHex=EH;Ai.intOct=wH});var Dh=I(Gh=>{"use strict";var Kl=K(),Vl=$r(),Jl=Mr(),xn=class e extends Jl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Kl.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Vl.Pair(t.key,null):r=new Vl.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&&Kl.isPair(n)?Kl.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 Vl.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(Vl.createPair(i,null,n));return o}};xn.tag="tag:yaml.org,2002:set";var kH={collection:"map",identify:e=>e instanceof Set,nodeClass:xn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>xn.from(e,t,r),resolve(e,t){if(Kl.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new xn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};Gh.YAMLSet=xn;Gh.set=kH});var $h=I(zl=>{"use strict";var SH=Ds();function Nh(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 Zx(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return SH.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 RH={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})=>Nh(e,r),stringify:Zx},vH={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=>Nh(e,!1),stringify:Zx},e0={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(e0.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=Nh(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$/,"")??""};zl.floatTime=vH;zl.intTime=RH;zl.timestamp=e0});var n0=I(r0=>{"use strict";var TH=Ls(),xH=Nl(),OH=Gs(),AH=vi(),CH=Th(),t0=zx(),Fh=Yx(),Yl=Xx(),PH=Ol(),IH=Ch(),LH=Ul(),GH=Dh(),Mh=$h(),DH=[TH.map,OH.seq,AH.string,xH.nullTag,t0.trueTag,t0.falseTag,Yl.intBin,Yl.intOct,Yl.int,Yl.intHex,Fh.floatNaN,Fh.floatExp,Fh.float,CH.binary,PH.merge,IH.omap,LH.pairs,GH.set,Mh.intTime,Mh.floatTime,Mh.timestamp];r0.schema=DH});var f0=I(qh=>{"use strict";var a0=Ls(),NH=Nl(),c0=Gs(),$H=vi(),FH=bh(),Bh=_h(),jh=kh(),MH=Nx(),BH=Mx(),l0=Th(),Ci=Ol(),u0=Ch(),d0=Ul(),s0=n0(),p0=Dh(),Ql=$h(),o0=new Map([["core",MH.schema],["failsafe",[a0.map,c0.seq,$H.string]],["json",BH.schema],["yaml11",s0.schema],["yaml-1.1",s0.schema]]),i0={binary:l0.binary,bool:FH.boolTag,float:Bh.float,floatExp:Bh.floatExp,floatNaN:Bh.floatNaN,floatTime:Ql.floatTime,int:jh.int,intHex:jh.intHex,intOct:jh.intOct,intTime:Ql.intTime,map:a0.map,merge:Ci.merge,null:NH.nullTag,omap:u0.omap,pairs:d0.pairs,seq:c0.seq,set:p0.set,timestamp:Ql.timestamp},jH={"tag:yaml.org,2002:binary":l0.binary,"tag:yaml.org,2002:merge":Ci.merge,"tag:yaml.org,2002:omap":u0.omap,"tag:yaml.org,2002:pairs":d0.pairs,"tag:yaml.org,2002:set":p0.set,"tag:yaml.org,2002:timestamp":Ql.timestamp};function qH(e,t,r){let n=o0.get(t);if(n&&!e)return r&&!n.includes(Ci.merge)?n.concat(Ci.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(o0.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(Ci.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?i0[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(i0).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},[])}qh.coreKnownTags=jH;qh.getTags=qH});var Wh=I(m0=>{"use strict";var Uh=K(),UH=Ls(),HH=Gs(),WH=vi(),Xl=f0(),VH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Hh=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Xl.getTags(t,"compat"):t?Xl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Xl.coreKnownTags:{},this.tags=Xl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,Uh.MAP,{value:UH.map}),Object.defineProperty(this,Uh.SCALAR,{value:WH.string}),Object.defineProperty(this,Uh.SEQ,{value:HH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?VH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};m0.Schema=Hh});var g0=I(h0=>{"use strict";var JH=K(),Vh=ki(),Pi=bi();function KH(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=Vh.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Pi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(JH.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Pi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=Vh.stringify(e.contents,s,()=>a=null,c);a&&(l+=Pi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(Vh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
164
165
  `)?(r.push("..."),r.push(Pi.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&i&&(c=c.replace(/^\n+/,"")),c&&((!i||a)&&r[r.length-1]!==""&&r.push(""),r.push(Pi.indentComment(o(c),"")))}return r.join(`
165
166
  `)+`
166
- `}f0.stringifyDocument=WH});var Ii=I(h0=>{"use strict";var VH=gi(),Ns=yl(),ft=K(),JH=$r(),KH=Lr(),zH=Uh(),YH=m0(),Wh=fl(),QH=zm(),XH=yi(),Vh=Km(),Jh=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 Vh.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=Wh.anchorNames(this);t.anchor=!r||n.has(r)?Wh.findNewAnchor(r||"a",n):r}return new VH.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}=Wh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=XH.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 JH.Pair(s,o)}delete(t){return $s(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ns.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 Ns.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 Ns.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ns.collectionFromPath(this.schema,[t],r):$s(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ns.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ns.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 Vh.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 Vh.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 zH.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=KH.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"?QH.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 YH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}h0.Document=Jh});var Di=I(Gi=>{"use strict";var Li=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Kh=class extends Li{constructor(t,r,n){super("YAMLParseError",t,r,n)}},zh=class extends Li{constructor(t,r,n){super("YAMLWarning",t,r,n)}},ZH=(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
+ `}h0.stringifyDocument=KH});var Ii=I(y0=>{"use strict";var zH=gi(),Ns=bl(),ft=K(),YH=$r(),QH=Lr(),XH=Wh(),ZH=g0(),Jh=ml(),eW=Qm(),tW=yi(),Kh=Ym(),zh=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 Kh.Directives({version:i}),this.setSchema(i,n),this.contents=t===void 0?null:this.createNode(t,s,n)}clone(){let t=Object.create(e.prototype,{[ft.NODE_TYPE]:{value:ft.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=ft.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){$s(this.contents)&&this.contents.add(t)}addIn(t,r){$s(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=Jh.anchorNames(this);t.anchor=!r||n.has(r)?Jh.findNewAnchor(r||"a",n):r}return new zH.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let b=E=>typeof E=="number"||E instanceof String||E instanceof Number,y=r.filter(b).map(String);y.length>0&&(r=r.concat(y)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=Jh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=tW.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 YH.Pair(s,o)}delete(t){return $s(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ns.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 Ns.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 Ns.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ns.collectionFromPath(this.schema,[t],r):$s(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ns.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ns.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 Kh.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 Kh.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 XH.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=QH.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"?eW.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 ZH.stringifyDocument(this,t)}};function $s(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}y0.Document=zh});var Di=I(Gi=>{"use strict";var Li=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},Yh=class extends Li{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Qh=class extends Li{constructor(t,r,n){super("YAMLWarning",t,r,n)}},rW=(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
168
  `),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
169
 
169
170
  ${i}
170
171
  ${l}
171
- `}};Gi.YAMLError=Li;Gi.YAMLParseError=Kh;Gi.YAMLWarning=zh;Gi.prettifyError=ZH});var Ni=I(g0=>{"use strict";function eW(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,_=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){_&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=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:_,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}g0.resolveProps=eW});var Xl=I(y0=>{"use strict";function Yh(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(Yh(t.key)||Yh(t.value))return!0}return!1;default:return!0}}y0.containsNewline=Yh});var Qh=I(b0=>{"use strict";var tW=Xl();function rW(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&tW.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}b0.flowIndentCheck=rW});var Xh=I(_0=>{"use strict";var w0=K();function nW(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||w0.isScalar(o)&&w0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}_0.mapIncludes=nW});var T0=I(v0=>{"use strict";var E0=$r(),sW=Mr(),k0=Ni(),oW=Xl(),S0=Qh(),iW=Xh(),R0="All mapping items must start at the same column";function aW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??sW.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=k0.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",R0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
173
- `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||oW.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",R0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&S0.flowIndentCheck(n.indent,p,s),r.atKey=!1,iW.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let _=k0.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=_.end,_.found){b&&(m?.type==="block-map"&&!_.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<_.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,_,s):t(r,c,f,null,_,s);r.schema.compat&&S0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new E0.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"),_.comment&&(E.comment?E.comment+=`
174
- `+_.comment:E.comment=_.comment);let k=new E0.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}v0.resolveBlockMap=aW});var O0=I(x0=>{"use strict";var cW=Br(),lW=Ni(),uW=Qh();function dW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??cW.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=lW.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&&uW.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}x0.resolveBlockSeq=dW});var Fs=I(A0=>{"use strict";function pW(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}}A0.resolveEnd=pW});var L0=I(I0=>{"use strict";var fW=K(),mW=$r(),C0=Mr(),hW=Br(),gW=Fs(),P0=Ni(),yW=Xl(),bW=Xh(),Zh="Block collections are not allowed within flow collections",eg=e=>e&&(e.type==="block-map"||e.type==="block-seq");function wW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?C0.YAMLMap:hW.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:_,sep:k,value:S}=y,T=P0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:_??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&&yW.containsNewline(_)&&s(_,"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];fW.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],eg(S)&&s(C.range,"BLOCK_IN_FLOW",Zh)}else{r.atKey=!0;let C=T.end,O=_?e(r,_,T,s):t(r,C,E,null,T,s);eg(_)&&s(O.range,"BLOCK_IN_FLOW",Zh),r.atKey=!1;let G=P0.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:S,offset:O.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(G.found){if(!i&&!T.found&&r.options.strict){if(k)for(let V of k){if(V===G.found)break;if(V.type==="newline"){s(V,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}T.start<G.found.offset-1024&&s(G.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else S&&("source"in S&&S.source?.[0]===":"?s(S,"MISSING_CHAR",`Missing space after : in ${a}`):s(G.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let q=S?e(r,S,G,s):G.found?t(r,G.end,k,null,G,s):null;q?eg(S)&&s(q.range,"BLOCK_IN_FLOW",Zh):G.comment&&(O.comment?O.comment+=`
177
- `+G.comment:O.comment=G.comment);let Q=new mW.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let V=l;bW.mapIncludes(r,V.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),V.items.push(Q)}else{let V=new C0.YAMLMap(r.schema);V.flow=!0,V.items.push(Q);let D=(q??O).range;V.range=[O.range[0],D[1],D[2]],l.items.push(V)}d=q?q.range[2]:G.end}}let p=i?"}":"]",[f,...m]=n.end,g=d;if(f?.source===p)g=f.offset+f.source.length;else{let b=a[0].toUpperCase()+a.substring(1),y=u?`${b} must end with a ${p}`:`${b} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",y),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let b=gW.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}I0.resolveFlowCollection=wW});var D0=I(G0=>{"use strict";var _W=K(),EW=le(),kW=Mr(),SW=Br(),RW=T0(),vW=O0(),TW=L0();function tg(e,t,r,n,s,o){let i=r.type==="block-map"?RW.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?vW.resolveBlockSeq(e,t,r,n,o):TW.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 xW(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===kW.YAMLMap.tagName&&a==="map"||i===SW.YAMLSeq.tagName&&a==="seq")return tg(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),tg(e,t,r,s,i)}let l=tg(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=_W.isNode(u)?u:new EW.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}G0.composeCollection=xW});var ng=I(N0=>{"use strict";var rg=le();function OW(e,t,r){let n=t.offset,s=AW(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?rg.Scalar.BLOCK_FOLDED:rg.Scalar.BLOCK_LITERAL,i=t.source?CW(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?`
172
+ `}};Gi.YAMLError=Li;Gi.YAMLParseError=Yh;Gi.YAMLWarning=Qh;Gi.prettifyError=rW});var Ni=I(b0=>{"use strict";function nW(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,_=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){_&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=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:_,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}b0.resolveProps=nW});var Zl=I(w0=>{"use strict";function Xh(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
173
+ `))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(Xh(t.key)||Xh(t.value))return!0}return!1;default:return!0}}w0.containsNewline=Xh});var Zh=I(_0=>{"use strict";var sW=Zl();function oW(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&sW.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}_0.flowIndentCheck=oW});var eg=I(k0=>{"use strict";var E0=K();function iW(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||E0.isScalar(o)&&E0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}k0.mapIncludes=iW});var O0=I(x0=>{"use strict";var S0=$r(),aW=Mr(),R0=Ni(),cW=Zl(),v0=Zh(),lW=eg(),T0="All mapping items must start at the same column";function uW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??aW.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=R0.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",T0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
174
+ `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||cW.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",T0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&v0.flowIndentCheck(n.indent,p,s),r.atKey=!1,lW.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let _=R0.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=_.end,_.found){b&&(m?.type==="block-map"&&!_.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<_.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,_,s):t(r,c,f,null,_,s);r.schema.compat&&v0.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"),_.comment&&(E.comment?E.comment+=`
175
+ `+_.comment:E.comment=_.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}x0.resolveBlockMap=uW});var C0=I(A0=>{"use strict";var dW=Br(),pW=Ni(),fW=Zh();function mW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??dW.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=pW.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&&fW.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}A0.resolveBlockSeq=mW});var Fs=I(P0=>{"use strict";function hW(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=hW});var D0=I(G0=>{"use strict";var gW=K(),yW=$r(),I0=Mr(),bW=Br(),wW=Fs(),L0=Ni(),_W=Zl(),EW=eg(),tg="Block collections are not allowed within flow collections",rg=e=>e&&(e.type==="block-map"||e.type==="block-seq");function kW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?I0.YAMLMap:bW.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:_,sep:k,value:S}=y,T=L0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:_??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+=`
176
+ `+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&_W.containsNewline(_)&&s(_,"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];gW.isPair(O)&&(O=O.value??O.key),O.comment?O.comment+=`
177
+ `+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],rg(S)&&s(C.range,"BLOCK_IN_FLOW",tg)}else{r.atKey=!0;let C=T.end,O=_?e(r,_,T,s):t(r,C,E,null,T,s);rg(_)&&s(O.range,"BLOCK_IN_FLOW",tg),r.atKey=!1;let G=L0.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:S,offset:O.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(G.found){if(!i&&!T.found&&r.options.strict){if(k)for(let V of k){if(V===G.found)break;if(V.type==="newline"){s(V,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}T.start<G.found.offset-1024&&s(G.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else S&&("source"in S&&S.source?.[0]===":"?s(S,"MISSING_CHAR",`Missing space after : in ${a}`):s(G.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let q=S?e(r,S,G,s):G.found?t(r,G.end,k,null,G,s):null;q?rg(S)&&s(q.range,"BLOCK_IN_FLOW",tg):G.comment&&(O.comment?O.comment+=`
178
+ `+G.comment:O.comment=G.comment);let Q=new yW.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let V=l;EW.mapIncludes(r,V.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),V.items.push(Q)}else{let V=new I0.YAMLMap(r.schema);V.flow=!0,V.items.push(Q);let D=(q??O).range;V.range=[O.range[0],D[1],D[2]],l.items.push(V)}d=q?q.range[2]:G.end}}let p=i?"}":"]",[f,...m]=n.end,g=d;if(f?.source===p)g=f.offset+f.source.length;else{let b=a[0].toUpperCase()+a.substring(1),y=u?`${b} must end with a ${p}`:`${b} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",y),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let b=wW.resolveEnd(m,g,r.options.strict,s);b.comment&&(l.comment?l.comment+=`
179
+ `+b.comment:l.comment=b.comment),l.range=[n.offset,g,b.offset]}else l.range=[n.offset,g,g];return l}G0.resolveFlowCollection=kW});var $0=I(N0=>{"use strict";var SW=K(),RW=le(),vW=Mr(),TW=Br(),xW=O0(),OW=C0(),AW=D0();function ng(e,t,r,n,s,o){let i=r.type==="block-map"?xW.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?OW.resolveBlockSeq(e,t,r,n,o):AW.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 CW(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===vW.YAMLMap.tagName&&a==="map"||i===TW.YAMLSeq.tagName&&a==="seq")return ng(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),ng(e,t,r,s,i)}let l=ng(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=SW.isNode(u)?u:new RW.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}N0.composeCollection=CW});var og=I(F0=>{"use strict";var sg=le();function PW(e,t,r){let n=t.offset,s=IW(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?sg.Scalar.BLOCK_FOLDED:sg.Scalar.BLOCK_LITERAL,i=t.source?LW(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
180
  `.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===rg.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
181
+ `;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===sg.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
181
182
  `):b.length>c||y[0]===" "?(p===" "?p=`
182
183
  `:!f&&p===`
183
184
  `&&(p=`
@@ -190,132 +191,132 @@ ${l}
190
191
  `+i[g][0].slice(c);d[d.length-1]!==`
191
192
  `&&(d+=`
192
193
  `);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 AW({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 CW(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}N0.resolveBlockScalar=OW});var og=I(F0=>{"use strict";var sg=le(),PW=Fs();function IW(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=sg.Scalar.PLAIN,c=LW(o,l);break;case"single-quoted-scalar":a=sg.Scalar.QUOTE_SINGLE,c=GW(o,l);break;case"double-quoted-scalar":a=sg.Scalar.QUOTE_DOUBLE,c=DW(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=PW.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function LW(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 GW(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),$0(e.slice(1,-1)).replace(/''/g,"'")}function $0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
194
+ `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function IW({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 LW(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}F0.resolveBlockScalar=PW});var ag=I(B0=>{"use strict";var ig=le(),GW=Fs();function DW(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=ig.Scalar.PLAIN,c=NW(o,l);break;case"single-quoted-scalar":a=ig.Scalar.QUOTE_SINGLE,c=$W(o,l);break;case"double-quoted-scalar":a=ig.Scalar.QUOTE_DOUBLE,c=FW(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=GW.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function NW(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}`),M0(e)}function $W(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),M0(e.slice(1,-1)).replace(/''/g,"'")}function M0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
194
195
  `,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
195
196
  `,"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
197
  `?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 DW(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
198
+ `:(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 FW(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
198
199
  `))if(s===`
199
- `){let{fold:o,offset:i}=NW(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=$W[o];if(i)r+=i;else if(o===`
200
+ `){let{fold:o,offset:i}=MW(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=BW[o];if(i)r+=i;else if(o===`
200
201
  `)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+=FW(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
+ `)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+=jW(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
203
  `&&!(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 NW(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
204
+ `)&&(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 MW(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
204
205
  `||n==="\r")&&!(n==="\r"&&e[t+2]!==`
205
206
  `);)n===`
206
207
  `&&(r+=`
207
- `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var $W={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 FW(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}}F0.resolveFlowScalar=IW});var j0=I(B0=>{"use strict";var On=K(),M0=le(),MW=ng(),BW=og();function jW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?MW.resolveBlockScalar(e,t,n):BW.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[On.SCALAR]:c?l=qW(e.schema,s,c,r,n):t.type==="scalar"?l=UW(e,s,t,n):l=e.schema[On.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=On.isScalar(d)?d:new M0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new M0.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 qW(e,t,r,n,s){if(r==="!")return e[On.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[On.SCALAR])}function UW({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[On.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[On.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}B0.composeScalar=jW});var U0=I(q0=>{"use strict";function HW(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}q0.emptyScalarPosition=HW});var V0=I(ag=>{"use strict";var WW=gi(),VW=K(),JW=D0(),H0=j0(),KW=Fs(),zW=U0(),YW={composeNode:W0,composeEmptyNode:ig};function W0(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=QW(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=H0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=JW.composeCollection(YW,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=ig(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&&(!VW.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 ig(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:zW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=H0.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 QW({options:e},{offset:t,source:r,end:n},s){let o=new WW.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=KW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}ag.composeEmptyNode=ig;ag.composeNode=W0});var z0=I(K0=>{"use strict";var XW=Ii(),J0=V0(),ZW=Fs(),eV=Ni();function tV(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new XW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=eV.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?J0.composeNode(l,s,u,i):J0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=ZW.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}K0.composeDoc=tV});var lg=I(X0=>{"use strict";var rV=sa("process"),nV=Km(),sV=Ii(),$i=Di(),Y0=K(),oV=z0(),iV=Fs();function Fi(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function Q0(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?`
208
+ `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var BW={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
209
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function jW(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}}B0.resolveFlowScalar=DW});var U0=I(q0=>{"use strict";var On=K(),j0=le(),qW=og(),UW=ag();function HW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?qW.resolveBlockScalar(e,t,n):UW.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[On.SCALAR]:c?l=WW(e.schema,s,c,r,n):t.type==="scalar"?l=VW(e,s,t,n):l=e.schema[On.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=On.isScalar(d)?d:new j0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new j0.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 WW(e,t,r,n,s){if(r==="!")return e[On.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[On.SCALAR])}function VW({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[On.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[On.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}q0.composeScalar=HW});var W0=I(H0=>{"use strict";function JW(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}H0.emptyScalarPosition=JW});var K0=I(lg=>{"use strict";var KW=gi(),zW=K(),YW=$0(),V0=U0(),QW=Fs(),XW=W0(),ZW={composeNode:J0,composeEmptyNode:cg};function J0(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=eV(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=V0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=YW.composeCollection(ZW,e,t,r,n),a&&(l.anchor=a.source.substring(1))}catch(d){let p=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",p)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),u=!1}}return l??(l=cg(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!zW.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function cg(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:XW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=V0.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 eV({options:e},{offset:t,source:r,end:n},s){let o=new KW.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=QW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}lg.composeEmptyNode=cg;lg.composeNode=J0});var Q0=I(Y0=>{"use strict";var tV=Ii(),z0=K0(),rV=Fs(),nV=Ni();function sV(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new tV.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=nV.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?z0.composeNode(l,s,u,i):z0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=rV.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}Y0.composeDoc=sV});var dg=I(eO=>{"use strict";var oV=sa("process"),iV=Ym(),aV=Ii(),$i=Di(),X0=K(),cV=Q0(),lV=Fs();function Fi(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function Z0(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
210
 
210
211
  `:`
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 cg=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Fi(r);o?this.warnings.push(new $i.YAMLWarning(i,n,s)):this.errors.push(new $i.YAMLParseError(i,n,s))},this.directives=new nV.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=Q0(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(Y0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];Y0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
212
+ `)+(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 ug=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Fi(r);o?this.warnings.push(new $i.YAMLWarning(i,n,s)):this.errors.push(new $i.YAMLParseError(i,n,s))},this.directives=new iV.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=Z0(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
213
+ ${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(X0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];X0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
213
214
  ${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:Q0(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(rV.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Fi(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=oV.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(Fi(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new $i.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=iV.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(Fi(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),s=new sV.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}}};X0.Composer=cg});var tO=I(Zl=>{"use strict";var aV=ng(),cV=og(),lV=Di(),Z0=Ei();function uV(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 lV.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return cV.resolveFlowScalar(e,t,n);case"block-scalar":return aV.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function dV(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=Z0.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:`
215
+ ${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:Z0(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(oV.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Fi(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=cV.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(Fi(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new $i.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=lV.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}
216
+ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new $i.YAMLParseError(Fi(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),s=new aV.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}}};eO.Composer=ug});var nO=I(eu=>{"use strict";var uV=og(),dV=ag(),pV=Di(),tO=Ei();function fV(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 pV.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return dV.resolveFlowScalar(e,t,n);case"block-scalar":return uV.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function mV(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=tO.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
217
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
217
218
  `),u=a.substring(0,l),d=a.substring(l+1)+`
218
- `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return eO(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 pV(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=Z0.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">":fV(e,c);break;case'"':ug(e,c,"double-quoted-scalar");break;case"'":ug(e,c,"single-quoted-scalar");break;default:ug(e,c,"scalar")}}function fV(e,t){let r=t.indexOf(`
219
+ `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return rO(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
220
+ `}),{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 hV(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=tO.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">":gV(e,c);break;case'"':pg(e,c,"double-quoted-scalar");break;case"'":pg(e,c,"single-quoted-scalar");break;default:pg(e,c,"scalar")}}function gV(e,t){let r=t.indexOf(`
220
221
  `),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}];eO(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 eO(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 ug(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=dV;Zl.resolveAsScalar=uV;Zl.setScalarValue=pV});var nO=I(rO=>{"use strict";var mV=e=>"type"in e?tu(e):eu(e);function tu(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=tu(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=eu(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=eu(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=eu(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function eu({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=tu(t)),r)for(let o of r)s+=o.source;return n&&(s+=tu(n)),s}rO.stringify=mV});var aO=I(iO=>{"use strict";var dg=Symbol("break visit"),hV=Symbol("skip children"),sO=Symbol("remove item");function An(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),oO(Object.freeze([]),e,t)}An.BREAK=dg;An.SKIP=hV;An.REMOVE=sO;An.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};An.parentCollection=(e,t)=>{let r=An.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 oO(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=oO(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===dg)return dg;a===sO&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}iO.visit=An});var ru=I(Ye=>{"use strict";var pg=tO(),gV=nO(),yV=aO(),fg="\uFEFF",mg="",hg="",gg="",bV=e=>!!e&&"items"in e,wV=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function _V(e){switch(e){case fg:return"<BOM>";case mg:return"<DOC>";case hg:return"<FLOW_END>";case gg:return"<SCALAR>";default:return JSON.stringify(e)}}function EV(e){switch(e){case fg:return"byte-order-mark";case mg:return"doc-mode";case hg:return"flow-error-end";case gg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
222
+ `;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}];rO(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
223
+ `});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 rO(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 pg(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:`
224
+ `};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})}}}eu.createScalarToken=mV;eu.resolveAsScalar=fV;eu.setScalarValue=hV});var oO=I(sO=>{"use strict";var yV=e=>"type"in e?ru(e):tu(e);function ru(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=ru(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=tu(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=tu(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=tu(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 tu({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=ru(t)),r)for(let o of r)s+=o.source;return n&&(s+=ru(n)),s}sO.stringify=yV});var lO=I(cO=>{"use strict";var fg=Symbol("break visit"),bV=Symbol("skip children"),iO=Symbol("remove item");function An(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),aO(Object.freeze([]),e,t)}An.BREAK=fg;An.SKIP=bV;An.REMOVE=iO;An.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};An.parentCollection=(e,t)=>{let r=An.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 aO(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=aO(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===fg)return fg;a===iO&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}cO.visit=An});var nu=I(Ye=>{"use strict";var mg=nO(),wV=oO(),_V=lO(),hg="\uFEFF",gg="",yg="",bg="",EV=e=>!!e&&"items"in e,kV=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function SV(e){switch(e){case hg:return"<BOM>";case gg:return"<DOC>";case yg:return"<FLOW_END>";case bg:return"<SCALAR>";default:return JSON.stringify(e)}}function RV(e){switch(e){case hg:return"byte-order-mark";case gg:return"doc-mode";case yg:return"flow-error-end";case bg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
224
225
  `: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}Ye.createScalarToken=pg.createScalarToken;Ye.resolveAsScalar=pg.resolveAsScalar;Ye.setScalarValue=pg.setScalarValue;Ye.stringify=gV.stringify;Ye.visit=yV.visit;Ye.BOM=fg;Ye.DOCUMENT=mg;Ye.FLOW_END=hg;Ye.SCALAR=gg;Ye.isCollection=bV;Ye.isScalar=wV;Ye.prettyToken=_V;Ye.tokenType=EV});var wg=I(lO=>{"use strict";var Mi=ru();function Ot(e){switch(e){case void 0:case" ":case`
226
- `:case"\r":case" ":return!0;default:return!1}}var cO=new Set("0123456789ABCDEFabcdef"),kV=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),nu=new Set(",[]{}"),SV=new Set(` ,[]{}
227
- \r `),yg=e=>!e||SV.has(e),bg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
226
+ `: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}Ye.createScalarToken=mg.createScalarToken;Ye.resolveAsScalar=mg.resolveAsScalar;Ye.setScalarValue=mg.setScalarValue;Ye.stringify=wV.stringify;Ye.visit=_V.visit;Ye.BOM=hg;Ye.DOCUMENT=gg;Ye.FLOW_END=yg;Ye.SCALAR=bg;Ye.isCollection=EV;Ye.isScalar=kV;Ye.prettyToken=SV;Ye.tokenType=RV});var Eg=I(dO=>{"use strict";var Mi=nu();function Ot(e){switch(e){case void 0:case" ":case`
227
+ `:case"\r":case" ":return!0;default:return!1}}var uO=new Set("0123456789ABCDEFabcdef"),vV=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),su=new Set(",[]{}"),TV=new Set(` ,[]{}
228
+ \r `),wg=e=>!e||TV.has(e),_g=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
229
  `?!0:r==="\r"?this.buffer[t+1]===`
229
230
  `:!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
231
  `||!s&&!this.atEnd)return t+n+1}return r===`
231
232
  `||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]===Mi.BOM&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let r=t.length,n=t.indexOf("#");for(;n!==-1;){let o=t[n-1];if(o===" "||o===" "){r=n-1;break}else n=t.indexOf("#",n+1)}for(;;){let o=t[r-1];if(o===" "||o===" ")r-=1;else break}let s=(yield*this.pushCount(r))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){let r=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-r),yield*this.pushNewline(),"stream"}return yield Mi.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&Ot(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Ot(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Ot(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(yg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&Ot(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Mi.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(yg),"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
+ `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Mi.BOM&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let r=t.length,n=t.indexOf("#");for(;n!==-1;){let o=t[n-1];if(o===" "||o===" "){r=n-1;break}else n=t.indexOf("#",n+1)}for(;;){let o=t[r-1];if(o===" "||o===" ")r-=1;else break}let s=(yield*this.pushCount(r))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){let r=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-r),yield*this.pushNewline(),"stream"}return yield Mi.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&Ot(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Ot(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&Ot(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(wg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&Ot(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Mi.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(wg),"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
234
  `,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
234
235
  `,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
236
  `: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
237
  `)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
238
  `,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
239
  `;)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 Mi.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(Ot(o)||t&&nu.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
240
+ `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Mi.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(Ot(o)||t&&su.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
240
241
  `?(n+=1,s=`
241
- `,o=this.buffer[n+1]):r=n),o==="#"||t&&nu.has(o))break;if(s===`
242
- `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&nu.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Mi.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(yg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&nu.has(n)){r?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!Ot(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(kV.has(r))r=this.buffer[++t];else if(r==="%"&&cO.has(this.buffer[t+1])&&cO.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===`
242
+ `,o=this.buffer[n+1]):r=n),o==="#"||t&&su.has(o))break;if(s===`
243
+ `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&su.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Mi.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(wg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(Ot(n)||r&&su.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(vV.has(r))r=this.buffer[++t];else if(r==="%"&&uO.has(this.buffer[t+1])&&uO.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
244
  `?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)}};lO.Lexer=bg});var Eg=I(uO=>{"use strict";var _g=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}}}};uO.LineCounter=_g});var Sg=I(hO=>{"use strict";var RV=sa("process"),dO=ru(),vV=wg();function jr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function pO(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 mO(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function su(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Ms(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function ou(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function fO(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!jr(t.start,"explicit-key-ind")&&!jr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,mO(t.value)?t.value.end?ou(t.value.end,t.sep):t.value.end=t.sep:ou(t.start,t.sep),delete t.sep)}var kg=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 vV.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,RV.env.LOG_TOKENS&&console.log("|",dO.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=dO.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"&&fO(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&&pO(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":{pO(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=su(this.peek(2)),n=Ms(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
+ `?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)}};dO.Lexer=_g});var Sg=I(pO=>{"use strict";var kg=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}}}};pO.LineCounter=kg});var vg=I(yO=>{"use strict";var xV=sa("process"),fO=nu(),OV=Eg();function jr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function mO(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 gO(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 ou(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 Ms(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 iu(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 hO(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!jr(t.start,"explicit-key-ind")&&!jr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,gO(t.value)?t.value.end?iu(t.value.end,t.sep):t.value.end=t.sep:iu(t.start,t.sep),delete t.sep)}var Rg=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 OV.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,xV.env.LOG_TOKENS&&console.log("|",fO.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=fO.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"&&hO(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&&mO(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":{mO(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=ou(this.peek(2)),n=Ms(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
246
  `)+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)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(jr(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(mO(r.key)&&!jr(r.sep,"newline")){let i=Ms(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(jr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Ms(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]}):jr(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&&!jr(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||jr(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=su(n),o=Ms(s);fO(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
+ `,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)){iu(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(jr(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(gO(r.key)&&!jr(r.sep,"newline")){let i=Ms(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(jr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Ms(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]}):jr(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&&!jr(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)){iu(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||jr(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=ou(n),o=Ms(s);hO(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
248
  `)+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=su(t),n=Ms(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=su(t),n=Ms(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())}}};hO.Parser=kg});var _O=I(ji=>{"use strict";var gO=lg(),TV=Ii(),Bi=Di(),xV=ah(),OV=K(),AV=Eg(),yO=Sg();function bO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new AV.LineCounter||null,prettyErrors:t}}function CV(e,t={}){let{lineCounter:r,prettyErrors:n}=bO(t),s=new yO.Parser(r?.addNewLine),o=new gO.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Bi.prettifyError(e,r)),a.warnings.forEach(Bi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function wO(e,t={}){let{lineCounter:r,prettyErrors:n}=bO(t),s=new yO.Parser(r?.addNewLine),o=new gO.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Bi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Bi.prettifyError(e,r)),i.warnings.forEach(Bi.prettifyError(e,r))),i}function PV(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=wO(e,r);if(!s)return null;if(s.warnings.forEach(o=>xV.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 IV(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 OV.isDocument(e)&&!n?e.toString(r):new TV.Document(e,n,r).toString(r)}ji.parse=PV;ji.parseAllDocuments=CV;ji.parseDocument=wO;ji.stringify=IV});var kO=I(X=>{"use strict";var LV=lg(),GV=Ii(),DV=Uh(),Rg=Di(),NV=gi(),qr=K(),$V=$r(),FV=le(),MV=Mr(),BV=Br(),jV=ru(),qV=wg(),UV=Eg(),HV=Sg(),iu=_O(),EO=pi();X.Composer=LV.Composer;X.Document=GV.Document;X.Schema=DV.Schema;X.YAMLError=Rg.YAMLError;X.YAMLParseError=Rg.YAMLParseError;X.YAMLWarning=Rg.YAMLWarning;X.Alias=NV.Alias;X.isAlias=qr.isAlias;X.isCollection=qr.isCollection;X.isDocument=qr.isDocument;X.isMap=qr.isMap;X.isNode=qr.isNode;X.isPair=qr.isPair;X.isScalar=qr.isScalar;X.isSeq=qr.isSeq;X.Pair=$V.Pair;X.Scalar=FV.Scalar;X.YAMLMap=MV.YAMLMap;X.YAMLSeq=BV.YAMLSeq;X.CST=jV;X.Lexer=qV.Lexer;X.LineCounter=UV.LineCounter;X.Parser=HV.Parser;X.parse=iu.parse;X.parseAllDocuments=iu.parseAllDocuments;X.parseDocument=iu.parseDocument;X.stringify=iu.stringify;X.visit=EO.visit;X.visitAsync=EO.visitAsync});import{isUtf8 as WV}from"node:buffer";import{spawnSync as VV}from"node:child_process";import{isDeepStrictEqual as SO}from"node:util";function vg(e,t={}){if(e.length===0||!WV(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=JV(n,t.decode??z,t.runTq??KV)??zV(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!SO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function JV(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 SO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function KV(e,t,r){let n=VV("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 zV(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,RO.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 RO,Tg=w(()=>{"use strict";J();RO=oa(kO(),1)});async function Ag(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(He(),Ap)),Promise.resolve().then(()=>(sr(),Xn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await YV(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function YV(e,t){let r=QV(t.command)?e:vg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=Og(t.sizeThresholdBytes,8*1024),s=Og(t.repetitionThresholdRows,20),o=Og(t.topRows,t.level==="terse"?5:12),i=XV(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await vO(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)),_=Math.min(o,E.length),k=E.length-_,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:_,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${_}; ${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,_),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=eJ(ZV(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=tJ(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 vO(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:rJ(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 QV(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function vO(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 XV(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 ZV(e){try{return z(e.toString("utf8"))}catch{return}}function xg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function eJ(e){if(Array.isArray(e)&&e.every(xg))return{rows:e};if(!xg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(xg)).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 tJ(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 rJ(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:nJ(s.reduce((o,i)=>o+i,0))})}return r}function nJ(e){return Number(e.toPrecision(15))}function Og(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Cg=w(()=>{"use strict";J();Tg()});import{existsSync as sJ}from"node:fs";import{join as oJ}from"node:path";function iJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&sJ(oJ(e,"rsp")))return!0;return!1}function qi(){return iJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var Pg=w(()=>{"use strict"});var au={};se(au,{parseProxyCommandLine:()=>OO,rewriteProxyCommandLine:()=>xO,runProxy:()=>lJ});import{spawn as aJ}from"node:child_process";function cJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function lJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=OO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=xO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await uJ(t.telemetryRoot,r,c),await TO(r,t.level??"lossless");throw c}for(let c of s)await dJ(t.telemetryRoot,c);let i=await TO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await yn(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 xO(e,t="lossless",r=qi()){let n=yJ(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||gJ(n,a)==="|")return i.text;let c=pJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function OO(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 uJ(e,t,r){await yn(e,{collection:Ke,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 dJ(e,t){await yn(e,{collection:Ke,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 TO(e,t,r=e){let n=aJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=tt();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await IT(n,i=>Ag(i,r,o))}function pJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=wJ(o);if(!i)return null;let a=hJ(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(bn(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=fJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(cJ),...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 fJ(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}:mJ(t,r)}function mJ(e,t){return e[0]==="cat"&&e.length===2&&Ig(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Ig(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])&&Ig(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Ig(e){return!!e&&!e.startsWith("-")}function hJ(e){let t=0;for(;t<e.length&&ks(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&ks(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 yJ(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=bJ(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 bJ(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 wJ(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var cu=w(()=>{"use strict";we();LT();Cg();Yo();Pg();Mt()});function PO(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=Lg(o),l=Lg(i),u=Lg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>TJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Gg(p.length,c)+Gg(p.tokens.length,l)+Gg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+RJ(p.tokens,n,r.length)+vJ(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(AO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(AO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function AO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:EJ(n),tokens:kJ(n),numbers:SJ(n),length:n.length}}function EJ(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 kJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function SJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function RJ(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 vJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Lg(e){let t=CO(e),r=CO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Gg(e,t){return Math.abs(e-t.median)/t.mad}function CO(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 TJ(e,t,r,n){return e<n&&r<t}var IO=w(()=>{"use strict"});var Dg={};se(Dg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ar,GIT_LOG_MACHINE_FIELDS:()=>GO,StructuredUsageError:()=>lu,cleanStatusPayload:()=>FO,recoveryInstruction:()=>At,renderGitContract:()=>DO,runGitWrapper:()=>OJ});import{spawn as xJ}from"node:child_process";async function OJ(e,t){let r=NO(e),n=$O(r.argv),s=await IJ(n,r.argv.slice(1));return DO(e,s,t)}async function DO(e,t,r){let n=NO(e);if((t.status??0)!==0||t.signal){let d=Ue(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=LJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof uu)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(AJ(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=QJ(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
249
+ `,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=ou(t),n=Ms(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=ou(t),n=Ms(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())}}};yO.Parser=Rg});var kO=I(ji=>{"use strict";var bO=dg(),AV=Ii(),Bi=Di(),CV=lh(),PV=K(),IV=Sg(),wO=vg();function _O(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new IV.LineCounter||null,prettyErrors:t}}function LV(e,t={}){let{lineCounter:r,prettyErrors:n}=_O(t),s=new wO.Parser(r?.addNewLine),o=new bO.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Bi.prettifyError(e,r)),a.warnings.forEach(Bi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function EO(e,t={}){let{lineCounter:r,prettyErrors:n}=_O(t),s=new wO.Parser(r?.addNewLine),o=new bO.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Bi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Bi.prettifyError(e,r)),i.warnings.forEach(Bi.prettifyError(e,r))),i}function GV(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=EO(e,r);if(!s)return null;if(s.warnings.forEach(o=>CV.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 DV(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 PV.isDocument(e)&&!n?e.toString(r):new AV.Document(e,n,r).toString(r)}ji.parse=GV;ji.parseAllDocuments=LV;ji.parseDocument=EO;ji.stringify=DV});var RO=I(X=>{"use strict";var NV=dg(),$V=Ii(),FV=Wh(),Tg=Di(),MV=gi(),qr=K(),BV=$r(),jV=le(),qV=Mr(),UV=Br(),HV=nu(),WV=Eg(),VV=Sg(),JV=vg(),au=kO(),SO=pi();X.Composer=NV.Composer;X.Document=$V.Document;X.Schema=FV.Schema;X.YAMLError=Tg.YAMLError;X.YAMLParseError=Tg.YAMLParseError;X.YAMLWarning=Tg.YAMLWarning;X.Alias=MV.Alias;X.isAlias=qr.isAlias;X.isCollection=qr.isCollection;X.isDocument=qr.isDocument;X.isMap=qr.isMap;X.isNode=qr.isNode;X.isPair=qr.isPair;X.isScalar=qr.isScalar;X.isSeq=qr.isSeq;X.Pair=BV.Pair;X.Scalar=jV.Scalar;X.YAMLMap=qV.YAMLMap;X.YAMLSeq=UV.YAMLSeq;X.CST=HV;X.Lexer=WV.Lexer;X.LineCounter=VV.LineCounter;X.Parser=JV.Parser;X.parse=au.parse;X.parseAllDocuments=au.parseAllDocuments;X.parseDocument=au.parseDocument;X.stringify=au.stringify;X.visit=SO.visit;X.visitAsync=SO.visitAsync});import{isUtf8 as KV}from"node:buffer";import{spawnSync as zV}from"node:child_process";import{isDeepStrictEqual as vO}from"node:util";function xg(e,t={}){if(e.length===0||!KV(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=YV(n,t.decode??z,t.runTq??QV)??XV(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!vO(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function YV(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 vO(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function QV(e,t,r){let n=zV("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 XV(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,TO.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 TO,Og=w(()=>{"use strict";J();TO=oa(RO(),1)});async function Pg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(He(),Pp)),Promise.resolve().then(()=>(sr(),Xn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await ZV(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function ZV(e,t){let r=eJ(t.command)?e:xg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=Cg(t.sizeThresholdBytes,8*1024),s=Cg(t.repetitionThresholdRows,20),o=Cg(t.topRows,t.level==="terse"?5:12),i=tJ(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await xO(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)),_=Math.min(o,E.length),k=E.length-_,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:_,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${_}; ${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,_),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)}
250
+ `),lossy:!0,handle:y,bytesElided:e.length}}let a=nJ(rJ(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=sJ(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 xO(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:oJ(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)}
251
+ `),lossy:!0,handle:p,bytesElided:e.length}}function eJ(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function xO(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 tJ(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 rJ(e){try{return z(e.toString("utf8"))}catch{return}}function Ag(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nJ(e){if(Array.isArray(e)&&e.every(Ag))return{rows:e};if(!Ag(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(Ag)).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 sJ(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 oJ(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:iJ(s.reduce((o,i)=>o+i,0))})}return r}function iJ(e){return Number(e.toPrecision(15))}function Cg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Ig=w(()=>{"use strict";J();Og()});import{existsSync as aJ}from"node:fs";import{join as cJ}from"node:path";function lJ(){for(let e of(process.env.PATH??"").split(":"))if(e&&aJ(cJ(e,"rsp")))return!0;return!1}function qi(){return lJ()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var Lg=w(()=>{"use strict"});var cu={};se(cu,{parseProxyCommandLine:()=>CO,rewriteProxyCommandLine:()=>AO,runProxy:()=>pJ});import{spawn as uJ}from"node:child_process";function dJ(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function pJ(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=CO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=AO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await fJ(t.telemetryRoot,r,c),await OO(r,t.level??"lossless");throw c}for(let c of s)await mJ(t.telemetryRoot,c);let i=await OO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await yn(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 AO(e,t="lossless",r=qi()){let n=_J(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||wJ(n,a)==="|")return i.text;let c=hJ(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function CO(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 fJ(e,t,r){await yn(e,{collection:Ke,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 mJ(e,t){await yn(e,{collection:Ke,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 OO(e,t,r=e){let n=uJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=tt();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await GT(n,i=>Pg(i,r,o))}function hJ(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=kJ(o);if(!i)return null;let a=bJ(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(bn(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=gJ(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(dJ),...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 gJ(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}:yJ(t,r)}function yJ(e,t){return e[0]==="cat"&&e.length===2&&Gg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Gg(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])&&Gg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Gg(e){return!!e&&!e.startsWith("-")}function bJ(e){let t=0;for(;t<e.length&&ks(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&ks(e[t].value);)t+=1;return t}function wJ(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=EJ(e,o);a&&(o>r&&t.push({kind:"segment",text:e.slice(r,o)}),t.push({kind:"operator",text:a}),o+=a.length-1,r=o+1)}return r<e.length&&t.push({kind:"segment",text:e.slice(r)}),t}function EJ(e,t){let r=e.slice(t,t+2);if(r==="&&"||r==="||")return r;let n=e[t];return n===";"||n==="|"?n:void 0}function kJ(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 lu=w(()=>{"use strict";we();DT();Ig();Yo();Lg();Mt()});function LO(e,t={}){let r=SJ(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=Dg(o),l=Dg(i),u=Dg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>AJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Ng(p.length,c)+Ng(p.tokens.length,l)+Ng(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+xJ(p.tokens,n,r.length)+OJ(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 SJ(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:RJ(n),tokens:vJ(n),numbers:TJ(n),length:n.length}}function RJ(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 vJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function TJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function xJ(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 OJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Dg(e){let t=IO(e),r=IO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Ng(e,t){return Math.abs(e-t.median)/t.mad}function IO(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 AJ(e,t,r,n){return e<n&&r<t}var GO=w(()=>{"use strict"});var $g={};se($g,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ar,GIT_LOG_MACHINE_FIELDS:()=>NO,StructuredUsageError:()=>uu,cleanStatusPayload:()=>BO,recoveryInstruction:()=>At,renderGitContract:()=>$O,runGitWrapper:()=>PJ});import{spawn as CJ}from"node:child_process";async function PJ(e,t){let r=FO(e),n=MO(r.argv),s=await DJ(n,r.argv.slice(1));return $O(e,s,t)}async function $O(e,t,r){let n=FO(e);if((t.status??0)!==0||t.signal){let d=Ue(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=MO(n.argv),o;try{o=NJ(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof du)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(IJ(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=e2(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
252
  `;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 NO(e){let{argv:t,query:r,full:n}=Dw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new lu(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function AJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!CJ(e)||n.level!=="lossless")return!0;let s=YJ(n.heavyGitByteThreshold,ar);return Buffer.byteLength(t)<=s}function CJ(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 PJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${GO.join("%x1f")}`,"-z",...r];case"diff":return["diff","--numstat","-z",...r];case"commit":return["commit",...r];case"push":return["push","--porcelain",...r];case"blame":return["blame","--line-porcelain",...r];case"branch":return["branch","--format=%(HEAD)%00%(refname:short)%00%(objectname:short)%00%(upstream:short)%00%(worktreepath)%00%(contents:subject)",...r];case"show":return["show","--format=%x1e%H%x1f%h%x1f%an%x1f%aI%x1f%s%x1f%b%x1e","--stat",...r]}}async function IJ(e,t){let r=xJ("git",PJ(e,t),{stdio:["ignore","pipe","pipe"]}),n=tt();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 LJ(e,t,r,n){switch(e){case"status":return GJ(t,r,n);case"log":return qJ(t,r,n);case"diff":return UJ(t,r,n);case"commit":return Ur(HJ(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return Ur(WJ(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return VJ(t,r,n);case"branch":return JJ(t,r,n);case"show":return KJ(t,r,n)}}function GJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of DJ(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=FJ(l),o=!0;continue}let u=NJ(l);if(u){o=!0,s.push(u);continue}let d=$J(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return FO(e.join(" "),n);throw new uu("git-status-unparseable")}let a=Le(s,r),c=MO(a,"state");return Ur({command:e.join(" "),branch:n,rows:a,summary:jJ(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function DJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function NJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Ui(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(10).join(" "),r)}return e.startsWith("? ")?Ui(e.slice(2),"??"):null}function $J(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Ui(MJ(e.slice(3),t),t):null}function Ui(e,t){let r=LO(t[0]??"."),n=LO(t[1]??".");return{path:BJ(e),index:r,worktree:n,state:zJ(`${r}${n}`)}}function LO(e){return e===" "?".":e}function FJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function MJ(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function BJ(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function jJ(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 FO(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 qJ(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 Ur({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 UJ(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 Ur({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 HJ(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 WJ(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 VJ(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=MO(i,"author");return Ur({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 JJ(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 Ur({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 KJ(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(`
253
+ ${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 FO(e){let{argv:t,query:r,full:n}=$w(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new uu(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function IJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!LJ(e)||n.level!=="lossless")return!0;let s=ZJ(n.heavyGitByteThreshold,ar);return Buffer.byteLength(t)<=s}function LJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function MO(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 GJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${NO.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 DJ(e,t){let r=CJ("git",GJ(e,t),{stdio:["ignore","pipe","pipe"]}),n=tt();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 NJ(e,t,r,n){switch(e){case"status":return $J(t,r,n);case"log":return WJ(t,r,n);case"diff":return VJ(t,r,n);case"commit":return Ur(JJ(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return Ur(KJ(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return zJ(t,r,n);case"branch":return YJ(t,r,n);case"show":return QJ(t,r,n)}}function $J(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of FJ(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=jJ(l),o=!0;continue}let u=MJ(l);if(u){o=!0,s.push(u);continue}let d=BJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return BO(e.join(" "),n);throw new du("git-status-unparseable")}let a=Le(s,r),c=jO(a,"state");return Ur({command:e.join(" "),branch:n,rows:a,summary:HJ(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function FJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function MJ(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return Ui(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return Ui(t.slice(10).join(" "),r)}return e.startsWith("? ")?Ui(e.slice(2),"??"):null}function BJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Ui(qJ(e.slice(3),t),t):null}function Ui(e,t){let r=DO(t[0]??"."),n=DO(t[1]??".");return{path:UJ(e),index:r,worktree:n,state:XJ(`${r}${n}`)}}function DO(e){return e===" "?".":e}function jJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function qJ(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function UJ(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function HJ(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 BO(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 WJ(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 Ur({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function VJ(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Le(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return Ur({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 JJ(e,t){let r=t.split(`
254
+ `)[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 KJ(e,t){let r=t.split(`
255
+ `).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 zJ(e,t,r){let n=t.split(`
256
+ `),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=jO(i,"author");return Ur({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 YJ(e,t,r){let n=t.split(`
257
+ `).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 Ur({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 QJ(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
258
  `)){let _=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(E);if(!_)continue;let k=_[3]??"";f.push({path:(_[1]??"").trim(),changed:Number(_[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 Ur({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 Ur(e,t,r){return t?Zt(e,r):e}function zJ(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function MO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function YJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function QJ(e){for(let t of["rows","commits","files","refs","ranges","branches"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}var GO,lu,uu,Cn=w(()=>{"use strict";we();J();He();co();bt();He();GO=["%h","%an","%as","%s"];lu=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return mw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},uu=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var Mg={};se(Mg,{NORMALIZATION_ALLOWLIST:()=>VO,NORMALIZE_ANSI:()=>pu,NORMALIZE_BLANK_LINES:()=>hu,NORMALIZE_CR_PROGRESS:()=>fu,NORMALIZE_JSON_TOON:()=>WO,NORMALIZE_TRAILING_WHITESPACE:()=>mu,crushJsonArrayItems:()=>Hi,formatCodexNormalizeDecision:()=>QO,formatNormalizeDecision:()=>YO,hookDecisionFromClaudePostExecJson:()=>JO,hookDecisionFromCodexPostExecJson:()=>KO,normalizeOutput:()=>gu,renderGenericJsonLane:()=>$g,runClaudePostExecHook:()=>e2,runCodexPostExecHook:()=>t2,transcodeJsonToToon:()=>HO});import{readFileSync as du}from"node:fs";function HO(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 Ng(o,a)?i.trimEnd():e}async function $g(e,t={}){let r=o2(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=UO(t.minTokens,XJ),i=UO(t.maxItems,ZJ);if(!(s>i&&u2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Hi)(n,i)}catch(g){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:d2(g)}}}let l=c.items,u={items:l},d=`items: ${c.kept} kept, ${c.dropped} dropped (shape outliers: ${c.shapeOutliers}, value outliers: ${c.valueOutliers})`,p;t.level&&t.level!=="lossless"&&(p=await t.store?.mint(Buffer.from(e),{command:t.command??"rsp json",loss:{level:t.level,bytes_elided:Buffer.byteLength(e)}}));let f=p?`original: rsp show ${p}`:`original: unavailable - re-run: ${t.command??"command"}`,m=M(u).trimEnd();return{output:[d,f,m].filter(Boolean).join(`
259
- `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Hi(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=i2(e),s=new Set;n&&e.forEach((a,c)=>{Fg(a)!==n&&s.add(c)});let o=a2(e,n);for(let a of s)r.add(a);for(let a of o)r.add(a);let i=[...r].sort((a,c)=>a-c).slice(0,Math.max(2,t));return{items:i.map(a=>e[a]),total:e.length,kept:i.length,dropped:e.length-i.length,shapeOutliers:[...s].filter(a=>i.includes(a)).length,valueOutliers:[...o].filter(a=>i.includes(a)).length}}function gu(e){let t=e;for(let r of VO)t=r.apply(t);return t}async function JO(e,t){return await zO(e,t)}async function KO(e,t){return await zO(e,t)}async function zO(e,t){let r=s2(e),n=p2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??n2)(n))return{kind:"passthrough",reason:"disabled"};let o=f2(r,"tool_response");if(!o)return{kind:"passthrough",reason:"missing-output"};if(typeof o.output!="string")return{kind:"passthrough",reason:"missing-output"};let i=o.output,c=(t.normalize??gu)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function YO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function QO(e){return{stdout:"",status:0}}async function e2(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await JO(t,{cwd:process.cwd()}),n=YO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function t2(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await KO(t,{cwd:process.cwd()}),n=QO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function r2(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&&BO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&BO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function BO(e){return e>=32&&e<=63}function n2(e){return De(e,process.env).enabled}function s2(e){try{let t=JSON.parse(e);return Bs(t)?t:{}}catch{return{}}}function o2(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Bs(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 i2(e){let t=new Map;for(let s of e){let o=Fg(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 Fg(e){return Array.isArray(e)?"array":Bs(e)?Object.keys(e).sort().map(t=>`${t}:${jO(e[t])}`).join("|"):jO(e)}function a2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Fg(s)!==t))for(let[i,a]of XO(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 c2(s))r.add(o);for(let o of l2(s))r.add(o)}return r}function c2(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=qO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=qO(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 l2(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 XO(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Bs(e)?Object.entries(e).flatMap(([r,n])=>XO(n,t?`${t}.${r}`:r)):[]}function jO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function qO(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 u2(e){return Math.ceil(e.length/4)}function UO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function d2(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 p2(e,t){let r=e;for(let n of t){if(!Bs(r))return"";r=r[n]}return typeof r=="string"?r:""}function f2(e,t){let r=e[t];return Bs(r)?r:null}function Bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ng(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)=>Ng(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)&&Ng(r[i],n[i]))}var pu,fu,mu,hu,WO,XJ,ZJ,VO,Wi=w(()=>{"use strict";J();He();pu={id:"ansi",apply:r2},fu={id:"cr-progress",apply:e=>e.split(`
259
+ `).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 Ur(e,t,r){return t?Zt(e,r):e}function XJ(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function jO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function ZJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function e2(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 NO,uu,du,Cn=w(()=>{"use strict";we();J();He();co();bt();He();NO=["%h","%an","%as","%s"];uu=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return gw(this.command,this.flag,this.validFlags,`${this.command} --help`)}},du=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var jg={};se(jg,{NORMALIZATION_ALLOWLIST:()=>KO,NORMALIZE_ANSI:()=>fu,NORMALIZE_BLANK_LINES:()=>gu,NORMALIZE_CR_PROGRESS:()=>mu,NORMALIZE_JSON_TOON:()=>JO,NORMALIZE_TRAILING_WHITESPACE:()=>hu,crushJsonArrayItems:()=>Hi,formatCodexNormalizeDecision:()=>ZO,formatNormalizeDecision:()=>XO,hookDecisionFromClaudePostExecJson:()=>zO,hookDecisionFromCodexPostExecJson:()=>YO,normalizeOutput:()=>yu,renderGenericJsonLane:()=>Mg,runClaudePostExecHook:()=>n2,runCodexPostExecHook:()=>s2,transcodeJsonToToon:()=>VO});import{readFileSync as pu}from"node:fs";function VO(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 Fg(o,a)?i.trimEnd():e}async function Mg(e,t={}){let r=c2(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=WO(t.minTokens,t2),i=WO(t.maxItems,r2);if(!(s>i&&f2(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Hi)(n,i)}catch(g){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:m2(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(`
260
+ `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Hi(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=l2(e),s=new Set;n&&e.forEach((a,c)=>{Bg(a)!==n&&s.add(c)});let o=u2(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 yu(e){let t=e;for(let r of KO)t=r.apply(t);return t}async function zO(e,t){return await QO(e,t)}async function YO(e,t){return await QO(e,t)}async function QO(e,t){let r=a2(e),n=h2(r,["cwd"])||t.cwd;if(!await(t.isEnabled??i2)(n))return{kind:"passthrough",reason:"disabled"};let o=g2(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??yu)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function XO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function ZO(e){return{stdout:"",status:0}}async function n2(e){let t=e?pu(e,"utf8"):pu(0,"utf8"),r=await zO(t,{cwd:process.cwd()}),n=XO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function s2(e){let t=e?pu(e,"utf8"):pu(0,"utf8"),r=await YO(t,{cwd:process.cwd()}),n=ZO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function o2(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&&qO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&qO(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function qO(e){return e>=32&&e<=63}function i2(e){return De(e,process.env).enabled}function a2(e){try{let t=JSON.parse(e);return Bs(t)?t:{}}catch{return{}}}function c2(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Bs(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 l2(e){let t=new Map;for(let s of e){let o=Bg(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 Bg(e){return Array.isArray(e)?"array":Bs(e)?Object.keys(e).sort().map(t=>`${t}:${UO(e[t])}`).join("|"):UO(e)}function u2(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Bg(s)!==t))for(let[i,a]of eA(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 d2(s))r.add(o);for(let o of p2(s))r.add(o)}return r}function d2(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=HO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=HO(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 p2(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 eA(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Bs(e)?Object.entries(e).flatMap(([r,n])=>eA(n,t?`${t}.${r}`:r)):[]}function UO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function HO(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 f2(e){return Math.ceil(e.length/4)}function WO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function m2(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 h2(e,t){let r=e;for(let n of t){if(!Bs(r))return"";r=r[n]}return typeof r=="string"?r:""}function g2(e,t){let r=e[t];return Bs(r)?r:null}function Bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fg(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)=>Fg(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)&&Fg(r[i],n[i]))}var fu,mu,hu,gu,JO,t2,r2,KO,Wi=w(()=>{"use strict";J();He();fu={id:"ansi",apply:o2},mu={id:"cr-progress",apply:e=>e.split(`
260
261
  `).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
- `)},mu={id:"trailing-whitespace",apply:e=>e.split(`
262
+ `)},hu={id:"trailing-whitespace",apply:e=>e.split(`
262
263
  `).map(t=>t.replace(/[ \t]+$/,"")).join(`
263
- `)},hu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
264
+ `)},gu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
264
265
 
265
- `)};WO={id:"json-to-toon",apply:e=>HO(e)},XJ=200,ZJ=15;VO=[pu,fu,mu,hu,WO]});var Ki={};se(Ki,{parseExecCommandLine:()=>sA,renderExecContract:()=>nA,runExecWrapper:()=>b2});import{isUtf8 as m2}from"node:buffer";import{spawn as h2}from"node:child_process";async function b2(e,t){let r=sA(e),n=await w2(r);return await nA(r,n,t)}async function nA(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=Ue(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=B2(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"?k2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):S2(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 sA(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 w2(e){let t=h2(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=tt();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 m2(e)?{kind:"text",text:E2(e.toString("utf8"))}:{kind:"bytes"}}function E2(e){let t=e;for(let r of[pu,fu,mu,hu])t=r.apply(t);return t}function k2(e,t,r,n,s,o=L2,i=Hi){let c=Math.max(1,Math.floor((n==="terse"?rA:y2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=I2(e,c,u,o),p=R2(e),f=v2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=oA(s,p,t,M2(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:dA(d.error)}:f.degradation;return{text:uA(m),degradation:g}}function S2(e,t,r,n){let s=Math.max(1,Math.floor(rA/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:uA(oA(n,"bytes",t,0,r,o))}}function oA(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function R2(e){let t=e.trim();return t?aA(t)?"json":cA(e)?"jsonl":G2(e)?"unified-diff":lA(e)?"tabular":D2(e)?"log-like":N2(e)?"prose":"untyped":"untyped"}function v2(e,t,r,n,s,o,i=Hi){switch(e){case"json":return T2(t,i);case"jsonl":return{summary:x2(t)};case"unified-diff":return{summary:O2(t)};case"tabular":return{summary:A2(t)};case"log-like":return{summary:C2(t,o)};case"prose":return{summary:P2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:iA(r,n,s,o)}}}function T2(e,t){let r=aA(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(Hr),item_keys:jg(r)}}}catch(n){return{summary:eA(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:dA(n)}}}return{summary:eA(r)}}if(Ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Hr(o)]))}}}return{summary:{root_type:typeof r,value:Hr(r)}}}function eA(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Hr),item_keys:jg(e)}}function x2(e){let t=cA(e)??[],r=$2(t,"level");return{records:t.length,keys:jg(t),levels:r,first:Hr(t[0]),last:Hr(t.at(-1))}}function O2(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 A2(e){let t=lA(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:iA(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function C2(e,t){let r=Vi(e);return{entries:r.length,levels:F2(r),first:Pn(r[0]??""),last:Pn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:Pn(n.text)}))}}function P2(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:Pn(t[0]??""),closing:Pn(t.at(-1)??"")}}function iA(e,t,r,n){let s=tA(e.subarray(0,t)),o=tA(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:Pn(i.text)}))}}function I2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function L2(e,t){return PO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function aA(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Ji(r)||Array.isArray(r)?r:null}catch{return null}}function cA(e){let t=Vi(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function G2(e){let t=Vi(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function lA(e){let t=Vi(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function D2(e){let t=Vi(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function N2(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Vi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function jg(e){let t=new Map;for(let r of e)if(Ji(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function $2(e,t){let r=new Map;for(let n of e){if(!Ji(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function F2(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 Hr(e){return typeof e=="string"?Pn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Hr):Ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Hr(r)])):String(e)}function Pn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=ZO?t:`${t.slice(0,ZO-1)}\u2026`}function uA(e){let t=M(e).trimEnd(),r=z(t);if(!Bg(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
266
- `}function Bg(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)=>Bg(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)&&Bg(r[i],n[i]))}function Ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function dA(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 tA(e){return e.toString("utf8").replace(/�$/g,"")}function M2(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 B2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var g2,y2,rA,ZO,zi=w(()=>{"use strict";we();J();IO();Cn();Wi();bt();g2=8*1024,y2=2*1024,rA=1024,ZO=240});var xu={};se(xu,{RSP_WRAPPER_CAPABILITIES:()=>Xi,_testOnlyResetBinaryState:()=>Q2,formatCodexHookDecision:()=>RA,formatHookDecision:()=>SA,hookDecisionFromClaudePreExecJson:()=>oK,hookDecisionFromCodexPreExecJson:()=>iK,rewriteCommand:()=>EA,rewriteTableFromCapabilities:()=>_A,runClaudePreExecHook:()=>aK,runCodexPreExecHook:()=>cK});import{accessSync as J2,constants as K2,existsSync as z2,readFileSync as Ru}from"node:fs";import{fileURLToPath as Y2}from"node:url";function Q2(){Su=void 0,qg=!1}function X2(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return J2(`${t}/rsp`,K2.X_OK),!0}catch{}return!1}function Z2(e){return Su===void 0&&(Su=e()),Su}function eK(){qg||(qg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function _A(e){let t=new Map;for(let r of e)t.set(TK(r.command),["rsp",...r.wrapper]);return t}function EA(e,t=qi()){let r=nK(e,t);if(r)return r;let n=yK(e);if(n)return n;let s=hK(e);if(!s)return ku(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&ks(o[0]))return ku(e,t);let i=sK(s,t);if(i)return i;let a=rK(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return ku(e,t);let c=[...Xi].sort((d,p)=>p.command.length-d.command.length).find(d=>gK(o,d.command));if(!c)return ku(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=AA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function rK(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 nK(e,t){let r=t.map(Pt).join(" "),n=Tu(e.trim()).map(a=>a.text);if(n[0]==="gh"&&n[1]==="run"&&n[2]==="watch"&&/^[1-9][0-9]*$/.test(n[3]??""))return{kind:"rewrite",command:`${r} wait run ${n[3]}`,capabilityId:"wait:github-run"};if(!/\b(?:for|while)\b/.test(e)||!/\bsleep\b/.test(e))return null;let s=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/jobs\/([1-9][0-9]*)/.exec(e);if(s)return{kind:"rewrite",command:`${r} wait job ${s[1]}`,capabilityId:"wait:github-job"};let o=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/runs\/([1-9][0-9]*)/.exec(e);if(o)return{kind:"rewrite",command:`${r} wait run ${o[1]}`,capabilityId:"wait:github-run"};let i=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/releases\/tags\/([^\s'";|]+)/.exec(e);return i?{kind:"rewrite",command:`${r} wait release --tag ${Pt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function sK(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=AA(e.redirectSuffix),o=t.map(Pt);return n==="cat"&&r.length===2&&Eu(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&Eu(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Pt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&Eu(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Pt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&Eu(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function Eu(e){return!!e&&!e.startsWith("-")}async function oK(e,t){return await kA(e,t)}async function iK(e,t){return await kA(e,t)}async function kA(e,t){return(await Hg(e,t,"pre-exec")).decision}async function Hg(e,t,r){let n=LA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:js({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??lK)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:Ug(s),decision:m,reason:"disabled"})}}let a=Ug(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??qi();if(!Z2(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||X2()))){eK();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=De(o,process.env).proxyEnabled?bK(a,c):(t.rewrite??(m=>EA(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:js({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await dK(o,t.wakeResident??uK),{decision:p,telemetryRoot:o,event:js({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function SA(e){return e.kind==="rewrite"?vA(e.command):{stdout:"",status:0}}function RA(e){return e.kind==="rewrite"?vA(e.command):{stdout:"",status:0}}function vA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
267
- `,status:0}}async function aK(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await Hg(t,{cwd:process.cwd()},"claude-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;xA("claude-pre-exec",n);let s=SA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),TA("claude-pre-exec",t,r)),OA("claude-pre-exec",r),0}}async function cK(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await Hg(t,{cwd:process.cwd()},"codex-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;xA("codex-pre-exec",n);let s=RA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),TA("codex-pre-exec",t,r)),OA("codex-pre-exec",r),0}}function vu(e,t){yn(e,t).catch(()=>{})}function js(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Ke,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 TA(e,t,r){let n=LA(t),s=n.ok?Ug(n.payload):"";return{collection:Ke,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:dt(s),decision:"failed-open",reason:"hook-exception",error:Wg(r)}}function lK(e){return De(e,process.env).enabled}async function uK(e){let t=De(e,process.env);if(!t.enabled||!mK(t))return;let r=ot(e);await La(r,fK(t))}async function dK(e,t){try{await Promise.resolve(t(e))}catch(r){pK(r)}}function xA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
266
+ `)};JO={id:"json-to-toon",apply:e=>VO(e)},t2=200,r2=15;KO=[fu,mu,hu,gu,JO]});var Ki={};se(Ki,{parseExecCommandLine:()=>iA,renderExecContract:()=>oA,runExecWrapper:()=>E2});import{isUtf8 as y2}from"node:buffer";import{spawn as b2}from"node:child_process";async function E2(e,t){let r=iA(e),n=await k2(r);return await oA(r,n,t)}async function oA(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=Ue(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=S2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=U2(r.heavyByteThreshold,w2);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"?v2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):T2(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 iA(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 k2(e){let t=b2(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=tt();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 S2(e){return y2(e)?{kind:"text",text:R2(e.toString("utf8"))}:{kind:"bytes"}}function R2(e){let t=e;for(let r of[fu,mu,hu,gu])t=r.apply(t);return t}function v2(e,t,r,n,s,o=N2,i=Hi){let c=Math.max(1,Math.floor((n==="terse"?sA:_2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=D2(e,c,u,o),p=x2(e),f=O2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=aA(s,p,t,q2(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:fA(d.error)}:f.degradation;return{text:pA(m),degradation:g}}function T2(e,t,r,n){let s=Math.max(1,Math.floor(sA/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:pA(aA(n,"bytes",t,0,r,o))}}function aA(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function x2(e){let t=e.trim();return t?lA(t)?"json":uA(e)?"jsonl":$2(e)?"unified-diff":dA(e)?"tabular":F2(e)?"log-like":M2(e)?"prose":"untyped":"untyped"}function O2(e,t,r,n,s,o,i=Hi){switch(e){case"json":return A2(t,i);case"jsonl":return{summary:C2(t)};case"unified-diff":return{summary:P2(t)};case"tabular":return{summary:I2(t)};case"log-like":return{summary:L2(t,o)};case"prose":return{summary:G2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:cA(r,n,s,o)}}}function A2(e,t){let r=lA(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(Hr),item_keys:Ug(r)}}}catch(n){return{summary:rA(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:fA(n)}}}return{summary:rA(r)}}if(Ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Hr(o)]))}}}return{summary:{root_type:typeof r,value:Hr(r)}}}function rA(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Hr),item_keys:Ug(e)}}function C2(e){let t=uA(e)??[],r=B2(t,"level");return{records:t.length,keys:Ug(t),levels:r,first:Hr(t[0]),last:Hr(t.at(-1))}}function P2(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 I2(e){let t=dA(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:cA(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function L2(e,t){let r=Vi(e);return{entries:r.length,levels:j2(r),first:Pn(r[0]??""),last:Pn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:Pn(n.text)}))}}function G2(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:Pn(t[0]??""),closing:Pn(t.at(-1)??"")}}function cA(e,t,r,n){let s=nA(e.subarray(0,t)),o=nA(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:Pn(i.text)}))}}function D2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function N2(e,t){return LO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function lA(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return Ji(r)||Array.isArray(r)?r:null}catch{return null}}function uA(e){let t=Vi(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function $2(e){let t=Vi(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function dA(e){let t=Vi(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function F2(e){let t=Vi(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function M2(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Vi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function Ug(e){let t=new Map;for(let r of e)if(Ji(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function B2(e,t){let r=new Map;for(let n of e){if(!Ji(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function j2(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 Hr(e){return typeof e=="string"?Pn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Hr):Ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Hr(r)])):String(e)}function Pn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=tA?t:`${t.slice(0,tA-1)}\u2026`}function pA(e){let t=M(e).trimEnd(),r=z(t);if(!qg(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
267
+ `}function qg(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)=>qg(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)&&qg(r[i],n[i]))}function Ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fA(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 nA(e){return e.toString("utf8").replace(/�$/g,"")}function q2(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 U2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var w2,_2,sA,tA,zi=w(()=>{"use strict";we();J();GO();Cn();Wi();bt();w2=8*1024,_2=2*1024,sA=1024,tA=240});var Ou={};se(Ou,{RSP_WRAPPER_CAPABILITIES:()=>Xi,_testOnlyResetBinaryState:()=>eK,formatCodexHookDecision:()=>TA,formatHookDecision:()=>vA,hookDecisionFromClaudePreExecJson:()=>cK,hookDecisionFromCodexPreExecJson:()=>lK,rewriteCommand:()=>SA,rewriteTableFromCapabilities:()=>kA,runClaudePreExecHook:()=>uK,runCodexPreExecHook:()=>dK});import{accessSync as Y2,constants as Q2,existsSync as X2,readFileSync as vu}from"node:fs";import{fileURLToPath as Z2}from"node:url";function eK(){Ru=void 0,Hg=!1}function tK(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return Y2(`${t}/rsp`,Q2.X_OK),!0}catch{}return!1}function rK(e){return Ru===void 0&&(Ru=e()),Ru}function nK(){Hg||(Hg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function kA(e){let t=new Map;for(let r of e)t.set(AK(r.command),["rsp",...r.wrapper]);return t}function SA(e,t=qi()){let r=iK(e,t);if(r)return r;let n=_K(e);if(n)return n;let s=bK(e);if(!s)return Su(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&ks(o[0]))return Su(e,t);let i=aK(s,t);if(i)return i;let a=oK(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return Su(e,t);let c=[...Xi].sort((d,p)=>p.command.length-d.command.length).find(d=>wK(o,d.command));if(!c)return Su(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 oK(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 iK(e,t){let r=t.map(Pt).join(" "),n=xu(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 aK(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&&ku(r[1])?{kind:"rewrite",command:[...o,"cat",Pt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&ku(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])&&ku(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])&&ku(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Pt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function ku(e){return!!e&&!e.startsWith("-")}async function cK(e,t){return await RA(e,t)}async function lK(e,t){return await RA(e,t)}async function RA(e,t){return(await Vg(e,t,"pre-exec")).decision}async function Vg(e,t,r){let n=DA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:js({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??pK)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:Wg(s),decision:m,reason:"disabled"})}}let a=Wg(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??qi();if(!rK(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||tK()))){nK();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:js({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=De(o,process.env).proxyEnabled?EK(a,c):(t.rewrite??(m=>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:js({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await mK(o,t.wakeResident??fK),{decision:p,telemetryRoot:o,event:js({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function vA(e){return e.kind==="rewrite"?xA(e.command):{stdout:"",status:0}}function TA(e){return e.kind==="rewrite"?xA(e.command):{stdout:"",status:0}}function xA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
268
+ `,status:0}}async function uK(e){let t="";try{t=e?vu(e,"utf8"):vu(0,"utf8");let r=await Vg(t,{cwd:process.cwd()},"claude-pre-exec");Tu(r.telemetryRoot,r.event);let n=r.decision;AA("claude-pre-exec",n);let s=vA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return Tu(process.cwd(),OA("claude-pre-exec",t,r)),CA("claude-pre-exec",r),0}}async function dK(e){let t="";try{t=e?vu(e,"utf8"):vu(0,"utf8");let r=await Vg(t,{cwd:process.cwd()},"codex-pre-exec");Tu(r.telemetryRoot,r.event);let n=r.decision;AA("codex-pre-exec",n);let s=TA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return Tu(process.cwd(),OA("codex-pre-exec",t,r)),CA("codex-pre-exec",r),0}}function Tu(e,t){yn(e,t).catch(()=>{})}function js(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Ke,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 OA(e,t,r){let n=DA(t),s=n.ok?Wg(n.payload):"";return{collection:Ke,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:dt(s),decision:"failed-open",reason:"hook-exception",error:Jg(r)}}function pK(e){return De(e,process.env).enabled}async function fK(e){let t=De(e,process.env);if(!t.enabled||!yK(t))return;let r=ot(e);await Ga(r,gK(t))}async function mK(e,t){try{await Promise.resolve(t(e))}catch(r){hK(r)}}function AA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
268
269
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
269
- `)}}function OA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Wg(t)}
270
- `)}function pK(e){ap(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Wg(e)}
271
- `)}function Wg(e){return e instanceof Error?e.name||"Error":typeof e}function fK(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 mK(e){if(!e.storeUri.startsWith("file://"))return!0;try{return z2(Y2(e.storeUri))}catch{return!1}}function Ug(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 hK(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=Tu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&ks(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function Tu(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function gK(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function yK(e){let t=Tu(e.trim()).map(r=>r.text);return bn(t)?{kind:"passthrough",reason:tK}:null}function AA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?Vg(e):e}function bK(e,t){let r=_K(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${Vg(e.trim())}`,capabilityId:"proxy:universal"}}function wK(e){if(!process.argv[1])return!1;let t=Tu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function _K(e){let t=e.trim();if(!t)return"missing-command";if(PA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=zo(Ko(t)[0]??"")[0];if(r==="rsp"||wK(t))return"opt-out";if(r&&CA.has(r))return"interactive"}function ku(e,t){let r=e.trim();return EK(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${Vg(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function EK(e){return!(!e||!kK(e)||!SK(e)||PA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||RK(e,"rsp")||IA(e,CA)||vK(e))}function kK(e){return/&&|[;|]/.test(e)}function PA(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 SK(e){return Ko(e).some(t=>{let r=zo(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 IA(e,t){return Ko(e).some(r=>{let n=zo(r)[0];return n?t.has(n):!1})}function RK(e,t){return IA(e,new Set([t]))}function vK(e){return Ko(e).some(t=>{let r=zo(t);return r[0]==="grep"&&r.includes("-q")})}function Vg(e){return`'${e.replace(/'/g,"'\\''")}'`}function TK(e){return e.join("\0")}function LA(e){try{let t=JSON.parse(e);return GA(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function Ct(e,t){let r=e;for(let n of t){if(!GA(r))return"";r=r[n]}return typeof r=="string"?r:""}function GA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Su,qg,Xi,jae,tK,CA,Zi=w(()=>{"use strict";Yo();He();wt();sr();Pg();Mt();qg=!1;Xi=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],jae=_A(Xi),tK="lossless-gh-json-jq";CA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var jA={};se(jA,{fastTelemetryRoot:()=>Kg,isFastGitStatus:()=>Ou,runFastGitStatus:()=>Au});import{spawnSync as MA}from"node:child_process";import{existsSync as BA,readdirSync as DK}from"node:fs";function Ou(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Au(){if(NK(process.cwd()))return{stdout:Jg(),stderr:Buffer.alloc(0),status:0,signal:null};if(MA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Jg(),stderr:Buffer.alloc(0),status:0,signal:null};let t=MA("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?Jg():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Kg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),ln));return t(e).rootDir}catch{return e}}function Jg(){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 NK(e){try{return!BA(`${e}/.git`)||BA(`${e}/.git/index`)?!1:DK(e).every(t=>t===".git")}catch{return!1}}var zg=w(()=>{"use strict";Xt()});async function Us(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 HA(e,t,r,n={}){ZK(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=ez(["id","number",...r]).map(p=>tz(XK[p],6)).join(`
270
+ `)}}function CA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${Jg(t)}
271
+ `)}function hK(e){lp(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${Jg(e)}
272
+ `)}function Jg(e){return e instanceof Error?e.name||"Error":typeof e}function gK(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 yK(e){if(!e.storeUri.startsWith("file://"))return!0;try{return X2(Z2(e.storeUri))}catch{return!1}}function Wg(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 bK(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=xu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&ks(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 xu(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 wK(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function _K(e){let t=xu(e.trim()).map(r=>r.text);return bn(t)?{kind:"passthrough",reason:sK}:null}function PA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?Kg(e):e}function EK(e,t){let r=SK(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${Kg(e.trim())}`,capabilityId:"proxy:universal"}}function kK(e){if(!process.argv[1])return!1;let t=xu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function SK(e){let t=e.trim();if(!t)return"missing-command";if(LA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=zo(Ko(t)[0]??"")[0];if(r==="rsp"||kK(t))return"opt-out";if(r&&IA.has(r))return"interactive"}function Su(e,t){let r=e.trim();return RK(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${Kg(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function RK(e){return!(!e||!vK(e)||!TK(e)||LA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||xK(e,"rsp")||GA(e,IA)||OK(e))}function vK(e){return/&&|[;|]/.test(e)}function LA(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 TK(e){return Ko(e).some(t=>{let r=zo(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 GA(e,t){return Ko(e).some(r=>{let n=zo(r)[0];return n?t.has(n):!1})}function xK(e,t){return GA(e,new Set([t]))}function OK(e){return Ko(e).some(t=>{let r=zo(t);return r[0]==="grep"&&r.includes("-q")})}function Kg(e){return`'${e.replace(/'/g,"'\\''")}'`}function AK(e){return e.join("\0")}function DA(e){try{let t=JSON.parse(e);return NA(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(!NA(r))return"";r=r[n]}return typeof r=="string"?r:""}function NA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ru,Hg,Xi,Hae,sK,IA,Zi=w(()=>{"use strict";Yo();He();wt();sr();Lg();Mt();Hg=!1;Xi=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],Hae=kA(Xi),sK="lossless-gh-json-jq";IA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var UA={};se(UA,{fastTelemetryRoot:()=>Yg,isFastGitStatus:()=>Au,runFastGitStatus:()=>Cu});import{spawnSync as jA}from"node:child_process";import{existsSync as qA,readdirSync as FK}from"node:fs";function Au(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Cu(){if(MK(process.cwd()))return{stdout:zg(),stderr:Buffer.alloc(0),status:0,signal:null};if(jA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:zg(),stderr:Buffer.alloc(0),status:0,signal:null};let t=jA("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?zg():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Yg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),ln));return t(e).rootDir}catch{return e}}function zg(){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"})}
273
+ `)}function MK(e){try{return!qA(`${e}/.git`)||qA(`${e}/.git/index`)?!1:FK(e).every(t=>t===".git")}catch{return!1}}var Qg=w(()=>{"use strict";Xt()});async function Us(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 VA(e,t,r,n={}){rz(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=nz(["id","number",...r]).map(p=>sz(tz[p],6)).join(`
273
274
  `),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
274
275
  `)),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 WA(e,t){let r=qs(t),n=qs(r.data),s=qs(n.repository),o=Array.isArray(r.errors)?r.errors.map(qs):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(KA(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:zA(l?.message)||"not found"}})}function VA(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: ${Vr(o.nodeId)}, labelIds: ${UA(t)}, clientMutationId: ${Vr(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: ${Vr(o.nodeId)}, labelIds: ${UA(r)}, clientMutationId: ${Vr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
276
- `)}}function JA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Vr(e.nodeId)}, subIssueId: ${Vr(s.nodeId)}, clientMutationId: ${Vr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
277
- `)}}function Yg(e,t){let r=qs(t),n=Array.isArray(r.errors)?r.errors.map(qs):[],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,zA(i.message)||"mutation failed")}return s}function ZK(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 ez(e){return[...new Set(e)]}function tz(e,t){let r=" ".repeat(t);return e.split(`
276
+ `);return{kind:e,query:d,aliases:o,labelAliases:i}}function JA(e,t){let r=qs(t),n=qs(r.data),s=qs(n.repository),o=Array.isArray(r.errors)?r.errors.map(qs):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(YA(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:QA(l?.message)||"not found"}})}function KA(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: ${Vr(o.nodeId)}, labelIds: ${WA(t)}, clientMutationId: ${Vr(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: ${Vr(o.nodeId)}, labelIds: ${WA(r)}, clientMutationId: ${Vr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
277
+ `)}}function zA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Vr(e.nodeId)}, subIssueId: ${Vr(s.nodeId)}, clientMutationId: ${Vr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
278
+ `)}}function Xg(e,t){let r=qs(t),n=Array.isArray(r.errors)?r.errors.map(qs):[],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,QA(i.message)||"mutation failed")}return s}function rz(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 nz(e){return[...new Set(e)]}function sz(e,t){let r=" ".repeat(t);return e.split(`
278
279
  `).map(n=>`${r}${n}`).join(`
279
- `)}function Vr(e){return JSON.stringify(e)}function UA(e){return`[${e.map(Vr).join(", ")}]`}function qs(e){return KA(e)?e:{}}function KA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function zA(e){return typeof e=="string"?e:""}var XK,YA=w(()=>{XK={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 nz,spawnSync as sz}from"node:child_process";function Zg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function ZA(e,t={}){let r=bz(e),n=r.repo??t.repo??process.env.GH_REPO??_z();if(!n||!n.includes("/"))return ry(e,"repository is required; pass --repo owner/repo");let s=t.exec??Ez,o=Math.max(1,Math.floor(t.restConcurrency??XA));return r.verb==="issues"||r.verb==="prs"?await az(r,n,s,o,e):r.verb==="edit-labels"?await lz(r,n,s,o,e):await dz(r,n,s,o,e)}async function az(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=eC(e),a=[],c=[];for(let u of ty(e.numbers,100)){let d=HA(o,u,i.query),p=await ey(r,t,d.query);if(sy(p))return await cz(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(...WA(d,Jr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:fz(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return Pu({command:Iu(s),transport:"graphql",order:e.numbers,[e.verb]:ea(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
281
- `))}async function cz(e,t,r,n,s){let o=eC(e),i=e.verb==="issues"?"issues":"pulls",a=await Us(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=Ut(Jr(u.stdout));if(e.verb==="prs"&&o.output.some(tC)){let p=fe(Ut(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:hz(Ut(Jr(f.stdout)),Ut(Jr(m.stdout)))}}return{number:l,value:mz(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return Pu({command:Iu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:ea(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function lz(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return ry(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([rC(e.numbers,t,r,n),Us(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(Ut(Jr(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 Ws(s,e.numbers,ny(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 ty(d,100)){let f=VA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await ey(r,t,f.query);if(sy(m))return await uz(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=Yg(f.aliases,Jr(m.stdout));for(let b of p){let E=f.aliases.filter(_=>_.number===b.number).map(_=>g.get(_.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Ws(s,e.numbers,nC(e.numbers,u),"graphql")}async function uz(e,t,r,n,s){let o=await Us(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 Ws(s,e.numbers,ea(o),"rest-fallback",n)}async function dz(e,t,r,n,s){if(e.numbers.length<2)return ry(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await rC(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Ws(s,i,ny(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 ty(d,100)){let f=JA({number:o,nodeId:l},p),m=await ey(r,t,f.query);if(sy(m))return await pz(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=Yg(f.aliases,Jr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Ws(s,i,nC(i,u),"graphql")}async function pz(e,t,r,n,s,o){let i=await Us(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 Ws(o,t,ea(i),"rest-fallback",s)}function Ws(e,t,r,n,s){let o=Object.values(r).filter(i=>Vs(i)&&"error"in i).length;return Pu({command:Iu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??XA}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function eC(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return QA(r,oz),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return QA(t,iz),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function QA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function fz(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]=yz(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=sC(t[s]));return"number"in n||(n.number=oy(t.number)),n}function mz(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Vs):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(tC(s))n[s]=Ut(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]=sC(t[s]);return"number"in n||(n.number=oy(t.number)),n}function hz(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Vs):[],n=Array.isArray(t.statuses)?t.statuses.filter(Vs):[],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()||gz(s.map(o=>o.state)),contexts:s}}function gz(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 tC(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function yz(e){let t=Qg(e).at(-1),r=Ut(Ut(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 ey(e,t,r){let[n,s]=wz(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function rC(e,t,r,n){return await Us(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=Ut(Jr(o.stdout)),a=fe(i.node_id),c=oy(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 ty(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function bz(e){if(!Zg(e))throw new Error("unsupported rsp gh batch command");let t=e[1],r=[],n=[],s=[],o=[],i;for(let a=2;a<e.length;a++){let c=e[a];if(c==="--repo")i=e[++a];else if(c==="--json")n.push(...Hs(e[++a]??""));else if(c.startsWith("--json="))n.push(...Hs(c.slice(7)));else if(c==="--add")s.push(...Hs(e[++a]??""));else if(c.startsWith("--add="))s.push(...Hs(c.slice(6)));else if(c==="--remove")o.push(...Hs(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Hs(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function Pu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
282
- `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function ry(e,t){return Pu({command:Iu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function ny(e,t){return ea(e.map(r=>({number:r,value:t(r)})))}function ea(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function nC(e,t){return ny(e,r=>t.get(r)??{error:"mutation skipped"})}function sy(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
280
+ `)}function Vr(e){return JSON.stringify(e)}function WA(e){return`[${e.map(Vr).join(", ")}]`}function qs(e){return YA(e)?e:{}}function YA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function QA(e){return typeof e=="string"?e:""}var tz,XA=w(()=>{tz={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(`
281
+ `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as iz,spawnSync as az}from"node:child_process";function ty(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function tC(e,t={}){let r=Ez(e),n=r.repo??t.repo??process.env.GH_REPO??Sz();if(!n||!n.includes("/"))return sy(e,"repository is required; pass --repo owner/repo");let s=t.exec??Rz,o=Math.max(1,Math.floor(t.restConcurrency??eC));return r.verb==="issues"||r.verb==="prs"?await uz(r,n,s,o,e):r.verb==="edit-labels"?await pz(r,n,s,o,e):await mz(r,n,s,o,e)}async function uz(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=rC(e),a=[],c=[];for(let u of ny(e.numbers,100)){let d=VA(o,u,i.query),p=await ry(r,t,d.query);if(iy(p))return await dz(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(...JA(d,Jr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:gz(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return Iu({command:Lu(s),transport:"graphql",order:e.numbers,[e.verb]:ea(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
282
+ `))}async function dz(e,t,r,n,s){let o=rC(e),i=e.verb==="issues"?"issues":"pulls",a=await Us(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=Ut(Jr(u.stdout));if(e.verb==="prs"&&o.output.some(nC)){let p=fe(Ut(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:bz(Ut(Jr(f.stdout)),Ut(Jr(m.stdout)))}}return{number:l,value:yz(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return Iu({command:Lu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:ea(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function pz(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return sy(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([sC(e.numbers,t,r,n),Us(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(Ut(Jr(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 Ws(s,e.numbers,oy(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 ny(d,100)){let f=KA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await ry(r,t,f.query);if(iy(m))return await fz(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=Xg(f.aliases,Jr(m.stdout));for(let b of p){let E=f.aliases.filter(_=>_.number===b.number).map(_=>g.get(_.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Ws(s,e.numbers,oC(e.numbers,u),"graphql")}async function fz(e,t,r,n,s){let o=await Us(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 Ws(s,e.numbers,ea(o),"rest-fallback",n)}async function mz(e,t,r,n,s){if(e.numbers.length<2)return sy(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await sC(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Ws(s,i,oy(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 ny(d,100)){let f=zA({number:o,nodeId:l},p),m=await ry(r,t,f.query);if(iy(m))return await hz(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=Xg(f.aliases,Jr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Ws(s,i,oC(i,u),"graphql")}async function hz(e,t,r,n,s,o){let i=await Us(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 Ws(o,t,ea(i),"rest-fallback",s)}function Ws(e,t,r,n,s){let o=Object.values(r).filter(i=>Vs(i)&&"error"in i).length;return Iu({command:Lu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??eC}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function rC(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return ZA(r,cz),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return ZA(t,lz),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function ZA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function gz(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Zg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=_z(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=iC(t[s]));return"number"in n||(n.number=ay(t.number)),n}function yz(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Vs):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(nC(s))n[s]=Ut(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]=iC(t[s]);return"number"in n||(n.number=ay(t.number)),n}function bz(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Vs):[],n=Array.isArray(t.statuses)?t.statuses.filter(Vs):[],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()||wz(s.map(o=>o.state)),contexts:s}}function wz(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 nC(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function _z(e){let t=Zg(e).at(-1),r=Ut(Ut(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Zg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function ry(e,t,r){let[n,s]=kz(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function sC(e,t,r,n){return await Us(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=Ut(Jr(o.stdout)),a=fe(i.node_id),c=ay(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 ny(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function Ez(e){if(!ty(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(...Hs(e[++a]??""));else if(c.startsWith("--json="))n.push(...Hs(c.slice(7)));else if(c==="--add")s.push(...Hs(e[++a]??""));else if(c.startsWith("--add="))s.push(...Hs(c.slice(6)));else if(c==="--remove")o.push(...Hs(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Hs(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 Iu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
283
+ `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function sy(e,t){return Iu({command:Lu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function oy(e,t){return ea(e.map(r=>({number:r,value:t(r)})))}function ea(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function oC(e,t){return oy(e,r=>t.get(r)??{error:"mutation skipped"})}function iy(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
283
284
  ${e.stdout}`)}function mt(e){return(e.stderr||e.stdout).trim().split(`
284
- `)[0]?.slice(0,240)??""}function Jr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Qg(e){let t=Ut(e).nodes;return Array.isArray(t)?t.filter(Vs):[]}function sC(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function oy(e){let t=Number(e);return Number.isFinite(t)?t:0}function Hs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function wz(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Iu(e){return`rsp ${e.join(" ")}`}function _z(){let e=sz("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 Ez(e){let t=nz("gh",e,{stdio:["ignore","pipe","pipe"]}),r=tt();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 Ut(e){return Vs(e)?e:{}}function Vs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var XA,oz,iz,oC=w(()=>{"use strict";we();J();YA();XA=4,oz=new Set(["number","title","state","labels","body"]),iz=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function iy(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"?kz(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 iC(e,t=ct){let r=iy(e);if(!r){let s=Ue(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=Ue(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 kz(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 ay=w(()=>{"use strict";J();Co();bt()});var hy={};se(hy,{parseGhApiRead:()=>iy,renderGhContract:()=>pC,runGhWrapper:()=>Oz});import{spawn as Sz}from"node:child_process";async function Oz(e,t){if(Zg(e))return await ZA(e);if(e[0]==="gh"&&e[1]==="api")return await iC(e);let r=fC(e),n=await Cz(r);return pC(e,n,t)}async function pC(e,t,r){if((t.status??0)!==0||t.signal){let f=Ue(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=fC(e),s=ta(t.stdout),o=Fz(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=Vz(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=Jz(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
+ `)[0]?.slice(0,240)??""}function Jr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Zg(e){let t=Ut(e).nodes;return Array.isArray(t)?t.filter(Vs):[]}function iC(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function ay(e){let t=Number(e);return Number.isFinite(t)?t:0}function Hs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function kz(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Lu(e){return`rsp ${e.join(" ")}`}function Sz(){let e=az("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 Rz(e){let t=iz("gh",e,{stdio:["ignore","pipe","pipe"]}),r=tt();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 Ut(e){return Vs(e)?e:{}}function Vs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var eC,cz,lz,aC=w(()=>{"use strict";we();J();XA();eC=4,cz=new Set(["number","title","state","labels","body"]),lz=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function cy(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"?vz(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 cC(e,t=ct){let r=cy(e);if(!r){let s=Ue(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=Ue(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 vz(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 ly=w(()=>{"use strict";J();Co();bt()});var yy={};se(yy,{parseGhApiRead:()=>cy,renderGhContract:()=>mC,runGhWrapper:()=>Pz});import{spawn as Tz}from"node:child_process";async function Pz(e,t){if(ty(e))return await tC(e);if(e[0]==="gh"&&e[1]==="api")return await cC(e);let r=hC(e),n=await Lz(r);return mC(e,n,t)}async function mC(e,t,r){if((t.status??0)!==0||t.signal){let f=Ue(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=hC(e),s=ta(t.stdout),o=jz(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=zz(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=Yz(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
286
  `;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 fC(e){let t=ao(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=cC(u[++f]??""):m.startsWith("--fields=")?l=cC(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 Az(p),p}function aC(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?vz[t]:Rz[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function cC(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function Az(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Lu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=xz[t];for(let n of e.fields)if(!r.includes(n))throw new Lu(e,`unknown field: ${n}`,r)}async function Cz(e){if(e.action==="combined")return await Pz(e);let t=Iz(e);if(!t)return await $z(aC(e));let r=await ct({...t,command:["gh",...aC(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await Lz(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function Pz(e){let t=e.target??"",[r,n,s]=await Promise.all([ct({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),ct({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),ct({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=hC(ta(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:rt(ta(s.stdout)).map(Dz)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function Iz(e){let t=gC(e.passthrough),r=Nz(e.passthrough,"--limit")??30,n=Ht(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:Ht(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 Lz(e,t){let r=ta(t);switch(`${e.kind}:${e.action}`){case"pr:list":return rt(r).map(mC);case"pr:view":return hC(r);case"issue:list":return rt(r).filter(n=>!Gn(n.pull_request)).map(lC);case"issue:view":return lC(r);case"run:list":return{items:rt(ae(r).workflow_runs).map(uC),total:Qe(ae(r),"total_count")};case"run:view":{let n=uC(r),s=gC(e.passthrough);if(!s)return n;let o=await ct({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?rt(ae(ta(o.stdout)).jobs).map(Gz):[]}}default:return r}}function mC(e){let t=ae(e);return{number:Qe(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:fy(t.user),labels:rt(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ae(t.base),"ref"),headRefName:B(ae(t.head),"ref")}}function hC(e){return mC(e)}function lC(e){let t=ae(e);return{number:Qe(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:rt(t.labels).map(r=>({name:B(r,"name")})),author:fy(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function uC(e){let t=ae(e);return{databaseId:Qe(t,"database_id")||Qe(t,"id"),name:B(t,"name")||B(t,"display_title"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),event:B(t,"event"),headBranch:B(t,"head_branch"),workflowName:B(t,"workflow_name"),createdAt:B(t,"created_at"),url:B(t,"html_url"),jobs:[]}}function Gz(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function Dz(e){let t=ae(e);return{author:fy(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function fy(e){let t=ae(e);return{login:B(t,"login")}}function gC(e){return e.find(t=>!t.startsWith("-"))}function Ht(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function Nz(e,t){let r=Ht(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function $z(e){let t=Sz("gh",e,{stdio:["ignore","pipe","pipe"]}),r=tt();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 Fz(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=cy(r,"prs"),o=s.rows.map(c=>yC(c,e)),i=Le(o,e.query),a=ly(i.length,o.length,s.total,e.query);return i.length===0?uy(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Js({...n,prs:i,aggregate:a,summary:`${dy(i.length,o.length,e.query)} ${dC(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Js({...n,pr:bC(ae(r),e),summary:`PR #${Qe(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return Mz(e,t,ae(r));case"issue:list":{let s=cy(r,"issues"),o=s.rows.map(c=>wC(c,e)),i=Le(o,e.query),a=ly(i.length,o.length,s.total,e.query);return i.length===0?uy(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Js({...n,issues:i,aggregate:a,summary:`${dy(i.length,o.length,e.query)} ${dC(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Js({...n,issue:Hz(ae(r),e),summary:`issue #${Qe(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=cy(r,"runs"),o=s.rows.map(c=>_C(c,e)),i=Le(o,e.query),a=ly(i.length,o.length,s.total,e.query);return i.length===0?uy(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Js({...n,runs:i,aggregate:a,summary:`${dy(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 Js({...n,run:Wz(ae(r),e),summary:`run ${Qe(ae(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function Mz(e,t,r){let n=bC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(rt(r.checks).map(Bz),e.query),o=ae(r.comments).comments,i=Le(rt(o).map(jz).slice(-3),e.query);return Zt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${Qe(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 Bz(e){return{name:B(e,"name"),state:ra(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function jz(e){return{author:kC(e.author),body:Gu(e,"body",py,!1),created:B(e,"createdAt")}}function cy(e,t){if(Array.isArray(e))return{rows:rt(e)};let r=ae(e),n=Qe(r,"total")||Qe(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:rt(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:rt(r.workflow_runs),total:n}:{rows:[]}}function ly(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function uy(e,t,r,n,s){return Zt({...e,empty:!0,scope:qz(t),[r]:[],aggregate:n,summary:`0 ${Uz(t)}`},s)}function qz(e){let t=Ht(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ht(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ht(e.passthrough,"--branch")??Ht(e.passthrough,"-b"),s=Ht(e.passthrough,"--workflow")??Ht(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function Uz(e){let t=Ht(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function yC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),draft:!!e.isDraft};return my(r,e,t,["author","labels","url","updated"]),r}function bC(e,t){let r=yC(e,t);return r.body=Gu(e,"body",py,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function wC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),labels:EC(e.labels)};return my(r,e,t,["author","url","updated"]),r}function Hz(e,t){let r=wC(e,t);return r.body=Gu(e,"body",py,t.full),r}function _C(e,t){let r={id:Qe(e,"databaseId"),name:B(e,"name"),status:ra(e),conclusion:B(e,"conclusion")};return my(r,e,t,["event","branch","workflow","created"]),r}function Wz(e,t){let r=_C(e,t),n=rt(e.jobs).map(s=>({name:B(s,"name"),status:ra(s),conclusion:B(s,"conclusion"),log:Gu(s,"log",Tz,t.full)}));return r.jobs=n,r}function Gu(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function Vz(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(Gn(r)){if(Gn(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 Jz(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 dC(e,t){return e.every(r=>r.state===t)?t:"returned"}function dy(e,t,r){return r?`${e}/${t}`:String(e)}function Js(e,t,r){return t.query?Zt(e,r):e}function ra(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function my(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=kC(t.author):s==="labels"?e.labels=EC(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 EC(e){return Array.isArray(e)?e.map(t=>Gn(t)?B(t,"name"):String(t)).filter(Boolean):[]}function kC(e){return Gn(e)?B(e,"login"):""}function ta(e){return e.trim()?JSON.parse(e):null}function rt(e){return Array.isArray(e)?e.filter(Gn):[]}function ae(e){return Gn(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Qe(e,t){let r=e[t];return typeof r=="number"?r:0}function Gn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Rz,vz,py,Tz,xz,Lu,gy=w(()=>{"use strict";we();J();Co();oC();ay();Cn();co();bt();ay();Rz={"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"]},vz={"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"]},py=160,Tz=160,xz={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};Lu=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var wy={};se(wy,{renderTestContract:()=>SC,runTestWrapper:()=>Xz});import{spawn as Kz}from"node:child_process";async function Xz(e,t){let r=ao(e),n=await nY(r.argv);return await SC(e,n,t)}async function SC(e,t,r){let n=ao(e),o=RC(n.argv)==="vitest"?sY(t.stdout):oY(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=Ue(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 ${cY(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await Zz(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await iY(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?Zt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:by(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 Zz(e,t,r,n,s,o,i){let a=eY(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?Zt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((_,k)=>_.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:by(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(_=>({suite:_.suite,name:_.name,excerpt:_.excerpt})));let m=M(f),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:by(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function by(e){return e===0||e===null?0:1}function eY(e){let t=[],r=Yz;for(let n of e.slice(0,Qz)){let s=tY(n.excerpt,Math.min(zz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function tY(e,t){if(t<=0)return"";let r=e.split(`
287
+ ${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 hC(e){let t=ao(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=uC(u[++f]??""):m.startsWith("--fields=")?l=uC(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 Iz(p),p}function lC(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?Oz[t]:xz[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function uC(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function Iz(e){if(e.fields.size===0)return;if(e.action!=="list")throw new Gu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=Cz[t];for(let n of e.fields)if(!r.includes(n))throw new Gu(e,`unknown field: ${n}`,r)}async function Lz(e){if(e.action==="combined")return await Gz(e);let t=Dz(e);if(!t)return await Bz(lC(e));let r=await ct({...t,command:["gh",...lC(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await Nz(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function Gz(e){let t=e.target??"",[r,n,s]=await Promise.all([ct({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),ct({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),ct({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=yC(ta(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:rt(ta(s.stdout)).map(Fz)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function Dz(e){let t=bC(e.passthrough),r=Mz(e.passthrough,"--limit")??30,n=Ht(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:Ht(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function Nz(e,t){let r=ta(t);switch(`${e.kind}:${e.action}`){case"pr:list":return rt(r).map(gC);case"pr:view":return yC(r);case"issue:list":return rt(r).filter(n=>!Gn(n.pull_request)).map(dC);case"issue:view":return dC(r);case"run:list":return{items:rt(ae(r).workflow_runs).map(pC),total:Qe(ae(r),"total_count")};case"run:view":{let n=pC(r),s=bC(e.passthrough);if(!s)return n;let o=await ct({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?rt(ae(ta(o.stdout)).jobs).map($z):[]}}default:return r}}function gC(e){let t=ae(e);return{number:Qe(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:hy(t.user),labels:rt(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ae(t.base),"ref"),headRefName:B(ae(t.head),"ref")}}function yC(e){return gC(e)}function dC(e){let t=ae(e);return{number:Qe(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:rt(t.labels).map(r=>({name:B(r,"name")})),author:hy(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function pC(e){let t=ae(e);return{databaseId:Qe(t,"database_id")||Qe(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 $z(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function Fz(e){let t=ae(e);return{author:hy(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function hy(e){let t=ae(e);return{login:B(t,"login")}}function bC(e){return e.find(t=>!t.startsWith("-"))}function Ht(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function Mz(e,t){let r=Ht(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function Bz(e){let t=Tz("gh",e,{stdio:["ignore","pipe","pipe"]}),r=tt();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 jz(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=uy(r,"prs"),o=s.rows.map(c=>wC(c,e)),i=Le(o,e.query),a=dy(i.length,o.length,s.total,e.query);return i.length===0?py(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Js({...n,prs:i,aggregate:a,summary:`${fy(i.length,o.length,e.query)} ${fC(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Js({...n,pr:_C(ae(r),e),summary:`PR #${Qe(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return qz(e,t,ae(r));case"issue:list":{let s=uy(r,"issues"),o=s.rows.map(c=>EC(c,e)),i=Le(o,e.query),a=dy(i.length,o.length,s.total,e.query);return i.length===0?py(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Js({...n,issues:i,aggregate:a,summary:`${fy(i.length,o.length,e.query)} ${fC(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Js({...n,issue:Jz(ae(r),e),summary:`issue #${Qe(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=uy(r,"runs"),o=s.rows.map(c=>kC(c,e)),i=Le(o,e.query),a=dy(i.length,o.length,s.total,e.query);return i.length===0?py(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Js({...n,runs:i,aggregate:a,summary:`${fy(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 Js({...n,run:Kz(ae(r),e),summary:`run ${Qe(ae(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function qz(e,t,r){let n=_C(ae(r.view),{...e,action:"view",wide:!0}),s=Le(rt(r.checks).map(Uz),e.query),o=ae(r.comments).comments,i=Le(rt(o).map(Hz).slice(-3),e.query);return Zt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${Qe(ae(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function Uz(e){return{name:B(e,"name"),state:ra(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function Hz(e){return{author:RC(e.author),body:Du(e,"body",my,!1),created:B(e,"createdAt")}}function uy(e,t){if(Array.isArray(e))return{rows:rt(e)};let r=ae(e),n=Qe(r,"total")||Qe(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:rt(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:rt(r.workflow_runs),total:n}:{rows:[]}}function dy(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function py(e,t,r,n,s){return Zt({...e,empty:!0,scope:Wz(t),[r]:[],aggregate:n,summary:`0 ${Vz(t)}`},s)}function Wz(e){let t=Ht(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ht(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ht(e.passthrough,"--branch")??Ht(e.passthrough,"-b"),s=Ht(e.passthrough,"--workflow")??Ht(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function Vz(e){let t=Ht(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function wC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),draft:!!e.isDraft};return gy(r,e,t,["author","labels","url","updated"]),r}function _C(e,t){let r=wC(e,t);return r.body=Du(e,"body",my,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function EC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),labels:SC(e.labels)};return gy(r,e,t,["author","url","updated"]),r}function Jz(e,t){let r=EC(e,t);return r.body=Du(e,"body",my,t.full),r}function kC(e,t){let r={id:Qe(e,"databaseId"),name:B(e,"name"),status:ra(e),conclusion:B(e,"conclusion")};return gy(r,e,t,["event","branch","workflow","created"]),r}function Kz(e,t){let r=kC(e,t),n=rt(e.jobs).map(s=>({name:B(s,"name"),status:ra(s),conclusion:B(s,"conclusion"),log:Du(s,"log",Az,t.full)}));return r.jobs=n,r}function Du(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 zz(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(Gn(r)){if(Gn(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function Yz(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function fC(e,t){return e.every(r=>r.state===t)?t:"returned"}function fy(e,t,r){return r?`${e}/${t}`:String(e)}function Js(e,t,r){return t.query?Zt(e,r):e}function ra(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function gy(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=RC(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=>Gn(t)?B(t,"name"):String(t)).filter(Boolean):[]}function RC(e){return Gn(e)?B(e,"login"):""}function ta(e){return e.trim()?JSON.parse(e):null}function rt(e){return Array.isArray(e)?e.filter(Gn):[]}function ae(e){return Gn(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Qe(e,t){let r=e[t];return typeof r=="number"?r:0}function Gn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var xz,Oz,my,Az,Cz,Gu,by=w(()=>{"use strict";we();J();Co();aC();ly();Cn();co();bt();ly();xz={"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"]},Oz={"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"]},my=160,Az=160,Cz={"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"]};Gu=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 Ey={};se(Ey,{renderTestContract:()=>vC,runTestWrapper:()=>tY});import{spawn as Qz}from"node:child_process";async function tY(e,t){let r=ao(e),n=await iY(r.argv);return await vC(e,n,t)}async function vC(e,t,r){let n=ao(e),o=TC(n.argv)==="vitest"?aY(t.stdout):cY(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=Ue(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 ${dY(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await rY(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await lY(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?Zt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:_y(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 rY(e,t,r,n,s,o,i){let a=nY(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?Zt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((_,k)=>_.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:_y(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(_=>({suite:_.suite,name:_.name,excerpt:_.excerpt})));let m=M(f),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}
288
+ ${E}`),stderr:Buffer.from(t.stderr),status:_y(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function _y(e){return e===0||e===null?0:1}function nY(e){let t=[],r=Zz;for(let n of e.slice(0,eY)){let s=sY(n.excerpt,Math.min(Xz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function sY(e,t){if(t<=0)return"";let r=e.split(`
288
289
  `),n=r.length<=2?e:`${r[0]}
289
290
  \u2026
290
- ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function RC(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 rY(e){if(RC(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 nY(e){let t=rY(e),r=Kz(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=tt();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 sY(e){let t=vC(e);if(!Kr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=zr(t.numTotalTests),o=zr(t.numFailedTests),i=lY(zr(t.startTime),zr(t.endTime));for(let a of r){if(!Kr(a))continue;let c=Wt(a.name)||Wt(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Kr(u)&&u.status==="failed"&&n.push({suite:c,name:Wt(u.fullName)||Wt(u.title)||Wt(u.name),excerpt:aY(u.failureMessages)||Wt(u.failureMessage)})}return s||=r.reduce((a,c)=>!Kr(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Kr(c)?a+zr(c.perfStats&&Kr(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function oY(e){let t=e.split(`
291
- `).filter(Boolean).map(c=>vC(c)).filter(Kr);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+=zr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=zr(c.failed),i+=zr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Wt(c.name).split("::").slice(0,-1).join("::"),name:Wt(c.name),excerpt:Wt(c.stdout)});continue}if(c.reason==="compiler-message"&&Kr(c.message)){let l=Wt(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 iY(e,t,r){let n=Buffer.from(e);if(n.length<=yy)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,yy).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 vC(e){try{return JSON.parse(e)}catch{return null}}function aY(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
294
- `):""}function cY(e){return`${Number(e.toFixed(1))}s`}function lY(e,t){return e>0&&t>e?(t-e)/1e3:0}function zr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Wt(e){return typeof e=="string"?e:""}function Kr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var yy,zz,Yz,Qz,_y=w(()=>{"use strict";we();J();Cn();co();bt();yy=320,zz=160,Yz=yy,Qz=3});var Sy={};se(Sy,{parseCatCommand:()=>ky,renderCatContract:()=>yY,runCatWrapper:()=>gY});import{isUtf8 as uY}from"node:buffer";import{readFile as dY}from"node:fs/promises";import{extname as pY}from"node:path";async function gY(e,t){let r=ky(e),n;try{n=await dY(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=Ue(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
295
- `),status:1,signal:null}}return PC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await CC(e,r,n,t)}async function yY(e,t,r){if((t.status??0)!==0||t.signal){let i=Ue(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=ky(e),s=Buffer.from(t.stdout,"utf8");return PC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await CC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function ky(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=AC(t[++i],Ey);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=AC(l,Ey);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 CC(e,t,r,n){let s=r.toString("utf8"),o=_Y(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>OC(n.heavyByteThreshold,TC)||o.truncated;if(!xC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=xC(t.file)?bY(e,t.file,r,s,n.level,o):wY(e,t.file,r,s,o),c=`${M(a)}
296
- `;if(!i&&Buffer.byteLength(c)<=OC(n.heavyByteThreshold,TC))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 bY(e,t,r,n,s,o){let i=Du(n),a=s==="terse"?mY:fY,c=Du(o.text),l=c.slice(0,a),u=c.slice(Math.max(l.length,c.length-a));return{command:e.join(" "),file:t,kind:"code",outline_source:"regex",bytes:r.length,lines:i.length,symbols:EY(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function wY(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Du(n).length,content:Du(s.text),truncated:s.truncated}}function _Y(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??Ey,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
291
+ ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function TC(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 oY(e){if(TC(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 iY(e){let t=oY(e),r=Qz(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=tt();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 aY(e){let t=xC(e);if(!Kr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=zr(t.numTotalTests),o=zr(t.numFailedTests),i=pY(zr(t.startTime),zr(t.endTime));for(let a of r){if(!Kr(a))continue;let c=Wt(a.name)||Wt(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Kr(u)&&u.status==="failed"&&n.push({suite:c,name:Wt(u.fullName)||Wt(u.title)||Wt(u.name),excerpt:uY(u.failureMessages)||Wt(u.failureMessage)})}return s||=r.reduce((a,c)=>!Kr(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Kr(c)?a+zr(c.perfStats&&Kr(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function cY(e){let t=e.split(`
292
+ `).filter(Boolean).map(c=>xC(c)).filter(Kr);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+=zr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=zr(c.failed),i+=zr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Wt(c.name).split("::").slice(0,-1).join("::"),name:Wt(c.name),excerpt:Wt(c.stdout)});continue}if(c.reason==="compiler-message"&&Kr(c.message)){let l=Wt(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(`
293
+ `)}),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 lY(e,t,r){let n=Buffer.from(e);if(n.length<=wy)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,wy).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
294
+ \u2026 elided ${i} bytes (+${n.length}) \u2014 ${At(s)}`,handle:s,bytesElided:n.length}}function xC(e){try{return JSON.parse(e)}catch{return null}}function uY(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
295
+ `):""}function dY(e){return`${Number(e.toFixed(1))}s`}function pY(e,t){return e>0&&t>e?(t-e)/1e3:0}function zr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Wt(e){return typeof e=="string"?e:""}function Kr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var wy,Xz,Zz,eY,ky=w(()=>{"use strict";we();J();Cn();co();bt();wy=320,Xz=160,Zz=wy,eY=3});var vy={};se(vy,{parseCatCommand:()=>Ry,renderCatContract:()=>_Y,runCatWrapper:()=>wY});import{isUtf8 as fY}from"node:buffer";import{readFile as mY}from"node:fs/promises";import{extname as hY}from"node:path";async function wY(e,t){let r=Ry(e),n;try{n=await mY(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=Ue(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
296
+ `),status:1,signal:null}}return LC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await IC(e,r,n,t)}async function _Y(e,t,r){if((t.status??0)!==0||t.signal){let i=Ue(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=Ry(e),s=Buffer.from(t.stdout,"utf8");return LC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await IC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function Ry(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],Sy);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=PC(l,Sy);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 IC(e,t,r,n){let s=r.toString("utf8"),o=SY(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>CC(n.heavyByteThreshold,OC)||o.truncated;if(!AC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=AC(t.file)?EY(e,t.file,r,s,n.level,o):kY(e,t.file,r,s,o),c=`${M(a)}
297
+ `;if(!i&&Buffer.byteLength(c)<=CC(n.heavyByteThreshold,OC))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)}
298
+ `;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function EY(e,t,r,n,s,o){let i=Nu(n),a=s==="terse"?yY:gY,c=Nu(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:RY(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function kY(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:Nu(n).length,content:Nu(s.text),truncated:s.truncated}}function SY(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
299
+ `),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??Sy,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
299
300
  `)}${n&&i.length>0?`
300
- `:""}`,truncated:i.length<s.length}}function EY(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&&!kY(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Du(e){let t=e.split(`
301
- `);return t.at(-1)===""?t.slice(0,-1):t}function PC(e){return e.includes(0)||!uY(e)}function xC(e){return hY.has(pY(e).toLowerCase())}function kY(e){return["for","if","switch","while"].includes(e)}function OC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function AC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var TC,Ey,fY,mY,hY,Ry=w(()=>{"use strict";J();Cn();bt();TC=8*1024,Ey=10,fY=8,mY=2,hY=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var MC={};se(MC,{REPO_STORE_PATH:()=>xy,mergeRspBlock:()=>NC,provisionRspRepoStore:()=>IY});import{constants as SY}from"node:fs";import{access as RY,copyFile as vY,mkdir as LC,readFile as TY,rename as xY,writeFile as GC}from"node:fs/promises";import{dirname as OY,join as na,resolve as AY}from"node:path";async function IY(e,t={}){let r=AY(e),n=na(r,".red"),s=na(n,"config.yaml"),o=na(r,xy);await LC(n,{recursive:!0}),await LC(OY(o),{recursive:!0});let i="";try{i=await TY(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=NC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ar}),c=a!==i;c&&await GC(s,a,"utf8");let l=!await Ty(o),u=!1,d=!1;if(l){let f=na(r,CY),m=na(r,PY);if(await Ty(f))await xY(f,o),d=!0;else if(await Ty(m))await vY(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(al(),xT)),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=LY(a,xy);return p!==a&&await GC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function NC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${Nu(t.ttlDays,_t)}`,` ephemeralTtlHours: ${Nu(t.ephemeralTtlHours,Et)}`,` byteBudget: ${Nu(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${Nu(t.heavyGitByteThreshold,ar)}`],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(`
301
+ `:""}`,truncated:i.length<s.length}}function RY(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&&!vY(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function Nu(e){let t=e.split(`
302
+ `);return t.at(-1)===""?t.slice(0,-1):t}function LC(e){return e.includes(0)||!fY(e)}function AC(e){return bY.has(hY(e).toLowerCase())}function vY(e){return["for","if","switch","while"].includes(e)}function CC(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 OC,Sy,gY,yY,bY,Ty=w(()=>{"use strict";J();Cn();bt();OC=8*1024,Sy=10,gY=8,yY=2,bY=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var jC={};se(jC,{REPO_STORE_PATH:()=>Ay,mergeRspBlock:()=>FC,provisionRspRepoStore:()=>DY});import{constants as TY}from"node:fs";import{access as xY,copyFile as OY,mkdir as DC,readFile as AY,rename as CY,writeFile as NC}from"node:fs/promises";import{dirname as PY,join as na,resolve as IY}from"node:path";async function DY(e,t={}){let r=IY(e),n=na(r,".red"),s=na(n,"config.yaml"),o=na(r,Ay);await DC(n,{recursive:!0}),await DC(PY(o),{recursive:!0});let i="";try{i=await AY(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=FC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ar}),c=a!==i;c&&await NC(s,a,"utf8");let l=!await Oy(o),u=!1,d=!1;if(l){let f=na(r,LY),m=na(r,GY);if(await Oy(f))await CY(f,o),d=!0;else if(await Oy(m))await OY(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(cl(),AT)),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=NY(a,Ay);return p!==a&&await NC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function FC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${$u(t.ttlDays,_t)}`,` ephemeralTtlHours: ${$u(t.ephemeralTtlHours,Et)}`,` byteBudget: ${$u(t.byteBudget,kt)}`,` heavyGitByteThreshold: ${$u(t.heavyGitByteThreshold,ar)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
303
+ `),s=MC(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
304
  `)}
304
- `}let o=Oy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
305
+ `}let o=Cy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
305
306
  `)}
306
- `}function $C(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Cy(n)&&Ay(n)===0&&FC(n)===t)return r}return-1}function Oy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Cy(e[s])&&Ay(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Ay(e){return(e.match(/^ */)?.[0]??"").length}function Cy(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function FC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Nu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function LY(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
307
- `),n=$C(r,"plugins");if(n===-1)return e;let s=Oy(r,n,0),o=DC(r,"memory",n+1,s,2);if(o===-1)return e;let i=Oy(r,o,2),a=[...r],c=DC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
307
+ `}function MC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Iy(n)&&Py(n)===0&&BC(n)===t)return r}return-1}function Cy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Iy(e[s])&&Py(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Py(e){return(e.match(/^ */)?.[0]??"").length}function Iy(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function BC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function $u(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function NY(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
308
+ `),n=MC(r,"plugins");if(n===-1)return e;let s=Cy(r,n,0),o=$C(r,"memory",n+1,s,2);if(o===-1)return e;let i=Cy(r,o,2),a=[...r],c=$C(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
308
309
  `)}
309
- `}function DC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Cy(i)&&Ay(i)===s&&FC(i)===t)return o}return-1}async function Ty(e){try{return await RY(e,SY.F_OK),!0}catch{return!1}}var xy,CY,PY,BC=w(()=>{"use strict";et();He();xy=Op,CY=Aw,PY=".red/memory/graph.rdb"});var VC={};se(VC,{runRspMcpServer:()=>DY});import{createInterface as GY}from"node:readline";async function DY(){let e=De(process.cwd(),process.env),t=GY({input:process.stdin,crlfDelay:1/0});for await(let r of t){if(!r.trim())continue;let n;try{n=JSON.parse(r);let s=await NY(n,e);UC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){UC({jsonrpc:"2.0",id:typeof HC(r)?.id>"u"?null:HC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function NY(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:qC(t)}]};if(!t.enabled)return{content:[{type:"text",text:qC(t)}],isError:!0};let n=HY(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Dn({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:Dn({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:Dn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Dn($Y(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await FY(r.arguments,n)}]}}return{}}function Dn(e){return`${ge(e)}
310
- `}function $Y(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function FY(e,t){let r=BY(e?.payload);try{return await MY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return WC(r)}}async function MY(e,t,r){let n=jY(t?.level),s=await $g(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return WC(s.output);let o=gu(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Dn({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 qY(o,i.length,a,n)}function BY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function jY(e){return e==="terse"?"terse":"brief"}function qY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=jC(o.subarray(0,i)),c=jC(o.subarray(Math.max(0,o.length-i)));return Dn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:UY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function WC(e){return e.endsWith(`
310
+ `}function $C(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Iy(i)&&Py(i)===s&&BC(i)===t)return o}return-1}async function Oy(e){try{return await xY(e,TY.F_OK),!0}catch{return!1}}var Ay,LY,GY,qC=w(()=>{"use strict";et();He();Ay=Cp,LY=Pw,GY=".red/memory/graph.rdb"});var KC={};se(KC,{runRspMcpServer:()=>FY});import{createInterface as $Y}from"node:readline";async function FY(){let e=De(process.cwd(),process.env),t=$Y({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 MY(n,e);WC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){WC({jsonrpc:"2.0",id:typeof VC(r)?.id>"u"?null:VC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function MY(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:HC(t)}]};if(!t.enabled)return{content:[{type:"text",text:HC(t)}],isError:!0};let n=JY(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Dn({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:Dn({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:Dn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Dn(BY(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await jY(r.arguments,n)}]}}return{}}function Dn(e){return`${ge(e)}
311
+ `}function BY(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function jY(e,t){let r=UY(e?.payload);try{return await qY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return JC(r)}}async function qY(e,t,r){let n=HY(t?.level),s=await Mg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return JC(s.output);let o=yu(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Dn({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 WY(o,i.length,a,n)}function UY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function HY(e){return e==="terse"?"terse":"brief"}function WY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=UC(o.subarray(0,i)),c=UC(o.subarray(Math.max(0,o.length-i)));return Dn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:VY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function JC(e){return e.endsWith(`
311
312
  `)?e:`${e}
312
- `}function jC(e){return e.toString("utf8").replace(/�$/g,"")}function UY(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 HY(e){return bo(process.cwd(),e)}function qC(e){let t=e.enabled?wr(process.cwd(),e.overhead):null;return Dn({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 UC(e){process.stdout.write(`${JSON.stringify(e)}
313
- `)}function HC(e){try{return JSON.parse(e)}catch{return null}}var JC=w(()=>{"use strict";Xt();He();we();Wi();sr()});var zC={};se(zC,{renderShellInit:()=>WY});function WY(e,t=Xi){if(e==="fish")return VY(t);if(e==="bash"||e==="zsh")return JY(e,t);throw new Error(`unsupported shell: ${e}`)}function VY(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Fu))].map(r=>` abbr --add --position command -- ${r} '${QY(`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 JY(e,t){let r=zY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...$u("git",r.get("git")??[]),...$u("gh",r.get("gh")??[]),...$u("vitest",r.get("vitest")??[]),...$u("cargo",r.get("cargo")??[]),"rspx() {"," if command -v rsp >/dev/null 2>&1; then",' command rsp exec -- "$@"'," return"," fi"," printf '%s\\n' 'rspx requires rsp with exec support on PATH' >&2"," return 127","}",""].join(`
315
- `)}function $u(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Fu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Fu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>KC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of KY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${YY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${KC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function KY(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 zY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Fu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Fu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function KC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function YY(e){return e.replace(/'/g,"'\\''")}function QY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var YC=w(()=>{"use strict";Zi()});function Py(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"&&XY(t.chosenOption)&&ZY(t.outcome)&&e8(t.cost)}function XY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function ZY(e){return e==="success"||e==="failure"||e==="escalated"}function e8(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 QC=w(()=>{});import{createHash as t8}from"node:crypto";function lP(e,t){return new Ly(e,t)}function XC(e){let t=Number(e.red_entity_id??e.rid),r=Gy(e.properties??e.PROPERTIES),n=uP(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 ZC(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=dP(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:Gy(e.properties??e.PROPERTIES)}}function s8(e){let t=Number(e.red_entity_id??e.rid),r=Gy(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!Py(r)?null:{rid:t,event:r}}function Gy(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Mu(e)?e:{}}function uP(e){let t=e==="contact"?"person":e;if(r8.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function dP(e){if(n8.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function o8(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function eP(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function $n(e){return Mu(e)?e:{}}function tP(e,t){return $n(e)[t]}function rP(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function nP(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function sP(e){let t=$n(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Xe(e){return typeof e=="string"&&e.length>0?e:void 0}function Mu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Iy(e){return e!=null}function i8(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function a8(e){return t8("sha256").update(JSON.stringify(e)).digest("hex")}function c8(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function oP(e){return`artifact-hash:${e}`}function iP(e,t,r){return`connection:${e}:${t}:${r}`}function aP(){return"model-tier-bandit:v1"}function l8(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function cP(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function pP(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+cP(r,a)*3+cP(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 u8(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=fP({...pP(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return Nn(s)}function fP(e){return{...e,lexical:Nn(e.lexical),tags:Nn(e.tags),kind:Nn(e.kind),connections:Nn(e.connections),vector:Nn(e.vector),total:Nn(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Nn(e){return Math.round(e*1e3)/1e3}function d8(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 p8(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 f8(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Vt,r8,n8,Ly,mP=w(()=>{"use strict";QC();Vt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},r8=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),n8=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Ly=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture($n(r));if(t==="getArtifact")return await this.getArtifact(tP(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=$n(r);return await this.search(rP(n,"query"),nP(n,"limit")??10,sP(n.options))}if(t==="think"){let n=$n(r);return await this.think(rP(n,"query"),nP(n,"limit")??8,sP(n.options))}if(t==="link")return await this.link($n(r));if(t==="backlinks")return await this.backlinks(tP(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis($n(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:f8(t.map(n=>n.kind))}}async capture(t){let r=Xe(t.title)||"Untitled artifact",n=Xe(t.content);if(!n)throw new Error("brain capture requires content");let s=uP(Xe(t.kind)||"note"),o=i8(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=a8([s,r,n,o,Xe(t.sourcePath),Xe(t.sourceSession)]),c=await this.kv().get(oP(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${c8(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Xe(t.sourceAgent),source_runner:Xe(t.sourceRunner),source_session:Xe(t.sourceSession),source_path:Xe(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:Mu(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${Vt.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=XC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(oP(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 ${Vt.artifacts}`)).rows.map(XC).filter(Iy)}async search(t,r,n={}){let s=l8(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=pP(l,s),d=fP({...u,connections:u8(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:d8(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 p8(t,s)}async link(t){let r=await this.getArtifact(eP(t.from)),n=await this.getArtifact(eP(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=dP(Xe(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:Xe(t.reason),confidence:Xe(t.confidence)||"explicit",created_at:Date.now(),metadata:Mu(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${Vt.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=ZC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(iP(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 ${Vt.connections}`)).rows.map(ZC).filter(Iy)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=o8(Xe(t.interval)||"day"),s=Xe(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(!Py(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Vt.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 ${Vt.outcomeEvents}`)).rows.map(s8).filter(Iy).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(aP());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(aP(),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(iP(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Vt.kv)}}});var xP={};se(xP,{runResidentServer:()=>_8});import{randomUUID as Ks}from"node:crypto";import{execFileSync as EP,spawn as m8}from"node:child_process";import{existsSync as h8}from"node:fs";import{mkdir as kP,rename as g8,rm as hP,writeFile as SP}from"node:fs/promises";import{createServer as y8}from"node:net";import{dirname as Fy,join as Bu}from"node:path";import{fileURLToPath as b8,pathToFileURL as w8}from"node:url";async function _8(e){await kP(Fy(e.socketPath),{recursive:!0});let t=L8();I8();let r=e.telemetryDrainTimeoutMs??RP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??q8(e.rootDir??process.cwd()),a=e.idleMs??tc,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=y8(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),B8(S,async(T,C)=>{g();let O=await j8(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=P8(l),f.close();for(let S of d)S.destroy()}function g(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let y=["SIGINT","SIGTERM"].map(S=>{let T=()=>{ju(),f.close();for(let C of d)C.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(S,T),{signal:S,handler:T}});await new Promise((S,T)=>{f.once("error",T),f.listen(e.socketPath,()=>{f.off("error",T),S()})}),(async()=>{let S=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let T=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(T)&&T>0&&await new Promise(q=>setTimeout(q,T));let C=await kn.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new $y(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Za,byteBudget:e.telemetryByteBudget??e.byteBudget??ec});if(o){await C.close();return}if(await Dy(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&&Dy(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 SP(e.pidPath,`${process.pid}
316
- `,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",_=e.registryPath??Bu(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ga(_,{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 hP(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Dy(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:S,handler:T}of y)process.off(S,T);t?.kill("SIGTERM"),ju(),e.pidPath&&await hP(e.pidPath,{force:!0}),await Da(_)}async function T8(e,t,r=new Date){let n=await cl(e,1,r),s=r.toISOString().slice(0,10),o=n.savings.daily_tokens_saved.find(u=>u.date===s)?.tokens_saved??0,i=n.savings.tokens_saved>0?o/n.savings.tokens_saved*n.savings.dollars_saved_estimate_usd:0,a=Bu(ce(t),R8),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 kP(Fy(a),{recursive:!0}),await SP(c,`${ge(l)}
317
- `,{encoding:"utf8",mode:384}),await g8(c,a)}async function Dy(e,t=RP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await TP(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 x8(e){let t=[];for(let r of v8){let n=await O8(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await A8(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${vP(r)}`))}return t}async function O8(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 A8(e,t,r){let n=C8(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${vP(t)}`)}function C8(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 vP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function P8(e){return e&&clearTimeout(e),setTimeout(()=>{ju(),process.exit(0)},S8)}function I8(){gP||(gP=!0,process.on("exit",()=>ju()))}function L8(){if(process.platform==="win32")return;let t=m8(process.execPath,["-e",`
313
+ `}function UC(e){return e.toString("utf8").replace(/�$/g,"")}function VY(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function JY(e){return bo(process.cwd(),e)}function HC(e){let t=e.enabled?wr(process.cwd(),e.overhead):null;return Dn({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 WC(e){process.stdout.write(`${JSON.stringify(e)}
314
+ `)}function VC(e){try{return JSON.parse(e)}catch{return null}}var zC=w(()=>{"use strict";Xt();He();we();Wi();sr()});var QC={};se(QC,{renderShellInit:()=>KY});function KY(e,t=Xi){if(e==="fish")return zY(t);if(e==="bash"||e==="zsh")return YY(e,t);throw new Error(`unsupported shell: ${e}`)}function zY(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(Mu))].map(r=>` abbr --add --position command -- ${r} '${e8(`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(`
315
+ `)}function YY(e,t){let r=XY(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,...Fu("git",r.get("git")??[]),...Fu("gh",r.get("gh")??[]),...Fu("vitest",r.get("vitest")??[]),...Fu("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(`
316
+ `)}function Fu(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(Mu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Mu)),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=>YC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of QY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${ZY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${YC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function QY(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 XY(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Mu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Mu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function YC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function ZY(e){return e.replace(/'/g,"'\\''")}function e8(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var XC=w(()=>{"use strict";Zi()});function Ly(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"&&t8(t.chosenOption)&&r8(t.outcome)&&n8(t.cost)}function t8(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function r8(e){return e==="success"||e==="failure"||e==="escalated"}function n8(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 ZC=w(()=>{});import{createHash as s8}from"node:crypto";function dP(e,t){return new Dy(e,t)}function eP(e){let t=Number(e.red_entity_id??e.rid),r=Ny(e.properties??e.PROPERTIES),n=pP(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 tP(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=fP(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Ny(e.properties??e.PROPERTIES)}}function a8(e){let t=Number(e.red_entity_id??e.rid),r=Ny(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!Ly(r)?null:{rid:t,event:r}}function Ny(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Bu(e)?e:{}}function pP(e){let t=e==="contact"?"person":e;if(o8.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function fP(e){if(i8.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function c8(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function rP(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function $n(e){return Bu(e)?e:{}}function nP(e,t){return $n(e)[t]}function sP(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function oP(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function iP(e){let t=$n(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Xe(e){return typeof e=="string"&&e.length>0?e:void 0}function Bu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Gy(e){return e!=null}function l8(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function u8(e){return s8("sha256").update(JSON.stringify(e)).digest("hex")}function d8(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function aP(e){return`artifact-hash:${e}`}function cP(e,t,r){return`connection:${e}:${t}:${r}`}function lP(){return"model-tier-bandit:v1"}function p8(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function uP(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function mP(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+uP(r,a)*3+uP(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 f8(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=hP({...mP(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return Nn(s)}function hP(e){return{...e,lexical:Nn(e.lexical),tags:Nn(e.tags),kind:Nn(e.kind),connections:Nn(e.connections),vector:Nn(e.vector),total:Nn(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Nn(e){return Math.round(e*1e3)/1e3}function m8(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 h8(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 g8(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Vt,o8,i8,Dy,gP=w(()=>{"use strict";ZC();Vt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},o8=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),i8=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Dy=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture($n(r));if(t==="getArtifact")return await this.getArtifact(nP(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=$n(r);return await this.search(sP(n,"query"),oP(n,"limit")??10,iP(n.options))}if(t==="think"){let n=$n(r);return await this.think(sP(n,"query"),oP(n,"limit")??8,iP(n.options))}if(t==="link")return await this.link($n(r));if(t==="backlinks")return await this.backlinks(nP(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis($n(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Vt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:g8(t.map(n=>n.kind))}}async capture(t){let r=Xe(t.title)||"Untitled artifact",n=Xe(t.content);if(!n)throw new Error("brain capture requires content");let s=pP(Xe(t.kind)||"note"),o=l8(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=u8([s,r,n,o,Xe(t.sourcePath),Xe(t.sourceSession)]),c=await this.kv().get(aP(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${d8(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Xe(t.sourceAgent),source_runner:Xe(t.sourceRunner),source_session:Xe(t.sourceSession),source_path:Xe(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:Bu(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${Vt.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=eP(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(aP(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 ${Vt.artifacts}`)).rows.map(eP).filter(Gy)}async search(t,r,n={}){let s=p8(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=mP(l,s),d=hP({...u,connections:f8(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:m8(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 h8(t,s)}async link(t){let r=await this.getArtifact(rP(t.from)),n=await this.getArtifact(rP(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=fP(Xe(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:Xe(t.reason),confidence:Xe(t.confidence)||"explicit",created_at:Date.now(),metadata:Bu(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${Vt.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=tP(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(cP(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 ${Vt.connections}`)).rows.map(tP).filter(Gy)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=c8(Xe(t.interval)||"day"),s=Xe(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(!Ly(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Vt.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 ${Vt.outcomeEvents}`)).rows.map(a8).filter(Gy).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(lP());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(lP(),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(cP(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Vt.kv)}}});var AP={};se(AP,{runResidentServer:()=>S8});import{randomUUID as Ks}from"node:crypto";import{execFileSync as SP,spawn as y8}from"node:child_process";import{existsSync as b8}from"node:fs";import{mkdir as RP,rename as w8,rm as yP,writeFile as vP}from"node:fs/promises";import{createServer as _8}from"node:net";import{dirname as By,join as ju}from"node:path";import{fileURLToPath as E8,pathToFileURL as k8}from"node:url";async function S8(e){await RP(By(e.socketPath),{recursive:!0});let t=N8();D8();let r=e.telemetryDrainTimeoutMs??TP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??W8(e.rootDir??process.cwd()),a=e.idleMs??rc,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=_8(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),U8(S,async(T,C)=>{g();let O=await H8(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=G8(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=()=>{qu(),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 kn.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new My(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??ec,byteBudget:e.telemetryByteBudget??e.byteBudget??tc});if(o){await C.close();return}if(await $y(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&&$y(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 vP(e.pidPath,`${process.pid}
317
+ `,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",_=e.registryPath??ju(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Da(_,{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 yP(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await $y(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"),qu(),e.pidPath&&await yP(e.pidPath,{force:!0}),await Na(_)}async function A8(e,t,r=new Date){let n=await ll(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=ju(ce(t),x8),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 RP(By(a),{recursive:!0}),await vP(c,`${ge(l)}
318
+ `,{encoding:"utf8",mode:384}),await w8(c,a)}async function $y(e,t=TP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await OP(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
319
+ `)}}async function C8(e){let t=[];for(let r of O8){let n=await P8(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await I8(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${xP(r)}`))}return t}async function P8(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 I8(e,t,r){let n=L8(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${xP(t)}`)}function L8(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 xP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function G8(e){return e&&clearTimeout(e),setTimeout(()=>{qu(),process.exit(0)},T8)}function D8(){bP||(bP=!0,process.on("exit",()=>qu()))}function N8(){if(process.platform==="win32")return;let t=y8(process.execPath,["-e",`
319
320
  const { execFileSync } = require("node:child_process");
320
321
  const parentPid = Number(process.argv[1]);
321
322
  const known = new Set();
@@ -356,26 +357,26 @@ const timer = setInterval(() => {
356
357
  clearInterval(timer);
357
358
  process.exit(0);
358
359
  }, 500);
359
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function ju(){for(let e of G8())try{process.kill(e,"SIGTERM")}catch{}}function G8(){if(process.platform==="win32")return[];let e="";try{e=EP("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 D8(e){if(e.collection!==lt)return e;let t=await yP(e.raw_text,wP(e.raw_bytes)),r=await yP(e.emitted_text,wP(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 yP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=E8)try{return await TP((async()=>({tokens:(await N8())("cl100k_base").encode(e).length,estimated:!1}))(),k8,"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 N8(){return bP??=import(w8($8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await bP}function $8(){let e=Fy(b8(import.meta.url)),r=[Bu(e,"..","node_modules","js-tiktoken","dist","index.js"),Bu(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>h8(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function wP(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 Ny(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function TP(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 F8(e){try{return JSON.parse(e)}catch{return e}}function M8(e){return _P(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>_P(t)&&(t.collection===Je||t.collection===Ke||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 _P(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function B8(e,t){n_(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Ks(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function j8(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 Um(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await cl(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await Hm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return H8(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 U8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function q8(e){let t;return{async read(r){if(!t){let n=String(EP("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=Ac({rootDir:e,token:n,balance:Oc(n)})}return await t.read(r)}}}async function U8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await lP(s,t).request(r,n)}function H8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var E8,k8,RP,S8,R8,v8,$y,gP,bP,OP=w(()=>{"use strict";et();Na();fo();Xt();al();mP();Of();Mt();He();E8=256*1024,k8=500,RP=2e3,S8=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),R8="rsp-status-summary.toon",v8=[Je,Ke,lt,Tt,Wo],$y=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 x8(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 om(this.opts.rootDir,async a=>{let c=Es(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 T8(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:Ks(),a={...await D8(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===Je?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===Je||r.accounting_recorded===!0?null:r.collection===lt?await this.writeEvent(t,{collection:Je,id:`mirror:${Ie(r.id)||Ks()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ny(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:Je,id:`mirror:${Ie(r.id)||Ks()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ny(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:Ks(),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:Je,id:`mirror:${Ks()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Ny(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(Wo).get("index:v1"),n=typeof r=="string"?F8(r):r;return M8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Wo).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})}};gP=!1});Yu();bt();var hw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},vL={json:{kind:"boolean"}},TL={help:{kind:"boolean",aliases:["h"]}},xL={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 gw(e){let{command:t,args:r}=zu(e,OL);return t==="--version"?{kind:"version",json:Zs(r,vL).values.json===!0}:AL(e)?{kind:"help"}:{kind:"command"}}var OL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function AL(e){return Zr(e,TL).values.help===!0}function yw(e){let{values:t,rest:r}=PL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw wa.unknownFlag(n);let s=zu(r,xL).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":t.full===!0?"full":"lossless",positional:o}}var wa=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:CL})}},CL=Object.keys(hw).map(e=>`--${e}`);function PL(e){try{return Zr(e,hw)}catch(t){throw new wa(t instanceof Error?t.message:String(t))}}function bw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function ww(e){return e instanceof Xs}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var IL={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 vd(e){return Zs(e,IL).values}var _w={since:{kind:"value",coerce:GL},full:{kind:"boolean"}};function _a(e,t){return Zs(e,_w).values.since??t}function Ew(e){return Zs(e,_w).values.full===!0}var LL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function kw(e){let{values:t,rest:r}=Zr(e,LL),n=r[1];if(!n)return null;let s={};for(let o of t.field??[]){let i=o.indexOf("=");i<=0||(s[o.slice(0,i)]=o.slice(i+1))}return{path:n,params:s}}function br(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function GL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}Td();bt();import{existsSync as W8}from"node:fs";import{fileURLToPath as V8}from"node:url";Xt();co();we();wt();import{existsSync as qB}from"node:fs";import{fileURLToPath as UB}from"node:url";Xt();ip();we();import{existsSync as fD}from"node:fs";import{fileURLToPath as mD}from"node:url";async function Zn(e,t){let r={stats:hD(e.telemetryByteBudget),telemetry:up(t)};if(!e.storeUri.startsWith("file://"))return r;let n=mD(e.storeUri);if(!fD(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(sr(),Xn)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:up(t)}}catch{return r}finally{await o.close()}}function I_(e,t=up(30),r=!1,n=G_()){return`${ge(dp(e,t,r,n))}
360
- `}function L_(e,t){return`${ge({...e,overhead:D_(t)})}
361
- `}function G_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:er,breaching_families:[],disabled_families:[],families:[]}}function D_(e){return{schema_version:e.schema_version,verdict:e.verdict,summary:e.summary,ceiling:e.ceiling,breaching_families:e.breaching_families,disabled_families:e.disabled_families,families:e.families}}function dp(e,t,r,n=G_()){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:gD(t.savings),dollars_saved_estimate_usd_display:yD(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:D_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:lp(t.health.degradation_rate),show_hit_rate_display:lp(t.health.show_hit_rate),by_reason:t.health.by_reason,by_family:t.health.by_family,recent_failures:a,recent_failures_elided:r?0:Math.max(0,t.health.recent_failures.length-a.length),most_recent_degradation_at:t.health.most_recent?.timestamp??null,most_recent_degradation_reason:t.health.most_recent?.reason??null},decisions:{...t.decisions,contribution_rate_display:lp(t.decisions.contribution_rate),top_pass_reasons:c,top_pass_reasons_elided:r?0:Math.max(0,t.decisions.top_pass_reasons.length-c.length),by_command_family:r?t.decisions.by_command_family:t.decisions.by_command_family.slice(0,5),by_command_family_elided:r?0:Math.max(0,t.decisions.by_command_family.length-5)},latency:{...t.latency,wrapper_ms_p50_display:cp(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:cp(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:cp(t.latency.store_elapsed_ms_avg)}}}function N_(e){return`${ge(e)}
362
- `}function up(e){return{window_days:e,empty:!0,savings:{invocations:0,elided:0,raw_bytes:0,emitted_bytes:0,bytes_saved:0,tokens_saved:0,tokens_saved_estimated:!1,token_estimate_range_pct:null,tokens_saved_low:null,tokens_saved_high:null,dollars_saved_estimate_usd:0,dollars_saved_low_usd:null,dollars_saved_high_usd:null,pricing_model_family:"gpt-5",pricing_input_usd_per_million_tokens:1.25,pricing_note:"estimate derived from byte-based token estimate when token counts are estimated",daily_tokens_saved:[],top_commands:[]},health:{degradations:0,degradation_rate:0,show_total:0,show_hits:0,show_misses:0,show_hit_rate:0,by_reason:[],by_family:[],recent_failures:[],most_recent:null},latency:{wrapper_ms_p50:null,wrapper_ms_p95:null,store_open_count_sum:0,store_elapsed_ms_sum:0,store_elapsed_ms_avg:null},decisions:{seen:0,contributed:0,passed:0,failed_open:0,quota_free_saved_units:0,contribution_rate:0,top_pass_reasons:[],by_command_family:[]}}}function hD(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 $_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
363
- `)}function gD(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 yD(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?yo(e.dollars_saved_estimate_usd):`${yo(e.dollars_saved_low_usd)}-${yo(e.dollars_saved_high_usd)} (estimate_midpoint: ${yo(e.dollars_saved_estimate_usd)})`}function cp(e){return e==null?"none":String(e)}function lp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function Ev(e){let{stats:t,telemetry:r}=await Zn(e,30),[n,s]=await Promise.all([HB(e),Promise.resolve().then(()=>(zf(),Kf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(ot(process.cwd()).rootDir,e.overhead)}}function kv(e){let t=dp(e.stats,e.telemetry,!1,e.overhead),r=Cd({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??$a()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},WB(e));return`${ge(r)}
364
- `}async function HB(e){if(!e.storeUri.startsWith("file://"))return[];let t=UB(e.storeUri);if(!qB(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(sr(),Xn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function WB(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"]}Xt();we();bt();import{existsSync as xK}from"node:fs";import{fileURLToPath as OK}from"node:url";Mt();import{spawn as yu}from"node:child_process";async function fA(e,t,r){let n=process.hrtime.bigint(),s=await mA(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return j2(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function mA(e){let t=e[0];if(!t)return{stdoutBytes:0,stderrBytes:0,status:2,signal:null};let r;if(t==="exec"||t==="proxy"){let o=t==="proxy"?await Promise.resolve().then(()=>(cu(),au)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(zi(),Ki)).then(i=>i.parseExecCommandLine(e));r=yu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=yu(t,e.slice(1),{stdio:["inherit","pipe","pipe"]});let n=0,s=0;return r.stdout?.on("data",o=>{n+=o.length,process.stdout.write(o)}),r.stderr?.on("data",o=>{s+=o.length,process.stderr.write(o)}),await new Promise(o=>{r.on("error",i=>{let a=`${i instanceof Error?i.message:String(i)}
365
- `;s+=Buffer.byteLength(a),process.stderr.write(a),o({stdoutBytes:n,stderrBytes:s,status:127,signal:null})}),r.on("close",(i,a)=>o({stdoutBytes:n,stderrBytes:s,status:i,signal:a}))})}function hA(e){return e>0&&Math.random()<e}async function Qi(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
366
- `);let s=await wA(t);if(n){let o=q2(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Mt(),di));wu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:bu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),wu(i(n,{collection:c,ts:new Date().toISOString(),command:bu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function gA(e,t,r){let n=await mA(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Mt(),di)),a={ts:new Date().toISOString(),command:bu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return wu(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),wu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function yA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${_u()}, passing through
367
- `),await wA(e)}function _u(){return"rsp is not enabled in this directory; run /red-setup"}function bA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function qt(e){return bu(e.positional)}function bu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Yi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function j2(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:qt(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Or(e,{collection:"rsp_accounting_events_v1",...i}),Or(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function q2(e,t,r){let n=t[0]??"unknown",s=U2(r)||e;return{reason:pA(r)==="ENOENT"||pA(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:W2(r)??1,stderrHead:H2(s,240)}}function U2(e){return e instanceof Error?Yi(e.message):Yi(String(e??""))}function H2(e,t){let r=Yi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function pA(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function W2(e){if(typeof e!="object"||e===null)return null;for(let t of["status","exitCode","exit_code"]){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r}return null}function wu(e){e.catch(()=>{})}async function wA(e){if(e[0]==="exec"||e[0]==="proxy")return await V2(e);let t=e[0];if(!t)return 2;let r=yu(t,e.slice(1),{stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
368
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function V2(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(cu(),au));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(zi(),Ki));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
369
- `),2}let r=yu(t,{shell:!0,stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
370
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function NA(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")),DA("disabled",n,r);n.push(await AK(e)),n.push(e.proxyEnabled?Se("proxy_mode","proxy routing enabled for pre-exec rewrites"):In("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(wt(),ln));if(n.push(CK(await o(t))),n.push(PK(e)),FA(e)){let{telemetry:i}=await Zn(e,r);n.push(IK(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(LK(wr(process.cwd(),e.overhead))),DA(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 AK(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Zi(),xu)),r=t("git status");return r.kind==="rewrite"?Se("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):In("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return In("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Yi(t.message):"unknown error"}`,"rsp setup")}}function CK(e){return e.state==="registered-alive-socket-healthy"?Se("resident_liveness","resident registry points at a healthy socket"):In("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function PK(e){return e.storeUri.startsWith("file://")?FA(e)?Se("store_provisioning","rsp store exists for this directory"):In("store_provisioning","rsp store is not provisioned","rsp setup"):Se("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function IK(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 In("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,GK(s,t))}function LK(e){return e.verdict==="green"?Se("overhead_budget",e.summary):In("overhead_budget",e.summary,"rsp status")}function GK(e,t){return/unavailable|not provisioned|missing/i.test(e)?"rsp setup":/resident|socket|registry/i.test(e)?"rsp warm-resident":`rsp stats --since ${t}d --full`}function FA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return xK(OK(e.storeUri))}catch{return!1}}function Se(e,t){return{name:e,pass:!0,finding:t}}function In(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:Rd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function DA(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)}}zg();function qA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${$K(t).join(`
360
+ `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function qu(){for(let e of $8())try{process.kill(e,"SIGTERM")}catch{}}function $8(){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 F8(e){if(e.collection!==lt)return e;let t=await wP(e.raw_text,EP(e.raw_bytes)),r=await wP(e.emitted_text,EP(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 wP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=R8)try{return await OP((async()=>({tokens:(await M8())("cl100k_base").encode(e).length,estimated:!1}))(),v8,"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 M8(){return _P??=import(k8(B8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await _P}function B8(){let e=By(E8(import.meta.url)),r=[ju(e,"..","node_modules","js-tiktoken","dist","index.js"),ju(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>b8(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function EP(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 Fy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function OP(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 j8(e){try{return JSON.parse(e)}catch{return e}}function q8(e){return kP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>kP(t)&&(t.collection===Je||t.collection===Ke||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 kP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function U8(e,t){o_(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Ks(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function H8(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 Wm(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 ll(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 Vm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return J8(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await V8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function W8(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=Cc({rootDir:e,token:n,balance:Ac(n)})}return await t.read(r)}}}async function V8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await dP(s,t).request(r,n)}function J8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var R8,v8,TP,T8,x8,O8,My,bP,_P,CP=w(()=>{"use strict";et();$a();fo();Xt();cl();gP();Cf();Mt();He();R8=256*1024,v8=500,TP=2e3,T8=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),x8="rsp-status-summary.toon",O8=[Je,Ke,lt,Tt,Wo],My=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 C8(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 am(this.opts.rootDir,async a=>{let c=Es(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 A8(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:Ks(),a={...await F8(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===Je?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===Je||r.accounting_recorded===!0?null:r.collection===lt?await this.writeEvent(t,{collection:Je,id:`mirror:${Ie(r.id)||Ks()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Fy(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:Je,id:`mirror:${Ie(r.id)||Ks()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Fy(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:Ks(),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:Je,id:`mirror:${Ks()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Fy(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(Wo).get("index:v1"),n=typeof r=="string"?j8(r):r;return q8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Wo).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})}};bP=!1});Qu();bt();var yw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},xL={json:{kind:"boolean"}},OL={help:{kind:"boolean",aliases:["h"]}},AL={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 bw(e){let{command:t,args:r}=Yu(e,CL);return t==="--version"?{kind:"version",json:Zs(r,xL).values.json===!0}:PL(e)?{kind:"help"}:{kind:"command"}}var CL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function PL(e){return Zr(e,OL).values.help===!0}function ww(e){let{values:t,rest:r}=LL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw wa.unknownFlag(n);let s=Yu(r,AL).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":t.full===!0?"full":"lossless",positional:o}}var wa=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:IL})}},IL=Object.keys(yw).map(e=>`--${e}`);function LL(e){try{return Zr(e,yw)}catch(t){throw new wa(t instanceof Error?t.message:String(t))}}function _w(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function Ew(e){return e instanceof Xs}function Jn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var GL={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 Td(e){return Zs(e,GL).values}var kw={since:{kind:"value",coerce:NL},full:{kind:"boolean"}};function _a(e,t){return Zs(e,kw).values.since??t}function Sw(e){return Zs(e,kw).values.full===!0}var DL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function Rw(e){let{values:t,rest:r}=Zr(e,DL),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 NL(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}xd();bt();import{existsSync as K8}from"node:fs";import{fileURLToPath as z8}from"node:url";Xt();co();we();wt();import{existsSync as WB}from"node:fs";import{fileURLToPath as VB}from"node:url";Xt();cp();we();import{existsSync as hD}from"node:fs";import{fileURLToPath as gD}from"node:url";async function Zn(e,t){let r={stats:yD(e.telemetryByteBudget),telemetry:pp(t)};if(!e.storeUri.startsWith("file://"))return r;let n=gD(e.storeUri);if(!hD(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(sr(),Xn)),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:pp(t)}}catch{return r}finally{await o.close()}}function G_(e,t=pp(30),r=!1,n=N_()){return`${ge(fp(e,t,r,n))}
361
+ `}function D_(e,t){return`${ge({...e,overhead:$_(t)})}
362
+ `}function N_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:er,breaching_families:[],disabled_families:[],families:[]}}function $_(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 fp(e,t,r,n=N_()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??Fa(),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:bD(t.savings),dollars_saved_estimate_usd_display:wD(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:$_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:dp(t.health.degradation_rate),show_hit_rate_display:dp(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:dp(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:up(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:up(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:up(t.latency.store_elapsed_ms_avg)}}}function F_(e){return`${ge(e)}
363
+ `}function pp(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 yD(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Fa()}}function Fa(){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 M_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
364
+ `)}function bD(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 wD(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?yo(e.dollars_saved_estimate_usd):`${yo(e.dollars_saved_low_usd)}-${yo(e.dollars_saved_high_usd)} (estimate_midpoint: ${yo(e.dollars_saved_estimate_usd)})`}function up(e){return e==null?"none":String(e)}function dp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function Sv(e){let{stats:t,telemetry:r}=await Zn(e,30),[n,s]=await Promise.all([JB(e),Promise.resolve().then(()=>(Qf(),Yf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:wr(ot(process.cwd()).rootDir,e.overhead)}}function Rv(e){let t=fp(e.stats,e.telemetry,!1,e.overhead),r=Pd({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??Fa()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},KB(e));return`${ge(r)}
365
+ `}async function JB(e){if(!e.storeUri.startsWith("file://"))return[];let t=VB(e.storeUri);if(!WB(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(sr(),Xn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function KB(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"]}Xt();we();bt();import{existsSync as CK}from"node:fs";import{fileURLToPath as PK}from"node:url";Mt();import{spawn as bu}from"node:child_process";async function hA(e,t,r){let n=process.hrtime.bigint(),s=await gA(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return H2(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function gA(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(()=>(lu(),cu)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(zi(),Ki)).then(i=>i.parseExecCommandLine(e));r=bu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=bu(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)}
366
+ `;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 yA(e){return e>0&&Math.random()<e}async function Qi(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
367
+ `);let s=await EA(t);if(n){let o=W2(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Mt(),di));_u(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:wu(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})),_u(i(n,{collection:c,ts:new Date().toISOString(),command:wu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function bA(e,t,r){let n=await gA(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Mt(),di)),a={ts:new Date().toISOString(),command:wu(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 _u(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})),_u(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function wA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${Eu()}, passing through
368
+ `),await EA(e)}function Eu(){return"rsp is not enabled in this directory; run /red-setup"}function _A(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function qt(e){return wu(e.positional)}function wu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Yi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function H2(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:qt(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Or(e,{collection:"rsp_accounting_events_v1",...i}),Or(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function W2(e,t,r){let n=t[0]??"unknown",s=V2(r)||e;return{reason:mA(r)==="ENOENT"||mA(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:K2(r)??1,stderrHead:J2(s,240)}}function V2(e){return e instanceof Error?Yi(e.message):Yi(String(e??""))}function J2(e,t){let r=Yi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function mA(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function K2(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 _u(e){e.catch(()=>{})}async function EA(e){if(e[0]==="exec"||e[0]==="proxy")return await z2(e);let t=e[0];if(!t)return 2;let r=bu(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)}
369
+ `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function z2(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(lu(),cu));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(zi(),Ki));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
370
+ `),2}let r=bu(t,{shell:!0,stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
371
+ `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function FA(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")),$A("disabled",n,r);n.push(await IK(e)),n.push(e.proxyEnabled?Se("proxy_mode","proxy routing enabled for pre-exec rewrites"):In("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(wt(),ln));if(n.push(LK(await o(t))),n.push(GK(e)),BA(e)){let{telemetry:i}=await Zn(e,r);n.push(DK(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(NK(wr(process.cwd(),e.overhead))),$A(n.some(i=>!i.pass)?"fail":"pass",n,r)}function MA(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
372
+ `}async function IK(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Zi(),Ou)),r=t("git status");return r.kind==="rewrite"?Se("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):In("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return In("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Yi(t.message):"unknown error"}`,"rsp setup")}}function LK(e){return e.state==="registered-alive-socket-healthy"?Se("resident_liveness","resident registry points at a healthy socket"):In("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function GK(e){return e.storeUri.startsWith("file://")?BA(e)?Se("store_provisioning","rsp store exists for this directory"):In("store_provisioning","rsp store is not provisioned","rsp setup"):Se("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function DK(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 In("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,$K(s,t))}function NK(e){return e.verdict==="green"?Se("overhead_budget",e.summary):In("overhead_budget",e.summary,"rsp status")}function $K(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 BA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return CK(PK(e.storeUri))}catch{return!1}}function Se(e,t){return{name:e,pass:!0,finding:t}}function In(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:vd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function $A(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)}}Qg();function HA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${BK(t).join(`
372
373
  `)}
373
- `}function $K(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}`)]}et();we();Mt();import{spawn as FK}from"node:child_process";import{createHash as MK}from"node:crypto";import{existsSync as BK,readFileSync as jK,statSync as qK}from"node:fs";import{tmpdir as UK}from"node:os";import{dirname as HK,join as Wr}from"node:path";async function Fe(e,t,r,n,s=process.cwd(),o,i=o?.overhead??er){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&VK(s,o);let c=WK(e,t,a);return Dd(s,c,i),n?Ln(YK(s,e,t,c,i,n.lastResponseMetrics())):QK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function WK(e,t,r){let n=Fd(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function Ln(e){e.catch(()=>{})}async function Cu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Mt(),di));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function VK(e,t){try{let r=lr(e),n=qK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!zK(r,Date.now()-s))return;let o=JK(e),i=KK(o),a=Wr(i,"rsp.sock"),c=Wr(i,"rsp.pid"),l=Wr(ce(o),"rsp-resident.pid.toon"),u=Wr(o,".red","tmp","rsp","wake.lock");FK(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 JK(e){let t=e;for(;;){if(BK(Wr(t,".git")))return t;let r=HK(t);if(r===t)return e;t=r}}function KK(e){let t=MK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Wr(r,"red-skills",t);if(Wr(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Wr(UK(),`red-skills-${n}`,t)}function zK(e,t){try{let r=jK(e,"utf8");uo(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 YK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=xa(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Mt(),di));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:qt(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:qt(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:qt(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:qt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function QK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=xa(n,s);Or(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:qt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Or(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:qt(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 Yr=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}},vy=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function IC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new vy,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(zg(),jA));if(i(e.positional))return await Fe(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(Cn(),Dg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Fe(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(gy(),hy)),a=await i(e.positional,{level:e.level,store:s});return await Fe(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(_y(),wy)),a=await i(e.positional,{level:e.level,store:s});return await Fe(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(Ry(),Sy)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Fe(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(zi(),Ki)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Fe(e,a,o,s)}}catch(i){return Jn(i)?(process.stdout.write(i.render()),2):await Qi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Qi("wrapper failed",e.positional,n,r)}async function J8(e=process.argv.slice(2)){let t=Ea("rsp"),r=gw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
374
- `:`${Sw(t)}
375
- `),0;if(r.kind==="help")return process.stdout.write(qA(e)),0;let n;try{n=yw(e)}catch(y){if(ww(y))return process.stdout.write(bw(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Zi(),xu));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Zi(),xu));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(Wi(),Mg));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(Wi(),Mg));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(BC(),MC)),E=await y(process.cwd());return process.stdout.write($_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(JC(),VC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(zf(),Kf));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(()=>(YC(),zC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(He(),Ap)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),ln)),E=y(process.cwd()),_=await NA(o,E,_a(n.positional,1));return process.stdout.write($A(_)),_.exitCode}let i=bA(n.command);if(!o.enabled)return i?await yA(n.positional):(process.stdout.write(`${_u()}
376
- `),0);if(n.command==="git"&&Ou(n.positional)){let y=process.hrtime.bigint();return await Fe(n,await Au(),y,void 0,await Kg(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(wt(),ln)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:y}=await Promise.resolve().then(()=>(we(),Aa)),E=y(l.rootDir,n.command);if(E)return await gA(n.positional,l.rootDir,E)}if(i&&hA(o.measurementHoldoutShare))return await fA(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(OP(),xP)),E=a(process.cwd()),_=vd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:_.socket??E.socketPath,pidPath:_["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:_["ttl-days"]??k.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:_["byte-budget"]??k.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??k.idleMs,residentVersion:_["resident-version"]??t.version,registryPath:_.registry??E.registryPath}),0):(process.stdout.write(`${_u()}
377
- `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=vd(n.positional),_=s(process.cwd(),process.env,n.storeUri);if(!_.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),ln));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:_.storeUri,ttlDays:E["ttl-days"]??_.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??_.ephemeralTtlHours,byteBudget:E["byte-budget"]??_.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??_.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??_.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??_.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??_.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??_.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(cu(),au));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(wt(),ln)),_=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Xa(),_E));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),Aa)),S=k(l.rootDir,o.overhead);return process.stdout.write(L_(_,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(Co(),IE)),E=kw(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 _=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(_.stdout),_.stderr&&process.stderr.write(`${_.stderr}
378
- `),_.status}if(n.command==="dashboard"){let y=await Ev(o);return process.stdout.write(kv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!W8(V8(o.storeUri)))return i?await IC(n,o,l.rootDir):(process.stdout.write(ee({command:qt(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(()=>(sr(),Xn)),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 Zn(o,_a(n.positional,30)),{overheadHealth:_}=await Promise.resolve().then(()=>(we(),Aa));return process.stdout.write(I_(y,E,Ew(n.positional),_(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(_a(n.positional,28))}catch(_){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:_ instanceof Error?_.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(N_(E)),0}if(n.command==="git"){if(Ln(m()),Ou(n.positional)){let S=process.hrtime.bigint();return await Fe(n,await Au(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(Cn(),Dg)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="gh"){Ln(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(gy(),hy)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){Ln(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(_y(),wy)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="cat"){Ln(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(Ry(),Sy)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="exec"){Ln(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(zi(),Ki)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let E=await y.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await Cu(l.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(k),await Cu(l.rootDir,n.handle,!1,k.length),1}let _=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(_),await Cu(l.rootDir,n.handle,!1,_.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(y){if(Jn(y))return process.stdout.write(y.render()),2;if(i)return await Qi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();Tg();Cg();function jle(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{J8 as main,Ag as renderAutomaticCommandOutput,jle as renderCliFailure,vg as renderStructuredBoundary};
374
+ `}function BK(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}`)]}et();we();Mt();import{spawn as jK}from"node:child_process";import{createHash as qK}from"node:crypto";import{existsSync as UK,readFileSync as HK,statSync as WK}from"node:fs";import{tmpdir as VK}from"node:os";import{dirname as JK,join as Wr}from"node:path";async function Fe(e,t,r,n,s=process.cwd(),o,i=o?.overhead??er){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&zK(s,o);let c=KK(e,t,a);return Nd(s,c,i),n?Ln(ZK(s,e,t,c,i,n.lastResponseMetrics())):ez(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function KK(e,t,r){let n=Md(),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 Ln(e){e.catch(()=>{})}async function Pu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Mt(),di));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function zK(e,t){try{let r=lr(e),n=WK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!XK(r,Date.now()-s))return;let o=YK(e),i=QK(o),a=Wr(i,"rsp.sock"),c=Wr(i,"rsp.pid"),l=Wr(ce(o),"rsp-resident.pid.toon"),u=Wr(o,".red","tmp","rsp","wake.lock");jK(process.execPath,[...process.execArgv,process.argv[1]??"","warm-resident","--socket",a,"--pid-file",c,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays),"--telemetry-byte-budget",String(t.telemetryByteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs),"--idle-ms",String(t.idleMs),"--registry",l,"--wake-lock",u],{cwd:o,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref()}catch{}}function YK(e){let t=e;for(;;){if(UK(Wr(t,".git")))return t;let r=JK(t);if(r===t)return e;t=r}}function QK(e){let t=qK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Wr(r,"red-skills",t);if(Wr(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Wr(VK(),`red-skills-${n}`,t)}function XK(e,t){try{let r=HK(e,"utf8");uo(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 ZK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=xa(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Mt(),di));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:qt(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:qt(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:qt(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:qt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function ez(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=xa(n,s);Or(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:qt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Or(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:qt(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 Yr=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}},xy=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function GC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new xy,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Qg(),UA));if(i(e.positional))return await Fe(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(Cn(),$g)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Fe(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(by(),yy)),a=await i(e.positional,{level:e.level,store:s});return await Fe(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(ky(),Ey)),a=await i(e.positional,{level:e.level,store:s});return await Fe(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(Ty(),vy)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Fe(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(zi(),Ki)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Fe(e,a,o,s)}}catch(i){return Jn(i)?(process.stdout.write(i.render()),2):await Qi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Qi("wrapper failed",e.positional,n,r)}async function Y8(e=process.argv.slice(2)){let t=Ea("rsp"),r=bw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
375
+ `:`${vw(t)}
376
+ `),0;if(r.kind==="help")return process.stdout.write(HA(e)),0;let n;try{n=ww(e)}catch(y){if(Ew(y))return process.stdout.write(_w(y)),2;throw y}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:y}=await Promise.resolve().then(()=>(Zi(),Ou));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:y}=await Promise.resolve().then(()=>(Zi(),Ou));return await y()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:y}=await Promise.resolve().then(()=>(Wi(),jg));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(Wi(),jg));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>(qC(),jC)),E=await y(process.cwd());return process.stdout.write(M_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(zC(),KC));return await y(),0}if(n.command==="wait"){let{runWait:y}=await Promise.resolve().then(()=>(Qf(),Yf));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(()=>(XC(),QC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(He(),Pp)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),ln)),E=y(process.cwd()),_=await FA(o,E,_a(n.positional,1));return process.stdout.write(MA(_)),_.exitCode}let i=_A(n.command);if(!o.enabled)return i?await wA(n.positional):(process.stdout.write(`${Eu()}
377
+ `),0);if(n.command==="git"&&Au(n.positional)){let y=process.hrtime.bigint();return await Fe(n,await Cu(),y,void 0,await Yg(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(wt(),ln)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:y}=await Promise.resolve().then(()=>(we(),Aa)),E=y(l.rootDir,n.command);if(E)return await bA(n.positional,l.rootDir,E)}if(i&&yA(o.measurementHoldoutShare))return await hA(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(CP(),AP)),E=a(process.cwd()),_=Td(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:_.socket??E.socketPath,pidPath:_["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:_["ttl-days"]??k.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:_["byte-budget"]??k.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??k.idleMs,residentVersion:_["resident-version"]??t.version,registryPath:_.registry??E.registryPath}),0):(process.stdout.write(`${Eu()}
378
+ `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=Td(n.positional),_=s(process.cwd(),process.env,n.storeUri);if(!_.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),ln));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:_.storeUri,ttlDays:E["ttl-days"]??_.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??_.ephemeralTtlHours,byteBudget:E["byte-budget"]??_.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??_.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??_.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??_.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??_.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??_.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(lu(),cu));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(),ln)),_=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Za(),kE));await T(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(we(),Aa)),S=k(l.rootDir,o.overhead);return process.stdout.write(D_(_,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(Co(),GE)),E=Rw(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 _=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(_.stdout),_.stderr&&process.stderr.write(`${_.stderr}
379
+ `),_.status}if(n.command==="dashboard"){let y=await Sv(o);return process.stdout.write(Rv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!K8(z8(o.storeUri)))return i?await GC(n,o,l.rootDir):(process.stdout.write(ee({command:qt(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(()=>(sr(),Xn)),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 Zn(o,_a(n.positional,30)),{overheadHealth:_}=await Promise.resolve().then(()=>(we(),Aa));return process.stdout.write(G_(y,E,Sw(n.positional),_(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(_a(n.positional,28))}catch(_){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:_ instanceof Error?_.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(F_(E)),0}if(n.command==="git"){if(Ln(m()),Au(n.positional)){let S=process.hrtime.bigint();return await Fe(n,await Cu(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(Cn(),$g)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="gh"){Ln(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(by(),yy)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){Ln(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(ky(),Ey)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="cat"){Ln(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(Ty(),vy)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,E,l.rootDir,o)}if(n.command==="exec"){Ln(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(zi(),Ki)),E=new Yr(()=>f(!1));b=()=>E.close();let _=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await Fe(n,k,_,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 Pu(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 Pu(l.rootDir,n.handle,!1,k.length),1}let _=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(_),await Pu(l.rootDir,n.handle,!1,_.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(y){if(Jn(y))return process.stdout.write(y.render()),2;if(i)return await Qi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();Og();Ig();function Hle(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{Y8 as main,Pg as renderAutomaticCommandOutput,Hle as renderCliFailure,xg as renderStructuredBoundary};
379
380
  /*! Bundled license information:
380
381
 
381
382
  content-type/dist/index.js: