@reddb-io/red-skills 4.1.16 → 4.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,67 +1,67 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var PP=Object.create;var Vu=Object.defineProperty;var IP=Object.getOwnPropertyDescriptor;var LP=Object.getOwnPropertyNames;var GP=Object.getPrototypeOf,DP=Object.prototype.hasOwnProperty;var sa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var _=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),se=(e,t)=>{for(var r in t)Vu(e,r,{get:t[r],enumerable:!0})},NP=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of LP(t))!DP.call(e,s)&&s!==r&&Vu(e,s,{get:()=>t[s],enumerable:!(n=IP(t,s))||n.enumerable});return e};var oa=(e,t,r)=>(r=e!=null?PP(GP(e)):{},NP(t||!e||!e.__esModule?Vu(r,"default",{value:e,enumerable:!0}):r,e));function FP(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 MP(e=Vy){return Object.entries(e).map(([t,r])=>FP(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function BP(e){return/^-\d+(\.\d+)?$/.test(e)}function Fn(e){return!(!e||e.startsWith("-")&&!BP(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 Jy(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>Jy(r.trim())):e}function Qr(e,t){switch(t){case"boolean":return jP(e);case"number":return qP(e);case"array":return e.split(",").map(r=>ia(r.trim()));case"string":default:return e}}function jP(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function qP(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 UP(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 HP(e){let t=[],r=VP(e);if(t.push(re("section-header","Usage:"),re("text"," "),re("usage-text",r),re("newline",`
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",`
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=JP(e.options);t.push(...n)}return t}function WP(e,t){let r=HP(e);return UP(r,t)}function VP(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 JP(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 Ky(e){let t=eI(e.options??{},e.autoShort??!1),r=MP(e.separators??Vy);return{schema:e,parse(n){return KP(n,e,t,r)},help(){return WP(e,e.formatter)}}}function KP(e,t,r,n){let s={positional:{},options:{},errors:[],rest:[]},o=new Set(n.map(u=>u.to));for(let u of o)s[u]={};let i=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&i>0){s.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(i<a.length){let p=a[i];if(p.variadic){let f=[];for(;c<e.length;){let m=e[c];f.push(p.type?Qr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Qr(u,p.type):u;s.positional[p.name]=f,i++,c++}}else t.allowUnknown!==!1&&(s.rest=s.rest??[],s.rest.push(u)),c++;continue}if(u.startsWith("--")){c=XP(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!oI(u)){c=ZP(u,c,e,s,r,t);continue}let d=zP(u,n);if(d){let{key:p,value:f,config:m}=d,g=s,b=g[m.to]??(g[m.to]={});b[p]=m.typed?Jy(f):hr(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let g=e[c];m.push(p.type?Qr(g,p.type):g),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Qr(u,p.type):u;s.positional[p.name]=f,i++}else t.allowUnknown!==!1?s.rest.push(u):s.errors.push(`Unexpected positional argument: ${u}`);c++}return rI(s,t,r),nI(s,t,a),sI(s,t,r),s}function zP(e,t){if($P.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(YP(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(QP(s,o,r))return{key:s,value:o,config:r}}}return null}function YP(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function QP(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 XP(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return aa(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Fn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function ZP(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 Fn(c)?aa(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Fn(c))return n.options[i]=ia(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?Qr(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?Qr(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 eI(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=tI(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 tI(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 rI(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let s=process.env[n.env];e.options[n.name]=n.type?Qr(s,n.type):s}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function nI(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 sI(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 oI(e){return/^-\d+(\.\d+)?$/.test(e)}var Vy,$P,zy=_(()=>{Vy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},$P=/^[a-z][a-z0-9+.-]*:\/\//i});function iI(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 aI(e,t){let r=new Map;for(let[s,o]of Object.entries(t))if(!(o.kind!=="value"||o.type!=="array")){r.set(s,s);for(let i of o.aliases??[])r.set(i,s)}let n=new Map;for(let s=0;s<e.length;s+=1){let o=e[s];if(o==="--")break;let i=o.match(/^--([^=]+)(?:=(.*))?$/)??o.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let c=i[2];if(c===void 0&&Fn(e[s+1])&&(c=e[s+1],s+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Xs(e,t,r={}){let s=Ky({options:iI(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=aI(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 uI(e){let t=new Map;for(let[r,n]of Object.entries(e)){t.set(r,r);for(let s of n.aliases??[])t.set(s,r)}return t}function Xr(e,t,r={}){let n=uI(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=cI.exec(c)??lI.exec(c),u=l===null?void 0:n.get(l[1]),d=u===void 0?void 0:t[u];if(u===void 0||d===void 0){i.push(c);continue}if(d.kind==="boolean"){o[u]=!0;continue}let p=l[2];if(p===void 0&&Fn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function zu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Qs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Ku,cI,lI,Qs,Yu=_(()=>{zy();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}};cI=/^--([^=]+)(?:=([\s\S]*))?$/,lI=/^-([^-=])(?:=([\s\S]*))?$/;Qs=class extends Error{token;known;constructor(t,r){super(`unknown command '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownCommandError",this.token=t,this.known=r}}});function Qy(e){return dI.test(e)}var dI,Yy,Xy=_(()=>{dI=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,Yy="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 Zr(e,t)}function Bn(e){return e instanceof Zr?e:e instanceof gr?new Zr(e.line,e.reason):new Zr(0,String(e&&e.message?e.message:e))}var Mn,gr,Zr,Kt=_(()=>{Mn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},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}},Zr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function en(e){return e instanceof Qu}var pI,Qu,Zs=_(()=>{pI=/(?:^\uFEFF?|\n) *#/,Qu=class{value;constructor(t){if(pI.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function tb(e){let t=e.split(`
11
- `);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function Gt(e){return F(e,"invalid quoted string")}function Be(e,t){if(e==="")return"";if(e.startsWith('"'))return rb(e,t);if(e.includes('"'))throw Gt(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(fI(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[rb(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function rb(e,t){if(e.charCodeAt(0)!==34)throw Gt(t);let r="",n=1;for(;n<e.length;){Zy.lastIndex=n;let s=Zy.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 nb(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw Gt(r);t=s+2;continue}if(n===-1)throw Gt(r);return n+1}}function tn(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=nb(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=nb(e,s+1,r)}return-1}function fI(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function mI(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function hI(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function eo(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function ve(e,t){if(en(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return hI(e);if(typeof e=="string")return yI(e,t);throw F(0,"not a primitive")}function gI(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Te(e){return gI(e)?e:ca(e)}function yI(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"||mI(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ca(e){return`"${sb(e)}"`}function sb(e){let t="",r=0;eb.lastIndex=0;let n;for(;(n=eb.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function rn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var zt,Zy,eb,nn=_(()=>{Kt();Zs();zt=",";Zy=/["\\\u0000-\u0008\u000a-\u001f]/g;eb=/["\\\u0000-\u001f]/g});var ob,bI,to,ib,sn,ab,ro=_(()=>{ob={comma:",",tab:" ",pipe:"|"},bI=ob.comma,to=1e3,ib=["type","kind","event"],sn="|",ab=new Set(["order","discriminator","rows","common"])});function*lb(e,t,r,n,s,o,i){yield*ub(r,e,n,t,{index:0},s,i,!0,o)}function*ub(e,t,r,n,s,o,i,a,c){let l=fb(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!la(p.content,r,p.number))break;let f=tn(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:ua(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*pb(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*db(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 kI(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*db(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*wI(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*wI(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*pb(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=cb(r,o,n.number),d=tn(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:Be(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=ua(e.children),d=r[o.cellIndex],p=hb(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+EI(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*ub(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*db(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=cb(r,o,n.number);yield{type:"primitive",value:Be(l,n.number),line:n.number}}function*pb(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:Be(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function cb(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function fb(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=mb(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 mb(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=_I(t,r,tn(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&la(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function _I(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=hb(r[c]);if(p===void 0)return;c++;let f=fb(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=mb(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 hb(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+gb(r),0)}function gb(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?ua(e.children):1}function EI(e){return e.reduce((t,r)=>t+(r.children===void 0?gb(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 kI(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var yb=_(()=>{Kt();nn()});function SI(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*RI(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*vI(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(!TI.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let g=wb(d,t);p=xI(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 wb(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 xI(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(OI(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 OI(e,t,r,n){let s=Dt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?AI(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=wb(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 AI(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 _b(e,t){return gt(e,":",t)!==-1}function Eb(e,t){try{return yr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function kb(e){let t=e?.maxDepth??to;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*Sb(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*xb(t,r,n,e):yield*cd(t,r,n,e),yield*Zu(t,e);return}if((n===null||s)&&!_b(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:Be(Dt(r.content),r.number),line:r.number};return}yield*Rb(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*Rb(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*xb(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=Eb(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*Rb(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:Be(l,t.number),line:t.number}}function rd(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*cd(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(od(r.fields,t.number,n),vb(r.fields,n)){if(!n.objectArrayColumns&&Tb(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*lb(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*PI(e,t,r,n);return}if(r.inline!==void 0){let i=id(r.inline,r.delimiter,t.number);ud(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:Be(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*CI(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 vb(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&vb(r.children,t))}function Tb(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Tb(t.children))}function*CI(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Dt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=nd(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(fa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:Be(n,t.number),line:t.number};return}yield*cd(e,t,s,r);return}if(s!=null&&s.key!==void 0||_b(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*td(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*td(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:Be(n,t.number),line:t.number}}function*PI(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(!II(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 II(e,t,r){let n=gt(e,":",r);if(n===-1)return!0;let s=gt(e,t,r);return s===-1?!1:s<n}function*ld(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:Be(o,n),line:n}}else yield*ld(s.children,t,r,n);yield{type:"endObject",line:n}}function*xb(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=Eb(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 Ob(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){Ob(n,t,r);for(let s of e)s.children!==void 0&&fa(s.children,t,r,n+1)}}function*Ab(e,t){let r=kb(t),n=new pa(r),s=RI(e,n),o=Sb(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 Pb(a,n)}finally{o.return(),s.return(void 0)}}async function*Cb(e,t){let r=kb(t),n=new pa(r),s=vI(e,n),o=Sb(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 Pb(a,n)}finally{o.return(),await s.return(void 0)}}function Pb(e,t){return!(e instanceof gr)||e.source!==void 0?e:new Mn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function dd(e,t){return Symbol.asyncIterator in e?Cb(e,t):Ab(e,t)}var pa,TI,ad,bb,ed,ma=_(()=>{Kt();nn();ro();yb();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(SI(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,Ob(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};TI=/^(0|[1-9]\d*)$/;ad=Symbol("need line"),bb=2,ed=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=bb)throw new Error(`decoder lookahead exceeds ${bb} 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(en(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ze(t)}if(typeof e=="string")return Ib(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)jn(t,String(r),Ze(n));return t}if(ne(e)){let t={};for(let r of Object.keys(e))Ib(r,"object key"),jn(t,r,Ze(e[r]));return t}return null}function Ib(e,t){if(LI.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function ne(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function nt(e){return e===null||en(e)||["string","number","boolean"].includes(typeof e)}function jn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var LI,qn=_(()=>{Zs();LI=/[\uD800-\uDFFF]/});function Db(e){if(!ne(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=GI(n,1);if(s===void 0)return e;rn(t,r,s)}return t}function GI(e,t){if(!ne(e)||!DI(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=NI(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 Nb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!ab.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),$I(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 DI(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function NI(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=>jI(u,r));if(a.some(u=>u===""))throw xe(r);let c=BI(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw xe(r);if(l!==t)throw Nb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function $I(e,t,r,n,s){let o={};rn(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);rn(o,i,a)}for(let[i,a]of Object.entries(FI(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw xe(s);rn(o,i,a)}return o}function FI(e,t){let r={};for(let[n,s]of Object.entries(e))MI(r,n.split("."),s,t);return ha(r,t)}function MI(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 BI(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 jI(e,t){try{return decodeURIComponent(e)}catch{throw xe(t)}}function Lb(e){return encodeURIComponent(e)}function xe(e){return F(e,"invalid cyclic array wire")}function Nb(e){return F(e,"cyclic array length mismatch")}function pd(e){return F(e,"cyclic array group length mismatch")}function $b(e){if(!ne(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=qI(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)VI(n,s,o);return n.join("")}function qI(e){if(!Array.isArray(e)||e.length===0||!e.every(ne))return;let t=UI(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=HI(r);if(n===void 0)return;let s=WI(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=KI(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 UI(e){return ib.find(t=>e.every(r=>typeof r[t]=="string"))}function HI(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(Lb).join(","),o=`cycle(${r.map(Lb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function WI(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(!JI(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>eo(i[o])))break;r.push(o)}return r}function VI(e,t,r){e.push(Te(t),`:
13
- `),e.push(" order: ",ve(r.order.encoded,sn),`
14
- `),e.push(" discriminator: ",ve(r.discriminator,sn),`
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),`:
13
+ `),e.push(" order: ",ve(r.order.encoded,on),`
14
+ `),e.push(" discriminator: ",ve(r.discriminator,on),`
15
15
  `),e.push(" rows: ",String(r.rows.length),`
16
- `),r.common.length>0&&Gb(e,"common",r.common,r.commonRows);for(let n of r.groups)Gb(e,n.label,n.fields,n.rows)}function Gb(e,t,r,n){e.push(" ",Te(t),"[",String(n.length),sn,"]{",r.map(Te).join(sn),`}:
17
- `);for(let s of n)e.push(" ",r.map(o=>ve(s[o],sn)).join(sn),`
18
- `)}function JI(e){return e!==""&&md(e)}function fd(e,t,r,n=new Set){if(!md(t))return!1;if(eo(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>fd(o,`${t}.${i}`,r,n));return n.delete(e),s}if(ne(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&fd(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function KI(e){let t=Object.keys(e[0]??{});if(e.every(r=>zI(Object.keys(r),t)))return t.every(md)?t:void 0}function zI(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function md(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var hd=_(()=>{ro();qn();Kt();nn()});function gd(e,t){let r=yd(e,t,[]),n=t("",r,[]);return n===void 0?r:Ze(n)}function yd(e,t,r){return Array.isArray(e)?QI(e,t,r):ne(e)?YI(e,t,r):e}function YI(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,yd(o,t,i),i);a!==void 0&&jn(n,s,Ze(a))}return n}function QI(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 Fb=_(()=>{qn()});function Bb(e){let t=[],r,n=Mb,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===Mb?{}:n}function jb(e,t){let r=Bb(dd(e,t));return t?.reviver?gd(r,t.reviver):r}function bd(e,t){let{reviver:r,...n}=t??{},s=jb(XI(e),n),o=t?.cyclicDiscriminatedArrays===!0?Db(s):s;return r?gd(o,r):o}function*XI(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 Mb,ga=_(()=>{ma();hd();Fb();Mb=Symbol("unset")});function qb(e,t){let r=t("",e,[]);return r===void 0?wd(e,t,[]):_d(e,r,t,[])}function _d(e,t,r,n){return en(t)&&(Array.isArray(e)||ne(e))?wd(e,r,n):wd(Ze(t),r,n)}function wd(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)){let i=[...r,s],a=t(s,o,i);a!==void 0&&jn(n,s,_d(o,a,t,i))}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),e[s],o);i!==void 0&&n.push(_d(e[s],i,t,o))}return n}var Ub=_(()=>{qn();Zs()});function Un(e,t={}){if(t.objectArrayColumns===!0){let s=Hb(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!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=Hb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Un(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>ne(a)&&Object.keys(a).length>0))return;let i=Un(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function ya(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>ne(n)&&Object.keys(n).length>0))return Un(r,t)}function Hb(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(nt))?t:void 0}var Wb=_(()=>{qn()});function M(e,t={}){return Array.from(Vb(e,t)).join(`
20
- `)}function Vb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??to,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ze(e),a=t.replacer?qb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=$b(a);if(l!==void 0)return l.trimEnd().split(`
21
- `)}return tL(a,c)}function tL(e,t){if(nt(e))return[ve(e,t.delimiter)];if(Array.isArray(e))return Kb(void 0,e,0,t);let r=ya(e,t);return r===void 0?ba(e,0,t):Jb(void 0,e,r,0,t)}function ba(e,t,r){return Wn(t,r),Object.entries(e).flatMap(([n,s])=>rL(n,s,t,r))}function rL(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 Kb(e,t,r,n);let o=ya(t,n);if(o!==void 0)return Jb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...ba(t,r+1,n)),i}function Jb(e,t,r,n,s){Wn(n,s);let o=Object.entries(t);no(r,n+1,s);let i=[he(n,s)+yt(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,r,n+2,s);i.push(he(n+1,s)+Te(a)+": "+l.cells),i.push(...l.children)}return i}function Kb(e,t,r,n){Wn(r,n);let s=he(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Te(e)}: []`];if(t.every(nt))return[s+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];let o=Un(t,n);if(o!==void 0)return nL(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 nL(e,t,r,n,s){no(r,n+1,s);let o=[he(n,s)+yt(e,t.length,r,s.delimiter)];for(let i of t){let a=Hn(i,r,n+2,s);o.push(he(n+1,s)+a.cells),o.push(...a.children)}return o}function Ed(e,t,r){Wn(t,r);let n=he(t,r)+"-";if(nt(e))return[`${n} ${ve(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${yt(void 0,0,void 0,r.delimiter)}`];if(e.every(nt))return[`${n} ${yt(void 0,e.length,void 0,r.delimiter)} ${kd(e,r.delimiter)}`];let s=[`${n} ${yt(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...Ed(o,t+1,r));return s}return sL(e,t,r)}function sL(e,t,r){Wn(t,r);let n=Object.entries(e);if(n.length===0)return[he(t,r)+"-"];let[[s,o],...i]=n,a=oL(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 oL(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(nt))return[he(r,n)+"- "+yt(e,t.length,void 0,n.delimiter)+" "+kd(t,n.delimiter)];if(Array.isArray(t)&&t.every(ne)){let s=Un(t,n);if(s!==void 0){no(s,r+1,n);let o=[he(r,n)+"- "+yt(e,t.length,s,n.delimiter)];for(let i of t){let a=Hn(i,s,r+3,n);o.push(he(r+2,n)+a.cells),o.push(...a.children)}return o}}if(ne(t)){let s=ya(t,n);if(s!==void 0){no(s,r+1,n);let o=Object.entries(t),i=[he(r,n)+"- "+yt(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=Hn(c,s,r+3,n);i.push(he(r+2,n)+Te(a)+": "+l.cells),i.push(...l.children)}return i}}}function yt(e,t,r,n,s=!1){let o=e===void 0?"":Te(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${zb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function zb(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?"":`{${zb(r.children,t)}}`)}).join(t)}function Hn(e,t,r,n){let s=[],o=[];for(let i of t){let a=i.self===!0?e:e[i.name];if(i.childTable===!0){s.push(String(a.length));for(let c of a){let l=Hn(c,i.children??[],r+1,n);o.push(he(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>ve(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>iL(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=Hn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(ve(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function iL(e,t,r){return typeof e!="string"?ve(e,t):Xu(e,t)||e.includes(r)?ca(e):e}function kd(e,t){return e.map(r=>ve(r,t)).join(t)}function he(e,t){return" ".repeat(e*t.indentSize)}function Wn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function no(e,t,r){Wn(t,r);for(let n of e)n.children!==void 0&&no(n.children,t+1,r)}var so=_(()=>{nn();Kt();ro();qn();Ub();Wb();hd()});var Yb=_(()=>{});var Qb=_(()=>{Kt();ma()});var Xb=_(()=>{so()});function cL(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 lw(e,t){if(!cw.test(e))throw Y(t,"invalid tag")}function lL(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!cw.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 uL(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(!iw.includes(i)&&i!=="")throw Y(t,"invalid header delimiter");let a=i===""?zt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw Y(t,"invalid tag");if(l=c.slice(1,p),lw(l,t),i!=="")throw Y(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw Y(t,"invalid header");let u=c.slice(1,-2),d;try{d=tn(u,a,t).map(p=>yr(p,t)[0])}catch(p){throw Bn(p)}if(d.length===0||d.some(p=>p===""))throw Y(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function dL(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 Zb(e,t,r,n){let s;try{s=tn(e,t,n)}catch(o){throw Bn(o)}if(s.length!==r)throw Y(n,"row arity mismatch");for(let o of s)try{Be(o,n)}catch(i){throw Bn(i)}return s}function pL(e,t,r){let n={};return e.forEach((s,o)=>{try{rn(n,s,Be(t[o],r))}catch(i){throw Bn(i)}}),n}function fL(e,t,r){if(e.startsWith("- "))throw Y(t,"reserved line prefix");let n=cL(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=uL(e,t);if(s!==null)return s.continuation?(dL(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=lL(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:Zb(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:Zb(e,r.delimiter,r.fields.length,t)}}function mL(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>=aw)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(tb(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=fL(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 mL(e).flatMap(t=>t.rows.map(r=>pL(t.fields,r,0)))}function hL(e){if(!iw.includes(e))throw Y(0,"invalid header delimiter")}function ew(e,t,r=!1){return`[${`${r?"~":""}${e===zt?"":e}`}]{${t}}:
22
- `}function tw(e,t){return`[]<${e}>{${t}}:
23
- `}function Sd(e,t){return t.map(Te).join(e)}function gL(e){if(!Array.isArray(e)||e.length===0)throw Y(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=yr(String(t),0)}catch(n){throw Bn(n)}if(r==="")throw Y(0,"TOONL header requires fields");return r})}function rw(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function nw(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw Y(0,"TOONL continuation cadence must be positive")}function yL(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function sw(e){if(e===null||typeof e!="object"||Array.isArray(e))throw Y(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw Y(0,"TOONL output requires object rows");if(t.some(r=>!eo(e[r])))throw Y(0,"TOONL rows must be flat objects");return t}function bL(e){return JSON.stringify([...e].sort())}function ow(e,t){let r=bL(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function je({delimiter:e=zt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){hL(e),nw(r),nw(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=()=>yL(p,c,l)?(c=0,l=0,ew(e,o,!0)):"",g=b=>{lw(b,0);let y=u.get(b);if(y===void 0){if(u.size>=aw)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=ow(sw(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+=ew(e,o));let w=s.map(S=>ve(b[S],e));E+=m();let k=`${w.join(e)}
25
- `;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=gL(y),w=Sd(zt,E),k=g(b);return rw(k.fields,E)?"":(k.fields=E,tw(b,w))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),w=ow(sw(y),E.fieldsByShape),k=Sd(zt,w),S=w.map(C=>ve(y[C],zt)),T="";return rw(E.fields,w)||(E.fields=w,T+=tw(b,k)),`${T}${b}:${S.join(zt)}
26
- `},end(){return d?"":(d=!0,f())}}}var iw,aw,cw,G4,D4,uw=_(()=>{Kt();ga();so();nn();iw=[zt,"|"," "],aw=8,cw=/^[A-Za-z0-9_-]+$/,G4=new TextEncoder,D4=new TextDecoder});var z,J=_(()=>{ga();so();Yb();Kt();ro();Qb();so();Zs();nn();ma();ga();Xb();uw();z=bd});function _L(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??_L(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=EL(e.diagnostics,3)),t}function qe(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Qy(s)?{command:e,category:"transient",error:oo(s)||"GitHub API rate limit exceeded",help:Yy,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:oo(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:oo(s)||"not a git repository",help:"git status",diagnostics:s}:o.includes("repository not found")||o.includes("could not resolve host")?{command:e,category:"real-error",error:oo(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:oo(s)||"command failed",help:`${e} --help`,diagnostics:s}}function dw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function oo(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function EL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
- `).trim()}var bt=_(()=>{"use strict";Xy();J()});function Ea(e){let t={app:e,version:IL(Jn("__RED_BUILD_VERSION__",()=>"4.1.16")??"0.0.0-dev"),gitSha:Jn("__RED_BUILD_GIT_SHA__",()=>"a2ca233fe19ae7e0e0a16b5148298c054a2e2b9a")??"unknown",buildTime:Jn("__RED_BUILD_TIME__",()=>"2026-08-21T03:14:27-03:00")??"unknown",bundleAsset:Jn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Jn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Jn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function IL(e){return e.startsWith("v")?e.slice(1):e}function _w(e){return`${e.app} ${e.version} ${e.gitSha}`}function Jn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var Td=_(()=>{});import{isAbsolute as LL,join as Yt,resolve as xd}from"node:path";function NL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function kw(e){return Yt(NL(e),Ew)}function Sw(e){return Yt(kw(e),"state")}function Rw(e){return Yt(kw(e),"tmp")}function ce(e){return Yt(Sw(e),"rsp")}function $L(e){return Yt(Sw(e),"red-skills.rdb")}function FL(e){return Yt(Rw(e),"red-skills.rdb")}function xw(e,t){let r=$L(e);if(t(r))return r;let n=FL(e);if(t(n))throw ML();return r}function ML(){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 Ow(e){return Yt(Rw(e),"waits")}function Aw(e){let t=e.overrideEnvVars??Od;for(let n of t){let s=e.env[n];if(s)return LL(s)?s:xd(e.startDir,s)}let r=xd(e.startDir);for(;;){if(e.exists(Yt(r,Ew)))return r;let n=Yt(r,".."),s=xd(n);if(s===r)break;r=s}return e.startDir}var Ew,GL,DL,Od,vw,Tw,et=_(()=>{Ew=".red",GL="MEMORY_ROOT",DL="RED_BRAIN_ROOT",Od=[GL,DL];vw=".red/state/red-skills.rdb";Tw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var BL,jL,x3,Qt=_(()=>{J();et();BL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],jL=[{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"}],x3=[...BL,...jL]});function io(e){let{values:t,rest:r}=Xr(e,{query:Cw.query},Pw);return{argv:r,query:t.query?.trim()||void 0}}function Iw(e){let{values:t,rest:r}=Xr(e,Cw,Pw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function qL(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=>qL(r,t)):[...e]}function Xt(e,t){return Cd(e,t,{includeLegacyHelp:!0})}function Cd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Ad(e){return Array.isArray(e)?e.map(Ad).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Ad).join(" "):String(e??"")}var Cw,Pw,ao=_(()=>{"use strict";Yu();Cw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Pw={stopAtSeparator:!1}});var Aa={};se(Aa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ka,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Sa,DEFAULT_RSP_OVERHEAD_CEILING:()=>Zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>va,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ta,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ra,RSP_OVERHEAD_FAMILIES:()=>zL,RSP_OVERHEAD_LEDGER_FILE:()=>Dw,RSP_OVERHEAD_SCHEMA_VERSION:()=>Nw,classifyOverheadSample:()=>Ld,noteChildProcessMs:()=>Fw,noteSelfStateBytesRead:()=>lo,overheadCounters:()=>Fd,overheadFamilyDisabled:()=>YL,overheadHealth:()=>wr,overheadLedgerPath:()=>Gd,overheadMsOf:()=>$w,overheadTelemetryFields:()=>xa,readOverheadLedger:()=>co,readSelfStateFile:()=>Oa,readSelfStateFileSync:()=>ZL,recordOverheadSample:()=>Dd,resetOverheadCounters:()=>XL,resetOverheadLedger:()=>QL,startChildProcessTimer:()=>tt});import{existsSync as UL,mkdirSync as HL,readFileSync as Lw,renameSync as WL,writeFileSync as VL}from"node:fs";import{readFile as JL}from"node:fs/promises";import{dirname as KL,join as Gw}from"node:path";function $w(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Id(t)):0}function Ld(e,t=Zt){let r=$w(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function xa(e,t=Zt){let r=Ld(e,t);return{wrapper_ms:Id(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Id(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function Gd(e){return Gw(ce(e),Dw)}function co(e){try{let t=Lw(Gd(e),"utf8"),r=nG(t);if(sG(r))return r}catch{}return{version:1,families:{}}}function Dd(e,t,r=Zt,n=Date.now()){let s=co(e),o=Ld(t,r),i=s.families[t.family]??rG(t.family,n),a=Md(i,n)?Mw(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=eG(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,Bw(e,s),l}function YL(e,t,r=Date.now()){let n=co(e).families[t];return!n?.disabled||Md(n,r)?null:n}function QL(e,t){let r=co(e);return t?delete r.families[t]:r.families={},Bw(e,r),r}function wr(e,t=Zt,r=Date.now()){let n=Object.values(co(e).families).map(a=>Md(a,r)?Mw(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:Nw,verdict:i,summary:tG(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function lo(e){Number.isFinite(e)&&e>0&&(Nd+=e)}function Fw(e){Number.isFinite(e)&&e>0&&($d+=e)}function Fd(){return{selfStateBytesRead:Nd,childMs:$d}}function XL(){Nd=0,$d=0}function tt(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Fw(Number(process.hrtime.bigint()-e)/1e6))}}async function Oa(e){let t=await JL(e,"utf8");return lo(Buffer.byteLength(t)),t}function ZL(e){let t=Lw(e,"utf8");return lo(Buffer.byteLength(t)),t}function eG(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 tG(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 Mw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function rG(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 Bw(e,t){try{let r=Gd(e);if(!UL(Gw(e,".red")))return;HL(KL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;VL(n,`${M(t)}
29
- `,{encoding:"utf8",mode:384}),WL(n,r)}catch{}}function nG(e){try{return JSON.parse(e)}catch{return z(e)}}function sG(e){return!Pd(e)||e.version!==1||!Pd(e.families)?!1:Object.values(e.families).every(oG)}function oG(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 Dw,Nw,ka,Sa,Ra,va,Ta,zL,Zt,Nd,$d,we=_(()=>{"use strict";et();J();Dw="overhead-budget.toon",Nw="red.rsp.overhead.v1",ka=250,Sa=1024*1024,Ra=64*1024,va=3,Ta=6*60*60*1e3,zL=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],Zt={maxOverheadMs:ka,maxSelfStateBytes:Sa,netLossFloorBytes:Ra,consecutiveBreaches:va,cooldownMs:Ta};Nd=0,$d=0});function Uw(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=Uw(r);if(n==="json"){let o=r.indexOf(`
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),`}:
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.1.18")??"0.0.0-dev"),gitSha:Kn("__RED_BUILD_GIT_SHA__",()=>"58e5f9e840fdc765140bda1632fecb43717d57bf")??"unknown",buildTime:Kn("__RED_BUILD_TIME__",()=>"2026-08-21T04:08:28-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(`
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=Uw(e)==="json"?Bd:jw,r=t===Bd?jw:Bd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Bd(e){return JSON.parse(e)}function jw(e){return z(e)}function Ud(e,t){if(t==="toon"){let r=aG(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 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(`
34
34
  `)?`${r}
35
35
  `:`${r}
36
36
 
37
37
  `}return`${JSON.stringify(e)}
38
- `}function aG(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=M(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function Hw(e,t){return!qw(e)||!qw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function qw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Vw(e){return Ww.has(e)?"json":iG}function Jw(e){Ww.add(e)}var iG,Ww,Kw=_(()=>{J();iG="toon";Ww=new Set});import{createHash as cG}from"node:crypto";import{constants as Hd}from"node:fs";import{mkdir as Yw,open as lG,readFile as uG,rm as Qw,stat as dG}from"node:fs/promises";import{createConnection as pG}from"node:net";import{tmpdir as fG}from"node:os";import{dirname as Xw,join as uo}from"node:path";async function Zw(e,t,r="resident server"){let n=e.wire,s=n??Vw(e.socketPath),o=await zw(e,t,r,s);return n||s==="json"||!Hw(t,o)?o:(Jw(e.socketPath),await zw(e,t,r,"json"))}async function zw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=pG(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 e_(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 Yw(Xw(e),{recursive:!0,mode:448});try{return await lG(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??hG,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??_r;await Yw(Xw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Wd(e);if(c)return await c.writeFile(`${t_} pid=${s} taken=${new Date(n()).toISOString()}
39
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await bG(e),u=await _G(e,l,n());if(a>=gG||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=yG(l,u,r,o);if(d==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let p={lockPath:e,reason:d,holder:l,ageMs:u};await Qw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Jd(e){await e.handle.close().catch(()=>{}),await Qw(e.lockPath,{force:!0})}function yG(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 bG(e){try{return wG(await uG(e,"utf8"))}catch{return null}}function wG(e){let t=e.split(`
40
- `,1)[0]?.trim()??"";if(!t.startsWith(t_))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 _G(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 dG(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 r_(e){let t=e.env??process.env,r=cG("sha256").update(e.key).digest("hex").slice(0,20),n=c=>uo(c,e.socketFileName).length<mG,s=t.XDG_RUNTIME_DIR;if(s){let c=uo(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=uo(`red-skills-${o}`,r),a=uo(fG(),i);return n(a)||process.platform==="win32"?a:uo(EG,i)}var mG,hG,t_,gG,EG,po=_(()=>{Kw();mG=108;hG=6e4,t_="resident-spawn-lock v1",gG=3;EG="/tmp"});async function Kn(e,t){return await Zw(e,t,"resident rsp server")}var Yd=_(()=>{po()});var n_=_(()=>{"use strict";Yd()});import{mkdir as kG,readFile as SG,rename as RG,rm as Q3,writeFile as vG}from"node:fs/promises";import{dirname as TG}from"node:path";async function s_(e){try{let t=(await SG(e,"utf8")).trim();if(t==="")return null;try{return JSON.parse(t)}catch{return z(t)}}catch{return null}}async function o_(e,t){await kG(TG(e),{recursive:!0,mode:448});let r=`${e}.${process.pid}.${Date.now()}.tmp`;await vG(r,`${M(t)}
41
- `,{encoding:"utf8",mode:384}),await RG(r,e)}var t9,i_=_(()=>{J();po();t9=5*6e4});import{existsSync as xG,readdirSync as OG}from"node:fs";import{homedir as AG}from"node:os";import{basename as Xd,dirname as Qd,join as st,resolve as Ca}from"node:path";function CG(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??xG,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&&LG(i))return a(Ca(i),"caller-entry");let c=[];for(let[l,u]of DG(i,t.rootDir,r,t.listDir??MG))if(c.push(l),n(l))return a(l,u);return{diagnostic:er,searched:c,...i?{callerEntry:Ca(i)}:{}}}function c_(e={},t={}){let r=Pa(e,t);if(CG(r))return r;throw new zn(r)}function LG(e){let t=Xd(e);return t===on||Zd.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:GG(Ca(e))}function GG(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*DG(e,t,r,n){if(e){let o=Qd(Ca(e));yield[st(o,on),"caller-sibling-bundle"];let i=PG.exec(Xd(e));i&&(yield[st(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[st(o,"..","dist",on),"caller-sibling-bundle"]}for(let o of IG){let i=r[o];i&&(yield[st(i,"dist",on),"plugin-root-bundle"],yield[st(i,"..","..","dist",on),"plugin-root-bundle"])}t&&(yield[st(t,"dist",on),"repo-bundle"],yield[st(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[st(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=NG(r);yield[st(s,on),"bundle-cache"];for(let o of $G(s,n))yield[st(s,o),"bundle-cache"]}function NG(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||st(e.HOME||AG(),".cache");return st(t,"red-skills","bundles")}function $G(e,t){return t(e).filter(r=>Zd.test(r)).sort((r,n)=>FG(a_(n),a_(r)))}function a_(e){return Zd.exec(e)?.[1]??""}function FG(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 MG(e){try{return OG(e)}catch{return[]}}var er,zn,on,PG,Zd,IG,ep=_(()=>{er="rsp-resident-entry-unresolved";zn=class extends Error{code=er;searched;callerEntry;constructor(t){super(`${er}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
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})`:""}
42
42
  searched:
43
43
  ${t.searched.map(r=>` ${r}`).join(`
44
- `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},on="rsp.bundle.min.mjs",PG=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Zd=/^rsp-(.+)\.bundle\.min\.mjs$/,IG=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as f_}from"node:crypto";import{spawn as m_}from"node:child_process";import{readFileSync as BG}from"node:fs";import{mkdir as h_,readFile as jG,rm as rr,stat as qG}from"node:fs/promises";import{dirname as Yn,join as tr,resolve as np}from"node:path";import{fileURLToPath as UG}from"node:url";function ot(e){let t=eD(e)??np(e),r=ZG(t),n=ce(t);return{rootDir:t,socketPath:tr(r,"rsp.sock"),pidPath:tr(r,"rsp.pid"),lockPath:tr(r,"rsp.lock"),wakeLockPath:tr(t,".red","tmp","rsp","wake.lock"),summaryPath:tr(n,"rsp-status-summary.toon"),registryPath:tr(n,"rsp-resident.pid.toon")}}async function Ia(e,t){if(await h_(Yn(e.socketPath),{recursive:!0,mode:448}),await d_(e.socketPath,t))return;await u_(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 d_(e.socketPath,t))return;await u_(e,t),await VG(e.socketPath);let n=KG(e,t);await l_(e.socketPath,n);return}finally{await Jd(r)}try{await l_(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Kd(r)}`)}}async function an(e,t=200){try{return await y_(e,t)!=null}catch{return!1}}async function y_(e,t=200){let r=await Kn({socketPath:e,timeoutMs:t},{id:f_(),op:"ping"});return r.ok?k_(r.value)?{version:sD(r.value.version)}:{}:null}async function La(e,t){if(await h_(Yn(e.socketPath),{recursive:!0,mode:448}),await an(e.socketPath,50))return!1;let r=await JG(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=__(e,t);return m_(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 b_(e,t){try{await Ia(e,t)}finally{await rr(e.wakeLockPath,{force:!0})}}async function mo(e){let t=await s_(e);return oD(t)?t:null}async function Ga(e,t){let r={version:g_,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 o_(e,r)}async function Da(e,t=process.pid){try{let r=await mo(e);if(r&&r.pid!==t)return;await rr(e,{force:!0})}catch{}}async function fo(e){let t=await mo(e.registryPath);if(!t)try{return await jG(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!_r(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await an(t.socket_path,100);return r&&await XG(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 w_(e){let t=await fo(e);return t.state==="registered-dead"||t.state==="invalid"?(await rr(e.registryPath,{force:!0}),await fo(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await zd(t.entry.pid),await rr(e.registryPath,{force:!0}),await rr(t.entry.socket_path,{force:!0}),await fo(e)):t}async function l_(e,t){let r=Date.now()+WG(),n;for(;Date.now()<r;){if(await an(e))return;if(t){let s=t.spawnError();if(s)throw new Error(tp("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(tp("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?tp("resident rsp server did not start",t):"resident rsp server did not start")}function WG(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:HG}async function VG(e){await rr(e,{force:!0})}function KG(e,t){let[r,n]=__(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=m_(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=YG(`${i}${c}`,zG)})),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:
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:
46
46
  ${s}`),n.join(`
47
- `)}function YG(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 u_(e,t){try{let r=await mo(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!_r(r.pid)){await rr(e.registryPath,{force:!0});return}if(await an(r.socket_path,100))return;if(E_(t.clientVersion,r.resident_version)&&(await QG(r.pid,1500),!_r(r.pid))){await rr(e.registryPath,{force:!0});return}await zd(r.pid),await rr(e.registryPath,{force:!0})}catch{}}async function QG(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!_r(e))return;await new Promise(n=>setTimeout(n,50))}}async function XG(e){if(!e.startsWith("file://"))return!1;try{return await qG(UG(e)),!1}catch(t){return t.code==="ENOENT"}}function __(e,t){let r=c_(t,{rootDir:e.rootDir});return[r.command,r.args]}function ZG(e){return r_({key:e,socketFileName:"rsp.sock"})}function eD(e){let t=np(e);for(let r=0;r<32;r++){try{let s=rp(tr(t,".git"));if(s!=null)return tD(t,s)??t;if(rp(tr(t,".git","HEAD"))!=null||rp(tr(t,".red","config.yaml"))!=null)return t}catch{}let n=Yn(t);if(n===t)return null;t=n}return null}function tD(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=np(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?Yn(Yn(Yn(n))):null}function rp(e){try{return BG(e,"utf8")}catch{return null}}async function d_(e,t){let r=await y_(e).catch(()=>null);return r?E_(t.clientVersion,r.version)?(await rD(e,t.clientVersion),await iD(e),!1):!0:!1}async function rD(e,t){try{await Kn({socketPath:e,timeoutMs:200},{id:f_(),op:"handover",clientVersion:t})}catch{}}function E_(e,t){return!e||!t?!1:nD(e,t)>0}function nD(e,t){let r=p_(e),n=p_(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function p_(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 k_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function sD(e){return typeof e=="string"&&e.length>0?e:void 0}function oD(e){return k_(e)&&e.version===g_&&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 iD(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await an(e,50))return;await new Promise(r=>setTimeout(r,50))}}var g_,HG,JG,zG,Na=_(()=>{et();i_();po();Yd();ep();ep();g_=1,HG=5e3;JG=Wd;zG=8*1024});var cn={};se(cn,{RSP_ENTRY_UNRESOLVED:()=>er,ResidentRspElisionStore:()=>ho,RspResidentEntryError:()=>zn,ensureResidentServer:()=>Ia,kickResidentServer:()=>La,pingResident:()=>an,readResidentRegistry:()=>mo,removeResidentRegistry:()=>Da,residentRegistryStatus:()=>fo,resolveResidentPaths:()=>ot,resolveRspEntry:()=>Pa,sweepResidentRegistry:()=>w_,warmResidentServer:()=>b_,writeResidentRegistry:()=>Ga});import{randomUUID as aD}from"node:crypto";function S_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var ho,wt=_(()=>{"use strict";n_();Na();ho=class{constructor(t,r,n={}){this.paths=t;this.config=r;this.opts=n}metrics;lastResponseMetrics(){return this.metrics}async mint(t,r){let s=(await this.request({op:"mint",original:Buffer.from(t).toString("base64"),meta:r})).handle;if(!s?.startsWith("el:"))throw new Error("resident rsp returned invalid handle");return s}async get(t){let r=await this.request({op:"get",handle:t});return r?S_(r)&&r.status==="expired"?r:!S_(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await Ia(this.paths,this.config);let r=await Kn(this.paths,{...t,id:aD()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function op(e,t,r=R_){let n=Math.max(0,Math.floor(e)),s=r in v_?r:R_,o=v_[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:cD}}function sp(e,t){return lD(Math.max(0,e)/1e6*t)}function go(e){return`$${e.toFixed(6)}`}function lD(e){return Math.round(e*1e6)/1e6}var R_,v_,cD,ip=_(()=>{"use strict";R_="gpt-5",v_={"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},cD="estimate derived from byte-based token estimate when token counts are estimated"});var Qn={};se(Qn,{isResidentEntryUnresolved:()=>O_,reportResidentEntryDiagnostic:()=>ap,residentConfigFor:()=>x_,residentElisionStore:()=>yo});function x_(e,t){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs,...t?{clientVersion:t}:{}}}function yo(e,t,r={}){let n=r.paths??ot(e);return new ho(n,x_(t,Ea("rsp").version),{ensureResident:r.ensureResident})}function ap(e){return O_(e)?(T_||(T_=!0,process.stderr.write(`rsp: ${er} \u2014 elision is off until an rsp entry is installed
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
48
  `),process.env.RSP_DEBUG==="1"&&e instanceof Error&&process.stderr.write(`${e.message}
49
- `)),!0):!1}function O_(e){return typeof e=="object"&&e!==null&&e.code===er}var T_,nr=_(()=>{"use strict";Td();wt();T_=!1});function mp(e){return e==="success"?0:e==="failure"?1:2}function hp(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function it(e,t,r){return{status:e,exitCode:mp(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function sr(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var D_,N_,$_,pp,F_,M_,B_,j_,fp,ln=_(()=>{"use strict";D_="rsp.wait.result",N_="rsp.wait.registry",$_="rsp.wait.list",pp={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},F_=16*1024,M_=1e4,B_=2e3,j_=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 hD,readFile as gD}from"node:fs/promises";async function Zn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ma(r),s=[r,...n];if(s.every(c=>!un(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(q_(e,"SIGTERM"),Fa(n,"SIGTERM"),await U_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ma(r)])];q_(e,"SIGKILL"),Fa(o,"SIGKILL");let i=Math.max(1e3,t);await yD(e,i);let a=await U_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(un)}}function q_(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 yD(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 U_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!un(n)))return!0;await bD(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!un(n))}async function Ma(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await hD("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await H_(o);if(!i)continue;let a=Number(i[1]);if(!Number.isSafeInteger(a))continue;let c=t.get(a)??[];c.push(o),t.set(a,c)}let r=[],n=[...t.get(e)??[]];for(;n.length>0;){let s=n.shift();r.push(s),n.push(...t.get(s)??[])}return r.reverse()}async function bo(e){return(await H_(e))?.[19]}async function es(e,t){if(!un(e))return!1;if(!t)return!0;let r=await bo(e);return r===void 0?process.platform!=="linux":r===t}function un(e){try{return process.kill(e,0),!0}catch{return!1}}async function H_(e){if(process.platform!=="linux")return null;try{let t=await gD(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function bD(e){await new Promise(t=>setTimeout(t,e))}var or=_(()=>{"use strict"});import{constants as wD}from"node:os";async function W_(e){let t=e[1],r={timeoutMs:pp.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:M_,terminateGraceMs:B_,probeTimeoutMs:j_,format:"toon",captureBytes:F_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=pp[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=wo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=kD(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=wo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=wo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=wo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=ED(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 _D(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function _D(e){if(!(e.signal in wD.signals))throw new Error(`invalid signal: ${e.signal}`);if(e.signalPid!==void 0){if(!Number.isSafeInteger(e.signalPid)||e.signalPid<=0)throw new Error(`invalid signal pid: ${e.signalPid}`);if(!un(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await bo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function wo(e){let t=/^([1-9][0-9]*)(ms|s|m|h)?$/.exec(e);if(!t)throw new Error(`invalid timeout: ${e}`);let r=Number(t[1]),n=t[2]??"ms";return n==="ms"?r:n==="s"?r*1e3:n==="m"?r*6e4:r*60*6e4}function ts(e,t,r=process.env){let n=r[e];if(!n)return t;try{return wo(n)}catch{return t}}function ED(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function kD(e){return e.startsWith("SIG")?e:`SIG${e}`}var V_=_(()=>{"use strict";ln();or()});import{existsSync as gp,readFileSync as SD,statSync as RD}from"node:fs";import{basename as J_,dirname as Ba,isAbsolute as vD,join as K_,resolve as _o}from"node:path";function Eo(e,t=process.env){let r=_o(e);if(Od.map(i=>t[i]).find(Boolean))return Aw({startDir:r,env:t,exists:gp});let s=xD(r),o=TD(r,s);return o||(s??r)}function TD(e,t){let r=e;for(;;){if(gp(K_(r,".red")))return r;if(t&&r===t)return null;let n=_o(r,"..");if(n===r)return null;r=n}}function xD(e){let t=e;for(;;){let r=K_(t,".git");if(gp(r))return CD(r)?t:OD(r)??t;let n=_o(t,"..");if(n===t)return null;t=n}}function OD(e){let t=AD(e);if(!t)return null;let r=Ba(t),n=Ba(r);return J_(r)!=="worktrees"||J_(n)!==".git"?null:Ba(n)}function AD(e){let t;try{t=SD(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return vD(n)?_o(n):_o(Ba(e),n)}function CD(e){try{return RD(e).isDirectory()}catch{return!1}}var ja=_(()=>{et()});import{join as PD}from"node:path";function LD(e,t=process.env){return Eo(e,t)}function rs(e,t=process.env){return Ow(LD(e,t))}function z_(e,t=process.env){return PD(rs(e,t),ID)}var ID,yp=_(()=>{"use strict";et();ja();ID="spool"});import{randomUUID as GD}from"node:crypto";import{existsSync as DD}from"node:fs";import{mkdir as ND,readdir as $D,readFile as FD,rename as MD,rm as bp,writeFile as BD}from"node:fs/promises";import{dirname as jD,join as Q_}from"node:path";function X_(e,t,r=process.env){return Q_(rs(e,r),`${t}${qD}`)}async function ns(e,t){await wp(e,`${ge(t)}
50
- `)}async function qa(e,t,r){t.status=r,await ns(e,t)}async function Ua(e,t=process.env){let r=rs(e,t);if(!DD(r))return[];let n=await $D(r).catch(()=>[]),s=[];for(let o of n.filter(i=>UD.some(a=>i.endsWith(a)))){let i=Q_(r,o),a=await HD(i);if(!a){await bp(i,{force:!0});continue}if(!await WD(a)){await bp(i,{force:!0});continue}s.push(a)}return s}async function HD(e){let t;try{t=await FD(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=VD(r);return n&&Object.keys(n).length>0?n:null}async function WD(e){let t=typeof e.pid=="number"?e.pid:0;if(!t||!Number.isSafeInteger(t)||t<=0)return!1;let r=typeof e.pid_start_time=="string"?e.pid_start_time:void 0;return await es(t,r)}function VD(e){try{let t=z(e);if(Y_(t))return t}catch{}try{let t=JSON.parse(e);if(Y_(t))return t}catch{}return null}async function wp(e,t){await ND(jD(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${GD()}`;try{await BD(r,t,"utf8"),await MD(r,e)}finally{await bp(r,{force:!0})}}function _p(e){return{schema:N_,version:1,...e}}function Y_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var qD,UD,So=_(()=>{"use strict";J();Qt();ln();yp();or();qD=".toon",UD=[".toon",".json"]});function ss(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return ss(e)?e:{}}function dn(e){return Array.isArray(e)?e.filter(ss):[]}function oe(e,t){let r=e[t];return typeof r=="string"?r:""}function pn(e,t){let r=e[t];return typeof r=="number"?r:0}function Ro(e){let t=JSON.parse(e);if(!ss(t))throw new Error("expected JSON object");return t}function Ha(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Wa=_(()=>{"use strict"});import{spawn as JD}from"node:child_process";import{resolve as KD}from"node:path";async function Z_(e,t,r){let n=[];if(e.signalPid){let s=await zD(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await YD(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function zD(e){let t=e.signalPid;if(!await es(t,e.signalPidStartTime))return{hook:"signal-pid",error:"target process is no longer the process the wait was asked to signal",pid:t,signal:e.signal};try{return process.kill(t,e.signal),null}catch(r){return{hook:"signal-pid",error:eE(r),pid:t,signal:e.signal}}}async function YD(e,t,r){let n=at(t.wait),s=at(t.verdict);return await QD(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?KD(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 QD(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=JD(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,Zn(l,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);l.once("error",d=>{clearTimeout(u),c({error:eE(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 eE(e){return e instanceof Error?e.message:String(e)}var tE=_(()=>{"use strict";Wa();or()});import{resolve as XD}from"node:path";async function rE(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=ZD(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=vo(t,r,o,{status:"pending"},i);await To(n.resultFile,a,n.format);let c=await Z_(n,a,s),l=vo(t,r,o,c,i);return await To(n.resultFile,l,n.format),{result:l,exitCode:nE(o,c)}}function nE(e,t){return t.status!=="success"||e.status==="running"?2:mp(e.status)}function ZD(e,t,r=[]){return t!==!1?e:{status:"indeterminate",exitCode:2,summary:`${e.summary}; could not verify process cleanup`,details:{...e.details??{},cleanup:{verified:!1,survivors:r}}}}function vo(e,t,r,n,s){return{schema:D_,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:nE(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function To(e,t,r){e&&await wp(XD(e),os(t,r))}function os(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
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)}
51
51
  `:`${ge(e)}
52
- `}var sE=_(()=>{"use strict";Qt();ln();So();tE()});import{createWriteStream as eN,mkdirSync as tN}from"node:fs";import{readFile as rN,rm as nN}from"node:fs/promises";import{dirname as sN}from"node:path";import{join as oE}from"node:path";function iE(e,t,r){return{stdout:new Va(r,oE(e,`${t}.stdout.bin`)),stderr:new Va(r,oE(e,`${t}.stderr.bin`))}}function oN(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!iN(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function iN(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var Va,aE=_(()=>{"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,...oN(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 rN(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{tN(sN(this.spoolPath),{recursive:!0}),t=eN(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 nN(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as aN,readFileSync as E6}from"node:fs";import{dirname as cN,join as lN}from"node:path";function Ep(e,t){let r=e;for(let n=0;n<16;n++){let s=lN(r,t);if(aN(s))return s;let o=cN(r);if(o===r)break;r=o}return null}function uN(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function xo(e,t){let r=[];for(let n of e.split(`
53
- `)){let s=n.replace(/\r$/,""),o=s.trim();if(!o||o.startsWith("#"))continue;let i=s.indexOf(":");if(i<0)continue;let a=s.length-s.trimStart().length,c=s.slice(0,i).trim();if(!c)continue;let l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return uN(l)}}var Ja=_(()=>{});var yE={};se(yE,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>as,GH_ETAG_CACHE_DIR_NAME:()=>dE,LEGACY_GH_ETAG_CACHE_FILE:()=>pE,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>fE,enforceGhEtagCacheCeiling:()=>vp,ghEtagCacheDir:()=>Ka,ghEtagEntryPath:()=>za,isCacheEntry:()=>Qa,legacyGhEtagCachePaths:()=>Rp,migrateLegacyGhEtagCache:()=>xp,readGhEtagCache:()=>Ya,readGhEtagEntry:()=>yN,resetGhEtagCacheMigrationMemo:()=>wN,sweepGhEtagCache:()=>Tp,writeGhEtagEntry:()=>bN});import{existsSync as dN}from"node:fs";import{mkdir as pN,readdir as fN,rename as mN,rm as cE,stat as lE,unlink as uE,writeFile as hN}from"node:fs/promises";import{dirname as gN,join as is}from"node:path";function Ka(e){return is(ce(e),dE)}function za(e,t){return is(Ka(e),`${SN(t)}.toon`)}function Rp(e){let t=ce(e);return[is(t,pE),is(t,fE)]}async function yN(e,t){await xp(e);try{let r=gE(await Oa(za(e,t)));return Qa(r)?r:void 0}catch{return}}async function bN(e,t,r={}){return await hE(za(e,t.key),t),await vp(e,r.maxBytes??as)}async function vp(e,t=as){let r=await EN(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 uE(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 _N(e);return{...await vp(e,t.maxBytes??as),reclaimedTmp:n,migratedEntries:r}}async function Ya(e){for(let t of Rp(e))try{let r=gE(await Oa(t));if(RN(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=>dN(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 kN(a)||(await hE(a,{...i,key:o}),s+=1)}for(let o of r)await cE(o,{force:!0});return s}function wN(){kp.clear()}async function _N(e){let t=0;for(let r of[ce(e),Ka(e)])for(let n of await mE(r))if(n.endsWith(".tmp"))try{await uE(is(r,n)),t+=1}catch{}return t}async function EN(e){let t=Ka(e),r=[];for(let n of await mE(t)){if(!n.endsWith(".toon"))continue;let s=is(t,n);try{let o=await lE(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function mE(e){try{return await fN(e)}catch{return[]}}async function kN(e){try{return await lE(e),!0}catch{return!1}}async function hE(e,t){await pN(gN(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await hN(r,`${M(t)}
54
- `,{encoding:"utf8",mode:384}),await mN(r,e)}catch(n){throw await cE(r,{force:!0}),n}}function SN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function gE(e){try{return JSON.parse(e)}catch{return z(e)}}function RN(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 dE,pE,fE,as,kp,Xa=_(()=>{"use strict";et();J();we();dE="gh-etag",pE="gh-etag-cache.toon",fE="gh-etag-cache.json",as=4*1024*1024;kp=new Set});var Ap={};se(Ap,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,DEFAULT_RSP_IDLE_MS:()=>tc,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>kE,DEFAULT_RSP_STORE_PATH:()=>Op,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>ec,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>wE,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>_E,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Za,DEFAULT_RSP_TTL_DAYS:()=>_t,MIN_RSP_IDLE_MS:()=>EE,resolveRspConfig:()=>De});import{existsSync as vN,readFileSync as TN}from"node:fs";import{join as xN,resolve as bE}from"node:path";function De(e,t,r){let n=Ep(bE(e),xN(".red","config.yaml")),s=n?TN(n,"utf8"):"",o=xo(s,"rsp.enabled")==="true",i=xo(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Ge(_e(s,"rsp.ttlDays"),_t),l=Ge(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"),wE),m=Ge(Nt(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??_e(s,"rsp.telemetryDrainTimeoutMs"),_E),g=ON(Nt(t.RSP_IDLE_MS)??_e(s,"rsp.idleMs"),tc,EE),b=Ge(Nt(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??_e(s,"rsp.heavyGitByteThreshold"),ir),y=AN(Nt(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??_e(s,"rsp.measurement.holdoutShare"),kE),E=Ge(Nt(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??_e(s,"rsp.ghEtagCacheMaxBytes"),as),w={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://${xw(bE(k),vN)}`;return{enabled:o,proxyEnabled:a,storeUri:S,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:g,heavyGitByteThreshold:b,measurementHoldoutShare:y,ghEtagCacheMaxBytes:E,overhead:w}}function _e(e,t){let r=xo(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Ge(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ON(e,t,r){let n=Ge(e,t);return Math.max(n,r)}function AN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function Nt(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var ir,Op,_t,Et,kt,Za,ec,wE,_E,tc,EE,kE,Ue=_(()=>{"use strict";Ja();et();Na();we();Xa();ir=8*1024,Op=vw,_t=7,Et=6,kt=64*1024*1024,Za=90,ec=4*1024*1024,wE=3e4,_E=2e3,tc=5*6e4,EE=5e3,kE=0});function SE(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Qn)),o=s(e,De(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var RE=_(()=>{"use strict";Ue()});import{spawn as CN}from"node:child_process";async function TE(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??SE(n),c=iE(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=CN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",y=>c.stdout.write(Buffer.from(y))),f.stderr?.on("data",y=>c.stderr.write(Buffer.from(y)));let m=async(y,E)=>{if(u||d)return;d=!0,clearTimeout(b);let w=await Zn(f,r.terminateGraceMs),k=await vE(null,null,c,a,t);await p({verdict:{status:y,exitCode:2,summary:E,details:k},cleanupProven:w.cleaned,survivors:w.survivors})},g=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",g,{once:!0});let b=setTimeout(()=>{m("timeout",`command timed out after ${xE(r.timeoutMs)}`)},r.timeoutMs);f.once("error",y=>{clearTimeout(b),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:y.message}})}),f.once("close",(y,E)=>{if(clearTimeout(b),u||d)return;let w=y===0;vE(y,E,c,a,t).then(k=>p({verdict:{status:w?"success":"failure",exitCode:w?0:1,summary:w?"command exited successfully":`command exited with ${E??y??"unknown"}`,details:k}}))}),i.aborted&&g()})}async function Oo(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:PN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(g){u=ue(g instanceof Error?g.message:String(g))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=Cp(u),await ns(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await qa(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await IN(f,i,m)}return await qa(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${xE(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:Cp(l)}:{attempts:c}}}}async function vE(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 PN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:Cp(e)}:{}})}async function IN(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 xE(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var OE=_(()=>{"use strict";aE();RE();ln();or();So()});var AE={};se(AE,{readGhConditionalJson:()=>ct,readGhEtagCache:()=>Ya,sweepGhEtagCache:()=>Tp});import{execFileSync as LN}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=NN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??DN(e.path),path:e.path,actor:GN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=De(t,r),c=yo(t,a);try{i=await c.githubRead(o)}finally{await c.close()}}return{status:i.status,stdout:i.stdout,stderr:i.stderr,quotaFree:i.quotaFree}}catch(i){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:"rsp-github-resident-unavailable",repair:"restore the rsp resident and GitHub credential, then retry",detail:i instanceof Error?i.message:String(i)}),quotaFree:!1}}}function GN(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function DN(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 NN(e){let t="";try{t=String(LN("git",["config","--get","remote.origin.url"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]})).trim()}catch{return null}let n=t.replace(/^git@[^:]+:/,"").replace(/^ssh:\/\/git@[^/]+\//,"").replace(/^https?:\/\/[^/]+\//,"").replace(/\.git$/,"").replace(/^\/+|\/+$/g,"").split("/").filter(Boolean);return n.length<2?null:{owner:n[n.length-2],repo:n[n.length-1]}}var Ao=_(()=>{"use strict";Ue();nr();Xa()});function CE(e){return e==="single-object"?"rest":"graphql"}function PE(e,t){return e==="stable-poll"?"rest":CE(t)}function He(e){return{none:e}}function de(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??PE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function We(e,t,r,n,s){let o=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...o,why:n}}function LE(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=LE(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 GE(e){return $N.get(Pp(e))??null}function Ip(e){let t=GE(e);if(!t)throw new rc(e);return t}var IE,$N,rc,DE=_(()=>{IE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",He("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",He("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",He("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",He("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",He("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",He("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",He("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",He("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",He("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",He("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),We("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),We("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),We("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),We("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),We("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),We("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",He("linked-branch creation has no REST mutation")),We("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),We("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),We("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),We("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),We("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),We("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",He("GitHub exposes no REST ready-for-review mutation")),We("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),We("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],$N=new Map(IE.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 NE(e){return e instanceof cs}function nc(e=process.env){let t=e[Lp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function ls(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new cs(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function Co(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??nc();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=FN(n);try{return await ls(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw NE(l)?l:o.aborted&&i?.aborted!==!0?new cs(c,r,{cause:l}):l}}}function FN(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var Lp,cs,Gp=_(()=>{Lp="RED_GITHUB_REQUEST_TIMEOUT_MS",cs=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${Lp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function FE(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 FE(e[$E])}var sc,$E,$p=_(()=>{sc="off",$E="RED_GITHUB_BUDGET_GATE"});import{execFile as MN}from"node:child_process";import{renameSync as BN,rmSync as jN,statSync as qN,writeFileSync as UN}from"node:fs";import{readdir as n5,readFile as HN,rename as WN,rm as VN,stat as JN,writeFile as KN}from"node:fs/promises";import{promisify as zN}from"node:util";function BE(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 jE(e){return e.code==="ENOENT"}async function us(e,t,r,n=JN){let s=BE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!jE(i))throw i}return o+t>s}function qE(e,t,r,n=qN){let s=BE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!jE(i))throw i}return o+t>s}async function XN(e,t,r){try{return await YN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function ZN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function e$(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}async function t$(e,t){let r=`${e}.retaining-${process.pid}`;try{await KN(r,t,{encoding:"utf8",mode:384}),await WN(r,e)}finally{await VN(r,{force:!0})}}function UE(e,t){let r=`${e}.retaining-${process.pid}`;try{UN(r,t,{encoding:"utf8",mode:384}),BN(r,e)}finally{jN(r,{force:!0})}}async function ds(e,t,r={}){ZN(t);let n=r.timeoutMs??QN;if(await(r.runTq??XN)(e,t,n))return"tq";let o=await HN(e,"utf8"),i=o.endsWith(`
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(`
55
55
  `)?o:o.slice(0,o.lastIndexOf(`
56
- `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await t$(e,e$(c)),"js"}var YN,Ve,QN,i5,ar,ME,St,fn=_(()=>{J();YN=zN(MN),Ve=.5,QN=5e3,i5=256*1024*1024,ar=1024*1024,ME=14*24*60*60*1e3,St={"process-deaths":{maxBytes:4*ar,maxAgeMs:ME,targetRatio:Ve},"github-spend":{maxBytes:8*ar,targetRatio:Ve},"github-balance":{maxBytes:64*1024,targetRatio:Ve},"github-balance-history":{maxBytes:2*ar,targetRatio:Ve},"castle-singleton-events":{maxBytes:2*ar,targetRatio:Ve},"redskilled-events":{maxBytes:4*ar,targetRatio:Ve},"rsp-telemetry-spool":{maxBytes:8*ar,targetRatio:Ve},"rsp-telemetry-corrections":{maxBytes:ar,targetRatio:Ve},"death-attributions":{maxBytes:ar,maxAgeMs:ME,targetRatio:Ve},"worker-log":{maxLines:5e4,targetRatio:Ve},"worker-liveness":{maxBytes:ar,targetRatio:Ve},"castle-history":{maxLines:1e4,targetRatio:Ve}}});import{appendFile as r$,mkdir as n$,readFile as HE}from"node:fs/promises";import{dirname as s$}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=c$(o.operation,o.cost,o.observedAt??t(),o.actor,e.identity),a=je().push(u$(i)),c=s.then(async()=>{await n$(s$(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await us(e.path,l,n)){let u=n.maxBytes;if(l>u)throw new Error(`GitHub spend observation exceeds its ${u}-byte lane ceiling`);let d=await o$(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await ds(e.path,i$(d,l,p))}await r$(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 l$(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 o$(e){try{let t=await HE(e,"utf8");return t.trim()===""?[]:Oe(t)}catch(t){if(WE(t)&&t.code==="ENOENT")return[];throw t}}function i$(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=a$(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function a$(e){return e.map(t=>je({trailer:!1}).push(t)).join("")}function c$(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 l$(e){let t;try{t=await HE(e,"utf8")}catch(o){if(WE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
56
+ `)+1),a=i===""?[]:Oe(i),c=t===0?[]:a.slice(-t);return await 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},verdicts:{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
57
  `);for(let o=0;o<s.length;o+=1){let i=s[o];if(i.trim()==="")continue;let a=s[o+1];if(!i.startsWith("[]{")||a===void 0||a.trim()===""){n+=1;continue}let c;try{c=Oe(`${i}
58
58
  ${a}
59
- `)[0]}catch{n+=1,o+=1;continue}if(!d$(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function u$(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 d$(e){return p$(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 p$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function WE(e){return e instanceof Error&&"code"in e}var VE=_(()=>{fn();J()});function Ae(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var cr=_(()=>{});function g$(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}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)}function zE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{y$(t[n])?n in e?r[n]=zE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function JE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function 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=g$(r.headers),JE(r),JE(r.headers);let n=zE(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 b$(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 _$(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function E$(e){let t=e.match(w$);return t?t.map(_$).reduce((r,n)=>r.concat(n),[]):[]}function KE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function YE(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function fs(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Po(e,t,r){return t=e==="+"||e==="#"?YE(t):fs(t),r?fs(r)+"="+t:t}function ps(e){return e!=null}function Bp(e){return e===";"||e==="&"||e==="?"}function k$(e,t,r,n){var s=e[r],o=[];if(ps(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),o.push(Po(t,s,Bp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(ps).forEach(function(i){o.push(Po(t,i,Bp(t)?r:""))}):Object.keys(s).forEach(function(i){ps(s[i])&&o.push(Po(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(ps).forEach(function(a){i.push(Po(t,a))}):Object.keys(s).forEach(function(a){ps(s[a])&&(i.push(fs(a)),i.push(Po(t,s[a].toString())))}),Bp(t)?o.push(fs(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?ps(s)&&o.push(fs(r)):s===""&&(t==="&"||t==="?")?o.push(fs(r)+"="):s===""&&o.push("");return o}function S$(e){return{expand:R$.bind(null,e)}}function R$(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(k$(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 YE(o)}),e==="/"?e:e.replace(/\/$/,"")}function QE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=KE(e,["method","baseUrl","url","headers","request","mediaType"]),i=E$(r);r=S$(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=KE(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=b$(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 v$(e,t,r){return QE(jp(e,t,r))}function XE(e,t){let r=jp(e,t),n=v$.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:XE.bind(null,r),merge:jp.bind(null,r),parse:QE})}var f$,m$,h$,w$,ZE,ek=_(()=>{cr();f$="0.0.0-development",m$=`octokit-endpoint.js/${f$} ${Ae()}`,h$={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":m$},mediaType:{format:""}};w$=/\{[^{}}]+\}/g;ZE=XE(null,h$)});var ak=I(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.format=A$;oc.parse=C$;var T$=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,rk=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,x$=/[\\"]/g,O$=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,nk=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function A$(e){let{type:t,parameters:r}=e;if(!t||!O$.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!rk.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${G$(r[s])}`}return n}function C$(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 nk:L$(e,n,r);return{type:i,parameters:a}}var sk=32,ok=9,ik=59,P$=61,tk=34,I$=92;function L$(e,t,r){let n=new nk;e:for(;t<r;){t=Up(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===ik)continue e;if(o===P$){let i=Hp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Up(e,t+1,r),t<r&&e.charCodeAt(t)===tk){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===tk){t=qp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===I$&&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)!==ik;)t++;return t}function Up(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==sk&&n!==ok)break;t++}return t}function Hp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==sk&&n!==ok)break;r--}return r}function G$(e){if(rk.test(e))return e;if(T$.test(e))return`"${e.replace(x$,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var D$,ac,Er,Wp,pk,ck,lk,Vp,Jp,N$,fk,ic,$$,F$,M$,mk,uk,B$,j$,q$,dk,hk,gk=_(()=>{D$=/^-?\d+$/,ac=/^-?\d+n+$/,Er=JSON.stringify,Wp=JSON.parse,pk=/^-?\d+n$/,ck=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,lk=/([\[:])?("-?\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",N$=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,g,b)=>(b!==null&&typeof b=="object"&&typeof b.toJSON=="function"&&(b=b.toJSON(g)),typeof b=="string"&&ac.test(b)?b+"n":typeof b=="bigint"?"rawJSON"in JSON?JSON.rawJSON(b.toString()):b.toString()+"n":(s&&(b=t.call(m,g,b)),b!==null&&typeof b=="object"&&(b instanceof Number||b instanceof String||b instanceof Boolean)&&(b=b.valueOf()),b)),a=i({"":e},"",e);if(Vp(a))return;let c=a===null||typeof a!="object",l=Jp(a);if(c||l)return Er(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let g=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
60
- `+n.repeat(d));let b=m.val[m.index],y=i(m.val,String(m.index),b);if(Vp(y))u.push("null"),m.first=!1,m.index++;else{let E=y!==null&&typeof y=="object",w=Jp(y);if(E&&!w){if(f.has(y))throw new TypeError("Converting circular structure to JSON");f.add(y),p.push({parent:m.val,key:String(m.index),val:y,isArray:Array.isArray(y),keys:Array.isArray(y)?null:Object.keys(y),index:0,first:!0}),m.first=!1,m.index++}else u.push(Er(y)),m.first=!1,m.index++}}else g=!0;else{for(;m.index<m.keys.length;){let y=m.keys[m.index++];if(o&&!o.has(y))continue;let w=m.val[y],k=i(m.val,y,w);if(Vp(k))continue;m.first||u.push(","),n?u.push(`
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
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("")},fk=(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(ck,"$1$2$3").replace(lk,"$1$2$3"):Er(e,t,r)}catch(n){if(n instanceof RangeError){let s=N$(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(ck,"$1$2$3").replace(lk,"$1$2$3")}throw n}},ic=new Map,$$=()=>{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}},F$=(e,t,r,n)=>typeof t=="string"&&pk.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,M$=(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&&D$.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),mk=Number.MAX_SAFE_INTEGER.toString(),uk=mk.length,B$=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,j$=/^"-?\d+n+"$/,q$=(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"&&(pk.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[""]},dk=e=>e.replace(B$,(t,r,n,s)=>{let o=t[0]==='"';if(o&&j$.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<uk||r.length===uk&&r<=mk);return o||a||c?t:'"'+t+'n"'}),hk=(e,t)=>{if(!e)return Wp(e,t);try{if($$())return M$(e,t);let r=dk(e);return Wp(r,(n,s,o)=>F$(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=dk(e),s=Wp(n);return q$(s,t)}throw r}}});var Rt,cc=_(()=>{Rt=class extends Error{name;status;request;response;constructor(t,r,n){super(t,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function W$(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 bk(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=W$(e.body)||Array.isArray(e.body)?fk(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(J$(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(yk);let r=(0,wk.parse)(t);if(V$(r)){let n="";try{return n=await e.text(),hk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(yk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function V$(e){return e.type==="application/json"||e.type==="application/scim+json"}function J$(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 bk(r.parse(i));let a=(c,l)=>bk(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 wk,U$,H$,yk,te,Ne=_(()=>{ek();cr();wk=oa(ak(),1);gk();cc();U$="10.0.13",H$={headers:{"user-agent":`octokit-request.js/${U$} ${Ae()}`}};yk=()=>"";te=zp(ZE,H$);});function K$(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:K$(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 Sk(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=_k(s,r.data.expires_in),n.refreshTokenExpiresAt=_k(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function _k(e,t){return new Date(e+t*1e3).toISOString()}async function Rk(e){let 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=Ek(s,r.data.expires_in),n.refreshTokenExpiresAt=Ek(s,r.data.refresh_token_expires_in)}delete n.scopes}return{...r,authentication:n}}function Ek(e,t){return new Date(e+t*1e3).toISOString()}async function vk(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 Tk(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:kk(n,r.data.expires_in),refreshTokenExpiresAt:kk(n,r.data.refresh_token_expires_in)};return{...r,authentication:s}}function kk(e,t){return new Date(e+t*1e3).toISOString()}async function xk(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 Ok(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 Ak(e){let t=e.request||te,r=btoa(`${e.clientId}:${e.clientSecret}`);return t("DELETE /applications/{client_id}/grant",{headers:{authorization:`basic ${r}`},client_id:e.clientId,access_token:e.token})}var uc=_(()=>{cc();Ne();Ne();Ne();Ne();Ne();Ne();Ne();Ne();});async function Pk(e,t){let r=z$(e,t.auth);if(r)return r;let{data:n}=await Rk({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 z$(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 Ck(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 Ck(n.interval),Qp(e,t,r,n);if(o==="slow_down")return await Ck(n.interval+7),Qp(e,t,r,n);throw s}}async function Y$(e,t){return Pk(e,{auth:t})}async function Q$(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 Pk(e,{request:t,auth:{type:"oauth"}});return s.headers.authorization=`token ${o}`,t(s)}function Ik(e){let t=e.request||te.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${X$} ${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(Y$.bind(null,s),{hook:Q$.bind(null,s)})}var X$,Lk=_(()=>{cr();Ne();uc();X$="0.0.0-development";});async function Gk(e){if("code"in e.strategyOptions){let{authentication:t}=await Sk({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 Ik({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 Gk(e):await Gk(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 Tk({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"?vk:xk;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"?Ok:Ak;try{await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request})}catch(s){if(s.status!==404)throw s}return e.authentication.invalid=!0,e.authentication}return e.authentication}function Io(e){return e&&Z$.test(e)}async function eF(e,t,r,n={}){let s=t.endpoint.merge(r,n);if(/\/login\/(oauth\/access_token|device\/code)$/.test(s.url))return t(s);if(Io(s.url)){let i=btoa(`${e.clientId}:${e.clientSecret}`);return s.headers.authorization=`basic ${i}`,t(s)}let{token:o}=e.clientType==="oauth-app"?await Xp({...e,request:t}):await Xp({...e,request:t});return s.headers.authorization="token "+o,t(s)}function dc({clientId:e,clientSecret:t,clientType:r="oauth-app",request:n=te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${Dk} ${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:eF.bind(null,i)})}var Dk,Z$,pc=_(()=>{cr();Ne();Lk();uc();uc();Dk="0.0.0-development";Z$=/\/applications\/[^/]+\/(token|grant)s?/;dc.VERSION=Dk;});async function tF(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 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);if(e.clientType==="github-app"&&!Io(s.url))throw new Error(`[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${s.method} ${s.url}" is not supported.`);let o=btoa(`${e.clientId}:${e.clientSecret}`);s.headers.authorization=`basic ${o}`;try{return await t(s)}catch(i){throw i.status!==401||(i.message=`[@octokit/auth-oauth-app] "${s.method} ${s.url}" does not support clientId/clientSecret basic authentication.`),i}}function Nk(e){let t=Object.assign({request:te.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${nF} ${Ae()}`}}),clientType:"oauth-app"},e);return Object.assign(tF.bind(null,t),{hook:rF.bind(null,t)})}var nF,$k=_(()=>{cr();Ne();pc();pc();nF="0.0.0-development";});function fc(e){return e.includes("-----BEGIN RSA PRIVATE KEY-----")}function Mk(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 Bk(e){let t=e.trim().split(`
63
- `).slice(1,-1).join(""),r=atob(t);return Zp(r)}function jk(e,t){return`${Fk(e)}.${Fk(t)}`}function qk(e){for(var t="",r=new Uint8Array(e),n=r.byteLength,s=0;s<n;s++)t+=String.fromCharCode(r[s]);return Uk(btoa(t))}function Uk(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Fk(e){return Uk(btoa(JSON.stringify(e)))}var ef=_(()=>{});import{subtle as tf}from"node:crypto";import{createPrivateKey as sF}from"node:crypto";function Hk(e){return fc(e)?sF(e).export({type:"pkcs8",format:"pem"}):e}var Wk=_(()=>{ef()});async function Vk({privateKey:e,payload:t}){let r=Hk(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(Mk(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=Bk(r),i=await tf.importKey("pkcs8",o,n,!1,["sign"]),a=jk(s,t),c=Zp(a),l=await tf.sign(n.name,i,c),u=qk(l);return`${a}.${u}`}var Jk=_(()=>{ef();Wk()});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 Vk({privateKey:n,payload:{iat:s,exp:o,iss:e}});return{appId:e,expiration:o,token:a}}var Kk=_(()=>{Jk()});function oF(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,zk=_(()=>{mc=class{constructor(t=1e3,r=0){oF(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 iF(){return new mc(15e3,1e3*60*59)}async function aF(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 cF(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 Yk({installationId:e,token:t,createdAt:r,expiresAt:n,repositorySelection:s,permissions:o,repositoryIds:i,repositoryNames:a,singleFileName:c}){return Object.assign({type:"token",tokenType:"installation",token:t,installationId:e,permissions:o,createdAt:r,expiresAt:n,repositorySelection:s},i?{repositoryIds:i}:null,a?{repositoryNames:a}:null,c?{singleFileName:c}:null)}async function Qk(e,t,r){let n=Number(t.installationId||e.installationId);if(!n)throw new Error("[@octokit/auth-app] installationId option is required for installation authentication.");if(t.factory){let{type:o,factory:i,oauthApp:a,...c}={...e,...t};return i(c)}let s=r||e.request;return lF(e,{...t,installationId:n},s)}function lF(e,t,r){let n=nf(t);if(hc.has(n))return hc.get(n);let s=uF(e,t,r).finally(()=>hc.delete(n));return hc.set(n,s),s}async function uF(e,t,r){if(!t.refresh){let E=await aF(e.cache,t);if(E){let{token:w,createdAt:k,expiresAt:S,permissions:T,repositoryIds:C,repositoryNames:O,singleFileName:G,repositorySelection:q}=E;return Yk({installationId:t.installationId,token:w,createdAt:k,expiresAt:S,permissions:T,repositorySelection:q,repositoryIds:C,repositoryNames:O,singleFileName:G})}}let n=await gc(e),s={installation_id:t.installationId,mediaType:{previews:["machine-man"]},headers:{authorization:`bearer ${n.token}`}};t.repositoryIds&&Object.assign(s,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(s,{repositories:t.repositoryNames}),t.permissions&&Object.assign(s,{permissions:t.permissions});let{data:{token:o,expires_at:i,repositories:a,permissions:c,repository_selection:l,single_file:u}}=await r("POST /app/installations/{installation_id}/access_tokens",s),d=c||{},p=l||"all",f=a?a.map(E=>E.id):void 0,m=a?a.map(E=>E.name):void 0,g=new Date().toISOString(),b={token:o,createdAt:g,expiresAt:i,repositorySelection:p,permissions:d,repositoryIds:f,repositoryNames:m};u&&Object.assign(s,{singleFileName:u}),await cF(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}),Yk(y)}async function dF(e,t){switch(t.type){case"app":return gc(e);case"oauth-app":return e.oauthApp({type:"oauth-app"});case"installation":return Qk(e,{...t,type:"installation"});case"oauth-user":return e.oauthApp(t);default:throw new Error(`Invalid auth type: ${t.type}`)}}function fF(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})$`;return new RegExp(r,"i")}function hF(e){return!!e&&mF.test(e.split("?")[0])}function yF(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 bF(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(hF(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(yF(u)||typeof u.response.headers.date>"u")throw u;let d=Math.floor((Date.parse(u.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(u.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${d} seconds. Retrying request with the difference accounted for.`);let{token:p}=await gc({...e,timeDifference:d});return s.headers.authorization=`bearer ${p}`,t(s)}return l}if(Io(o)){let c=await e.oauthApp({type:"oauth-app"});return s.headers.authorization=c.headers.authorization,t(s)}let{token:i,createdAt:a}=await Qk(e,{},t.defaults({baseUrl:s.baseUrl}));return s.headers.authorization=`token ${i}`,Xk(e,t,s,a)}async function Xk(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>=gF)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)),Xk(e,t,r,n,s)}}function Zk(e){if(!e.appId)throw new Error("[@octokit/auth-app] appId option is required");if(!e.privateKey&&!e.createJwt)throw new Error("[@octokit/auth-app] privateKey option is required");if(e.privateKey&&e.createJwt)throw new Error("[@octokit/auth-app] privateKey and createJwt options are mutually exclusive");if("installationId"in e&&!e.installationId)throw new Error("[@octokit/auth-app] installationId is set to a falsy value");let t=e.log||{};typeof t.warn!="function"&&(t.warn=console.warn.bind(console));let r=e.request||te.defaults({headers:{"user-agent":`octokit-auth-app.js/${wF} ${Ae()}`}}),n=Object.assign({request:r,cache:iF()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Nk({clientType:"github-app",clientId:e.clientId||"",clientSecret:e.clientSecret||"",request:r})});return Object.assign(dF.bind(null,n),{hook:bF.bind(null,n)})}var hc,pF,mF,gF,wF,eS=_(()=>{cr();Ne();$k();Kk();zk();pc();hc=new Map;pF=["/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"];mF=fF(pF);gF=5*1e3;wF="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,w;E=10,b=5,w=s,g=m,y=class{constructor(R,h,v,x,A,P,N,Z){this.task=R,this.args=h,this.rejectOnDrop=A,this.Events=P,this._states=N,this.Promise=Z,this.options=w.load(v,x),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===x.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((be,Re)=>{this._resolve=be,this._reject=Re}),this.retryCount=0}_sanitizePriority(R){var h;return h=~~R!==R?b:R,h<0?0:h>E-1?E-1:h}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:R,message:h="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(R??new g(h)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(R){var h;if(h=this._states.jobStatus(this.options.id),!(h===R||R==="DONE"&&h===null))throw new g(`Invalid job status ${h}, expected ${R}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(R,h){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:R,blocked:h})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(R,h,v,x){var A,P,N;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(N=await(R!=null?R.schedule(this.options,this.task,...this.args):this.task(...this.args)),h())return this.doDone(P),await x(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(Z){return A=Z,this._onFailure(A,P,h,v,x)}}doExpire(R,h,v){var x,A;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),A={args:this.args,options:this.options,retryCount:this.retryCount},x=new g(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(x,A,R,h,v)}async _onFailure(R,h,v,x,A){var P,N;if(v())return P=await this.Events.trigger("failed",R,h),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,h),this.retryCount++,x(N)):(this.doDone(h),await A(this.options,h),this._assertStatus("DONE"),this._reject(R))}doDone(R){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",R)}};var k=y,S,T,C;C=s,S=m,T=class{constructor(R,h,v){this.instance=R,this.storeOptions=h,this.clientId=this.instance._randomIndex(),C.load(v,v,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var R;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(R=this.heartbeat=setInterval(()=>{var h,v,x,A,P;if(A=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&A>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=A,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&A>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:h,reservoirIncreaseMaximum:x,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=A,v=x!=null?Math.min(h,x-P):h,v>0))return this.storeOptions.reservoir+=v,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?R.unref():void 0:clearInterval(this.heartbeat)}async __publish__(R){return await this.yieldLoop(),this.instance.Events.trigger("message",R.toString())}async __disconnect__(R){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(R=0){return new this.Promise(function(h,v){return setTimeout(h,R)})}computePenalty(){var R;return(R=this.storeOptions.penalty)!=null?R:15*this.storeOptions.minTime||5e3}async __updateSettings__(R){return await this.yieldLoop(),C.overwrite(R,R,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(R){return await this.yieldLoop(),this._nextRequest+this.timeout<R}computeCapacity(){var R,h;return{maxConcurrent:R,reservoir:h}=this.storeOptions,R!=null&&h!=null?Math.min(R-this._running,h):R!=null?R-this._running:h??null}conditionsCheck(R){var h;return h=this.computeCapacity(),h==null||R<=h}async __incrementReservoir__(R){var h;return await this.yieldLoop(),h=this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity()),h}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(R){return this._unblockTime>=R}check(R,h){return this.conditionsCheck(R)&&this._nextRequest-h<=0}async __check__(R){var h;return await this.yieldLoop(),h=Date.now(),this.check(R,h)}async __register__(R,h,v){var x,A;return await this.yieldLoop(),x=Date.now(),this.conditionsCheck(h)?(this._running+=h,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=h),A=Math.max(this._nextRequest-x,0),this._nextRequest=x+A+this.storeOptions.minTime,{success:!0,wait:A,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(R,h){var v,x,A;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&h>this.storeOptions.maxConcurrent)throw new S(`Impossible to add a job having a weight of ${h} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return x=Date.now(),A=this.storeOptions.highWater!=null&&R===this.storeOptions.highWater&&!this.check(h,x),v=this.strategyIsBlock()&&(A||this.isBlocked(x)),v&&(this._unblockTime=x+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:A,blocked:v,strategy:this.storeOptions.strategy}}async __free__(R,h){return await this.yieldLoop(),this._running-=h,this._done+=h,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var O=T,G,q;G=m,q=class{constructor(R){this.status=R,this._jobs={},this.counts=this.status.map(function(){return 0})}next(R){var h,v;if(h=this._jobs[R],v=h+1,h!=null&&v<this.status.length)return this.counts[h]--,this.counts[v]++,this._jobs[R]++;if(h!=null)return this.counts[h]--,delete this._jobs[R]}start(R){var h;return h=0,this._jobs[R]=h,this.counts[h]++}remove(R){var h;return h=this._jobs[R],h!=null&&(this.counts[h]--,delete this._jobs[R]),h!=null}jobStatus(R){var h;return(h=this.status[this._jobs[R]])!=null?h:null}statusJobs(R){var h,v,x,A,P;if(R!=null){if(v=this.status.indexOf(R),v<0)throw new G(`status must be one of ${this.status.join(", ")}`);x=this._jobs,A=[];for(h in x)P=x[h],P===v&&A.push(h);return A}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((R,h,v)=>(R[this.status[v]]=h,R),{})}};var Q=q,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."),Vt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),It,Fe,Me,Jt,$n,mr;mr=s,It=c,Jt=L,Me=U,$n=Vt,Fe=function(){class ${constructor(h={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=h,mr.load(this.limiterOptions,this.defaults,this),this.Events=new It(this),this.instances={},this.Bottleneck=Hy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Jt(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new Me(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(h=""){var v;return(v=this.instances[h])!=null?v:(()=>{var x;return x=this.instances[h]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${h}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",x,h),x})()}async deleteKey(h=""){var v,x;return x=this.instances[h],this.connection&&(v=await this.connection.__runCommand__(["del",...$n.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 Ks=Fe,Yr,zs,Ny;Ny=s,zs=c,Yr=function(){class ${constructor(h={}){this.options=h,Ny.load(this.options,this.defaults,this),this.Events=new zs(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((h,v)=>this._resolve=h)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(h){var v;return this._arr.push(h),v=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),v}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var TP=Yr,xP=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),OP=t(me),$y,Fy,qu,Uu,My,Hu,By,jy,qy,Wu,Lt,Uy=[].splice;Hu=10,Fy=5,Lt=s,By=p,Uu=k,My=O,jy=xP,qu=c,qy=Q,Wu=H,$y=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 By(Hu),this._scheduled={},this._states=new qy(["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 jy(this,A,x);if(this.datastore==="local")return x=Lt.load(h,this.localStoreDefaults,{}),new My(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 Ys;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:v,options:P}),Z?(N.shift(),Ys=this.empty(),Ys&&this.Events.trigger("empty"),Re===0&&this.Events.trigger("depleted",Ys),this._run(x,A,be),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(h,v=0){return this._drainOne(h).then(x=>{var A;return x!=null?(A=h!=null?h-x:h,this._drainAll(A,v+x)):this.Promise.resolve(v)}).catch(x=>this.Events.trigger("error",x))}_dropAllQueued(h){return this._queues.shiftAll(function(v){return v.doDrop({message:h})})}stop(h={}){var v,x;return h=Lt.load(h,this.stopDefaults),x=A=>{var P;return P=()=>{var 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]=Uy.call(h,-1),P=Lt.load({},this.jobDefaults)):(Z=h,[P,x,...h]=Z,[v]=Uy.call(h,-1),P=Lt.load(P,this.jobDefaults)),be=(...Re)=>new this.Promise(function(Ys,CP){return x(...Re,function(...Wy){return(Wy[0]!=null?CP:Ys)(Wy)})}),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=OP.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=Ks,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=U,$.Batcher=$.prototype.Batcher=TP,$.prototype.jobDefaults={priority:Fy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var Hy=$y,AP=Hy;return AP})});function EF(e){return e.request!==void 0}async function tS(e,t,r,n){if(!EF(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 kF(e,t,r,n){let s=new rS.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(SF.bind(null,e,t,r),n)}async function SF(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 tS(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",tS.bind(null,r,n)),e.hook.wrap("request",kF.bind(null,r,n))),n}var rS,_F,nS=_(()=>{rS=oa(af(),1);cc();_F="0.0.0-development";cf.VERSION=_F});import{readFileSync as RF}from"node:fs";function lf(e){try{return RF(e.privateKeyPath,"utf8")}catch(t){throw new Error(`cannot read the GitHub App private key at ${e.privateKeyPath}: ${t instanceof Error?t.message:String(t)}`)}}var yc=_(()=>{});function TF(e,t,r){return e.retryLimiter.schedule(xF,e,t,r)}async function xF(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=OF(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 OF(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 CF(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=oS.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:iS,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
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:
65
65
  You must pass the onSecondaryRateLimit and onRateLimit error handlers.
66
66
  See https://octokit.github.io/rest.js/#throttling
67
67
 
@@ -71,113 +71,113 @@ ${a}
71
71
  onRateLimit: (retryAfter, options) => {/* ... */}
72
72
  }
73
73
  })
74
- `);let l=!1,u=()=>{if(l)return;l=!0,vt.global==null&&PF(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(),TF(c,d,p))),{}}var oS,vF,uf,AF,sS,iS,vt,PF,aS=_(()=>{oS=oa(af(),1),vF="0.0.0-development",uf=()=>Promise.resolve();AF=["/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"];sS=CF(AF),iS=sS.test.bind(sS),vt={},PF=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=vF;bc.triggersNotification=iS});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 cS=_(()=>{});function lS(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 uS=_(()=>{});function dS(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 pS=_(()=>{});function hS(e,t,r){let n=mS(dS,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]=mS(lS,null).apply(null,o)})}function IF(){let e=Symbol("Singular"),t={registry:{}},r=wc.bind(null,t,e);return hS(r,t,e),r}function LF(){let e={registry:{}},t=wc.bind(null,e);return hS(t,e),t}var fS,mS,gS,yS=_(()=>{cS();uS();pS();fS=Function.bind,mS=fS.bind(fS);gS={Singular:IF,Collection:LF}});function DF(e){return`Request failed due to following response errors:
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
75
  `+e.errors.map(t=>` - ${t.message}`).join(`
76
- `)}function MF(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(FF.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>$F.includes(a)?(i[a]=n[a],i):(i.variables||(i.variables={}),i.variables[a]=n[a],i),{}),o=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return bS.test(o)&&(s.url=o.replace(bS,"/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 NF(s,a,i.data)}return i.data.data})}function df(e,t){let r=e.defaults(t);return Object.assign((s,o)=>MF(r,s,o),{defaults:df.bind(null,r),endpoint:r.endpoint})}function wS(e){return df(e,{method:"POST",url:"/graphql"})}var GF,NF,$F,FF,bS,DQ,_S=_(()=>{Ne();cr();GF="0.0.0-development";NF=class extends Error{constructor(e,t,r){super(DF(r)),this.request=e,this.headers=t,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name="GraphqlResponseError";errors;data},$F=["method","baseUrl","url","headers","request","query","mediaType","operationName"],FF=["query","method","url"],bS=/\/api\/v3\/?$/;DQ=df(te,{headers:{"user-agent":`octokit-graphql.js/${GF} ${Ae()}`},method:"POST",url:"/graphql"});});async function jF(e){let t=BF(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 qF(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function UF(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=qF(e),t(s)}var pf,ES,kS,BF,SS,RS=_(()=>{pf="(?:[a-zA-Z0-9_-]+)",ES="\\.",kS=new RegExp(`^${pf}${ES}${pf}${ES}${pf}$`),BF=kS.test.bind(kS);SS=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(jF.bind(null,t),{hook:UF.bind(null,t)})}});var ff,vS=_(()=>{ff="7.0.7"});function VF(e={}){return typeof e.debug!="function"&&(e.debug=TS),typeof e.info!="function"&&(e.info=TS),typeof e.warn!="function"&&(e.warn=HF),typeof e.error!="function"&&(e.error=WF),e}var TS,HF,WF,xS,_c,OS=_(()=>{cr();yS();Ne();_S();RS();vS();TS=()=>{},HF=console.warn.bind(console),WF=console.error.bind(console);xS=`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 gS.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} ${xS}`:xS,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=wS(this.request).defaults(n),this.log=VF(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=SS(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 AS,CS=_(()=>{AS="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 PS=_(()=>{CS();mf.VERSION=AS});function KF(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=KF(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 IS(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),LS(e,[],hf(e,t,r)[Symbol.asyncIterator](),n)}function LS(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:LS(e,t,r,n)})}function gf(e){return{paginate:Object.assign(IS.bind(null,e),{iterator:hf.bind(null,e)})}}var JF,XQ,GS=_(()=>{JF="0.0.0-development";XQ=Object.assign(IS,{iterator:hf});gf.VERSION=JF});var yf,DS=_(()=>{yf="17.0.0"});var zF,NS,$S=_(()=>{zF={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"]}},NS=zF});function bf(e){let t={};for(let r of mn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},YF);return t}function QF(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var mn,YF,FS=_(()=>{$S();mn=new Map;for(let[e,t]of Object.entries(NS))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);mn.has(e)||mn.set(e,new Map),mn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}YF={has({scope:e},t){return mn.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...mn.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=mn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=QF(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function XF(e){return{rest:bf(e)}}function wf(e){let t=bf(e);return{...t,rest:t}}var MS=_(()=>{DS();FS();XF.VERSION=yf;wf.VERSION=yf});var BS,jS=_(()=>{BS="22.0.1"});var qS,US=_(()=>{OS();PS();GS();MS();jS();qS=_c.plugin(mf,wf,gf).defaults({userAgent:`octokit-rest.js/${BS}`})});function ZF(e){return`r${e}`}function HS(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=ZF(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
76
+ `)}function 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
77
  `)})," rateLimit { cost }","}"].join(`
78
- `),aliases:r}}function WS(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 VS=_(()=>{});function kc(e,t,r=Date.now()){if(e instanceof kr)return e.fact;let n=rM(e),s=Ec(n,"retry-after"),o=e instanceof Error?e.message:nM(e,"message")??"";if(sM(e,"status")===429||s!==void 0||/secondary rate|abuse detection/i.test(o)){let d=s===void 0?JS(n):tM(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=JS(n);if(c===null)return null;let l=Ec(n,"x-ratelimit-resource");return eM(l==="graphql"||l==="search"?l:l==="core"?"rest":t,c,"x-ratelimit-reset")}function eM(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 tM(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 JS(e){let t=Number(Ec(e,"x-ratelimit-reset"));return Number.isFinite(t)&&t>=0?new Date(t*1e3).toISOString():null}function rM(e){return!Lo(e)||!Lo(e.response)||!Lo(e.response.headers)?{}:e.response.headers}function Ec(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function nM(e,t){return Lo(e)&&typeof e[t]=="string"?e[t]:void 0}function sM(e,t){return Lo(e)&&typeof e[t]=="number"?e[t]:void 0}function Lo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var kr,_f=_(()=>{kr=class extends Error{fact;retryAt;constructor(t,r){super(t.message,r),this.name="GithubBackpressureError",this.fact=t,this.retryAt=t.retry_at}}});function YS(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function QS(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??YS(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??nc(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=Dp(e.budgetGate??Np()),i=Co({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=e.app===void 0?{}:{authStrategy:Zk,auth:{appId:e.app.appId,installationId:e.app.installationId,privateKey:lf(e.app)}},c=new oM({auth:e.token,...a,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,400,401,403,404,410,422,429,451],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),l=async()=>{if(e.balance===void 0)return null;try{return await ls("balance read",s,async()=>await e.balance()??null)}catch{return null}},u=(w,k)=>{if(!o)return;let S=w?.pools[k]??null;if(S!==null&&S.remaining<=0)throw new Sr(k,S.reset_at)},d=async w=>{let k=t.get(w.cacheKey),S=o?(await l())?.pools[w.operation.budget]??null:null;if(S!==null&&S.remaining<=0){if(k!==void 0)return KS(k,w.operation.budget,S.reset_at,r());throw new Sr(w.operation.budget,S.reset_at)}let T={...w.parameters??{}},C=Rr(T.headers)?T.headers:{};T.headers={...C,...k?{"if-none-match":k.etag}:{}};try{let O=await c.request(w.route,T),G=O.headers,q=Sc(G,"etag");return q!==void 0&&t.set(w.cacheKey,{etag:q,data:O.data,headers:G,storedAt:r()}),await e.attribution?.record({operation:w.operation,cost:1,actor:w.actor}),{data:O.data,headers:G,quotaFree:!1}}catch(O){if(Go(O)===304){if(k===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(w.cacheKey)} without a held answer to reuse`,{cause:O});let G=XS(O),q={...k.headers,...G},Q=Sc(q,"etag")??k.etag;return t.set(w.cacheKey,{etag:Q,data:k.data,headers:q,...k.storedAt?{storedAt:k.storedAt}:{}}),await e.attribution?.record({operation:w.operation,cost:0,actor:w.actor}),{data:k.data,headers:q,quotaFree:!0}}if(Go(O)===401)throw new ms({cause:O});if(Do(O)){if(k!==void 0){let G=kc(O,w.operation.budget,Date.parse(r()));if(G===null)throw O;return KS(k,w.operation.budget,G.retry_at,r())}throw zS(w.operation.budget,O,Date.parse(r()))}throw O}},p=new Map,f=!1,m=async(w,k)=>{let S=w.input,T=S.kind==="pr";try{let C=await d({cacheKey:S.cacheKey,route:T?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:S.owner,repo:S.repo,...T?{pull_number:S.number}:{issue_number:S.number}},operation:S.operation,actor:S.actor});w.resolve({data:S.project?S.project(C.data,"rest"):C.data,surface:"rest",quotaFree:C.quotaFree,...k?{routing:k}:{}})}catch(C){w.reject(C)}},g=async(w,k)=>{try{let S=HS(w.map(({input:q})=>q)),T=await c.graphql(S.query),C=WS(S,T),O=cM(T),G=w[0].input;await e.attribution?.record({operation:{key:G.operation.key,budget:"graphql"},cost:O,actor:lM(w.map(({input:q})=>q.actor))}),C.forEach((q,Q)=>{let V=w[Q];q.value===null?V.reject(new Error(`GitHub returned no ${q.read.kind} #${q.read.number} from the coalesced query`)):V.resolve({data:V.input.project?V.input.project(q.value,"graphql"):q.value,surface:"graphql",quotaFree:!1,...k?{routing:k}:{}})})}catch(S){let T=Go(S)===401?new ms({cause:S}):S;w.forEach(C=>C.reject(T))}},b=async()=>{try{let w=await l(),k=QS(w);f=!1;let S=[...p.values()];p.clear(),await y(S,w,k)}catch(w){f=!1;let k=[...p.values()];p.clear();for(let S of k)S.forEach(T=>T.reject(w))}},y=async(w,k,S)=>{await Promise.all(w.map(async T=>{let C=T[0].input.rail,O=C??"rest",G=k?.pools[O]??null,q=O==="rest"?"graphql":"rest",Q=k?.pools[q]??null,V=O==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),D=q==="rest"&&T.every(({input:me})=>t.get(me.cacheKey)!==void 0),H=O,ye;if(G!==null&&G.remaining<=0){if(Q!==null&&Q.remaining>0||D)H=q,ye={requestedRail:O,selectedRail:H,rerouted:!0,pool:O,resetAt:G.reset_at,reason:`${O} pool is exhausted until ${G.reset_at}; used the equivalent ${H} rail`};else if(!V&&o){let me=new Sr(O,G.reset_at,"the equivalent rail has no known budget");T.forEach(L=>L.reject(me));return}}else C!==void 0&&(ye={requestedRail:O,selectedRail:H,rerouted:!1,pool:O,resetAt:G?.reset_at??null,reason:G===null?`${O} pool balance is unknown, so the explicit rail is honored reactively`:`${O} pool has ${G.remaining} remaining, so the explicit rail is honored`});let ht=T.some(({input:me})=>t.get(me.cacheKey)!==void 0);H==="graphql"||C===void 0&&!ht&&T.length>S?await g(T,ye):await Promise.all(T.map(me=>m(me,ye)))}))};return{conditionalRest:d,singleObject:w=>new Promise((k,S)=>{let T=`${w.kind}:${w.rail??"default"}`,C=p.get(T)??[];C.push({input:w,resolve:k,reject:S}),p.set(T,C),f||(f=!0,setTimeout(()=>void b(),0))}),async conditionalPaginate(w){let k=[],S={},T=0,C=!0,O=1;for(;;){let G=await d({...w,cacheKey:`${w.cacheKey}:page:${O}`,parameters:{...w.parameters??{},per_page:100,page:O}});if(T+=1,C=C&&G.quotaFree,!Array.isArray(G.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(w.cacheKey)} page ${O}`);if(k.push(...G.data),S=G.headers,!iM(G.headers))break;O+=1}return{data:k,headers:S,requestCount:T,quotaFree:C}},async graphql(w,k={},S){try{u(await l(),S?.operation.budget??"graphql");let T=await c.graphql(w,k);return S&&await e.attribution?.record({operation:S.operation,cost:1,actor:S.actor}),T}catch(T){throw Go(T)===401?new ms({cause:T}):Do(T)?zS(S?.operation.budget??"graphql",T,Date.parse(r())):T}}}}function KS(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 zS(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 iM(e){let t=Sc(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Do(e){if(e instanceof kr)return!0;let t=Go(e),r=XS(e);return t===429||t===403&&Sc(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function aM(e,t,r){let n=r?` (${r})`:"";return e==="rest"?{kind:"primary-rest-exhausted",pool:e,retry_at:t,evidence:"balance",message:`REST primary quota (rest pool) is exhausted; retry after ${t}${n}`}:e==="graphql"?{kind:"primary-graphql-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GraphQL primary quota (graphql pool) is exhausted; retry after ${t}${n}`}:{kind:"search-exhausted",pool:e,retry_at:t,evidence:"balance",message:`GitHub Search quota is exhausted; retry after ${t}${n}`}}function Go(e){if(Rr(e))return typeof e.status=="number"?e.status:void 0}function XS(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 cM(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 lM(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 oM,ms,Sr,ZS=_(()=>{eS();nS();yc();aS();US();VS();Gp();$p();_f();oM=qS.plugin(cf,bc);ms=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},Sr=class extends kr{pool;resetAt;constructor(t,r,n,s){let o=aM(t,r,n);super(o,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function nR(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 sR(e,t){let r=tR(e),n=tR(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of vr){let c=rR[a],l=n[c],u=uM(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 sR(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...nR(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function oR(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=oR(e);if(r==null)return eR(Sf).every_ms;let n=eR(r.fraction);if(r.remaining>0)return n.every_ms;let s=dM(t.now,r.reset_at);return s==null?n.every_ms:Math.max(kf,Math.min(n.every_ms,s))}function eR(e){for(let t of Tc)if(e<=t.at_or_below_fraction)return t;return Tc[Tc.length-1]}function uM(e,t,r){if(!iR(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 dM(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 tR(e){return iR(e)?e:{}}function iR(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ef,rR,vr,kf,Sf,Tc,TX,No=_(()=>{Ef="rate_limit",rR={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"}],TX=60*6e4});var aR=_(()=>{J();fn();No()});var cR=_(()=>{fn();J();J();No()});var lR=_(()=>{});var uR=_(()=>{});var dR=_(()=>{});var pR=_(()=>{yc();No()});var fR=_(()=>{J()});var xc=_(()=>{DE();Gp();$p();VE();ZS();aR();cR();No();lR();uR();dR();_f();yc();pR();fR()});import{join as gM}from"node:path";function Oc(e,t){let r=Tf({token:e,...t?{origin:t}:{},fetchImpl:Co({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await mR(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 mR(o)}}async function mR(e){try{return await ls("balance ask",1e4,()=>e)}catch{return null}}function Ac(e){let t=Mp({path:gM(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 yM(r)}function yM(e){return{async read(t){let r=Ip(t.args);if(r.kind!=="read")return $o(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return $o(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return $o(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=bM(r,t);if(n){let o=await e.singleObject({cacheKey:gR(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=_M(r,t);if(!o)return $o(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:gR(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:SM(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Do(n)?$o(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:RM(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function bM(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=Fo(t.params,"owner")||r[1],s=Fo(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?$t(i)??{}:yR(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?$t(i)??{}:wM(i)}}function yR(e){let t=$t(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:$t(t.author)??{},labels:xf(t.labels).map(r=>({name:r.name}))}}function wM(e){let t=$t(e)??{};return{...yR(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function _M(e,t){let r=Fo(t.params,"owner"),n=Fo(t.params,"repo");if(!r||!n)return null;let s=EM(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
78
+ `),aliases:r}}function 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
79
  repository(owner: $owner, name: $repo) {
80
80
  issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
81
81
  nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
82
82
  }
83
83
  }
84
- }`,variables:{owner:r,repo:n,first:s,states:o,labels:kM(t.params,"labels")},decode:i=>hR(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!]) {
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
85
  repository(owner: $owner, name: $repo) {
86
86
  pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
87
87
  nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
88
88
  }
89
89
  }
90
- }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>hR(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 hR(e,t){let r=$t(e.repository),n=$t(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map($t).filter(s=>s!==null):[]}function xf(e){let t=$t(e);return Array.isArray(t?.nodes)?t.nodes.map($t).filter(r=>r!==null):[]}function $t(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Fo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function EM(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function kM(e,t){let r=Fo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function $o(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function gR(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function SM(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function RM(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var Of=_(()=>{"use strict";xc();et()});import{spawn as vM}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&&!wR.has(n)){let s=await ct(e);if(!xM(s))return s;wR.add(n)}return await ct({...e,residentRead:async s=>await(await TM(n,r,e.signal)).read(s)})}async function TM(e,t,r){let n=bR.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 bR.set(e,i),i}function xM(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function hn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await _R(t,async r=>await Af(e,t.cwd,r)):await _R(t,async r=>{let n=await OM(e,t.cwd,r);return n||await Af(e,t.cwd,r)})}async function _R(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=vM("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 OM(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await AM(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"database_id")||pn(s,"id"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),workflowName:oe(s,"workflow_name")||oe(s,"name"),headBranch:oe(s,"head_branch"),url:oe(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await Tr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:pn(s,"id"),name:oe(s,"name"),status:oe(s,"status").toUpperCase(),conclusion:oe(s,"conclusion").toUpperCase(),url:oe(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ha(e,"--branch"),s=Ha(e,"--limit")??"20",o=await Tr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=dn(at(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:pn(a,"database_id")||pn(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ha(e,"--limit")??"20",s=await Tr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=dn(JSON.parse(s.stdout)).map(i=>({tagName:oe(i,"tag_name"),publishedAt:oe(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await Tr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=at(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:oe(o,"tag_name"),publishedAt:oe(o,"published_at"),isDraft:o.draft===!0})}}return null}async function AM(e,t,r){let n=await Tr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=at(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=oe(at(s.head),"sha"),[i,a]=o?await Promise.all([Tr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),Tr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?dn(at(JSON.parse(i.stdout)).statuses):[],l=a.status===0?dn(at(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
91
- `),stdout:JSON.stringify({number:pn(s,"number"),state:oe(s,"state").toUpperCase(),mergeable:CM(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 CM(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 bR,wR,ER=_(()=>{"use strict";Ue();Ao();Of();wt();Wa();or();bR=new Map,wR=new Set});function SR(e,t,r){let n=Date.now();return()=>PM(e,t,r,n)}async function PM(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await hn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=Ro(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(LM),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return it("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return it("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return it("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return sr(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?sr(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):it("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?sr(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):it("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function RR(e,t){if(!e)return ue("missing run id");let r=await hn(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ue(r.stderr||"gh run view failed");let n=Ro(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?sr(`run ${e} is ${s||"pending"}`):o==="success"?it("success",`run ${e} succeeded`,kR(n)):it("failure",`run ${e} concluded ${o||"unknown"}`,kR(n))}async function vR(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await hn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):IM(e,Ro(r.stdout))}function IM(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return sr(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?it("success",`job ${e} succeeded`,s):it("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function TR(e,t){let r=await hn(["run","list","--branch",e,"--limit","1","--json","databaseId"],t);if(r.status!==0)return"";let n=JSON.parse(r.stdout),s=Array.isArray(n)?n[0]:void 0;return ss(s)&&s.databaseId!=null?String(s.databaseId):""}async function xR(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await hn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return sr(`release ${e} is not published yet`);let c=Ro(a.stdout);return c.isDraft===!0?sr(`release ${e} is still a draft`):it("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await hn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=dn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||GM(e,c))&&(n||l>=t)});return i?it("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):sr("no matching release is published yet")}function LM(e){let t=ss(e)?e:{},r=String(t.conclusion??t.state??t.status??"").toLowerCase();return["success","successful","passed","completed","neutral","skipped"].includes(r)?"success":["failure","failed","error","timed_out","cancelled","action_required"].includes(r)?"failure":"pending"}function kR(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 GM(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var OR=_(()=>{"use strict";ln();ER();Wa()});function Mo(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
92
- `)}var Cf=_(()=>{"use strict"});var AR=_(()=>{"use strict";J()});var CR=_(()=>{"use strict"});function DM(e){return Object.keys(e)}function gs(e){return{...e,fields:DM(e.fields)}}var PR,IR,LR,NM,$M,FM,GR,Pf=_(()=>{"use strict";PR="red.castle.lane.v1",IR="red.castle.state.v1",LR="red.castle.history.v1",NM="red.castle.validation.v2",$M="red.castle.envelope.v1",FM="red.castle.hitl-card.v1",GR=[gs({schemaId:PR,docPath:".red/contracts/red.castle.lane.v1.md",typeNames:["CastleLaneRecord","CastleLaneKind"],fields:{at:!0,kind:!0,worker_id:!0,supervisor_id:!0,issue:!0,attempt:!0,msg:!0,payload:!0}}),gs({schemaId:IR,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),gs({schemaId:LR,docPath:".red/contracts/red.castle.history.v1.md",typeNames:["CastleHistoryRecord","CastleHistoryEvent"],fields:{ts:!0,epoch:!0,worker:!0,issue:!0,event:!0,duration_s:!0,runner:!0,merge_sha:!0,reason:!0}}),gs({schemaId:NM,docPath:".red/contracts/red.castle.validation.v2.md",typeNames:["CastleValidationRecord","CastleValidationStatus"],fields:{schema:!0,name:!0,status:!0,command:!0,exitCode:!0,durationMs:!0,summary:!0}}),gs({schemaId:$M,docPath:".red/contracts/red.castle.envelope.v1.md",typeNames:["CastleEnvelope","CastleEnvelopeSection","CastleAttemptStatus"],fields:{status:!0,worker:!0,duration:!0,diff:!0,attempt:!0,mergeSha:!0,sections:!0}}),gs({schemaId:FM,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 b7,Cc=_(()=>{"use strict";fn();J();Pf();b7=new Map(GR.map(e=>[e.schemaId,new Set(e.fields)]))});var DR=_(()=>{"use strict";CR();Cc()});var NR=_(()=>{"use strict"});var Pc=_(()=>{"use strict"});var If=_(()=>{"use strict";Pc()});var Ic=_(()=>{"use strict"});import{appendFile as jM,mkdir as qM,readFile as UM}from"node:fs/promises";import{dirname as HM,join as WM}from"node:path";function Lf(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function $R(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:Lf(t.at,"at"),singleton:Lf(t.singleton,"singleton"),kind:Lf(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function VM(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function JM(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function KM(e){if(e.length===0)return"";let t=je({trailer:!1});return e.map(r=>t.push(r)).join("")}function zM(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(KM(i))+t<=r?n=o:s=o-1}return n}function YM(e){return WM(e.castleStateRoot,"singleton-events.toonl")}function Lc(e,t={}){let r=t.fs??{appendFile:jM,mkdir:qM,readFile:UM},n=t.clock??(()=>new Date().toISOString()),s=YM(e),o=St["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=$R({at:a.at??n(),...a}),l=je().push(VM(c)),u=Buffer.byteLength(l);if(await r.mkdir(HM(s),{recursive:!0}),await us(s,u,i)){let d=i.maxBytes;if(u>d)throw new Error(`singleton event exceeds its ${d}-byte lane ceiling`);let p=await r.readFile(s,"utf8"),f=Oe(p),m=Math.floor(d*o.targetRatio),g=Math.max(m,u),b=zM(f,u,g);await ds(s,b)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){JM(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Oe(c).map($R);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var Gc=_(()=>{"use strict";fn();J()});var Dc=_(()=>{"use strict";J();Ic();Gc()});var FR=_(()=>{"use strict";Pc();If();Dc()});var MR=_(()=>{"use strict"});var BR=_(()=>{"use strict"});var see,jR=_(()=>{"use strict";J();see=24*60*60*1e3});var qR=_(()=>{"use strict";Cc()});var UR=_(()=>{"use strict"});var lee,uee,HR=_(()=>{"use strict";lee=15*6e4,uee=30*6e4});var WR=_(()=>{"use strict"});var XM,ZM,fee,mee,VR=_(()=>{"use strict";XM=["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"],ZM={pre_worktree:["cargo","gradle"]},fee=Object.values(ZM).flat(),mee=new Set(XM)});var JR=_(()=>{"use strict"});var KR=_(()=>{"use strict";Dc()});var Gf=_(()=>{});var zR=_(()=>{"use strict";xc();Gf()});import{EventEmitter as t1}from"node:events";import{spawn as r1}from"node:child_process";function jo(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function qo(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var ys,Nc,n1,s1,o1,i1,Bo,$c=_(()=>{ys="github-webhook",Nc="github.webhook.delivery";n1="pull_request,pull_request_review,check_run,check_suite,workflow_run",s1=3,o1=1e3,i1=/no extension matched|unknown command|command not found/i,Bo=class extends t1{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,o1).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?jo(c,n):qo(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=r1(r,["webhook","forward",`--events=${n1}`],{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");i1.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>=s1)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,a1),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 a1,Nf=_(()=>{"use strict";a1="default"});import{mkdir as c1,readFile as l1,rename as u1,rm as d1,writeFile as p1}from"node:fs/promises";import{dirname as f1,join as m1}from"node:path";function g1(e){if(!h1.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function y1(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function b1(e){return e.code==="ENOENT"}function w1(e){return e.code==="EEXIST"}function _1(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 g1(t),m1(e.castleStateRoot,"singletons",t,"lease.toon")}function Ff(e,t={}){let r=t.fs??{mkdir:c1,readFile:l1,rename:u1,rm:d1,writeFile:p1},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??y1;async function o(a){try{return _1(z(await r.readFile(a,"utf8")))}catch(c){if(b1(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(f1(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(!w1(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,h1,Mf=_(()=>{"use strict";J();Mc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},h1=/^[a-z0-9][a-z0-9._-]{0,63}$/});var YR=_(()=>{"use strict";$c();Gf();ja();Nf();Gc();Mf()});var QR=_(()=>{"use strict"});var XR=_(()=>{});var ZR=_(()=>{"use strict";XR()});var ev=_(()=>{"use strict"});var Bf=_(()=>{"use strict"});var tv=_(()=>{"use strict";J();Bf()});var rv=_(()=>{"use strict";J()});var jf=_(()=>{"use strict"});var qf=_(()=>{"use strict"});var nv=_(()=>{"use strict";Ic()});var sv=_(()=>{"use strict"});var ov=_(()=>{"use strict";jf();qf()});var Uo,Uf=_(()=>{"use strict";Uo={repeatedActionObservationPairs:3,errorStreakPairs:3,monologueMessages:6,alternatingPingPongCycles:3}});var gte,iv=_(()=>{"use strict";Uf();gte=Math.max(Uo.monologueMessages,Uo.repeatedActionObservationPairs*2,Uo.errorStreakPairs*2,Uo.alternatingPingPongCycles*4)});var Hf=_(()=>{"use strict"});var Wf=_(()=>{"use strict";Hf();Hf()});var cv=_(()=>{"use strict"});var E1,k1,S1,Rte,lv=_(()=>{"use strict";E1={refreshCadenceS:270,tolerance:3},k1=270,S1=2700,Rte={...E1,claimGraceS:k1,recentCommitProtectionS:S1}});var uv=_(()=>{"use strict"});var dv=_(()=>{Ja()});var pv=_(()=>{Ja();dv()});import{execFile as x1,execFileSync as Nte}from"node:child_process";import{promisify as O1}from"node:util";var jte,fv=_(()=>{"use strict";xc();pv();Wf();jte=O1(x1)});var mv=_(()=>{"use strict";AR();DR();NR();Pc();FR();MR();BR();jR();qR();UR();Cc();HR();WR();VR();JR();If();KR();zR();YR();QR();ZR();ev();Dc();tv();rv();Pf();jf();qf();Nf();nv();sv();ov();Ic();Bf();Gc();Mf();Uf();iv();Wf();cv();lv();uv();fv()});var Bc,hv=_(()=>{"use strict";$c();$c();or();Bc=class extends Bo{constructor(t){super(t,Zn)}}});import{EventEmitter as A1}from"node:events";import{join as C1}from"node:path";function Jf(e){let t=Eo(e.cwd),r=Df(C1(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=>es(n.pid,n.start_time))})}var Vf,gv=_(()=>{"use strict";mv();hv();or();ja();Vf=class extends A1{constructor(r){super();this.options=r}_mode="polling";cursor=0;timer;fallback;stopped=!1;syncing=!1;get mode(){return this.fallback?.mode??this._mode}async start(){let r=await this.options.leases.read(ys).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?jo(a,n):qo(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===ys&&o.kind===Nc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(ys);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var Kf={};se(Kf,{listWaits:()=>Ua,renderWaitHelp:()=>Mo,runWait:()=>L1});import{randomUUID as yv}from"node:crypto";import{mkdir as P1,rm as I1}from"node:fs/promises";async function L1(e,t=process.cwd()){let r;try{r=await W_(e)}catch(n){return await F1(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Mo()),0;if(r.kind==="ls"){let n={schema:$_,version:1,waits:await Ua(t)};return process.stdout.write(os(n,r.options.format)),0}return hp(r.kind)?await G1({...r,kind:r.kind},t):(process.stdout.write(Mo()),2)}async function G1(e,t){let r=e.kind,n=_p({id:yv(),kind:r,target:$1(e),reason:e.options.reason,pid:process.pid,pid_start_time:await bo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:fp[r],status:"running",attempts:0}),s=X_(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 P1(rs(t),{recursive:!0}),await ns(s,n);let u=await D1(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await rE({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(os(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=vo(r,n,d,{status:"success"},new Date().toISOString());return await To(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(os(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await I1(s,{force:!0}).catch(()=>{})}}async function D1(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await TE({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:z_(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 Oo({probe:SR(i,o,{emptyChecksGraceMs:ts("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_PR_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("pr",i),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"run":{let i=await N1(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 Oo({probe:()=>RR(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await Oo({probe:()=>vR(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await Oo({probe:()=>xR(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:ts("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function N1(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 TR(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await ns(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function $1(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 F1(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:yv(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:fp[o],status:"indeterminate",attempts:0}),c=vo(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await To(s,c,r).catch(()=>{}),process.stdout.write(os(c,r)),2}var zf=_(()=>{"use strict";V_();sE();OE();ln();yp();OR();or();So();Cf();gv();So();Cf()});var Yf,Qf,Xf,Je,Ke,lt,Tt,Ho,jc=_(()=>{"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",Ho="rsp_telemetry_index_v1"});function bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ut(e){return xr(e)??0}function xr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var Zf=_(()=>{"use strict"});import{randomUUID as Wo,createHash as U1}from"node:crypto";import{appendFileSync as H1,closeSync as W1,existsSync as V1,fstatSync as J1,mkdirSync as vv,openSync as K1,readFileSync as z1,statSync as Y1,writeSync as Q1}from"node:fs";import{mkdir as Tv,readdir as X1,readFile as xv,rename as Z1,rm as Ov,writeFile as Av}from"node:fs/promises";import{basename as em,dirname as Vo,join as ws,resolve as _v}from"node:path";function Uc(e){if(!e)return null;let t=_v(e);for(;;){if(V1(ws(t,".red")))return t;let r=_v(ws(t,".."));if(r===t)break;t=r}return null}function lr(e){return ws(ce(e),Yf)}function nm(e){return ws(ce(e),Qf)}function sm(e){return ws(ce(e),Xf)}async function gn(e,t,r=St["rsp-telemetry-spool"]){Or(e,t,r)}function Or(e,t,r=St["rsp-telemetry-spool"],n={}){try{let s=Uc(e);if(!s)return;let o=lr(s);vv(Vo(o),{recursive:!0});let i=Sv({spool_id:Wo(),event:rB(t)}),a=Lv(o,i,r,im,Sv);tB(o,i,n),a>0&&Iv(s,"telemetry spool retention",a)}catch{}}function tB(e,t,r){let n=0;for(;;){let s=K1(e,"a",384);try{Q1(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=J1(s),i=Y1(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{W1(s)}}}function rB(e){return Ev(Ev(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function Ev(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=eB)return e;let o={...e};return delete o[t],ut(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function nB(e){let t=Uc(e);if(!t)return[];let r=lr(t);await Tv(Vo(r),{recursive:!0}).catch(()=>{});let n=await Gv(t),s=[...await Dv(t),...await aB(n)];return await Promise.all(n.map(o=>Ov(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 Tv(Vo(n),{recursive:!0}).catch(()=>{}),await iB(r);for(let s of await sB(r))await kv(r,s,t);for(let s of await Dv(r))await Cv(r,s,t,!0);for(let s of await Gv(r))await kv(r,s,t)}async function sB(e){let t=[lr(e),nm(e)],r=Vo(t[0]);return(await X1(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&&oB(a))}).sort().map(s=>ws(r,s))}function oB(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function kv(e,t,r){try{let n=await Pv(t);for(let s of im(n))await Cv(e,s,r,!1)}finally{await Ov(t,{force:!0})}}async function Cv(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:Wo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}tm(e,{correction_id:Wo(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function Pv(e){let t="";for(let r=0;r<5;r++){let n=await xv(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function _s(e){try{let t=JSON.parse(e);return!bs(t)||t.collection!==Je&&t.collection!==Ke&&t.collection!==lt&&t.collection!==Tt?null:t}catch{return null}}function Sv(e){return je().push(lB(e))}function tm(e,t,r=!0){try{let n=Uc(e);if(!n)return;let s=sm(n);vv(Vo(s),{recursive:!0});let o=Rv(t),i=Lv(s,o,St["rsp-telemetry-corrections"],Nv,Rv);H1(s,o,{encoding:"utf8",mode:384}),r&&i>0&&Iv(n,"telemetry corrections retention",i,!1)}catch{}}function Iv(e,t,r,n=!0){let s=Wo();tm(e,{correction_id:Wo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Tt,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function Rv(e){return je().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function Lv(e,t,r,n,s){let o=Buffer.byteLength(t);if(!qE(e,o,r))return 0;let i;try{i=z1(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??Ve))-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 UE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function Gv(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 Z1(s,o),s===t&&await Av(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function iB(e){await Av(lr(e),"",{flag:"a"}).catch(()=>{})}async function aB(e){let t=[];for(let r of e)t.push(...im(await Pv(r)));return t}async function Dv(e){let t=await xv(sm(e),"utf8").catch(()=>""),r=new Map;for(let n of Nv(t))r.set(n.target_spool_id,n);return[...r.values()].filter(n=>n.action==="retry"&&n.event_json).map(n=>({spool_id:n.target_spool_id,event:_s(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function 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(bs(o)){let i=_s(JSON.stringify(o));t.push(i?{spool_id:qc(JSON.stringify(o)),event:i}:{spool_id:qc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:qc(s),raw_line:s});continue}try{for(let o of Oe(`${r}
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}
94
94
  ${s}
95
- `))rm(o)&&uB(o)&&t.push({spool_id:o.spool_id,event:$v(o)})}catch{s.startsWith("{")&&t.push({spool_id:qc(s),raw_line:s})}}}return t}function Nv(e){return cB(e).map(dB).filter(t=>t!==null)}function cB(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}
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
96
  ${s}
97
- `))rm(o)&&t.push(o)}catch{}}}return t}function qc(e){return`legacy:${U1("sha256").update(e).digest("hex").slice(0,24)}`}function lB(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 $v(e){let{spool_id:t,...r}=e;return _s(JSON.stringify(r))}function uB(e){return typeof e.spool_id=="string"&&$v(e)!==null}function dB(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 bs(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var eB,Fv=_(()=>{"use strict";et();fn();J();jc();Zf();eB=64*1024});function Hc(e){return e.trim().split(/\s+/).filter(Boolean)}function Jo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function Ko(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function dt(e){let t=Hc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:yn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:yn(t)&&t[1]?`gh ${t[1]} json-jq`:yn(t)?"gh json-jq":t[0]==="gh"&&t[1]&&t[2]?`gh ${t[1]} ${t[2]}`:t[0]==="gh"&&t[1]?`gh ${t[1]}`:t[0]==="cargo"&&t[1]?`cargo ${t[1]}`:t[0]==="vitest"?"vitest":t[0]}function yn(e){return e[0]==="gh"&&e.some(pB)}function pB(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function Es(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var zo=_(()=>{"use strict"});var Ee,Wc=_(()=>{"use strict";Ue();Ee="rsp_elisions_v1"});import{spawnSync as Xo}from"node:child_process";import{createHash as lm}from"node:crypto";import{existsSync as fB}from"node:fs";import{mkdir as mB,readFile as hB,readdir as Mv,rename as gB,writeFile as yB}from"node:fs/promises";import{homedir as bB}from"node:os";import{basename as wB,dirname as _B,join as Yo}from"node:path";import{fileURLToPath as EB}from"node:url";import{gunzipSync as kB,gzipSync as SB}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 wn(e){return`expired:${e.slice(3)}`}function Kc(){return"index:v1"}function RB(e){return`blob:${e}`}function Bv(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 jv(e){return Zc(e.storage_class)?e.storage_class:ur(e.command)}function um(e){let t=xB(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=jv(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:vB(o),storage_class:jv(s),recover:`rsp show ${s.handle}`}})}function vB(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 _n(e){let t=0,r=new Set;for(let n of e){if(n.blob_key){if(r.has(n.blob_key))continue;r.add(n.blob_key)}t+=n.bytes}return t}function 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:TB(r),original_bytes:e.length}:null}function TB(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=Wv(process.cwd(),r,e.length);return!n||bn(n)!==bn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:bn(e)}}function zc(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function bn(e){return 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=SB(e);return{key:RB(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function qv(e){try{let t=kB(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function Uv(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 Hv(e){if(!zc(e.argv))return null;let t=Wv(e.cwd,e.argv,e.original_bytes);return t?bn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
98
- `,"utf8"),t]):null}function Wv(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 xB(){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 Vv(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 Jv(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 Kv(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 Mv(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Yo(i,c.name);c.isDirectory()?await o(l):c.isFile()&&/\.(md|mdx|txt|ts|tsx|js|jsx|json|yaml|yml|toml|rs|go|py|sql)$/i.test(c.name)&&n.push(l)}}return await o(e),n}function 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 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=AB(e.derivation_recipe),n=CB(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"&&OB(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 OB(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 AB(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 CB(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 Yv(e){try{let n=(await hB(e,"utf8")).trim();if(n==="")return Vc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(PB(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Vc();return await ks(e,s),s}let n=Vc();return await ks(e,n),n}let t=Vc();return await ks(e,t),t}async function Qv(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function Xv(e){return wB(e)==="red-skills.rdb"}async function el(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Yo(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Yo(bB(),".cache","red-skills","bundles")),t=Yo(e,"reddb"),r;try{r=await Mv(t)}catch{return}r.sort().reverse();for(let n of r){let s=Yo(t,n,process.platform==="win32"?"red.exe":"red");if(fB(s)){process.env.REDDB_BIN=s;return}}}async function ks(e,t){await mB(_B(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await yB(r,`${M(cm(t))}
99
- `,"utf8"),await gB(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 PB(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 Zv(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return EB(e)}var tl=_(()=>{"use strict";J();zo();Wc()});async function eT(e,t){return IB?DB(e,t):LB?$B(e,t):GB(e,t)}async function GB(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 DB(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:NB(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*NB(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 $B(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),s=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(o){await s.write(o)},end(){try{s.close()}catch{}}},stdout:FB(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*FB(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var IB,LB,tT=_(()=>{IB=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",LB=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as MB}from"node:fs";import{join as BB}from"node:path";function rT(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=BB(r,"bin",t);if(MB(o))return o;throw new Error(`reddb: binary "${t}" not found.
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.
100
100
  expected at: ${o}
101
101
  override: set ${n}=/path/to/${t}
102
102
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
103
- or check the postinstall log for a download error.`)}var nT=_(()=>{});import{fileURLToPath as jB}from"node:url";import{dirname as qB,resolve as UB,join as ese}from"node:path";function VB(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function sT(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:rT({name:VB(),packageRoot:WB,envVar:"REDDB_BIN"})}var HB,WB,oT=_(()=>{nT();HB=qB(jB(import.meta.url)),WB=UB(HB,"..")});var JB,KB,j,rl,Cr=_(()=>{JB=new TextEncoder,KB=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(JB.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(KB.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:/"?zB(e):YB(e)}function zB(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=QB(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 YB(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 QB(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=_(()=>{Cr()});function ZB(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return iT(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return iT(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function iT(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 ej(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var XB,ni,Sm=_(()=>{Cr();XB=new Set(["embedded"]),ni=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&XB.has(this._transport))throw new j("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:ej(n.value)}async put(t,r,n,s={}){this._guard("put");let o=ZB(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)}.${tj(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 tj(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function rj(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 aT(e){return`'${String(e).replace(/'/g,"''")}'`}var Ss,Tm=_(()=>{Cr();Ss=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(aT).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Rm(s,t)} = ${rj(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(aT).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(`
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(`
105
105
 
106
106
  `)){let u=l.split(`
107
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function nj(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 sj(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function oj(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 ${sj(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 ij(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=_(()=>{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=oj(n);return this.client.call("query",{sql:`QUEUE PUSH ${dr(t)} ${ij(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=nj(t,r,n),o=await this.client.call("query",{sql:s});return xm(o)}}});function cT(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function aj(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(lT).join(".")}function lT(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 cj(e){return uT(JSON.stringify(e))}function lj(e){return JSON.stringify(e)}function uj(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?cj(e):uT(e)}function uT(e){return`'${String(e).replace(/'/g,"''")}'`}var oi,Pm=_(()=>{Cr();oi=class{constructor(t){this.db=t}async insert(t,r){cT(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${nl(t)} DOCUMENT VALUES (${lj(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=aj(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){cT(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])=>`${lT(c)} = ${uj(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 dj(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${Pr(r)}.${Pr(n)})`}return fj(e)}function pj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function 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 fj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):dT(e)}function dT(e){return`'${String(e).replace(/'/g,"''")}'`}var ii,Im=_(()=>{ii=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){pj(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(dT).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${Pr(s)} ${Pr(t)} = ${dj(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 mj(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function Rs(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function hj(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):pT(e)}function pT(e){return`'${String(e).replace(/'/g,"''")}'`}var ai,Lm=_(()=>{ai=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){mj(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(pT).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${Rs(s)}.${Rs(t)} = ${hj(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${Rs(n)}.${Rs(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${Rs(n)}.${Rs(t)}`})}}});async function mT(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(gj)}async function hT(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${bj(t)}`)).rows??[]).some(n=>n.name===String(t))}function gj(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function fT(e){return String(e).split(".").map(yj).join(".")}function yj(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 bj(e){return`'${String(e).replace(/'/g,"''")}'`}var ci,Gm=_(()=>{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(fT).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${fT(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=Em(e);if(Oj(r),r.kind==="embedded"){let n=xj(r,t.auth);if(n.token||n.username)throw new j("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let s=Tj(r),o=t.binary??sT(),i=await eT(o,s),a=new rl(i);return await a.call("version",{}),new Nm(a,{transport:"embedded"})}}function yT(e){return Ej(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:Sj(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&vj(e)?{$uuid:e}:e}function Ej(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 kj(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(yT):e.map(yT)}function Sj(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 Rj(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 vj(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 Rj(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 Tj(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function xj(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function Oj(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",wj)}function $m(){return new j(gT,`${gT}: nested transactions are not supported on one connection`)}function wT(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function Aj(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${bT} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function Cj(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 >= ${bT} 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 wj,_j,bT,gT,ol,Dm,Nm,_T=_(()=>{tT();oT();Cr();km();Sm();Tm();Cm();Pm();Im();Lm();Gm();Sm();Tm();Cm();Pm();Im();Lm();Gm();km();wj="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",_j="1.0",bT="1.0.9",gT="NESTED_TX_NOT_SUPPORTED";ol=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw $m()}},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 ol(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){wT(r,n)}throw r}}},Nm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=_j,this.cache=new ni(t,this.transport),this.queue=new si(t),this.queues=this.queue,this.documents=new oi(this);let n=new Ss(t);this.kv=Object.assign((s="kv_default")=>new Ss(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ii(t,s),this.vault=(s="red.vault")=>new ai(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=kj(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 Aj(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 Cj(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 ol(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){wT(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return hT(this,t)}list(){return mT(this)}from(t){return new ci(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as Pj}from"node:crypto";import{existsSync as ET}from"node:fs";import{mkdir as Ij,readFile as Lj,rename as Fm,rm as li,stat as Mm}from"node:fs/promises";import{basename as Gj,dirname as Dj}from"node:path";async function kT(e){await(await En.open({...e,allowResidentOpen:!0})).close()}var En,ST=_(()=>{"use strict";_T();Wc();tl();En=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=Zv(t.uri),n=await Qv(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 Xv(n)?(await el(),await Ij(Dj(n),{recursive:!0}),s.db=await il(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await Yv(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=bn(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[wn(i)],this.document.records[a]=b,this.upsertIndex({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!ti(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[Ar(t)];if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:Ar(n.handle),bytes: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:_n(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=_n(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=_n(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[wn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[wn(t)];return Xc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return Uv(t.derivation_recipe);if(t.reexecution_recipe)return Hv(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)?qv(r):null}return null}deleteUnreferencedLocalBlobs(t){let r=new Set(t.map(n=>n.blob_key).filter(n=>typeof n=="string"));for(let n of Object.keys(this.document.blobs))r.has(n)||(delete this.document.blobs[n],this.dirty=!0)}async flush(){this.dirty&&(await ks(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await Mm(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
108
- `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await ks(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(Ee)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===Ee);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${Ee}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${Ee}`),await this.db.query(`CREATE KV IF NOT EXISTS ${Ee}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Zo(n,r),a=Ar(i),c=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=bn(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(wn(i)),await this.kv().put(a,b);let E=(await this.readRedDbIndex()).records.filter(w=>w.handle!==i);return E.push({handle:i,key:a,bytes:g,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:E},!0),await this.assertRedDbMintPersisted(i,g),i}async getRedDb(t){if(!ti(t))return null;let r=await this.kvGet(wn(t));if(Xc(r))return r;let n=await this.kvGet(Ar(t));if(!ri(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:Ar(n.handle),bytes: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:_n(t.records),oldest:t.records.reduce((r,n)=>r==null||n.created_at<r?n.created_at:r,null),budget:this.opts.byteBudget,storage_classes: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=Vv(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=Jv(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 Kv(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await Lj(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=Gj(s),c=Pj("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(`
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=_n(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=_n(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await Mm(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 ${Bv(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 Mm(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 Fm(this.path,i),await Fm(o,this.path),await li(i,{force:!0})}catch(l){throw!ET(this.path)&&ET(i)&&await Fm(i,this.path),await li(o,{force:!0}),l}finally{this.db=await il(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===Ee){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Kc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:Ee,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(wn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(Ar(t));if(!ri(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var RT={};se(RT,{DEFAULT_RSP_BYTE_BUDGET:()=>kt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>Et,DEFAULT_RSP_TTL_DAYS:()=>_t,RSP_ELISION_COLLECTION:()=>Ee,RspElisionStore:()=>En,contentHandle:()=>Zo,ensureReddbBinaryFromWarmCache:()=>el,provisionElisionStore:()=>kT,storageClassForCommand:()=>ur});var al=_(()=>{"use strict";Wc();tl();tl();ST()});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 xT(e,s),i=(await ui(e,Ke)).filter(D=>Ts(D)>=s),a=o.filter(D=>W(D.event_type)!=="show"&&W(D.degradation_reason)===""),c=o.filter(D=>W(D.event_type)==="show"),l=o.filter(D=>W(D.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,g=new Map,b=new Map,y=[],E=0,w=0,k=0;for(let D of a){D.elided===!0&&u++;let H=ut(D.raw_bytes),ye=ut(D.emitted_bytes),ht=Math.max(0,H-ye),me=xs(D,"raw"),L=xs(D,"emitted"),U=Math.max(0,me.tokens-L.tokens);m||=(D.estimated===!0||me.estimated||L.estimated)&&U>0,d+=H,p+=ye,f+=U;let Vt=kn(D).slice(0,10);Vt&&g.set(Vt,(g.get(Vt)??0)+U);let It=W(D.command)||"unknown",Fe=b.get(It)??{command:It,invocations:0,bytes_saved:0,tokens_saved:0};Fe.invocations++,Fe.bytes_saved+=ht,Fe.tokens_saved+=U,b.set(It,Fe);let Me=xr(D.wrapper_ms);Me!=null&&y.push(Me),E+=ut(D.store_open_count);let Jt=xr(D.store_elapsed_ms);Jt!=null&&(w+=Jt,k++)}let S=new Map,T=new Map,C=[],O=null;for(let D of l){let H=W(D.degradation_reason)||W(D.reason)||"unknown",ye=W(D.wrapper_family)||dt(W(D.command));S.set(H,(S.get(H)??0)+1),T.set(ye,(T.get(ye)??0)+1);let ht=kn(D);C.push({timestamp:ht,family:ye,command:W(D.command)||"unknown",reason:H,exit_code:xr(D.wrapper_exit_code),stderr_head:W(D.stderr_head)||null}),(!O||ht>O.timestamp)&&(O={timestamp:ht,reason:H,command:W(D.command)||"unknown"})}let G=a.length+l.length,q=c.filter(D=>D.hit===!0).length,Q=op(f,m),V=Nj(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Q.tokens_saved_estimated,token_estimate_range_pct:Q.token_estimate_range_pct,tokens_saved_low:Q.tokens_saved_low,tokens_saved_high:Q.tokens_saved_high,dollars_saved_estimate_usd:Q.dollars_saved_estimate_usd,dollars_saved_low_usd:Q.dollars_saved_low_usd,dollars_saved_high_usd:Q.dollars_saved_high_usd,pricing_model_family:Q.pricing_model_family,pricing_input_usd_per_million_tokens:Q.pricing_input_usd_per_million_tokens,pricing_note:Q.pricing_note,daily_tokens_saved:[...g.entries()].sort(([D],[H])=>D.localeCompare(H)).map(([D,H])=>({date:D,tokens_saved:H})),top_commands:[...b.values()].sort((D,H)=>H.bytes_saved-D.bytes_saved||H.tokens_saved-D.tokens_saved||D.command.localeCompare(H.command))},health:{degradations:l.length,degradation_rate:G===0?0:l.length/G,show_total:c.length,show_hits:q,show_misses:Math.max(0,c.length-q),show_hit_rate:c.length===0?0:Pe(q/c.length),by_reason:[...S.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({reason:D,count:H})),by_family:[...T.entries()].sort((D,H)=>H[1]-D[1]||D[0].localeCompare(H[0])).map(([D,H])=>({family:D,count:H})),recent_failures:C.sort((D,H)=>H.timestamp.localeCompare(D.timestamp)).slice(0,20),most_recent:O},latency:{wrapper_ms_p50:vs(y,.5),wrapper_ms_p95:vs(y,.95),store_open_count_sum:E,store_elapsed_ms_sum:Pe(w),store_elapsed_ms_avg:k===0?null:Pe(w/k)},decisions:V}}function Nj(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 Bm(e,t,r=new Date){let s=(await ui(e,Je)).filter(o=>Ts(o)<=r.getTime()||kn(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=kn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:Wj(s)}}async function jm(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 xT(e,i),c=a.filter(L=>W(L.event_type)!=="show"&&W(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&W(L.degradation_reason)===""),l=a.filter(L=>W(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>W(L.event_type)==="show"),d=a.filter(L=>W(L.degradation_reason)!==""),p=[...c,...d].map(Ts).filter(L=>Number.isFinite(L)&&L>0),f=p.length===0?null:Math.min(...p),m=f==null?0:Math.max(1,Math.min(n,Math.ceil((r.getTime()-f)/eq()))),g=[],b=new Map,y=new Map,E=new Map,w=new Map,k=new Map,S=new Map,T=0,C=!1,O=0,G=null,q=0,Q=0;for(let L of c){let U=kn(L),Vt=U.slice(0,10),It=U.slice(0,16),Fe=dt(W(L.command)),Me=Math.max(0,xs(L,"raw").tokens-xs(L,"emitted").tokens);T+=Me,C||=L.estimated===!0&&Me>0;let Jt=Math.max(0,ut(L.raw_bytes)-ut(L.emitted_bytes)),$n=xr(L.wrapper_ms);if($n!=null){g.push($n);let zs=b.get(Fe)??[];zs.push($n),b.set(Fe,zs)}Vt&&y.set(Vt,(y.get(Vt)??0)+1),It&&E.set(It,(E.get(It)??0)+1);let mr=zj(U);mr&&w.set(mr,(w.get(mr)??0)+1);let Ks=Xj(U);Ks&&k.set(Ks,(k.get(Ks)??0)+Me);let Yr=S.get(Fe)??{command_family:Fe,invocations:0,tokens_saved:0,bytes_saved:0};Yr.invocations++,Yr.tokens_saved+=Me,Yr.bytes_saved+=Jt,S.set(Fe,Yr),L.elided===!0&&O++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(q++,ut(L.store_open_count)>0&&Q++),Me>0&&(!G||Me>G.tokens_saved||Me===G.tokens_saved&&Jt>G.bytes_saved)&&(G={timestamp:U,command_family:Fe,tokens_saved:Me,bytes_saved:Jt})}let V=d.map(L=>({timestamp:kn(L),command_family:dt(W(L.command)),reason:W(L.degradation_reason)||W(L.reason)||"unknown"})).sort((L,U)=>L.timestamp.localeCompare(U.timestamp)),D=new Map;for(let L of V)D.set(L.reason,(D.get(L.reason)??0)+1);let H=Bj(V),ye=Mj(u),ht=qj([...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:TT(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,...TT(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:Yj(w)},savings:{tokens:op(T,C),measured_control_holdout:$j(c,l),weekly_tokens_saved:Zj(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 xT(e,t){let r=(await ui(e,Je)).filter(i=>Ts(i)>=t),n=r.some(i=>W(i.event_type)!=="show"||W(i.degradation_reason)!==""),s=(await ui(e,lt)).filter(i=>Ts(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:W(i.event_type)||"invocation"})),o=(await ui(e,Tt)).filter(i=>Ts(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:W(i.reason)||"unknown"}));return[...r,...s,...o]}function xs(e,t){let r=xr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=ut(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function $j(e,t){let r=Hj(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(vT).filter(a=>a!=null),s=t.map(vT).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Pe(Uj(o));return{enabled:!0,holdout_share:Pe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:Fj(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function vT(e){let t=xs(e,"raw").tokens;if(t<=0)return null;let r=xs(e,"emitted").tokens;return Math.max(0,t-r)/t}function Fj(e,t){if(e.length<=1)return{low:Pe(Math.max(0,t)),high:Pe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Pe(Math.max(0,t-n)),high:Pe(Math.min(1,t+n))}}function Mj(e){let t=new Map;for(let r of e){let n=dt(W(r.recovered_command)||W(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Pe(r.show_hits/r.show_total)}))}function Bj(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:jj(r)}))}function jj(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 qj(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 Uj(e){return e.reduce((t,r)=>t+r,0)/e.length}function Hj(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function Wj(e){let t=Jj();for(let r of e){if(W(r.event_type)==="show"||W(r.degradation_reason)!==""||r.elided!==!0)continue;let n=Vj(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 Vj(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function Jj(){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=>Kj(n.value)).filter(n=>bs(n))}function Kj(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function Ts(e){let t=Date.parse(kn(e));return Number.isFinite(t)?t:0}function kn(e){return W(e.created_at)||W(e.ts)||""}function W(e){return typeof e=="string"?e:""}function vs(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Pe(r[n])}function TT(e){return{wrapper_ms_p50:vs(e,.5),wrapper_ms_p90:vs(e,.9),wrapper_ms_p95:vs(e,.95),wrapper_ms_p99:vs(e,.99)}}function Pe(e){return Math.round(e*100)/100}function zj(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${Qj(t.getUTCDay())}:${t.getUTCHours()}`:null}function Yj(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 Qj(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Xj(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return null;let r=t.getUTCDay(),n=r===0?-6:1-r;return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+n)).toISOString().slice(0,10)}function Zj(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 eq(){return 24*60*60*1e3}var OT=_(()=>{"use strict";zo();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:()=>Ho,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>lt,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Qf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Xf,RSP_TELEMETRY_SPOOL_FILE:()=>Yf,appendTelemetryEvent:()=>gn,appendTelemetryEventSync:()=>Or,drainTelemetrySpool:()=>om,parseTelemetryEvent:()=>_s,readAccountingLaneStats:()=>Bm,readTelemetryGainsReport:()=>jm,readTelemetryStats:()=>cl,takeTelemetrySpool:()=>nB,telemetryLegacySpoolPath:()=>nm,telemetrySpoolCorrectionsPath:()=>sm,telemetrySpoolPath:()=>lr});var Ft=_(()=>{"use strict";jc();Fv();OT()});import{isUtf8 as tq}from"node:buffer";async function AT(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&&tq(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 CT=_(()=>{"use strict"});var K=I(ke=>{"use strict";var qm=Symbol.for("yaml.alias"),PT=Symbol.for("yaml.document"),ll=Symbol.for("yaml.map"),IT=Symbol.for("yaml.pair"),Um=Symbol.for("yaml.scalar"),ul=Symbol.for("yaml.seq"),pr=Symbol.for("yaml.node.type"),rq=e=>!!e&&typeof e=="object"&&e[pr]===qm,nq=e=>!!e&&typeof e=="object"&&e[pr]===PT,sq=e=>!!e&&typeof e=="object"&&e[pr]===ll,oq=e=>!!e&&typeof e=="object"&&e[pr]===IT,LT=e=>!!e&&typeof e=="object"&&e[pr]===Um,iq=e=>!!e&&typeof e=="object"&&e[pr]===ul;function GT(e){if(e&&typeof e=="object")switch(e[pr]){case ll:case ul:return!0}return!1}function aq(e){if(e&&typeof e=="object")switch(e[pr]){case qm:case ll:case Um:case ul:return!0}return!1}var cq=e=>(LT(e)||GT(e))&&!!e.anchor;ke.ALIAS=qm;ke.DOC=PT;ke.MAP=ll;ke.NODE_TYPE=pr;ke.PAIR=IT;ke.SCALAR=Um;ke.SEQ=ul;ke.hasAnchor=cq;ke.isAlias=rq;ke.isCollection=GT;ke.isDocument=nq;ke.isMap=sq;ke.isNode=aq;ke.isPair=oq;ke.isScalar=LT;ke.isSeq=iq});var pi=I(Hm=>{"use strict";var pe=K(),ze=Symbol("break visit"),DT=Symbol("skip children"),Mt=Symbol("remove node");function dl(e,t){let r=NT(t);pe.isDocument(e)?Os(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):Os(null,e,r,Object.freeze([]))}dl.BREAK=ze;dl.SKIP=DT;dl.REMOVE=Mt;function Os(e,t,r,n){let s=$T(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return FT(e,n,s),Os(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=Os(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=Os("key",t.key,r,n);if(o===ze)return ze;o===Mt&&(t.key=null);let i=Os("value",t.value,r,n);if(i===ze)return ze;i===Mt&&(t.value=null)}}return s}async function pl(e,t){let r=NT(t);pe.isDocument(e)?await As(null,e.contents,r,Object.freeze([e]))===Mt&&(e.contents=null):await As(null,e,r,Object.freeze([]))}pl.BREAK=ze;pl.SKIP=DT;pl.REMOVE=Mt;async function As(e,t,r,n){let s=await $T(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return FT(e,n,s),As(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=await As(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===ze)return ze;i===Mt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await As("key",t.key,r,n);if(o===ze)return ze;o===Mt&&(t.key=null);let i=await As("value",t.value,r,n);if(i===ze)return ze;i===Mt&&(t.value=null)}}return s}function NT(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 $T(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 FT(e,t,r){let n=t[t.length-1];if(pe.isCollection(n))n.items[e]=r;else if(pe.isPair(n))e==="key"?n.key=r:n.value=r;else if(pe.isDocument(n))n.contents=r;else{let s=pe.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}Hm.visit=dl;Hm.visitAsync=pl});var Wm=I(BT=>{"use strict";var MT=K(),lq=pi(),uq={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},dq=e=>e.replace(/[!,[\]{}]/g,t=>uq[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+dq(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&&MT.isNode(t.contents)){let o={};lq.visit(t.contents,(i,a)=>{MT.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:"};BT.Directives=fi});var fl=I(mi=>{"use strict";var jT=K(),pq=pi();function fq(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 qT(e){let t=new Set;return pq.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function UT(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function mq(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=qT(e));let i=UT(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(jT.isScalar(i.node)||jT.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=fq;mi.anchorNames=qT;mi.createNodeAnchors=mq;mi.findNewAnchor=UT});var Vm=I(HT=>{"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)}HT.applyReviver=hi});var Ir=I(VT=>{"use strict";var hq=K();function WT(e,t,r){if(Array.isArray(e))return e.map((n,s)=>WT(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!hq.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}VT.toJS=WT});var ml=I(KT=>{"use strict";var gq=Vm(),JT=K(),yq=Ir(),Jm=class{constructor(t){Object.defineProperty(this,JT.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(!JT.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=yq.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?gq.applyReviver(o,{"":a},"",a):a}};KT.NodeBase=Jm});var gi=I(zT=>{"use strict";var bq=fl(),wq=pi(),Cs=K(),_q=ml(),Eq=Ir(),Km=class extends _q.NodeBase{constructor(t){super(Cs.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,r){if(r?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;r?.aliasResolveCache?n=r.aliasResolveCache:(n=[],wq.visit(t,{Node:(o,i)=>{(Cs.isAlias(i)||Cs.hasAnchor(i))&&n.push(i)}}),r&&(r.aliasResolveCache=n));let s;for(let o of n){if(o===this)break;o.anchor===this.source&&(s=o)}return s}toJSON(t,r){if(!r)return{source:this.source};let{anchors:n,doc:s,maxAliasCount:o}=r,i=this.resolve(s,r);if(!i){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=n.get(i);if(a||(Eq.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(bq.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function hl(e,t,r){if(Cs.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Cs.isCollection(t)){let n=0;for(let s of t.items){let o=hl(e,s,r);o>n&&(n=o)}return n}else if(Cs.isPair(t)){let n=hl(e,t.key,r),s=hl(e,t.value,r);return Math.max(n,s)}return 1}zT.Alias=Km});var le=I(zm=>{"use strict";var kq=K(),Sq=ml(),Rq=Ir(),vq=e=>!e||typeof e!="function"&&typeof e!="object",Lr=class extends Sq.NodeBase{constructor(t){super(kq.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:Rq.toJS(this.value,t,r)}toString(){return String(this.value)}};Lr.BLOCK_FOLDED="BLOCK_FOLDED";Lr.BLOCK_LITERAL="BLOCK_LITERAL";Lr.PLAIN="PLAIN";Lr.QUOTE_DOUBLE="QUOTE_DOUBLE";Lr.QUOTE_SINGLE="QUOTE_SINGLE";zm.Scalar=Lr;zm.isScalarValue=vq});var yi=I(QT=>{"use strict";var Tq=gi(),Sn=K(),YT=le(),xq="tag:yaml.org,2002:";function Oq(e,t,r){if(t){let n=r.filter(o=>o.tag===t),s=n.find(o=>!o.format)??n[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return r.find(n=>n.identify?.(e)&&!n.format)}function Aq(e,t,r){if(Sn.isDocument(e)&&(e=e.contents),Sn.isNode(e))return e;if(Sn.isPair(e)){let d=r.schema[Sn.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:o,schema:i,sourceObjects:a}=r,c;if(n&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=s(e)),new Tq.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=xq+t.slice(2));let l=Oq(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new YT.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[Sn.MAP]:Symbol.iterator in Object(e)?i[Sn.SEQ]:i[Sn.MAP]}o&&(o(l),delete r.onTagObj);let u=l?.createNode?l.createNode(r.schema,e,r):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(r.schema,e,r):new YT.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}QT.createNode=Aq});var yl=I(gl=>{"use strict";var Cq=yi(),Bt=K(),Pq=ml();function Ym(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 Cq.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 XT=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Qm=class extends Pq.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Bt.isNode(n)||Bt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(XT(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Bt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,Ym(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(Bt.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...s]=t,o=this.get(n,!0);return s.length===0?!r&&Bt.isScalar(o)?o.value:o:Bt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Bt.isPair(r))return!1;let n=r.value;return n==null||t&&Bt.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let s=this.get(r,!0);return Bt.isCollection(s)?s.hasIn(n):!1}setIn(t,r){let[n,...s]=t;if(s.length===0)this.set(n,r);else{let o=this.get(n,!0);if(Bt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,Ym(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};gl.Collection=Qm;gl.collectionFromPath=Ym;gl.isEmptyPath=XT});var bi=I(bl=>{"use strict";var Iq=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Xm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var Lq=(e,t,r)=>e.endsWith(`
112
- `)?Xm(r,t):r.includes(`
107
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function 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(`
113
113
  `)?`
114
- `+Xm(r,t):(e.endsWith(" ")?"":" ")+r;bl.indentComment=Xm;bl.lineComment=Lq;bl.stringifyComment=Iq});var ex=I(wi=>{"use strict";var Gq="flow",Zm="block",wl="quoted";function Dq(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===Zm&&(g=ZT(e,g,t.length),g!==-1&&(d=g+c));for(let w;w=e[g+=1];){if(r===wl&&w==="\\"){switch(b=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}y=g}if(w===`
115
- `)r===Zm&&(g=ZT(e,g,t.length)),d=g+t.length+c,p=void 0;else{if(w===" "&&f&&f!==" "&&f!==`
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!==`
116
116
  `&&f!==" "){let k=e[g+1];k&&k!==" "&&k!==`
117
- `&&k!==" "&&(p=g)}if(g>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===wl){for(;f===" "||f===" ";)f=w,w=e[g+=1],m=!0;let k=g>y+1?g-2:b-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=w}if(m&&a&&a(),l.length===0)return e;i&&i();let E=e.slice(0,l[0]);for(let w=0;w<l.length;++w){let k=l[w],S=l[w+1]||e.length;k===0?E=`
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
118
  ${t}${e.slice(0,S)}`:(r===wl&&u[k]&&(E+=`${e[k]}\\`),E+=`
119
- ${t}${e.slice(k+1,S)}`)}return E}function ZT(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=Zm;wi.FOLD_FLOW=Gq;wi.FOLD_QUOTED=wl;wi.foldFlowLines=Dq});var Ei=I(tx=>{"use strict";var xt=le(),Gr=ex(),El=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),kl=e=>/^(%|---|\.\.\.)/m.test(e);function Nq(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
119
+ ${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
121
  `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function _i(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(kl(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
122
122
 
123
123
  `;r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"';)i+=`
124
- `,c+=2;i+=o,r[c+2]===" "&&(i+="\\"),c+=1,a=c+1}break;default:c+=1}return i=a?i+r.slice(a):r,n?i:Gr.foldFlowLines(i,o,Gr.FOLD_QUOTED,El(t,!1))}function eh(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
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
125
  `)||/[ \t]\n|\n[ \t]/.test(e))return _i(e,t);let r=t.indent||(kl(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
126
- ${r}`)+"'";return t.implicitKey?n:Gr.foldFlowLines(n,r,Gr.FOLD_FLOW,El(t,!1))}function Ps(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=_i;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=eh:o&&!s?n=_i:n=r?eh:_i}return n(e,t)}var th;try{th=new RegExp(`(^|(?<!
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(`(^|(?<!
127
127
  ))
128
128
  +(?!
129
- |$)`,"g")}catch{th=/\n+(?!\n|$)/g}function _l({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Ps(r,n);let l=n.indent||(n.forceBlockIndent||kl(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===xt.Scalar.BLOCK_FOLDED?!1:t===xt.Scalar.BLOCK_LITERAL?!0:!Nq(r,c,l.length);if(!r)return u?`|
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
130
  `:`>
131
131
  `;let d,p;for(p=r.length;p>0;--p){let S=r[p-1];if(S!==`
132
132
  `&&S!==" "&&S!==" ")break}let f=r.substring(p),m=f.indexOf(`
133
133
  `);m===-1?d="-":r===f||m!==f.length-1?(d="+",o&&o()):d="",f&&(r=r.slice(0,-f.length),f[f.length-1]===`
134
- `&&(f=f.slice(0,-1)),f=f.replace(th,`$&${l}`));let g=!1,b,y=-1;for(b=0;b<r.length;++b){let S=r[b];if(S===" ")g=!0;else if(S===`
134
+ `&&(f=f.slice(0,-1)),f=f.replace(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
135
  `)y=b;else break}let E=r.substring(0,y<b?y+1:b);E&&(r=r.substring(E.length),E=E.replace(/\n+/g,`$&${l}`));let k=(g?l?"2":"1":"")+d;if(e&&(k+=" "+a(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!u){let S=r.replace(/\n+/g,`
136
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),T=!1,C=El(n,!0);i!=="folded"&&t!==xt.Scalar.BLOCK_FOLDED&&(C.onOverflow=()=>{T=!0});let O=Gr.foldFlowLines(`${E}${S}${f}`,l,Gr.FOLD_BLOCK,C);if(!T)return`>${k}
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
137
  ${l}${O}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
138
- ${l}${E}${r}${f}`}function $q(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
139
- `)||u&&/[[\]{},]/.test(o))return Ps(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
140
- `)?Ps(o,t):_l(e,t,r,n);if(!a&&!u&&s!==xt.Scalar.PLAIN&&o.includes(`
141
- `))return _l(e,t,r,n);if(kl(o)){if(c==="")return t.forceBlockIndent=!0,_l(e,t,r,n);if(a&&c===l)return Ps(o,t)}let d=o.replace(/\n+/g,`$&
142
- ${c}`);if(i){let p=g=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return Ps(o,t)}return a?d:Gr.foldFlowLines(d,c,Gr.FOLD_FLOW,El(t,!1))}function Fq(e,t,r,n){let{implicitKey:s,inFlow:o}=t,i=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==xt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=xt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case xt.Scalar.BLOCK_FOLDED:case xt.Scalar.BLOCK_LITERAL:return s||o?Ps(i.value,t):_l(i,t,r,n);case xt.Scalar.QUOTE_DOUBLE:return _i(i.value,t);case xt.Scalar.QUOTE_SINGLE:return eh(i.value,t);case xt.Scalar.PLAIN:return $q(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}tx.stringifyString=Fq});var ki=I(rh=>{"use strict";var Mq=fl(),Dr=K(),Bq=bi(),jq=Ei();function qq(e,t){let r=Object.assign({blockQuote:!0,commentString:Bq.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 Uq(e,t){if(t.tag){let s=e.filter(o=>o.tag===t.tag);if(s.length>0)return s.find(o=>o.format===t.format)??s[0]}let r,n;if(Dr.isScalar(t)){n=t.value;let s=e.filter(o=>o.identify?.(n));if(s.length>1){let o=s.filter(i=>i.test);o.length>0&&(s=o)}r=s.find(o=>o.format===t.format)??s.find(o=>!o.format)}else n=t,r=e.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!r){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return r}function Hq(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Dr.isScalar(e)||Dr.isCollection(e))&&e.anchor;o&&Mq.anchorIsValid(o)&&(r.add(o),s.push(`&${o}`));let i=e.tag??(t.default?null:t.tag);return i&&s.push(n.directives.tagString(i)),s.join(" ")}function Wq(e,t,r,n){if(Dr.isPair(e))return e.toString(t,r,n);if(Dr.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s,o=Dr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=Uq(t.doc.schema.tags,o));let i=Hq(o,s,t);i.length>0&&(t.indentAtStart=(t.indentAtStart??0)+i.length+1);let a=typeof s.stringify=="function"?s.stringify(o,t,r,n):Dr.isScalar(o)?jq.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Dr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
143
- ${t.indent}${a}`:a}rh.createStringifyContext=qq;rh.stringify=Wq});var ox=I(sx=>{"use strict";var fr=K(),rx=le(),nx=ki(),Si=bi();function Vq({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===rx.Scalar.BLOCK_FOLDED||e.type===rx.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=nx.stringify(e,r,()=>m=!0,()=>g=!0);if(!f&&!r.inFlow&&b.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),b===""?"?":f?`? ${b}`:b}else if(o&&!d||t==null&&f)return b=`? ${b}`,p&&!m?b+=Si.lineComment(b,r.indent,l(p)):g&&s&&s(),b;m&&(p=null),f?(p&&(b+=Si.lineComment(b,r.indent,l(p))),b=`? ${b}
144
- ${a}:`):(b=`${b}:`,p&&(b+=Si.lineComment(b,r.indent,l(p))));let y,E,w;fr.isNode(t)?(y=!!t.spaceBefore,E=t.commentBefore,w=t.comment):(y=!1,E=null,w=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&fr.isScalar(t)&&(r.indentAtStart=b.length+1),g=!1,!u&&c.length>=2&&!r.inFlow&&!f&&fr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,S=nx.stringify(t,r,()=>k=!0,()=>g=!0),T=" ";if(p||y||E){if(T=y?`
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
+ `)||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?`
145
145
  `:"",E){let C=l(E);T+=`
146
146
  ${Si.indentComment(C,r.indent)}`}S===""&&!r.inFlow?T===`
147
- `&&w&&(T=`
147
+ `&&_&&(T=`
148
148
 
149
149
  `):T+=`
150
150
  ${r.indent}`}else if(!f&&fr.isCollection(t)){let C=S[0],O=S.indexOf(`
151
151
  `),G=O!==-1,q=r.inFlow??t.flow??t.items.length===0;if(G||!q){let Q=!1;if(G&&(C==="&"||C==="!")){let V=S.indexOf(" ");C==="&"&&V!==-1&&V<O&&S[V+1]==="!"&&(V=S.indexOf(" ",V+1)),(V===-1||O<V)&&(Q=!0)}Q||(T=`
152
152
  ${r.indent}`)}}else(S===""||S[0]===`
153
- `)&&(T="");return b+=T+S,r.inFlow?k&&n&&n():w&&!k?b+=Si.lineComment(b,r.indent,l(w)):g&&s&&s(),b}sx.stringifyPair=Vq});var sh=I(nh=>{"use strict";var ix=sa("process");function Jq(e,...t){e==="debug"&&console.log(...t)}function Kq(e,t){(e==="debug"||e==="warn")&&(typeof ix.emitWarning=="function"?ix.emitWarning(t):console.warn(t))}nh.debug=Jq;nh.warn=Kq});var xl=I(Tl=>{"use strict";var vl=K(),ax=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 ax.Scalar(Symbol(Sl)),{addToJSMap:cx}),stringify:()=>Sl},zq=(e,t)=>(Rl.identify(t)||vl.isScalar(t)&&(!t.type||t.type===ax.Scalar.PLAIN)&&Rl.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===Rl.tag&&r.default);function cx(e,t,r){let n=lx(e,r);if(vl.isSeq(n))for(let s of n.items)oh(e,t,s);else if(Array.isArray(n))for(let s of n)oh(e,t,s);else oh(e,t,n)}function oh(e,t,r){let n=lx(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 lx(e,t){return e&&vl.isAlias(t)?t.resolve(e.doc,e):t}Tl.addMergeToJSMap=cx;Tl.isMergeKey=zq;Tl.merge=Rl});var ah=I(px=>{"use strict";var Yq=sh(),ux=xl(),Qq=ki(),dx=K(),ih=Ir();function Xq(e,t,{key:r,value:n}){if(dx.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(ux.isMergeKey(e,r))ux.addMergeToJSMap(e,t,n);else{let s=ih.toJS(r,"",e);if(t instanceof Map)t.set(s,ih.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=Zq(r,s,e),i=ih.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 Zq(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(dx.isNode(e)&&r?.doc){let n=Qq.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)+'..."'),Yq.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)}px.addPairToJSMap=Xq});var Nr=I(ch=>{"use strict";var fx=yi(),eU=ox(),tU=ah(),Ol=K();function rU(e,t,r){let n=fx.createNode(e,void 0,r),s=fx.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 tU.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?eU.stringifyPair(this,t,r,n):JSON.stringify(this)}};ch.Pair=Al;ch.createPair=rU});var lh=I(hx=>{"use strict";var Rn=K(),mx=ki(),Cl=bi();function nU(e,t,r){return(t.inFlow??e.flow?oU: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(Rn.isNode(g))!d&&g.spaceBefore&&p.push(""),Pl(r,p,g.commentBefore,d),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(!d&&E.spaceBefore&&p.push(""),Pl(r,p,E.commentBefore,d))}d=!1;let y=mx.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?`
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
154
  ${c}${g}`:`
155
155
  `}}return e?(f+=`
156
- `+Cl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function oU({items:e},t,{flowChars:r,itemIndent:n}){let{indent:s,indentStep:o,flowCollectionPadding:i,options:{commentString:a}}=t;n+=o;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let m=0;m<e.length;++m){let g=e[m],b=null;if(Rn.isNode(g))g.spaceBefore&&d.push(""),Pl(t,d,g.commentBefore,!1),g.comment&&(b=g.comment);else if(Rn.isPair(g)){let E=Rn.isNode(g.key)?g.key:null;E&&(E.spaceBefore&&d.push(""),Pl(t,d,E.commentBefore,!1),E.comment&&(l=!0));let w=Rn.isNode(g.value)?g.value:null;w?(w.comment&&(b=w.comment),w.commentBefore&&(l=!0)):g.value==null&&E?.comment&&(b=E.comment)}b&&(l=!0);let y=mx.stringify(g,c,()=>b=null);l||(l=d.length>u||y.includes(`
157
- `)),m<e.length-1?y+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((E,w)=>E+w.length+2,2)+(y.length+2)>t.options.lineWidth)),l&&(y+=",")),b&&(y+=Cl.lineComment(y,n,a(b))),d.push(y),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((g,b)=>g+b.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let g of d)m+=g?`
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?`
158
158
  ${o}${s}${g}`:`
159
159
  `;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())}}hx.stringifyCollection=nU});var Fr=I(dh=>{"use strict";var iU=lh(),aU=ah(),cU=yl(),$r=K(),Il=Nr(),lU=le();function Ri(e,t){let r=$r.isScalar(t)?t.value:t;for(let n of e)if($r.isPair(n)&&(n.key===t||n.key===r||$r.isScalar(n.key)&&n.key.value===r))return n}var uh=class extends cU.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super($r.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;$r.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`);$r.isScalar(s.value)&&lU.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&&$r.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)aU.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!$r.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})),iU.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};dh.YAMLMap=uh;dh.findPair=Ri});var Is=I(yx=>{"use strict";var uU=K(),gx=Fr(),dU={collection:"map",default:!0,nodeClass:gx.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return uU.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>gx.YAMLMap.from(e,t,r)};yx.map=dU});var Mr=I(bx=>{"use strict";var pU=yi(),fU=lh(),mU=yl(),Gl=K(),hU=le(),gU=Ir(),ph=class extends mU.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)&&hU.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(gU.toJS(o,String(s++),r));return n}toString(t,r,n){return t?fU.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 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}bx.YAMLSeq=ph});var Ls=I(_x=>{"use strict";var yU=K(),wx=Mr(),bU={collection:"seq",default:!0,nodeClass:wx.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return yU.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>wx.YAMLSeq.from(e,t,r)};_x.seq=bU});var vi=I(Ex=>{"use strict";var wU=Ei(),_U={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),wU.stringifyString(e,t,r,n)}};Ex.string=_U});var Dl=I(Rx=>{"use strict";var kx=le(),Sx={identify:e=>e==null,createNode:()=>new kx.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new kx.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&Sx.test.test(e)?e:t.options.nullStr};Rx.nullTag=Sx});var fh=I(Tx=>{"use strict";var EU=le(),vx={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new EU.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&vx.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};Tx.boolTag=vx});var Gs=I(xx=>{"use strict";function kU({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}xx.stringifyNumber=kU});var hh=I(Nl=>{"use strict";var SU=le(),mh=Gs(),RU={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:mh.stringifyNumber},vU={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():mh.stringifyNumber(e)}},TU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new SU.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:mh.stringifyNumber};Nl.float=TU;Nl.floatExp=vU;Nl.floatNaN=RU});var yh=I(Fl=>{"use strict";var Ox=Gs(),$l=e=>typeof e=="bigint"||Number.isInteger(e),gh=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function Ax(e,t,r){let{value:n}=e;return $l(n)&&n>=0?r+n.toString(t):Ox.stringifyNumber(e)}var xU={identify:e=>$l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>gh(e,2,8,r),stringify:e=>Ax(e,8,"0o")},OU={identify:$l,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>gh(e,0,10,r),stringify:Ox.stringifyNumber},AU={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)=>gh(e,2,16,r),stringify:e=>Ax(e,16,"0x")};Fl.int=OU;Fl.intHex=AU;Fl.intOct=xU});var Px=I(Cx=>{"use strict";var CU=Is(),PU=Dl(),IU=Ls(),LU=vi(),GU=fh(),bh=hh(),wh=yh(),DU=[CU.map,IU.seq,LU.string,PU.nullTag,GU.boolTag,wh.intOct,wh.int,wh.intHex,bh.floatNaN,bh.floatExp,bh.float];Cx.schema=DU});var Gx=I(Lx=>{"use strict";var NU=le(),$U=Is(),FU=Ls();function Ix(e){return typeof e=="bigint"||Number.isInteger(e)}var Ml=({value:e})=>JSON.stringify(e),MU=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:Ml},{identify:e=>e==null,createNode:()=>new NU.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:Ix,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})=>Ix(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}],BU={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},jU=[$U.map,FU.seq].concat(MU,BU);Lx.schema=jU});var Eh=I(Dx=>{"use strict";var Ti=sa("buffer"),_h=le(),qU=Ei(),UU={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=_h.Scalar.BLOCK_LITERAL),t!==_h.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===_h.Scalar.BLOCK_LITERAL?`
161
- `:" ")}return qU.stringifyString({comment:e,type:t,value:a},n,s,o)}};Dx.binary=UU});var ql=I(jl=>{"use strict";var Bl=K(),kh=Nr(),HU=le(),WU=Mr();function Nx(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 kh.Pair(new HU.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
160
+ ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function 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}
162
162
  ${s.key.commentBefore}`:n.commentBefore),n.comment){let o=s.value??s.key;o.comment=o.comment?`${n.comment}
163
- ${o.comment}`:n.comment}n=s}e.items[r]=Bl.isPair(n)?n:new kh.Pair(n)}}else t("Expected a sequence for this tag");return e}function $x(e,t,r){let{replacer:n}=r,s=new WU.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(kh.createPair(a,c,r))}return s}var VU={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Nx,createNode:$x};jl.createPairs=$x;jl.pairs=VU;jl.resolvePairs=Nx});var vh=I(Rh=>{"use strict";var Fx=K(),Sh=Ir(),xi=Fr(),JU=Mr(),Mx=ql(),vn=class e extends JU.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(Fx.isPair(s)?(o=Sh.toJS(s.key,"",r),i=Sh.toJS(s.value,o,r)):o=Sh.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=Mx.createPairs(t,r,n),o=new this;return o.items=s.items,o}};vn.tag="tag:yaml.org,2002:omap";var KU={collection:"seq",identify:e=>e instanceof Map,nodeClass:vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=Mx.resolvePairs(e,t),n=[];for(let{key:s}of r.items)Fx.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new vn,r)},createNode:(e,t,r)=>vn.from(e,t,r)};Rh.YAMLOMap=vn;Rh.omap=KU});var Hx=I(Th=>{"use strict";var Bx=le();function jx({value:e,source:t},r){return t&&(e?qx:Ux).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var qx={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 Bx.Scalar(!0),stringify:jx},Ux={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 Bx.Scalar(!1),stringify:jx};Th.falseTag=Ux;Th.trueTag=qx});var Wx=I(Ul=>{"use strict";var zU=le(),xh=Gs(),YU={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:xh.stringifyNumber},QU={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():xh.stringifyNumber(e)}},XU={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new zU.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:xh.stringifyNumber};Ul.float=XU;Ul.floatExp=QU;Ul.floatNaN=YU});var Jx=I(Ai=>{"use strict";var Vx=Gs(),Oi=e=>typeof e=="bigint"||Number.isInteger(e);function Hl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function Oh(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 Vx.stringifyNumber(e)}var ZU={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=>Oh(e,2,"0b")},eH={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=>Oh(e,8,"0")},tH={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:Vx.stringifyNumber},rH={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=>Oh(e,16,"0x")};Ai.int=tH;Ai.intBin=ZU;Ai.intHex=rH;Ai.intOct=eH});var Ch=I(Ah=>{"use strict";var Jl=K(),Wl=Nr(),Vl=Fr(),Tn=class e extends Vl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Jl.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Wl.Pair(t.key,null):r=new Wl.Pair(t,null),Vl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Vl.findPair(this.items,t);return!r&&Jl.isPair(n)?Jl.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=Vl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Wl.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Wl.createPair(i,null,n));return o}};Tn.tag="tag:yaml.org,2002:set";var nH={collection:"map",identify:e=>e instanceof Set,nodeClass:Tn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Tn.from(e,t,r),resolve(e,t){if(Jl.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Tn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};Ah.YAMLSet=Tn;Ah.set=nH});var Ih=I(Kl=>{"use strict";var sH=Gs();function Ph(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 Kx(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 oH={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})=>Ph(e,r),stringify:Kx},iH={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=>Ph(e,!1),stringify:Kx},zx={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(zx.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=Ph(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=iH;Kl.intTime=oH;Kl.timestamp=zx});var Xx=I(Qx=>{"use strict";var aH=Is(),cH=Dl(),lH=Ls(),uH=vi(),dH=Eh(),Yx=Hx(),Lh=Wx(),zl=Jx(),pH=xl(),fH=vh(),mH=ql(),hH=Ch(),Gh=Ih(),gH=[aH.map,lH.seq,uH.string,cH.nullTag,Yx.trueTag,Yx.falseTag,zl.intBin,zl.intOct,zl.int,zl.intHex,Lh.floatNaN,Lh.floatExp,Lh.float,dH.binary,pH.merge,fH.omap,mH.pairs,hH.set,Gh.intTime,Gh.floatTime,Gh.timestamp];Qx.schema=gH});var c0=I($h=>{"use strict";var r0=Is(),yH=Dl(),n0=Ls(),bH=vi(),wH=fh(),Dh=hh(),Nh=yh(),_H=Px(),EH=Gx(),s0=Eh(),Ci=xl(),o0=vh(),i0=ql(),Zx=Xx(),a0=Ch(),Yl=Ih(),e0=new Map([["core",_H.schema],["failsafe",[r0.map,n0.seq,bH.string]],["json",EH.schema],["yaml11",Zx.schema],["yaml-1.1",Zx.schema]]),t0={binary:s0.binary,bool:wH.boolTag,float:Dh.float,floatExp:Dh.floatExp,floatNaN:Dh.floatNaN,floatTime:Yl.floatTime,int:Nh.int,intHex:Nh.intHex,intOct:Nh.intOct,intTime:Yl.intTime,map:r0.map,merge:Ci.merge,null:yH.nullTag,omap:o0.omap,pairs:i0.pairs,seq:n0.seq,set:a0.set,timestamp:Yl.timestamp},kH={"tag:yaml.org,2002:binary":s0.binary,"tag:yaml.org,2002:merge":Ci.merge,"tag:yaml.org,2002:omap":o0.omap,"tag:yaml.org,2002:pairs":i0.pairs,"tag:yaml.org,2002:set":a0.set,"tag:yaml.org,2002:timestamp":Yl.timestamp};function SH(e,t,r){let n=e0.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(e0.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"?t0[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(t0).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}$h.coreKnownTags=kH;$h.getTags=SH});var Bh=I(l0=>{"use strict";var Fh=K(),RH=Is(),vH=Ls(),TH=vi(),Ql=c0(),xH=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,Mh=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,Fh.MAP,{value:RH.map}),Object.defineProperty(this,Fh.SCALAR,{value:TH.string}),Object.defineProperty(this,Fh.SEQ,{value:vH.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?xH:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};l0.Schema=Mh});var d0=I(u0=>{"use strict";var OH=K(),jh=ki(),Pi=bi();function AH(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=jh.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(OH.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=jh.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(jh.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
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
164
  `)?(r.push("..."),r.push(Pi.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&i&&(c=c.replace(/^\n+/,"")),c&&((!i||a)&&r[r.length-1]!==""&&r.push(""),r.push(Pi.indentComment(o(c),"")))}return r.join(`
165
165
  `)+`
166
- `}u0.stringifyDocument=AH});var Ii=I(p0=>{"use strict";var CH=gi(),Ds=yl(),ft=K(),PH=Nr(),IH=Ir(),LH=Bh(),GH=d0(),qh=fl(),DH=Vm(),NH=yi(),Uh=Wm(),Hh=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 Uh.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){Ns(this.contents)&&this.contents.add(t)}addIn(t,r){Ns(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=qh.anchorNames(this);t.anchor=!r||n.has(r)?qh.findNewAnchor(r||"a",n):r}return new CH.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}=qh.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},g=NH.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 PH.Pair(s,o)}delete(t){return Ns(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ds.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):Ns(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ft.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return Ds.isEmptyPath(t)?!r&&ft.isScalar(this.contents)?this.contents.value:this.contents:ft.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ft.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return Ds.isEmptyPath(t)?this.contents!==void 0:ft.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ds.collectionFromPath(this.schema,[t],r):Ns(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ds.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ds.collectionFromPath(this.schema,Array.from(t),r):Ns(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 Uh.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 Uh.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 LH.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=IH.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"?DH.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 GH.stringifyDocument(this,t)}};function Ns(e){if(ft.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}p0.Document=Hh});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}},Wh=class extends Li{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Vh=class extends Li{constructor(t,r,n){super("YAMLWarning",t,r,n)}},$H=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(a=>t.linePos(a));let{line:n,col:s}=r.linePos[0];r.message+=` at line ${n}, column ${s}`;let o=s-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(o>=60&&i.length>80){let a=Math.min(o-39,i.length-79);i="\u2026"+i.substring(a),o-=a-1}if(i.length>80&&(i=i.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(i.substring(0,o))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
166
+ `}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
167
  `),i=a+i}if(/[^ ]/.test(i)){let a=1,c=r.linePos[1];c?.line===n&&c.col>s&&(a=Math.max(1,Math.min(c.col-s,80-o)));let l=" ".repeat(o)+"^".repeat(a);r.message+=`:
168
168
 
169
169
  ${i}
170
170
  ${l}
171
- `}};Gi.YAMLError=Li;Gi.YAMLParseError=Wh;Gi.YAMLWarning=Vh;Gi.prettifyError=$H});var Ni=I(f0=>{"use strict";function FH(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,g=null,b=null,y=null,E=null,w=null,k=null,S=null;for(let O of e)switch(m&&(O.type!=="space"&&O.type!=="newline"&&O.type!=="comma"&&o(O.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),g&&(l&&O.type!=="comment"&&O.type!=="newline"&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),g=null),O.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&O.source.includes(" ")&&(g=O),u=!0;break;case"comment":{u||o(O,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let G=O.source.substring(1)||" ";d?d+=p+G:d=G,p="",l=!1;break}case"newline":l?d?d+=O.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=O.source,l=!0,f=!0,(b||y)&&(E=O),u=!0;break;case"anchor":b&&o(O,"MULTIPLE_ANCHORS","A node can have at most one anchor"),O.source.endsWith(":")&&o(O.offset+O.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),b=O,S??(S=O.offset),l=!1,u=!1,m=!0;break;case"tag":{y&&o(O,"MULTIPLE_TAGS","A node can have at most one tag"),y=O,S??(S=O.offset),l=!1,u=!1,m=!0;break}case r:(b||y)&&o(O,"BAD_PROP_ORDER",`Anchors and tags must be after the ${O.source} indicator`),k&&o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.source} in ${t??"collection"}`),k=O,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){w&&o(O,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),w=O,l=!1,u=!1;break}default:o(O,"UNEXPECTED_TOKEN",`Unexpected ${O.type} token`),l=!1,u=!1}let T=e[e.length-1],C=T?T.offset+T.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g&&(l&&g.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(g,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:w,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:b,tag:y,newlineAfterProp:E,end:C,start:S??C}}f0.resolveProps=FH});var Xl=I(m0=>{"use strict";function Jh(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
172
- `))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(Jh(t.key)||Jh(t.value))return!0}return!1;default:return!0}}m0.containsNewline=Jh});var Kh=I(h0=>{"use strict";var MH=Xl();function BH(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&MH.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}h0.flowIndentCheck=BH});var zh=I(y0=>{"use strict";var g0=K();function jH(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||g0.isScalar(o)&&g0.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}y0.mapIncludes=jH});var S0=I(k0=>{"use strict";var b0=Nr(),qH=Fr(),w0=Ni(),UH=Xl(),_0=Kh(),HH=zh(),E0="All mapping items must start at the same column";function WH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??qH.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=w0.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",E0)),!g.anchor&&!g.tag&&!f){l=g.end,g.comment&&(a.comment?a.comment+=`
173
- `+g.comment:a.comment=g.comment);continue}(g.newlineAfterProp||UH.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",E0);r.atKey=!0;let y=g.end,E=p?e(r,p,g,s):t(r,y,d,null,g,s);r.schema.compat&&_0.flowIndentCheck(n.indent,p,s),r.atKey=!1,HH.mapIncludes(r,a.items,E)&&s(y,"DUPLICATE_KEY","Map keys must be unique");let w=w0.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:E.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=w.end,w.found){b&&(m?.type==="block-map"&&!w.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&g.start<w.found.offset-1024&&s(E.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,w,s):t(r,c,f,null,w,s);r.schema.compat&&_0.flowIndentCheck(n.indent,m,s),c=k.range[2];let S=new b0.Pair(E,k);r.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}else{b&&s(E.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),w.comment&&(E.comment?E.comment+=`
174
- `+w.comment:E.comment=w.comment);let k=new b0.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}k0.resolveBlockMap=WH});var v0=I(R0=>{"use strict";var VH=Mr(),JH=Ni(),KH=Kh();function zH({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??VH.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=JH.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&&KH.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}R0.resolveBlockSeq=zH});var $s=I(T0=>{"use strict";function YH(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}}T0.resolveEnd=YH});var C0=I(A0=>{"use strict";var QH=K(),XH=Nr(),x0=Fr(),ZH=Mr(),eW=$s(),O0=Ni(),tW=Xl(),rW=zh(),Yh="Block collections are not allowed within flow collections",Qh=e=>e&&(e.type==="block-map"||e.type==="block-seq");function nW({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?x0.YAMLMap:ZH.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let b=0;b<n.items.length;++b){let y=n.items[b],{start:E,key:w,sep:k,value:S}=y,T=O0.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:w??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!T.found){if(!T.anchor&&!T.tag&&!k&&!S){b===0&&T.comma?s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):b<n.items.length-1&&s(T.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),T.comment&&(l.comment?l.comment+=`
175
- `+T.comment:l.comment=T.comment),d=T.end;continue}!i&&r.options.strict&&tW.containsNewline(w)&&s(w,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(b===0)T.comma&&s(T.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(T.comma||s(T.start,"MISSING_CHAR",`Missing , between ${a} items`),T.comment){let C="";e:for(let O of E)switch(O.type){case"comma":case"space":break;case"comment":C=O.source.substring(1);break e;default:break e}if(C){let O=l.items[l.items.length-1];QH.isPair(O)&&(O=O.value??O.key),O.comment?O.comment+=`
176
- `+C:O.comment=C,T.comment=T.comment.substring(C.length+1)}}if(!i&&!k&&!T.found){let C=S?e(r,S,T,s):t(r,T.end,k,null,T,s);l.items.push(C),d=C.range[2],Qh(S)&&s(C.range,"BLOCK_IN_FLOW",Yh)}else{r.atKey=!0;let C=T.end,O=w?e(r,w,T,s):t(r,C,E,null,T,s);Qh(w)&&s(O.range,"BLOCK_IN_FLOW",Yh),r.atKey=!1;let G=O0.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?Qh(S)&&s(q.range,"BLOCK_IN_FLOW",Yh):G.comment&&(O.comment?O.comment+=`
177
- `+G.comment:O.comment=G.comment);let Q=new XH.Pair(O,q);if(r.options.keepSourceTokens&&(Q.srcToken=y),i){let V=l;rW.mapIncludes(r,V.items,O)&&s(C,"DUPLICATE_KEY","Map keys must be unique"),V.items.push(Q)}else{let V=new x0.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=eW.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}A0.resolveFlowCollection=nW});var I0=I(P0=>{"use strict";var sW=K(),oW=le(),iW=Fr(),aW=Mr(),cW=S0(),lW=v0(),uW=C0();function Xh(e,t,r,n,s,o){let i=r.type==="block-map"?cW.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?lW.resolveBlockSeq(e,t,r,n,o):uW.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 dW(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===iW.YAMLMap.tagName&&a==="map"||i===aW.YAMLSeq.tagName&&a==="seq")return Xh(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),Xh(e,t,r,s,i)}let l=Xh(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 oW.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}P0.composeCollection=dW});var eg=I(L0=>{"use strict";var Zh=le();function pW(e,t,r){let n=t.offset,s=fW(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?Zh.Scalar.BLOCK_FOLDED:Zh.Scalar.BLOCK_LITERAL,i=t.source?mW(t.source):[],a=i.length;for(let g=i.length-1;g>=0;--g){let b=i[g][1];if(b===""||b==="\r")a=g;else break}if(a===0){let g=s.chomp==="+"&&i.length>0?`
171
+ `}};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?`
179
179
  `.repeat(Math.max(1,i.length-1)):"",b=n+s.length;return t.source&&(b+=t.source.length),{value:g,type:o,comment:s.comment,range:[n,b,b]}}let c=t.indent+s.indent,l=t.offset+s.length,u=0;for(let g=0;g<a;++g){let[b,y]=i[g];if(y===""||y==="\r")s.indent===0&&b.length>c&&(c=b.length);else{b.length<c&&r(l+b.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=b.length),u=g,c===0&&!e.atRoot&&r(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=b.length+y.length+1}for(let g=i.length-1;g>=a;--g)i[g][0].length>c&&(a=g+1);let d="",p="",f=!1;for(let g=0;g<u;++g)d+=i[g][0].slice(c)+`
180
- `;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===Zh.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
180
+ `;for(let g=u;g<a;++g){let[b,y]=i[g];l+=b.length+y.length+1;let E=y[y.length-1]==="\r";if(E&&(y=y.slice(0,-1)),y&&b.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-y.length-(E?2:1),"BAD_INDENT",k),b=""}o===rg.Scalar.BLOCK_LITERAL?(d+=p+b.slice(c)+y,p=`
181
181
  `):b.length>c||y[0]===" "?(p===" "?p=`
182
182
  `:!f&&p===`
183
183
  `&&(p=`
@@ -190,46 +190,46 @@ ${l}
190
190
  `+i[g][0].slice(c);d[d.length-1]!==`
191
191
  `&&(d+=`
192
192
  `);break;default:d+=`
193
- `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function fW({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 mW(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}L0.resolveBlockScalar=pW});var rg=I(D0=>{"use strict";var tg=le(),hW=$s();function gW(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=tg.Scalar.PLAIN,c=yW(o,l);break;case"single-quoted-scalar":a=tg.Scalar.QUOTE_SINGLE,c=bW(o,l);break;case"double-quoted-scalar":a=tg.Scalar.QUOTE_DOUBLE,c=wW(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=hW.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function yW(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}`),G0(e)}function bW(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),G0(e.slice(1,-1)).replace(/''/g,"'")}function G0(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
193
+ `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function 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
194
  `,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
195
195
  `,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let s=n[1],o=" ",i=t.lastIndex;for(r.lastIndex=i;n=r.exec(e);)n[1]===""?o===`
196
196
  `?s+=o:o=`
197
- `:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function wW(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
197
+ `:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function 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
198
  `))if(s===`
199
- `){let{fold:o,offset:i}=_W(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=EW[o];if(i)r+=i;else if(o===`
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
200
  `)for(o=e[n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="\r"&&e[n+1]===`
201
- `)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=kW(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(s===" "||s===" "){let o=n,i=e[n+1];for(;i===" "||i===" ";)i=e[++n+1];i!==`
201
+ `)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=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
202
  `&&!(i==="\r"&&e[n+2]===`
203
- `)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function _W(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
203
+ `)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function NW(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
204
204
  `||n==="\r")&&!(n==="\r"&&e[t+2]!==`
205
205
  `);)n===`
206
206
  `&&(r+=`
207
- `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var EW={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 kW(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}}D0.resolveFlowScalar=gW});var F0=I($0=>{"use strict";var xn=K(),N0=le(),SW=eg(),RW=rg();function vW(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?SW.resolveBlockScalar(e,t,n):RW.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,d=>n(r,"TAG_RESOLVE_FAILED",d)):null,l;e.options.stringKeys&&e.atKey?l=e.schema[xn.SCALAR]:c?l=TW(e.schema,s,c,r,n):t.type==="scalar"?l=xW(e,s,t,n):l=e.schema[xn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=xn.isScalar(d)?d:new N0.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new N0.Scalar(s)}return u.range=a,u.source=s,o&&(u.type=o),c&&(u.tag=c),l.format&&(u.format=l.format),i&&(u.comment=i),u}function TW(e,t,r,n,s){if(r==="!")return e[xn.SCALAR];let o=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)o.push(a);else return a;for(let a of o)if(a.test?.test(t))return a;let i=e.knownTags[r];return i&&!i.collection?(e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[xn.SCALAR])}function xW({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[xn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[xn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),l=t.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;o(s,"TAG_RESOLVE_FAILED",u,!0)}}return i}$0.composeScalar=vW});var B0=I(M0=>{"use strict";function OW(e,t,r){if(t){r??(r=t.length);for(let n=r-1;n>=0;--n){let s=t[n];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++n];s?.type==="space";)e+=s.source.length,s=t[++n];break}}return e}M0.emptyScalarPosition=OW});var U0=I(sg=>{"use strict";var AW=gi(),CW=K(),PW=I0(),j0=F0(),IW=$s(),LW=B0(),GW={composeNode:q0,composeEmptyNode:ng};function q0(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=DW(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=j0.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=PW.composeCollection(GW,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=ng(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&&(!CW.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 ng(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:LW.emptyScalarPosition(t,r,n),indent:-1,source:""},d=j0.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 DW({options:e},{offset:t,source:r,end:n},s){let o=new AW.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=IW.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}sg.composeEmptyNode=ng;sg.composeNode=q0});var V0=I(W0=>{"use strict";var NW=Ii(),H0=U0(),$W=$s(),FW=Ni();function MW(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new NW.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=FW.resolveProps(n,{indicator:"doc-start",next:s??o?.[0],offset:r,onError:i,parentIndent:0,startOnNewline:!0});u.found&&(c.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!u.hasNewline&&i(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=s?H0.composeNode(l,s,u,i):H0.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=$W.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}W0.composeDoc=MW});var ig=I(z0=>{"use strict";var BW=sa("process"),jW=Wm(),qW=Ii(),$i=Di(),J0=K(),UW=V0(),HW=$s();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 K0(e){let t="",r=!1,n=!1;for(let s=0;s<e.length;++s){let o=e[s];switch(o[0]){case"#":t+=(t===""?"":n?`
207
+ `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var $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?`
209
209
 
210
210
  `:`
211
- `)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var og=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 jW.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=K0(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(J0.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];J0.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
211
+ `)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var 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}
213
213
  ${a}`:n}else{let i=o.commentBefore;o.commentBefore=i?`${n}
214
- ${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:K0(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(BW.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=UW.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=HW.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 qW.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}}};z0.Composer=og});var X0=I(Zl=>{"use strict";var WW=eg(),VW=rg(),JW=Di(),Y0=Ei();function KW(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 JW.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return VW.resolveFlowScalar(e,t,n);case"block-scalar":return WW.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function zW(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=Y0.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
214
+ ${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment: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:`
216
216
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
217
217
  `),u=a.substring(0,l),d=a.substring(l+1)+`
218
- `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return Q0(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 YW(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=Y0.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">":QW(e,c);break;case'"':ag(e,c,"double-quoted-scalar");break;case"'":ag(e,c,"single-quoted-scalar");break;default:ag(e,c,"scalar")}}function QW(e,t){let r=t.indexOf(`
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(`
220
220
  `),n=t.substring(0,r),s=t.substring(r+1)+`
221
- `;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];Q0(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 Q0(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 ag(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=zW;Zl.resolveAsScalar=KW;Zl.setScalarValue=YW});var eO=I(Z0=>{"use strict";var XW=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}Z0.stringify=XW});var sO=I(nO=>{"use strict";var cg=Symbol("break visit"),ZW=Symbol("skip children"),tO=Symbol("remove item");function On(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),rO(Object.freeze([]),e,t)}On.BREAK=cg;On.SKIP=ZW;On.REMOVE=tO;On.itemAtPath=(e,t)=>{let r=e;for(let[n,s]of t){let o=r?.[n];if(o&&"items"in o)r=o.items[s];else return}return r};On.parentCollection=(e,t)=>{let r=On.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],s=r?.[n];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function rO(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=rO(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===cg)return cg;a===tO&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}nO.visit=On});var ru=I(Ye=>{"use strict";var lg=X0(),eV=eO(),tV=sO(),ug="\uFEFF",dg="",pg="",fg="",rV=e=>!!e&&"items"in e,nV=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 ug:return"<BOM>";case dg:return"<DOC>";case pg:return"<FLOW_END>";case fg:return"<SCALAR>";default:return JSON.stringify(e)}}function oV(e){switch(e){case ug:return"byte-order-mark";case dg:return"doc-mode";case pg:return"flow-error-end";case fg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
221
+ `;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];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`
224
224
  `:case`\r
225
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}Ye.createScalarToken=lg.createScalarToken;Ye.resolveAsScalar=lg.resolveAsScalar;Ye.setScalarValue=lg.setScalarValue;Ye.stringify=eV.stringify;Ye.visit=tV.visit;Ye.BOM=ug;Ye.DOCUMENT=dg;Ye.FLOW_END=pg;Ye.SCALAR=fg;Ye.isCollection=rV;Ye.isScalar=nV;Ye.prettyToken=sV;Ye.tokenType=oV});var gg=I(iO=>{"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 oO=new Set("0123456789ABCDEFabcdef"),iV=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),nu=new Set(",[]{}"),aV=new Set(` ,[]{}
227
- \r `),mg=e=>!e||aV.has(e),hg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
225
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}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===`
228
228
  `?!0:r==="\r"?this.buffer[t+1]===`
229
229
  `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let r=this.buffer[t];if(this.indentNext>0){let n=0;for(;r===" ";)r=this.buffer[++n+t];if(r==="\r"){let s=this.buffer[n+t+1];if(s===`
230
230
  `||!s&&!this.atEnd)return t+n+1}return r===`
231
231
  `||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&Ot(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
232
- `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===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(mg),"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(mg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||Ot(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
232
+ `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===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
233
  `,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
234
234
  `,o)}s!==-1&&(r=s-(n[s-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pushToIndex(r+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){let r=this.buffer[++t];if(r==="+")this.blockScalarKeep=!0;else if(r>"0"&&r<="9")this.blockScalarIndent=Number(r)-1;else if(r!=="-")break}return yield*this.pushUntil(r=>Ot(r)||r==="#")}*parseBlockScalar(){let t=this.pos-1,r=0,n;e:for(let o=this.pos;n=this.buffer[o];++o)switch(n){case" ":r+=1;break;case`
235
235
  `:t=o,r=0;break;case"\r":{let i=this.buffer[o+1];if(!i&&!this.atEnd)return this.setNext("block-scalar");if(i===`
@@ -239,83 +239,83 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
239
239
  `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Mi.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(Ot(o)||t&&nu.has(o))break;r=n}else if(Ot(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
240
240
  `?(n+=1,s=`
241
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(mg),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(iV.has(r))r=this.buffer[++t];else if(r==="%"&&oO.has(this.buffer[t+1])&&oO.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
+ `){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===`
243
243
  `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
244
- `?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};iO.Lexer=hg});var bg=I(aO=>{"use strict";var yg=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}}}};aO.LineCounter=yg});var _g=I(pO=>{"use strict";var cV=sa("process"),cO=ru(),lV=gg();function Br(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function lO(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 dO(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function su(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Fs(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function ou(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function uO(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Br(t.start,"explicit-key-ind")&&!Br(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,dO(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 wg=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new lV.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,cV.env.LOG_TOKENS&&console.log("|",cO.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=cO.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"&&uO(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&&lO(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":{lO(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=su(this.peek(2)),n=Fs(r),s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];let o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:n,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let r=this.source.indexOf(`
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
245
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
246
- `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Br(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(dO(r.key)&&!Br(r.sep,"newline")){let i=Fs(r.start),a=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:a,sep:c}]})}else o.length>0?r.sep=r.sep.concat(o,this.sourceToken):r.sep.push(this.sourceToken);else if(Br(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Fs(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:o,key:null,sep:[this.sourceToken]}):Br(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);s||r.value?(t.items.push({start:o,key:i,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(i):(Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{let i=this.startBlockValue(t);if(i){if(i.type==="block-seq"){if(!r.explicitKey&&r.sep&&!Br(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ou(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||Br(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=su(n),o=Fs(s);uO(t);let i=t.end.splice(1,t.end.length);i.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:o,key:t,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let r=this.source.indexOf(`
246
+ `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){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
247
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
248
- `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=su(t),n=Fs(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=su(t),n=Fs(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,r){return this.type!=="comment"||this.indent<=r?!1:t.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};pO.Parser=wg});var yO=I(ji=>{"use strict";var fO=ig(),uV=Ii(),Bi=Di(),dV=sh(),pV=K(),fV=bg(),mO=_g();function hO(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new fV.LineCounter||null,prettyErrors:t}}function mV(e,t={}){let{lineCounter:r,prettyErrors:n}=hO(t),s=new mO.Parser(r?.addNewLine),o=new fO.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 gO(e,t={}){let{lineCounter:r,prettyErrors:n}=hO(t),s=new mO.Parser(r?.addNewLine),o=new fO.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 hV(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=gO(e,r);if(!s)return null;if(s.warnings.forEach(o=>dV.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 gV(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 uV.Document(e,n,r).toString(r)}ji.parse=hV;ji.parseAllDocuments=mV;ji.parseDocument=gO;ji.stringify=gV});var wO=I(X=>{"use strict";var yV=ig(),bV=Ii(),wV=Bh(),Eg=Di(),_V=gi(),jr=K(),EV=Nr(),kV=le(),SV=Fr(),RV=Mr(),vV=ru(),TV=gg(),xV=bg(),OV=_g(),iu=yO(),bO=pi();X.Composer=yV.Composer;X.Document=bV.Document;X.Schema=wV.Schema;X.YAMLError=Eg.YAMLError;X.YAMLParseError=Eg.YAMLParseError;X.YAMLWarning=Eg.YAMLWarning;X.Alias=_V.Alias;X.isAlias=jr.isAlias;X.isCollection=jr.isCollection;X.isDocument=jr.isDocument;X.isMap=jr.isMap;X.isNode=jr.isNode;X.isPair=jr.isPair;X.isScalar=jr.isScalar;X.isSeq=jr.isSeq;X.Pair=EV.Pair;X.Scalar=kV.Scalar;X.YAMLMap=SV.YAMLMap;X.YAMLSeq=RV.YAMLSeq;X.CST=vV;X.Lexer=TV.Lexer;X.LineCounter=xV.LineCounter;X.Parser=OV.Parser;X.parse=iu.parse;X.parseAllDocuments=iu.parseAllDocuments;X.parseDocument=iu.parseDocument;X.stringify=iu.stringify;X.visit=bO.visit;X.visitAsync=bO.visitAsync});import{isUtf8 as AV}from"node:buffer";import{spawnSync as CV}from"node:child_process";import{isDeepStrictEqual as _O}from"node:util";function kg(e,t={}){if(e.length===0||!AV(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=PV(n,t.decode??z,t.runTq??IV)??LV(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!_O(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function PV(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 _O(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function IV(e,t,r){let n=CV("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 LV(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,EO.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 EO,Sg=_(()=>{"use strict";J();EO=oa(wO(),1)});async function Tg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Ue(),Ap)),Promise.resolve().then(()=>(nr(),Qn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await GV(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function GV(e,t){let r=DV(t.command)?e:kg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=vg(t.sizeThresholdBytes,8*1024),s=vg(t.repetitionThresholdRows,20),o=vg(t.topRows,t.level==="terse"?5:12),i=NV(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let y=await kO(e,t);if(!y)return{stdout:r,lossy:!1};let E=[...i].sort((T,C)=>C.size_kib-T.size_kib||T.path.localeCompare(C.path)),w=Math.min(o,E.length),k=E.length-w,S={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:E.length,rows_kept:w,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${w}; ${k} omitted`]},summary:{total_size_kib:E.reduce((T,C)=>T+C.size_kib,0),largest_size_kib:E[0]?.size_kib??0},rows:E.slice(0,w),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${y}`}};return{stdout:Buffer.from(`${M(S)}
249
- `),lossy:!0,handle:y,bytesElided:e.length}}let a=FV($V(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=MV(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 kO(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:BV(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 DV(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function kO(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 NV(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 $V(e){try{return z(e.toString("utf8"))}catch{return}}function Rg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function FV(e){if(Array.isArray(e)&&e.every(Rg))return{rows:e};if(!Rg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(Rg)).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 MV(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 BV(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:jV(s.reduce((o,i)=>o+i,0))})}return r}function jV(e){return Number(e.toPrecision(15))}function vg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var xg=_(()=>{"use strict";J();Sg()});import{existsSync as qV}from"node:fs";import{join as UV}from"node:path";function HV(){for(let e of(process.env.PATH??"").split(":"))if(e&&qV(UV(e,"rsp")))return!0;return!1}function qi(){return HV()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var Og=_(()=>{"use strict"});var au={};se(au,{parseProxyCommandLine:()=>vO,rewriteProxyCommandLine:()=>RO,runProxy:()=>JV});import{spawn as WV}from"node:child_process";function VV(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function JV(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=vO(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=RO(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await KV(t.telemetryRoot,r,c),await SO(r,t.level??"lossless");throw c}for(let c of s)await zV(t.telemetryRoot,c);let i=await SO(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await gn(t.telemetryRoot,{collection:lt,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function RO(e,t="lossless",r=qi()){let n=tJ(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||eJ(n,a)==="|")return i.text;let c=YV(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function vO(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 KV(e,t,r){await gn(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 zV(e,t){await gn(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 SO(e,t,r=e){let n=WV(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 AT(n,i=>Tg(i,r,o))}function YV(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=nJ(o);if(!i)return null;let a=ZV(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(yn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:dt(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=QV(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(VV),...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 QV(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}:XV(t,r)}function XV(e,t){return e[0]==="cat"&&e.length===2&&Ag(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Ag(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])&&Ag(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Ag(e){return!!e&&!e.startsWith("-")}function ZV(e){let t=0;for(;t<e.length&&Es(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&Es(e[t].value);)t+=1;return t}function eJ(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function tJ(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=rJ(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 rJ(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 nJ(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var cu=_(()=>{"use strict";we();CT();xg();zo();Og();Ft()});function OO(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=Cg(o),l=Cg(i),u=Cg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>uJ(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Pg(p.length,c)+Pg(p.tokens.length,l)+Pg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+cJ(p.tokens,n,r.length)+lJ(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(TO(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(TO(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function TO(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:oJ(n),tokens:iJ(n),numbers:aJ(n),length:n.length}}function oJ(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 iJ(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function aJ(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function cJ(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 lJ(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Cg(e){let t=xO(e),r=xO(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Pg(e,t){return Math.abs(e-t.median)/t.mad}function xO(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 uJ(e,t,r,n){return e<n&&r<t}var AO=_(()=>{"use strict"});var Ig={};se(Ig,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>ir,GIT_LOG_MACHINE_FIELDS:()=>PO,StructuredUsageError:()=>lu,cleanStatusPayload:()=>DO,recoveryInstruction:()=>At,renderGitContract:()=>IO,runGitWrapper:()=>pJ});import{spawn as dJ}from"node:child_process";async function pJ(e,t){let r=LO(e),n=GO(r.argv),s=await gJ(n,r.argv.slice(1));return IO(e,s,t)}async function IO(e,t,r){let n=LO(e);if((t.status??0)!==0||t.signal){let d=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=GO(n.argv),o;try{o=yJ(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(fJ(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=DJ(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${At(l)}
248
+ `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=su(t),n=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)}
251
251
  `;return{stdout:Buffer.from(`${M(a.payload)}
252
- ${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function At(e){return e.startsWith("el:")?`rsp show ${e}`:e}function LO(e){let{argv:t,query:r,full:n}=Iw(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 fJ(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!mJ(e)||n.level!=="lossless")return!0;let s=GJ(n.heavyGitByteThreshold,ir);return Buffer.byteLength(t)<=s}function mJ(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function GO(e){if(e[0]!=="git")throw new Error("expected rsp git <subcommand>");let t=e[1];if(t==="status"||t==="log"||t==="diff"||t==="commit"||t==="push"||t==="blame"||t==="branch"||t==="show")return t;throw new Error(`unsupported git subcommand: ${t??""}`)}function hJ(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${PO.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 gJ(e,t){let r=dJ("git",hJ(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 yJ(e,t,r,n){switch(e){case"status":return bJ(t,r,n);case"log":return TJ(t,r,n);case"diff":return xJ(t,r,n);case"commit":return qr(OJ(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return qr(AJ(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return CJ(t,r,n);case"branch":return PJ(t,r,n);case"show":return IJ(t,r,n)}}function bJ(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of wJ(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=kJ(l),o=!0;continue}let u=_J(l);if(u){o=!0,s.push(u);continue}let d=EJ(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return DO(e.join(" "),n);throw new uu("git-status-unparseable")}let a=Le(s,r),c=NO(a,"state");return qr({command:e.join(" "),branch:n,rows:a,summary:vJ(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function wJ(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function _J(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 EJ(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?Ui(SJ(e.slice(3),t),t):null}function Ui(e,t){let r=CO(t[0]??"."),n=CO(t[1]??".");return{path:RJ(e),index:r,worktree:n,state:LJ(`${r}${n}`)}}function CO(e){return e===" "?".":e}function kJ(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function SJ(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function RJ(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function vJ(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 DO(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 TJ(e,t,r){let n=t.split("\0").filter(Boolean).map(o=>{let i=o.replace(/^\x1e/,"").split("");return{short:i[0]??"",author:i[1]??"",date:i[2]??"",subject:i[3]??""}}),s=Le(n,r);return qr({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function xJ(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Le(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return qr({command:e.join(" "),files:o,summary:`${r?`${o.length}/${s.length}`:o.length} files, +${i.added} -${i.deleted}`},r,["rsp git status --query <path>","rsp git log --query <subject>"])}function OJ(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 AJ(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 CJ(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=NO(i,"author");return qr({command:e.join(" "),ranges:i,authors:a,summary:`${r?`${i.length}/${s.length}`:i.length} ranges, ${Object.keys(a).length} authors`},r,["rsp git show --query <commit>","rsp git log --query <author>"])}function PJ(e,t,r){let n=t.split(`
256
- `).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Le(n,r),o=s.find(i=>i.current)?.name??"";return qr({command:e.join(" "),branches:s,summary:`${r?`${s.length}/${n.length}`:s.length} branches${o?`, current ${o}`:""}`},r,["rsp git log --query <branch>","rsp gh pr list --query <branch>"])}function IJ(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let E of i.split(`
257
- `)){let w=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(E);if(!w)continue;let k=w[3]??"";f.push({path:(w[1]??"").trim(),changed:Number(w[2]??0),added:[...k].filter(S=>S==="+").length,deleted:[...k].filter(S=>S==="-").length,binary:k.startsWith("Bin")})}let m=Le(f,r),g=0,b=0,y=0;for(let E of m)g+=typeof E.changed=="number"?E.changed:0,b+=typeof E.added=="number"?E.added:0,y+=typeof E.deleted=="number"?E.deleted:0;return qr({command:e.join(" "),commit:a??"",short:c??"",author:l??"",date:u??"",subject:d??"",body_lines:p.trim()?p.trim().split(`
258
- `).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${g} changed, +${b} -${y}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function qr(e,t,r){return t?Xt(e,r):e}function LJ(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function NO(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function GJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function DJ(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 PO,lu,uu,An=_(()=>{"use strict";we();J();Ue();ao();bt();Ue();PO=["%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 dw(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 Ng={};se(Ng,{NORMALIZATION_ALLOWLIST:()=>UO,NORMALIZE_ANSI:()=>pu,NORMALIZE_BLANK_LINES:()=>hu,NORMALIZE_CR_PROGRESS:()=>fu,NORMALIZE_JSON_TOON:()=>qO,NORMALIZE_TRAILING_WHITESPACE:()=>mu,crushJsonArrayItems:()=>Hi,formatCodexNormalizeDecision:()=>KO,formatNormalizeDecision:()=>JO,hookDecisionFromClaudePostExecJson:()=>HO,hookDecisionFromCodexPostExecJson:()=>WO,normalizeOutput:()=>gu,renderGenericJsonLane:()=>Gg,runClaudePostExecHook:()=>FJ,runCodexPostExecHook:()=>MJ,transcodeJsonToToon:()=>jO});import{readFileSync as du}from"node:fs";function jO(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 Lg(o,a)?i.trimEnd():e}async function Gg(e,t={}){let r=UJ(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=BO(t.minTokens,NJ),i=BO(t.maxItems,$J);if(!(s>i&&KJ(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:zJ(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=HJ(e),s=new Set;n&&e.forEach((a,c)=>{Dg(a)!==n&&s.add(c)});let o=WJ(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 UO)t=r.apply(t);return t}async function HO(e,t){return await VO(e,t)}async function WO(e,t){return await VO(e,t)}async function VO(e,t){let r=qJ(e),n=YJ(r,["cwd"])||t.cwd;if(!await(t.isEnabled??jJ)(n))return{kind:"passthrough",reason:"disabled"};let o=QJ(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 JO(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function KO(e){return{stdout:"",status:0}}async function FJ(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await HO(t,{cwd:process.cwd()}),n=JO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function MJ(e){let t=e?du(e,"utf8"):du(0,"utf8"),r=await WO(t,{cwd:process.cwd()}),n=KO(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function BJ(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&&$O(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&$O(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function $O(e){return e>=32&&e<=63}function jJ(e){return De(e,process.env).enabled}function qJ(e){try{let t=JSON.parse(e);return Ms(t)?t:{}}catch{return{}}}function UJ(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Ms(n)||Array.isArray(n)?{value:n}:null}catch{}let r=[];for(let n of e.split(/\r?\n/))if(n.trim())try{r.push(JSON.parse(n))}catch{return null}return r.length>0?{value:r}:null}function HJ(e){let t=new Map;for(let s of e){let o=Dg(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 Dg(e){return Array.isArray(e)?"array":Ms(e)?Object.keys(e).sort().map(t=>`${t}:${FO(e[t])}`).join("|"):FO(e)}function WJ(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&Dg(s)!==t))for(let[i,a]of zO(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 VJ(s))r.add(o);for(let o of JJ(s))r.add(o)}return r}function VJ(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=MO(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=MO(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 JJ(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 zO(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Ms(e)?Object.entries(e).flatMap(([r,n])=>zO(n,t?`${t}.${r}`:r)):[]}function FO(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function MO(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 KJ(e){return Math.ceil(e.length/4)}function BO(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function zJ(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 YJ(e,t){let r=e;for(let n of t){if(!Ms(r))return"";r=r[n]}return typeof r=="string"?r:""}function QJ(e,t){let r=e[t];return Ms(r)?r:null}function Ms(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Lg(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)=>Lg(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)&&Lg(r[i],n[i]))}var pu,fu,mu,hu,qO,NJ,$J,UO,Wi=_(()=>{"use strict";J();Ue();pu={id:"ansi",apply:BJ},fu={id:"cr-progress",apply:e=>e.split(`
252
+ ${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function At(e){return e.startsWith("el:")?`rsp show ${e}`:e}function 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(`
257
+ `)){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(`
260
260
  `).map(t=>{let r=t.endsWith("\r")?t.slice(0,-1):t,n=r.lastIndexOf("\r");return n>=0?r.slice(n+1):r}).join(`
261
261
  `)},mu={id:"trailing-whitespace",apply:e=>e.split(`
262
262
  `).map(t=>t.replace(/[ \t]+$/,"")).join(`
263
263
  `)},hu={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
264
264
 
265
- `)};qO={id:"json-to-toon",apply:e=>jO(e)},NJ=200,$J=15;UO=[pu,fu,mu,hu,qO]});var Ki={};se(Ki,{parseExecCommandLine:()=>tA,renderExecContract:()=>eA,runExecWrapper:()=>r2});import{isUtf8 as XJ}from"node:buffer";import{spawn as ZJ}from"node:child_process";async function r2(e,t){let r=tA(e),n=await n2(r);return await eA(r,n,t)}async function eA(e,t,r){let n=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let p=qe(e,t.stdout,t.stderr);return{stdout:ee(p),stderr:s,status:p.exitCode??1,signal:t.signal,rawOutput:n}}if(n.length===0)return{stdout:n,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let o=s2(n),i=o.kind==="text"?Buffer.from(o.text):n,a=R2(r.heavyByteThreshold,e2);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"?i2(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):a2(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 tA(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 n2(e){let t=ZJ(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 XJ(e)?{kind:"text",text:o2(e.toString("utf8"))}:{kind:"bytes"}}function o2(e){let t=e;for(let r of[pu,fu,mu,hu])t=r.apply(t);return t}function i2(e,t,r,n,s,o=y2,i=Hi){let c=Math.max(1,Math.floor((n==="terse"?ZO:t2)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=g2(e,c,u,o),p=c2(e),f=l2(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=rA(s,p,t,S2(l),r,f.summary),g=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:cA(d.error)}:f.degradation;return{text:aA(m),degradation:g}}function a2(e,t,r,n){let s=Math.max(1,Math.floor(ZO/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:aA(rA(n,"bytes",t,0,r,o))}}function rA(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:At(s)}}}function c2(e){let t=e.trim();return t?sA(t)?"json":oA(e)?"jsonl":b2(e)?"unified-diff":iA(e)?"tabular":w2(e)?"log-like":_2(e)?"prose":"untyped":"untyped"}function l2(e,t,r,n,s,o,i=Hi){switch(e){case"json":return u2(t,i);case"jsonl":return{summary:d2(t)};case"unified-diff":return{summary:p2(t)};case"tabular":return{summary:f2(t)};case"log-like":return{summary:m2(t,o)};case"prose":return{summary:h2(t)};case"bytes":return{summary:{}};case"untyped":return{summary:nA(r,n,s,o)}}}function u2(e,t){let r=sA(e);if(Array.isArray(r)){if(r.length>15)try{let n=t(r,15);return{summary:{root_type:"array",total:n.total,kept:n.kept,dropped:n.dropped,shape_outliers:n.shapeOutliers,value_outliers:n.valueOutliers,items:n.items.map(Ur),item_keys:Fg(r)}}}catch(n){return{summary:QO(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:cA(n)}}}return{summary:QO(r)}}if(Ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Ur(o)]))}}}return{summary:{root_type:typeof r,value:Ur(r)}}}function QO(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Ur),item_keys:Fg(e)}}function d2(e){let t=oA(e)??[],r=E2(t,"level");return{records:t.length,keys:Fg(t),levels:r,first:Ur(t[0]),last:Ur(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 f2(e){let t=iA(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:nA(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function m2(e,t){let r=Vi(e);return{entries:r.length,levels:k2(r),first:Cn(r[0]??""),last:Cn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:Cn(n.text)}))}}function h2(e){let t=e.trim().split(/\n\s*\n/).filter(n=>n.trim()),r=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:r.length,opening:Cn(t[0]??""),closing:Cn(t.at(-1)??"")}}function nA(e,t,r,n){let s=XO(e.subarray(0,t)),o=XO(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:Cn(i.text)}))}}function g2(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function y2(e,t){return OO(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function sA(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 oA(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 b2(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 iA(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 w2(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 _2(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 Fg(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 E2(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 k2(e){let t=new Map;for(let r of e){let n=/\blevel=([A-Za-z]+)\b/.exec(r)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(r);if(!n)continue;let s=(n[1]??n[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}function Ur(e){return typeof e=="string"?Cn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Ur):Ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Ur(r)])):String(e)}function Cn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=YO?t:`${t.slice(0,YO-1)}\u2026`}function aA(e){let t=M(e).trimEnd(),r=z(t);if(!$g(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
266
- `}function $g(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>$g(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&$g(r[i],n[i]))}function Ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cA(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 XO(e){return e.toString("utf8").replace(/�$/g,"")}function S2(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 R2(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var e2,t2,ZO,YO,zi=_(()=>{"use strict";we();J();AO();An();Wi();bt();e2=8*1024,t2=2*1024,ZO=1024,YO=240});var xu={};se(xu,{RSP_WRAPPER_CAPABILITIES:()=>Xi,_testOnlyResetBinaryState:()=>D2,formatCodexHookDecision:()=>EA,formatHookDecision:()=>_A,hookDecisionFromClaudePreExecJson:()=>U2,hookDecisionFromCodexPreExecJson:()=>H2,rewriteCommand:()=>bA,rewriteTableFromCapabilities:()=>yA,runClaudePreExecHook:()=>W2,runCodexPreExecHook:()=>V2});import{accessSync as P2,constants as I2,existsSync as L2,readFileSync as Ru}from"node:fs";import{fileURLToPath as G2}from"node:url";function D2(){Su=void 0,Mg=!1}function N2(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return P2(`${t}/rsp`,I2.X_OK),!0}catch{}return!1}function $2(e){return Su===void 0&&(Su=e()),Su}function F2(){Mg||(Mg=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function yA(e){let t=new Map;for(let r of e)t.set(uK(r.command),["rsp",...r.wrapper]);return t}function bA(e,t=qi()){let r=j2(e,t);if(r)return r;let n=tK(e);if(n)return n;let s=Z2(e);if(!s)return ku(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&Es(o[0]))return ku(e,t);let i=q2(s,t);if(i)return i;let a=B2(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=>eK(o,d.command));if(!c)return ku(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=TA(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Pt),...u].join(" "),capabilityId:c.id}}function B2(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 j2(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 q2(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=TA(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 U2(e,t){return await wA(e,t)}async function H2(e,t){return await wA(e,t)}async function wA(e,t){return(await jg(e,t,"pre-exec")).decision}async function jg(e,t,r){let n=CA(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Bs({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=Ct(s,["cwd"])||Ct(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??J2)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:Bg(s),decision:m,reason:"disabled"})}}let a=Bg(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??qi();if(!$2(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||N2()))){F2();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=De(o,process.env).proxyEnabled?rK(a,c):(t.rewrite??(m=>bA(m,c)))(a),f=Number(process.hrtime.bigint()-u)/1e6;if(p.kind!=="rewrite"){let m=p.reason?p:{...p,reason:"unsupported-command"};return{decision:m,telemetryRoot:o,event:Bs({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await z2(o,t.wakeResident??K2),{decision:p,telemetryRoot:o,event:Bs({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function _A(e){return e.kind==="rewrite"?kA(e.command):{stdout:"",status:0}}function EA(e){return e.kind==="rewrite"?kA(e.command):{stdout:"",status:0}}function kA(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
267
- `,status:0}}async function W2(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await jg(t,{cwd:process.cwd()},"claude-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;RA("claude-pre-exec",n);let s=_A(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),SA("claude-pre-exec",t,r)),vA("claude-pre-exec",r),0}}async function V2(e){let t="";try{t=e?Ru(e,"utf8"):Ru(0,"utf8");let r=await jg(t,{cwd:process.cwd()},"codex-pre-exec");vu(r.telemetryRoot,r.event);let n=r.decision;RA("codex-pre-exec",n);let s=EA(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return vu(process.cwd(),SA("codex-pre-exec",t,r)),vA("codex-pre-exec",r),0}}function vu(e,t){gn(e,t).catch(()=>{})}function Bs(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection: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 SA(e,t,r){let n=CA(t),s=n.ok?Bg(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:qg(r)}}function J2(e){return De(e,process.env).enabled}async function K2(e){let t=De(e,process.env);if(!t.enabled||!X2(t))return;let r=ot(e);await La(r,Q2(t))}async function z2(e,t){try{await Promise.resolve(t(e))}catch(r){Y2(r)}}function RA(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
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}
268
268
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
269
- `)}}function vA(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${qg(t)}
270
- `)}function Y2(e){ap(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${qg(e)}
271
- `)}function qg(e){return e instanceof Error?e.name||"Error":typeof e}function Q2(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 X2(e){if(!e.storeUri.startsWith("file://"))return!0;try{return L2(G2(e.storeUri))}catch{return!1}}function Bg(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 Z2(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=Tu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&Es(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function Tu(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function eK(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function tK(e){let t=Tu(e.trim()).map(r=>r.text);return yn(t)?{kind:"passthrough",reason:M2}:null}function TA(e){return e.map(t=>t.text)}function Pt(e){return/[^\w@%+=:,./-]/.test(e)?Ug(e):e}function rK(e,t){let r=sK(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Pt).join(" ")} proxy -- ${Ug(e.trim())}`,capabilityId:"proxy:universal"}}function nK(e){if(!process.argv[1])return!1;let t=Tu(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(OA(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=Ko(Jo(t)[0]??"")[0];if(r==="rsp"||nK(t))return"opt-out";if(r&&xA.has(r))return"interactive"}function ku(e,t){let r=e.trim();return oK(r)?{kind:"rewrite",command:`${t.map(Pt).join(" ")} exec -- ${Ug(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function oK(e){return!(!e||!iK(e)||!aK(e)||OA(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||cK(e,"rsp")||AA(e,xA)||lK(e))}function iK(e){return/&&|[;|]/.test(e)}function OA(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 aK(e){return Jo(e).some(t=>{let r=Ko(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function AA(e,t){return Jo(e).some(r=>{let n=Ko(r)[0];return n?t.has(n):!1})}function cK(e,t){return AA(e,new Set([t]))}function lK(e){return Jo(e).some(t=>{let r=Ko(t);return r[0]==="grep"&&r.includes("-q")})}function Ug(e){return`'${e.replace(/'/g,"'\\''")}'`}function uK(e){return e.join("\0")}function CA(e){try{let t=JSON.parse(e);return PA(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(!PA(r))return"";r=r[n]}return typeof r=="string"?r:""}function PA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Su,Mg,Xi,_ae,M2,xA,Zi=_(()=>{"use strict";zo();Ue();wt();nr();Og();Ft();Mg=!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"]}],_ae=yA(Xi),M2="lossless-gh-json-jq";xA=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var FA={};se(FA,{fastTelemetryRoot:()=>Wg,isFastGitStatus:()=>Ou,runFastGitStatus:()=>Au});import{spawnSync as NA}from"node:child_process";import{existsSync as $A,readdirSync as wK}from"node:fs";function Ou(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function Au(){if(_K(process.cwd()))return{stdout:Hg(),stderr:Buffer.alloc(0),status:0,signal:null};if(NA("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:Hg(),stderr:Buffer.alloc(0),status:0,signal:null};let t=NA("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?Hg():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function Wg(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(wt(),cn));return t(e).rootDir}catch{return e}}function Hg(){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 _K(e){try{return!$A(`${e}/.git`)||$A(`${e}/.git/index`)?!1:wK(e).every(t=>t===".git")}catch{return!1}}var Vg=_(()=>{"use strict";Qt()});async function qs(e,t,r){let n=new Array(e.length),s=0,o=Math.min(Math.max(1,Math.floor(t)),e.length),i=Array.from({length:o},async()=>{for(;s<e.length;){let a=s++;n[a]=await r(e[a])}});return await Promise.all(i),n}function jA(e,t,r,n={}){$K(t);let s=e==="issue"?"i":"p",o=t.map((p,f)=>({alias:`${s}${f}`,number:p})),i=(n.labelNames??[]).map((p,f)=>({alias:`l${f}`,name:p})),c=FK(["id","number",...r]).map(p=>MK(NK[p],6)).join(`
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(`
273
273
  `),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
274
274
  `)),u=i.map(({alias:p,name:f})=>` ${p}: label(name: ${JSON.stringify(f)}) { id name }`),d=["query RspGitHubBatch($owner: String!, $repo: String!) {"," repository(owner: $owner, name: $repo) {",...l,...u," }","}"].join(`
275
- `);return{kind:e,query:d,aliases:o,labelAliases:i}}function qA(e,t){let r=js(t),n=js(r.data),s=js(n.repository),o=Array.isArray(r.errors)?r.errors.map(js):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(WA(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:VA(l?.message)||"not found"}})}function UA(e,t,r){let n=[],s=[];return e.forEach((o,i)=>{if(t.length>0){let a=`add${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: addLabelsToLabelable(input: { labelableId: ${Wr(o.nodeId)}, labelIds: ${BA(t)}, clientMutationId: ${Wr(String(o.number))} }) { clientMutationId }`)}if(r.length>0){let a=`remove${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: removeLabelsFromLabelable(input: { labelableId: ${Wr(o.nodeId)}, labelIds: ${BA(r)}, clientMutationId: ${Wr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
276
- `)}}function HA(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${Wr(e.nodeId)}, subIssueId: ${Wr(s.nodeId)}, clientMutationId: ${Wr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
277
- `)}}function Jg(e,t){let r=js(t),n=Array.isArray(r.errors)?r.errors.map(js):[],s=new Map;for(let{alias:o}of e){let i=n.find(a=>Array.isArray(a.path)&&a.path.includes(o));i&&s.set(o,VA(i.message)||"mutation failed")}return s}function $K(e){if(e.length===0)throw new Error("at least one GitHub number is required");if(e.length>100)throw new Error("GitHub batch exceeds 100 nodes");for(let t of e)if(!Number.isSafeInteger(t)||t<=0)throw new Error(`invalid GitHub number: ${t}`)}function FK(e){return[...new Set(e)]}function MK(e,t){let r=" ".repeat(t);return e.split(`
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(`
278
278
  `).map(n=>`${r}${n}`).join(`
279
- `)}function Wr(e){return JSON.stringify(e)}function BA(e){return`[${e.map(Wr).join(", ")}]`}function js(e){return WA(e)?e:{}}function WA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function VA(e){return typeof e=="string"?e:""}var NK,JA=_(()=>{NK={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 jK,spawnSync as qK}from"node:child_process";function Yg(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function YA(e,t={}){let r=rz(e),n=r.repo??t.repo??process.env.GH_REPO??sz();if(!n||!n.includes("/"))return Zg(e,"repository is required; pass --repo owner/repo");let s=t.exec??oz,o=Math.max(1,Math.floor(t.restConcurrency??zA));return r.verb==="issues"||r.verb==="prs"?await WK(r,n,s,o,e):r.verb==="edit-labels"?await JK(r,n,s,o,e):await zK(r,n,s,o,e)}async function WK(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=QA(e),a=[],c=[];for(let u of Xg(e.numbers,100)){let d=jA(o,u,i.query),p=await Qg(r,t,d.query);if(ty(p))return await VK(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(...qA(d,Vr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:QK(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 VK(e,t,r,n,s){let o=QA(e),i=e.verb==="issues"?"issues":"pulls",a=await qs(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:mt(u)||"REST fallback failed"}};let d=qt(Vr(u.stdout));if(e.verb==="prs"&&o.output.some(XA)){let p=fe(qt(d.head).sha);if(!p)return{number:l,value:{error:"REST fallback pull response omitted head SHA"}};let f=await r(["api",`repos/${t}/commits/${p}/check-runs`]);if(f.code!==0)return{number:l,value:{error:mt(f)||"REST check-runs fallback failed"}};let m=await r(["api",`repos/${t}/commits/${p}/status`]);if(m.code!==0)return{number:l,value:{error:mt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:ZK(qt(Vr(f.stdout)),qt(Vr(m.stdout)))}}return{number:l,value:XK(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 JK(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return Zg(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([ZA(e.numbers,t,r,n),qs(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(qt(Vr(f.stdout)).node_id),error:f.code===0?"":mt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Hs(s,e.numbers,ey(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 Xg(d,100)){let f=UA(p,e.add.map(b=>c.get(b)),e.remove.map(b=>c.get(b))),m=await Qg(r,t,f.query);if(ty(m))return await KK(e,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"label mutation failed"});continue}let g=Jg(f.aliases,Vr(m.stdout));for(let b of p){let E=f.aliases.filter(w=>w.number===b.number).map(w=>g.get(w.alias)).find(Boolean);u.set(b.number,E?{error:E}:{ok:!0})}}return Hs(s,e.numbers,eC(e.numbers,u),"graphql")}async function KK(e,t,r,n,s){let o=await qs(e.numbers,n,async i=>{for(let a of e.remove){let c=await r(["api","-X","DELETE",`repos/${t}/issues/${i}/labels/${encodeURIComponent(a)}`]);if(c.code!==0)return{number:i,value:{error:mt(c)||`failed to remove label ${a}`}}}if(e.add.length>0){let a=["api","-X","POST",`repos/${t}/issues/${i}/labels`];for(let l of e.add)a.push("-f",`labels[]=${l}`);let c=await r(a);if(c.code!==0)return{number:i,value:{error:mt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Hs(s,e.numbers,ea(o),"rest-fallback",n)}async function zK(e,t,r,n,s){if(e.numbers.length<2)return Zg(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await ZA(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Hs(s,i,ey(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 Xg(d,100)){let f=HA({number:o,nodeId:l},p),m=await Qg(r,t,f.query);if(ty(m))return await YK(o,i,t,r,n,s);if(m.code!==0){for(let b of p)u.set(b.number,{error:mt(m)||"sub-issue mutation failed"});continue}let g=Jg(f.aliases,Vr(m.stdout));for(let b of f.aliases){let y=g.get(b.alias);u.set(b.number,y?{error:y}:{ok:!0})}}return Hs(s,i,eC(i,u),"graphql")}async function YK(e,t,r,n,s,o){let i=await qs(t,s,async a=>{let c=await n(["api",`repos/${r}/issues/${a}`,"--jq",".id"]),l=Number(c.stdout.trim());if(c.code!==0||!Number.isSafeInteger(l)||l<=0)return{number:a,value:{error:mt(c)||"REST id lookup failed"}};let u=await n(["api","-X","POST",`repos/${r}/issues/${e}/sub_issues`,"-F",`sub_issue_id=${l}`]);return{number:a,value:u.code===0?{ok:!0}:{error:mt(u)||"REST link failed"}}});return Hs(o,t,ea(i),"rest-fallback",s)}function Hs(e,t,r,n,s){let o=Object.values(r).filter(i=>Ws(i)&&"error"in i).length;return Pu({command:Iu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??zA}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function QA(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return KA(r,UK),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return KA(t,HK),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function KA(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function QK(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=Kg(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=tz(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=tC(t[s]));return"number"in n||(n.number=ry(t.number)),n}function XK(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Ws):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(XA(s))n[s]=qt(t.restCheckRollup);else if(s==="state")n.state=fe(t.state).toLowerCase();else if(s==="mergeable"){let o=t.mergeable;n.mergeable=typeof o=="boolean"?o?"mergeable":"conflicting":"unknown"}else n[s]=tC(t[s]);return"number"in n||(n.number=ry(t.number)),n}function ZK(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Ws):[],n=Array.isArray(t.statuses)?t.statuses.filter(Ws):[],s=[...r.map(o=>({name:fe(o.name),state:(fe(o.conclusion)||fe(o.status)).toLowerCase()})),...n.map(o=>({name:fe(o.context),state:fe(o.state).toLowerCase()}))];return{state:fe(t.state).toLowerCase()||ez(s.map(o=>o.state)),contexts:s}}function ez(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 XA(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function tz(e){let t=Kg(e).at(-1),r=qt(qt(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:Kg(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Qg(e,t,r){let[n,s]=nz(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function ZA(e,t,r,n){return await qs(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=qt(Vr(o.stdout)),a=fe(i.node_id),c=ry(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 Xg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function rz(e){if(!Yg(e))throw new Error("unsupported rsp gh batch command");let t=e[1],r=[],n=[],s=[],o=[],i;for(let a=2;a<e.length;a++){let c=e[a];if(c==="--repo")i=e[++a];else if(c==="--json")n.push(...Us(e[++a]??""));else if(c.startsWith("--json="))n.push(...Us(c.slice(7)));else if(c==="--add")s.push(...Us(e[++a]??""));else if(c.startsWith("--add="))s.push(...Us(c.slice(6)));else if(c==="--remove")o.push(...Us(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Us(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function Pu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
282
- `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function Zg(e,t){return Pu({command:Iu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function ey(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 eC(e,t){return ey(e,r=>t.get(r)??{error:"mutation skipped"})}function ty(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
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}
283
283
  ${e.stdout}`)}function mt(e){return(e.stderr||e.stdout).trim().split(`
284
- `)[0]?.slice(0,240)??""}function Vr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function Kg(e){let t=qt(e).nodes;return Array.isArray(t)?t.filter(Ws):[]}function tC(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function ry(e){let t=Number(e);return Number.isFinite(t)?t:0}function Us(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function nz(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function Iu(e){return`rsp ${e.join(" ")}`}function sz(){let e=qK("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 oz(e){let t=jK("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 qt(e){return Ws(e)?e:{}}function Ws(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var zA,UK,HK,rC=_(()=>{"use strict";we();J();JA();zA=4,UK=new Set(["number","title","state","labels","body"]),HK=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function ny(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"?iz(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 nC(e,t=ct){let r=ny(e);if(!r){let s=qe(e.join(" "),"","rsp gh api accepts GET reads without --jq, --template, --paginate, or --input");return{stdout:ee(s),stderr:Buffer.alloc(0),status:2,signal:null}}let n=await t({...r,args:["api",r.path],command:e.join(" ")});if(n.status!==0){let s=qe(e.join(" "),n.stdout,n.stderr);return{stdout:ee(s),stderr:Buffer.from(n.stderr),status:s.exitCode??n.status,signal:null}}return{stdout:Buffer.from(M(JSON.parse(n.stdout))),stderr:Buffer.from(n.stderr),status:0,signal:null}}function iz(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 sy=_(()=>{"use strict";J();Ao();bt()});var py={};se(py,{parseGhApiRead:()=>ny,renderGhContract:()=>lC,runGhWrapper:()=>pz});import{spawn as az}from"node:child_process";async function pz(e,t){if(Yg(e))return await YA(e);if(e[0]==="gh"&&e[1]==="api")return await nC(e);let r=uC(e),n=await mz(r);return lC(e,n,t)}async function lC(e,t,r){if((t.status??0)!==0||t.signal){let f=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=uC(e),s=ta(t.stdout),o=kz(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=Cz(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=Pz(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${At(d)}
284
+ `)[0]?.slice(0,240)??""}function 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
285
  `;return{stdout:Buffer.from(`${M(l.payload)}
286
- ${p}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:l.payload,mintedHandle:d,bytesElided:u,rowsElided:l.rowsElided,rawOutput:Buffer.from(c)}}function uC(e){let t=io(e);if(t.argv[0]!=="gh")throw new Error("expected rsp gh <surface> <subcommand>");let r=t.argv[1],n=t.argv[2];if(!(r==="pr"||r==="issue"||r==="run"))throw new Error(`unsupported gh surface: ${r??""}`);let s=r==="pr"&&n&&n!=="list"&&n!=="view";if(!(n==="list"||n==="view"||s))throw new Error(`unsupported gh subcommand: ${n??""}`);let o=r,i=[],a=!1,c=!1,l=new Set,u=t.argv.slice(3);for(let f=0;f<u.length;f+=1){let m=u[f]??"";m==="--full"?a=!0:m==="--wide"?c=!0:m==="--fields"?l=oC(u[++f]??""):m.startsWith("--fields=")?l=oC(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 fz(p),p}function sC(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?lz[t]:cz[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function oC(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function fz(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=dz[t];for(let n of e.fields)if(!r.includes(n))throw new Lu(e,`unknown field: ${n}`,r)}async function mz(e){if(e.action==="combined")return await hz(e);let t=gz(e);if(!t)return await Ez(sC(e));let r=await ct({...t,command:["gh",...sC(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await yz(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function hz(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=pC(ta(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:rt(ta(s.stdout)).map(wz)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function gz(e){let t=fC(e.passthrough),r=_z(e.passthrough,"--limit")??30,n=Ut(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Ut(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function yz(e,t){let r=ta(t);switch(`${e.kind}:${e.action}`){case"pr:list":return rt(r).map(dC);case"pr:view":return pC(r);case"issue:list":return rt(r).filter(n=>!Ln(n.pull_request)).map(iC);case"issue:view":return iC(r);case"run:list":return{items:rt(ae(r).workflow_runs).map(aC),total:Qe(ae(r),"total_count")};case"run:view":{let n=aC(r),s=fC(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(bz):[]}}default:return r}}function dC(e){let t=ae(e);return{number:Qe(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:uy(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 pC(e){return dC(e)}function iC(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:uy(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function aC(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 bz(e){let t=ae(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function wz(e){let t=ae(e);return{author:uy(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function uy(e){let t=ae(e);return{login:B(t,"login")}}function fC(e){return e.find(t=>!t.startsWith("-"))}function Ut(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function _z(e,t){let r=Ut(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function Ez(e){let t=az("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 kz(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=oy(r,"prs"),o=s.rows.map(c=>mC(c,e)),i=Le(o,e.query),a=iy(i.length,o.length,s.total,e.query);return i.length===0?ay(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):Vs({...n,prs:i,aggregate:a,summary:`${cy(i.length,o.length,e.query)} ${cC(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return Vs({...n,pr:hC(ae(r),e),summary:`PR #${Qe(ae(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return Sz(e,t,ae(r));case"issue:list":{let s=oy(r,"issues"),o=s.rows.map(c=>gC(c,e)),i=Le(o,e.query),a=iy(i.length,o.length,s.total,e.query);return i.length===0?ay(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):Vs({...n,issues:i,aggregate:a,summary:`${cy(i.length,o.length,e.query)} ${cC(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return Vs({...n,issue:Oz(ae(r),e),summary:`issue #${Qe(ae(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=oy(r,"runs"),o=s.rows.map(c=>yC(c,e)),i=Le(o,e.query),a=iy(i.length,o.length,s.total,e.query);return i.length===0?ay(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):Vs({...n,runs:i,aggregate:a,summary:`${cy(i.length,o.length,e.query)} runs`},e,["rsp gh run view <id>","rsp gh run list --query <workflow-or-status>"])}case"run:view":return Vs({...n,run:Az(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 Sz(e,t,r){let n=hC(ae(r.view),{...e,action:"view",wide:!0}),s=Le(rt(r.checks).map(Rz),e.query),o=ae(r.comments).comments,i=Le(rt(o).map(vz).slice(-3),e.query);return Xt({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 Rz(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 vz(e){return{author:wC(e.author),body:Gu(e,"body",ly,!1),created:B(e,"createdAt")}}function oy(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 iy(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function ay(e,t,r,n,s){return Xt({...e,empty:!0,scope:Tz(t),[r]:[],aggregate:n,summary:`0 ${xz(t)}`},s)}function Tz(e){let t=Ut(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Ut(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Ut(e.passthrough,"--branch")??Ut(e.passthrough,"-b"),s=Ut(e.passthrough,"--workflow")??Ut(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function xz(e){let t=Ut(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function mC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),draft:!!e.isDraft};return dy(r,e,t,["author","labels","url","updated"]),r}function hC(e,t){let r=mC(e,t);return r.body=Gu(e,"body",ly,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function gC(e,t){let r={number:Qe(e,"number"),title:B(e,"title"),state:ra(e),labels:bC(e.labels)};return dy(r,e,t,["author","url","updated"]),r}function Oz(e,t){let r=gC(e,t);return r.body=Gu(e,"body",ly,t.full),r}function yC(e,t){let r={id:Qe(e,"databaseId"),name:B(e,"name"),status:ra(e),conclusion:B(e,"conclusion")};return dy(r,e,t,["event","branch","workflow","created"]),r}function Az(e,t){let r=yC(e,t),n=rt(e.jobs).map(s=>({name:B(s,"name"),status:ra(s),conclusion:B(s,"conclusion"),log:Gu(s,"log",uz,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 Cz(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(Ln(r)){if(Ln(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function Pz(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 cC(e,t){return e.every(r=>r.state===t)?t:"returned"}function cy(e,t,r){return r?`${e}/${t}`:String(e)}function Vs(e,t,r){return t.query?Xt(e,r):e}function ra(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function dy(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=wC(t.author):s==="labels"?e.labels=bC(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 bC(e){return Array.isArray(e)?e.map(t=>Ln(t)?B(t,"name"):String(t)).filter(Boolean):[]}function wC(e){return Ln(e)?B(e,"login"):""}function ta(e){return e.trim()?JSON.parse(e):null}function rt(e){return Array.isArray(e)?e.filter(Ln):[]}function ae(e){return Ln(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Qe(e,t){let r=e[t];return typeof r=="number"?r:0}function Ln(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var cz,lz,ly,uz,dz,Lu,fy=_(()=>{"use strict";we();J();Ao();rC();sy();An();ao();bt();sy();cz={"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"]},lz={"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"]},ly=160,uz=160,dz={"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 gy={};se(gy,{renderTestContract:()=>_C,runTestWrapper:()=>Nz});import{spawn as Iz}from"node:child_process";async function Nz(e,t){let r=io(e),n=await jz(r.argv);return await _C(e,n,t)}async function _C(e,t,r){let n=io(e),o=EC(n.argv)==="vitest"?qz(t.stdout):Uz(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${Vz(o.durationSeconds)}`,c=Le(o.failures,n.query);if(r.level==="terse")return await $z(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let g=await Hz(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:g.text}),u??=g.handle,d+=g.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Xt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:hy(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 $z(e,t,r,n,s,o,i){let a=Fz(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Xt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((w,k)=>w.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:hy(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(w=>({suite:w.suite,name:w.name,excerpt:w.excerpt})));let m=M(f),g=Buffer.byteLength(m),b=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:g}});if(!b)throw new Error("terse test output requires an elision store");let E=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${g}) \u2014 ${At(b)}`;return{stdout:Buffer.from(`${u}
287
- ${E}`),stderr:Buffer.from(t.stderr),status:hy(t.status),signal:t.signal,payload:l,mintedHandle:b,bytesElided:g,rowsElided:d,rawOutput:Buffer.from(m)}}function hy(e){return e===0||e===null?0:1}function Fz(e){let t=[],r=Gz;for(let n of e.slice(0,Dz)){let s=Mz(n.excerpt,Math.min(Lz,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function Mz(e,t){if(t<=0)return"";let r=e.split(`
286
+ ${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(`
288
288
  `),n=r.length<=2?e:`${r[0]}
289
289
  \u2026
290
- ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function EC(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 Bz(e){if(EC(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 jz(e){let t=Bz(e),r=Iz(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 qz(e){let t=kC(e);if(!Jr(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Kr(t.numTotalTests),o=Kr(t.numFailedTests),i=Jz(Kr(t.startTime),Kr(t.endTime));for(let a of r){if(!Jr(a))continue;let c=Ht(a.name)||Ht(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Jr(u)&&u.status==="failed"&&n.push({suite:c,name:Ht(u.fullName)||Ht(u.title)||Ht(u.name),excerpt:Wz(u.failureMessages)||Ht(u.failureMessage)})}return s||=r.reduce((a,c)=>!Jr(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Jr(c)?a+Kr(c.perfStats&&Jr(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function Uz(e){let t=e.split(`
291
- `).filter(Boolean).map(c=>kC(c)).filter(Jr);if(t.length===0)return null;let r=[],n=0,s=0,o=0,i=0,a=[];for(let c of t){if(c.type==="suite"){c.event==="started"&&(o+=1,n+=Kr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Kr(c.failed),i+=Kr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Ht(c.name).split("::").slice(0,-1).join("::"),name:Ht(c.name),excerpt:Ht(c.stdout)});continue}if(c.reason==="compiler-message"&&Jr(c.message)){let l=Ht(c.message.rendered);l&&a.push(l)}}return r.length===0&&a.length>0&&(r.push({suite:"cargo check",name:"compile-error",excerpt:a.join(`
292
- `)}),o||=1,n||=1,s||=1),s||=r.length,o||=1,n||=Math.max(s,r.length),{failed:s,total:n,suites:o,durationSeconds:i,failures:r}}async function Hz(e,t,r){let n=Buffer.from(e);if(n.length<=my)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,my).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 kC(e){try{return JSON.parse(e)}catch{return null}}function Wz(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
294
- `):""}function Vz(e){return`${Number(e.toFixed(1))}s`}function Jz(e,t){return e>0&&t>e?(t-e)/1e3:0}function Kr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Ht(e){return typeof e=="string"?e:""}function Jr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var my,Lz,Gz,Dz,yy=_(()=>{"use strict";we();J();An();ao();bt();my=320,Lz=160,Gz=my,Dz=3});var _y={};se(_y,{parseCatCommand:()=>wy,renderCatContract:()=>tY,runCatWrapper:()=>eY});import{isUtf8 as Kz}from"node:buffer";import{readFile as zz}from"node:fs/promises";import{extname as Yz}from"node:path";async function eY(e,t){let r=wy(e),n;try{n=await zz(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=qe(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
295
- `),status:1,signal:null}}return OC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await xC(e,r,n,t)}async function tY(e,t,r){if((t.status??0)!==0||t.signal){let i=qe(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=wy(e),s=Buffer.from(t.stdout,"utf8");return OC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await xC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function wy(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=TC(t[++i],by);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=TC(l,by);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 xC(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>vC(n.heavyByteThreshold,SC)||o.truncated;if(!RC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=RC(t.file)?rY(e,t.file,r,s,n.level,o):nY(e,t.file,r,s,o),c=`${M(a)}
296
- `;if(!i&&Buffer.byteLength(c)<=vC(n.heavyByteThreshold,SC))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 rY(e,t,r,n,s,o){let i=Du(n),a=s==="terse"?Xz:Qz,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:oY(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function nY(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 sY(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??by,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
290
+ ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function 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(`
299
299
  `)}${n&&i.length>0?`
300
- `:""}`,truncated:i.length<s.length}}function oY(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&&!iY(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 OC(e){return e.includes(0)||!Kz(e)}function RC(e){return Zz.has(Yz(e).toLowerCase())}function iY(e){return["for","if","switch","while"].includes(e)}function vC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function TC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var SC,by,Qz,Xz,Zz,Ey=_(()=>{"use strict";J();An();bt();SC=8*1024,by=10,Qz=8,Xz=2,Zz=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var NC={};se(NC,{REPO_STORE_PATH:()=>Ry,mergeRspBlock:()=>LC,provisionRspRepoStore:()=>gY});import{constants as aY}from"node:fs";import{access as cY,copyFile as lY,mkdir as CC,readFile as uY,rename as dY,writeFile as PC}from"node:fs/promises";import{dirname as pY,join as na,resolve as fY}from"node:path";async function gY(e,t={}){let r=fY(e),n=na(r,".red"),s=na(n,"config.yaml"),o=na(r,Ry);await CC(n,{recursive:!0}),await CC(pY(o),{recursive:!0});let i="";try{i=await uY(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=LC(i,{enabled:!0,ttlDays:t.ttlDays??_t,ephemeralTtlHours:t.ephemeralTtlHours??Et,byteBudget:t.byteBudget??kt,heavyGitByteThreshold:t.heavyGitByteThreshold??ir}),c=a!==i;c&&await PC(s,a,"utf8");let l=!await Sy(o),u=!1,d=!1;if(l){let f=na(r,mY),m=na(r,hY);if(await Sy(f))await dY(f,o),d=!0;else if(await Sy(m))await lY(m,o),u=!0;else{let{provisionElisionStore:g}=await Promise.resolve().then(()=>(al(),RT)),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=yY(a,Ry);return p!==a&&await PC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function LC(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,ir)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
302
- `),s=GC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
300
+ `:""}`,truncated:i.length<s.length}}function 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(`
303
303
  `)}
304
- `}let o=vy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
304
+ `}let o=Oy(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
305
305
  `)}
306
- `}function GC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(xy(n)&&Ty(n)===0&&DC(n)===t)return r}return-1}function vy(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(xy(e[s])&&Ty(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Ty(e){return(e.match(/^ */)?.[0]??"").length}function xy(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function DC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function Nu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function yY(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
307
- `),n=GC(r,"plugins");if(n===-1)return e;let s=vy(r,n,0),o=IC(r,"memory",n+1,s,2);if(o===-1)return e;let i=vy(r,o,2),a=[...r],c=IC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
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(`
308
308
  `)}
309
- `}function IC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(xy(i)&&Ty(i)===s&&DC(i)===t)return o}return-1}async function Sy(e){try{return await cY(e,aY.F_OK),!0}catch{return!1}}var Ry,mY,hY,$C=_(()=>{"use strict";et();Ue();Ry=Op,mY=Tw,hY=".red/memory/graph.rdb"});var UC={};se(UC,{runRspMcpServer:()=>wY});import{createInterface as bY}from"node:readline";async function wY(){let e=De(process.cwd(),process.env),t=bY({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 _Y(n,e);BC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){BC({jsonrpc:"2.0",id:typeof jC(r)?.id>"u"?null:jC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function _Y(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:MC(t)}]};if(!t.enabled)return{content:[{type:"text",text:MC(t)}],isError:!0};let n=OY(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Gn({tool:"rsp_stats",...await n.accountingStats(t.telemetryByteBudget)})}]};if(r?.name==="rsp_show"){let s=String(r.arguments?.handle??""),o=await n.get(s);return o?"status"in o?{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!1,category:"real-error",error:o.status,expired_at:o.expired_at,help:[o.command]})}],isError:!0}:{content:[{type:"text",text:Gn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Gn(EY(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await kY(r.arguments,n)}]}}return{}}function Gn(e){return`${ge(e)}
310
- `}function EY(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function kY(e,t){let r=RY(e?.payload);try{return await SY(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return qC(r)}}async function SY(e,t,r){let n=vY(t?.level),s=await Gg(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return qC(s.output);let o=gu(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:Buffer.byteLength(e),text:o});let i=Buffer.from(e),a=await r.mint(i,{command:"rsp mcp compress",loss:{level:n,bytes_elided:i.length}});return TY(o,i.length,a,n)}function RY(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function vY(e){return e==="terse"?"terse":"brief"}function TY(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=FC(o.subarray(0,i)),c=FC(o.subarray(Math.max(0,o.length-i)));return Gn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:xY(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function qC(e){return e.endsWith(`
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(`
311
311
  `)?e:`${e}
312
- `}function FC(e){return e.toString("utf8").replace(/�$/g,"")}function xY(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function OY(e){return yo(process.cwd(),e)}function MC(e){let t=e.enabled?wr(process.cwd(),e.overhead):null;return Gn({tool:"rsp_status",enabled:e.enabled,status:e.enabled?"enabled":"disabled",message:e.enabled?"rsp is enabled in this directory":"rsp is not enabled in this directory",overhead_verdict:t?.verdict??"unknown",overhead_summary:t?.summary??"rsp is not enabled in this directory",overhead_disabled_families:t?.disabled_families.map(r=>r.family)??[],help:e.enabled?[]:["/red-setup"]})}function BC(e){process.stdout.write(`${JSON.stringify(e)}
313
- `)}function jC(e){try{return JSON.parse(e)}catch{return null}}var HC=_(()=>{"use strict";Qt();Ue();we();Wi();nr()});var VC={};se(VC,{renderShellInit:()=>AY});function AY(e,t=Xi){if(e==="fish")return CY(t);if(e==="bash"||e==="zsh")return PY(e,t);throw new Error(`unsupported shell: ${e}`)}function CY(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} '${DY(`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 PY(e,t){let r=LY(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=>WC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of IY(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${GY(l)}' ]`).join(" && ")).join(" || ");s.push(` ${WC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function IY(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 LY(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 WC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function GY(e){return e.replace(/'/g,"'\\''")}function DY(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var JC=_(()=>{"use strict";Zi()});function Oy(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"&&NY(t.chosenOption)&&$Y(t.outcome)&&FY(t.cost)}function NY(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function $Y(e){return e==="success"||e==="failure"||e==="escalated"}function FY(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}var KC=_(()=>{});import{createHash as MY}from"node:crypto";function iP(e,t){return new Cy(e,t)}function zC(e){let t=Number(e.red_entity_id??e.rid),r=Py(e.properties??e.PROPERTIES),n=aP(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 YC(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=cP(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:Py(e.properties??e.PROPERTIES)}}function qY(e){let t=Number(e.red_entity_id??e.rid),r=Py(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!Oy(r)?null:{rid:t,event:r}}function Py(e){return e==null?{}:typeof e=="string"?JSON.parse(e):Mu(e)?e:{}}function aP(e){let t=e==="contact"?"person":e;if(BY.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function cP(e){if(jY.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function UY(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function QC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Nn(e){return Mu(e)?e:{}}function XC(e,t){return Nn(e)[t]}function ZC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function eP(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function tP(e){let t=Nn(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 Ay(e){return e!=null}function HY(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function WY(e){return MY("sha256").update(JSON.stringify(e)).digest("hex")}function VY(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function rP(e){return`artifact-hash:${e}`}function nP(e,t,r){return`connection:${e}:${t}:${r}`}function sP(){return"model-tier-bandit:v1"}function JY(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function oP(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function lP(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+oP(r,a)*3+oP(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 KY(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=uP({...lP(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return Dn(s)}function uP(e){return{...e,lexical:Dn(e.lexical),tags:Dn(e.tags),kind:Dn(e.kind),connections:Dn(e.connections),vector:Dn(e.vector),total:Dn(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Dn(e){return Math.round(e*1e3)/1e3}function zY(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 YY(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 QY(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var Wt,BY,jY,Cy,dP=_(()=>{"use strict";KC();Wt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},BY=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),jY=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Cy=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture(Nn(r));if(t==="getArtifact")return await this.getArtifact(XC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Nn(r);return await this.search(ZC(n,"query"),eP(n,"limit")??10,tP(n.options))}if(t==="think"){let n=Nn(r);return await this.think(ZC(n,"query"),eP(n,"limit")??8,tP(n.options))}if(t==="link")return await this.link(Nn(r));if(t==="backlinks")return await this.backlinks(XC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis(Nn(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Wt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:QY(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=aP(Xe(t.kind)||"note"),o=HY(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=WY([s,r,n,o,Xe(t.sourcePath),Xe(t.sourceSession)]),c=await this.kv().get(rP(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${VY(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 ${Wt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=zC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(rP(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${Wt.artifacts}`)).rows.map(zC).filter(Ay)}async search(t,r,n={}){let s=JY(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=lP(l,s),d=uP({...u,connections:KY(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:zY(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 YY(t,s)}async link(t){let r=await this.getArtifact(QC(t.from)),n=await this.getArtifact(QC(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=cP(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 ${Wt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=YC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(nP(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${Wt.connections}`)).rows.map(YC).filter(Ay)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=UY(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(!Oy(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${Wt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${Wt.outcomeEvents}`)).rows.map(qY).filter(Ay).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(sP());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(sP(),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(nP(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(Wt.kv)}}});var RP={};se(RP,{runResidentServer:()=>s8});import{randomUUID as Js}from"node:crypto";import{execFileSync as bP,spawn as XY}from"node:child_process";import{existsSync as ZY}from"node:fs";import{mkdir as wP,rename as e8,rm as pP,writeFile as _P}from"node:fs/promises";import{createServer as t8}from"node:net";import{dirname as Dy,join as Bu}from"node:path";import{fileURLToPath as r8,pathToFileURL as n8}from"node:url";async function s8(e){await wP(Dy(e.socketPath),{recursive:!0});let t=y8();g8();let r=e.telemetryDrainTimeoutMs??EP,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??T8(e.rootDir??process.cwd()),a=e.idleMs??tc,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=t8(S=>{d.add(S),S.once("close",()=>d.delete(S)),g(),R8(S,async(T,C)=>{g();let O=await v8(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=h8(l),f.close();for(let S of d)S.destroy()}function g(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let y=["SIGINT","SIGTERM"].map(S=>{let T=()=>{ju(),f.close();for(let C of d)C.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(S,T),{signal:S,handler:T}});await new Promise((S,T)=>{f.once("error",T),f.listen(e.socketPath,()=>{f.off("error",T),S()})}),(async()=>{let S=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let T=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(T)&&T>0&&await new Promise(q=>setTimeout(q,T));let C=await En.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),O=Number(process.hrtime.bigint()-S)/1e6,G=new Gy(C,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Za,byteBudget:e.telemetryByteBudget??e.byteBudget??ec});if(o){await C.close();return}if(await Iy(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&&Iy(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 _P(e.pidPath,`${process.pid}
316
- `,{encoding:"utf8",mode:384});let E=e.residentVersion??"0.0.0-dev",w=e.registryPath??Bu(ce(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ga(w,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:E})}catch{}await new Promise(S=>f.once("close",S)),c&&clearTimeout(c),s&&clearInterval(s),await pP(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Iy(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 pP(e.pidPath,{force:!0}),await Da(w)}async function u8(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),c8),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 wP(Dy(a),{recursive:!0}),await _P(c,`${ge(l)}
317
- `,{encoding:"utf8",mode:384}),await e8(c,a)}async function Iy(e,t=EP,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await SP(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 d8(e){let t=[];for(let r of l8){let n=await p8(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await f8(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${kP(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 f8(e,t,r){let n=m8(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${kP(t)}`)}function m8(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 kP(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function h8(e){return e&&clearTimeout(e),setTimeout(()=>{ju(),process.exit(0)},a8)}function g8(){fP||(fP=!0,process.on("exit",()=>ju()))}function y8(){if(process.platform==="win32")return;let t=XY(process.execPath,["-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",`
319
319
  const { execFileSync } = require("node:child_process");
320
320
  const parentPid = Number(process.argv[1]);
321
321
  const known = new Set();
@@ -356,26 +356,26 @@ const timer = setInterval(() => {
356
356
  clearInterval(timer);
357
357
  process.exit(0);
358
358
  }, 500);
359
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function ju(){for(let e of b8())try{process.kill(e,"SIGTERM")}catch{}}function b8(){if(process.platform==="win32")return[];let e="";try{e=bP("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 w8(e){if(e.collection!==lt)return e;let t=await mP(e.raw_text,gP(e.raw_bytes)),r=await mP(e.emitted_text,gP(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 mP(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=o8)try{return await SP((async()=>({tokens:(await _8())("cl100k_base").encode(e).length,estimated:!1}))(),i8,"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 _8(){return hP??=import(n8(E8()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await hP}function E8(){let e=Dy(r8(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=>ZY(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function gP(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 Ly(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function SP(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 k8(e){try{return JSON.parse(e)}catch{return e}}function S8(e){return yP(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>yP(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 yP(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function R8(e,t){e_(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Js(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function v8(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 Bm(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 jm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return O8(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await x8(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function T8(e){let t;return{async read(r){if(!t){let n=String(bP("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 x8(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await iP(s,t).request(r,n)}function O8(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var o8,i8,EP,a8,c8,l8,Gy,fP,hP,vP=_(()=>{"use strict";et();Na();po();Qt();al();dP();Of();Ft();Ue();o8=256*1024,i8=500,EP=2e3,a8=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),c8="rsp-status-summary.toon",l8=[Je,Ke,lt,Tt,Ho],Gy=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 d8(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=_s(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ie(c.command)||"unknown",source_id:Ie(c.id),source_collection:Ie(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await u8(t,this.opts.rootDir)}async writeEvent(t,r){let n=new Date,s=typeof r.created_at=="string"?r.created_at:n.toISOString(),o=new Date(Date.parse(s)+this.opts.ttlDays*24*60*60*1e3).toISOString(),i=typeof r.id=="string"&&r.id.trim()!==""?r.id:Js(),a={...await w8(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ly(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)||Js()}`,created_at:Ie(r.created_at)||Ie(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ie(r.command)||"unknown",command_class:Ly(Ie(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ie(r.reason)||"unknown",wrapper_family:Ie(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ie(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Tt,id:Js(),created_at:new Date().toISOString(),reason:r.reason,command:r.command,bytes:r.bytes,source_id:r.source_id,source_collection:r.source_collection,error:r.error});return await this.writeEvent(t,{collection:Je,id:`mirror:${Js()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:Ly(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(Ho).get("index:v1"),n=typeof r=="string"?k8(r):r;return S8(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Ho).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};fP=!1});Yu();bt();var pw={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},kL={json:{kind:"boolean"}},SL={help:{kind:"boolean",aliases:["h"]}},RL={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 fw(e){let{command:t,args:r}=zu(e,vL);return t==="--version"?{kind:"version",json:Xs(r,kL).values.json===!0}:TL(e)?{kind:"help"}:{kind:"command"}}var vL={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function TL(e){return Xr(e,SL).values.help===!0}function mw(e){let{values:t,rest:r}=OL(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw wa.unknownFlag(n);let s=zu(r,RL).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:xL})}},xL=Object.keys(pw).map(e=>`--${e}`);function OL(e){try{return Xr(e,pw)}catch(t){throw new wa(t instanceof Error?t.message:String(t))}}function hw(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function gw(e){return e instanceof Qs}function Vn(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var AL={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 Xs(e,AL).values}var yw={since:{kind:"value",coerce:PL},full:{kind:"boolean"}};function _a(e,t){return Xs(e,yw).values.since??t}function bw(e){return Xs(e,yw).values.full===!0}var CL={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function ww(e){let{values:t,rest:r}=Xr(e,CL),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 PL(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 A8}from"node:fs";import{fileURLToPath as C8}from"node:url";Qt();ao();we();wt();import{existsSync as M1}from"node:fs";import{fileURLToPath as B1}from"node:url";Qt();ip();we();import{existsSync as uD}from"node:fs";import{fileURLToPath as dD}from"node:url";async function Xn(e,t){let r={stats:pD(e.telemetryByteBudget),telemetry:up(t)};if(!e.storeUri.startsWith("file://"))return r;let n=dD(e.storeUri);if(!uD(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(nr(),Qn)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:up(t)}}catch{return r}finally{await o.close()}}function A_(e,t=up(30),r=!1,n=P_()){return`${ge(dp(e,t,r,n))}
360
- `}function C_(e,t){return`${ge({...e,overhead:I_(t)})}
361
- `}function P_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:Zt,breaching_families:[],disabled_families:[],families:[]}}function I_(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=P_()){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:fD(t.savings),dollars_saved_estimate_usd_display:mD(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:I_(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 L_(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 pD(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 G_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
363
- `)}function fD(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 mD(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?go(e.dollars_saved_estimate_usd):`${go(e.dollars_saved_low_usd)}-${go(e.dollars_saved_high_usd)} (estimate_midpoint: ${go(e.dollars_saved_estimate_usd)})`}function cp(e){return e==null?"none":String(e)}function lp(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function bv(e){let{stats:t,telemetry:r}=await Xn(e,30),[n,s]=await Promise.all([j1(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 wv(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},q1(e));return`${ge(r)}
364
- `}async function j1(e){if(!e.storeUri.startsWith("file://"))return[];let t=B1(e.storeUri);if(!M1(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(nr(),Qn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function q1(e){return[e.recoveryHandles.length>0?"rsp show <handle>":"rsp <wrapped-command> --terse",e.waits.length>0?"rsp wait ls":'rsp wait cmd -- "<command>"',"rsp stats --since <days>d"]}Qt();we();bt();import{existsSync as dK}from"node:fs";import{fileURLToPath as pK}from"node:url";Ft();import{spawn as yu}from"node:child_process";async function uA(e,t,r){let n=process.hrtime.bigint(),s=await dA(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return v2(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function dA(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 pA(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 gA(t);if(n){let o=T2(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Ft(),di));wu(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:bu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),wu(i(n,{collection:c,ts:new Date().toISOString(),command:bu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function fA(e,t,r){let n=await dA(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Ft(),di)),a={ts:new Date().toISOString(),command:bu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return wu(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),wu(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function mA(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${_u()}, passing through
367
- `),await gA(e)}function _u(){return"rsp is not enabled in this directory; run /red-setup"}function hA(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function jt(e){return bu(e.positional)}function bu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Yi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function v2(e,t,r,n,s){let o=r.stdoutBytes+r.stderrBytes,i={event_type:"control_holdout",control_holdout:!0,holdout_share:s,ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Or(e,{collection:"rsp_accounting_events_v1",...i}),Or(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function T2(e,t,r){let n=t[0]??"unknown",s=x2(r)||e;return{reason:lA(r)==="ENOENT"||lA(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:A2(r)??1,stderrHead:O2(s,240)}}function x2(e){return e instanceof Error?Yi(e.message):Yi(String(e??""))}function O2(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 lA(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function A2(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 gA(e){if(e[0]==="exec"||e[0]==="proxy")return await C2(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 C2(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)}
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
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 LA(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")),IA("disabled",n,r);n.push(await fK(e)),n.push(e.proxyEnabled?Se("proxy_mode","proxy routing enabled for pre-exec rewrites"):Pn("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(wt(),cn));if(n.push(mK(await o(t))),n.push(hK(e)),DA(e)){let{telemetry:i}=await Xn(e,r);n.push(gK(i,r))}else n.push(Se("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(yK(wr(process.cwd(),e.overhead))),IA(n.some(i=>!i.pass)?"fail":"pass",n,r)}function GA(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
371
- `}async function fK(e){try{if(e.proxyEnabled)return Se("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Zi(),xu)),r=t("git status");return r.kind==="rewrite"?Se("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):Pn("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return Pn("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Yi(t.message):"unknown error"}`,"rsp setup")}}function mK(e){return e.state==="registered-alive-socket-healthy"?Se("resident_liveness","resident registry points at a healthy socket"):Pn("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function hK(e){return e.storeUri.startsWith("file://")?DA(e)?Se("store_provisioning","rsp store exists for this directory"):Pn("store_provisioning","rsp store is not provisioned","rsp setup"):Se("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function gK(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Se("recent_degradation_rate",`0 degradations in the recent ${t}d window`);let n=e.health.degradations,s=r?.reason??e.health.most_recent?.reason??"unknown",o=r?.count??n;return Pn("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,bK(s,t))}function yK(e){return e.verdict==="green"?Se("overhead_budget",e.summary):Pn("overhead_budget",e.summary,"rsp status")}function bK(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 DA(e){if(!e.storeUri.startsWith("file://"))return!0;try{return dK(pK(e.storeUri))}catch{return!1}}function Se(e,t){return{name:e,pass:!0,finding:t}}function Pn(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:Rd({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function IA(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)}}Vg();function MA(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${EK(t).join(`
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(`
372
372
  `)}
373
- `}function EK(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();Ft();import{spawn as kK}from"node:child_process";import{createHash as SK}from"node:crypto";import{existsSync as RK,readFileSync as vK,statSync as TK}from"node:fs";import{tmpdir as xK}from"node:os";import{dirname as OK,join as Hr}from"node:path";async function $e(e,t,r,n,s=process.cwd(),o,i=o?.overhead??Zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&CK(s,o);let c=AK(e,t,a);return Dd(s,c,i),n?In(GK(s,e,t,c,i,n.lastResponseMetrics())):DK(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function AK(e,t,r){let n=Fd(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function In(e){e.catch(()=>{})}async function Cu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Ft(),di));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function CK(e,t){try{let r=lr(e),n=TK(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!LK(r,Date.now()-s))return;let o=PK(e),i=IK(o),a=Hr(i,"rsp.sock"),c=Hr(i,"rsp.pid"),l=Hr(ce(o),"rsp-resident.pid.toon"),u=Hr(o,".red","tmp","rsp","wake.lock");kK(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 PK(e){let t=e;for(;;){if(RK(Hr(t,".git")))return t;let r=OK(t);if(r===t)return e;t=r}}function IK(e){let t=SK("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Hr(r,"red-skills",t);if(Hr(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Hr(xK(),`red-skills-${n}`,t)}function LK(e,t){try{let r=vK(e,"utf8");lo(Buffer.byteLength(r));for(let n of r.split(/\r?\n/))if(n.trim())try{let s=JSON.parse(n),o=typeof s.created_at=="string"?s.created_at:s.ts;if(typeof o=="string"){let i=Date.parse(o);if(Number.isFinite(i)&&i<=t)return!0}}catch{}}catch{}return!1}async function GK(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=xa(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Ft(),di));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:jt(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function DK(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=xa(n,s);Or(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:jt(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Or(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:jt(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var zr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},ky=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function AC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new ky,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(Vg(),FA));if(i(e.positional))return await $e(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(An(),Ig)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await $e(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(fy(),py)),a=await i(e.positional,{level:e.level,store:s});return await $e(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(yy(),gy)),a=await i(e.positional,{level:e.level,store:s});return await $e(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(Ey(),_y)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await $e(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(zi(),Ki)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await $e(e,a,o,s)}}catch(i){return Vn(i)?(process.stdout.write(i.render()),2):await Qi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Qi("wrapper failed",e.positional,n,r)}async function P8(e=process.argv.slice(2)){let t=Ea("rsp"),r=fw(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
374
- `:`${_w(t)}
375
- `),0;if(r.kind==="help")return process.stdout.write(MA(e)),0;let n;try{n=mw(e)}catch(y){if(gw(y))return process.stdout.write(hw(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(),Ng));return await y()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:y}=await Promise.resolve().then(()=>(Wi(),Ng));return await y()}if(n.command==="setup"){let{provisionRspRepoStore:y}=await Promise.resolve().then(()=>($C(),NC)),E=await y(process.cwd());return process.stdout.write(G_(E)),0}if(n.command==="mcp"){let{runRspMcpServer:y}=await Promise.resolve().then(()=>(HC(),UC));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(()=>(JC(),VC));return process.stdout.write(E(y)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ue(),Ap)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:y}=await Promise.resolve().then(()=>(wt(),cn)),E=y(process.cwd()),w=await LA(o,E,_a(n.positional,1));return process.stdout.write(GA(w)),w.exitCode}let i=hA(n.command);if(!o.enabled)return i?await mA(n.positional):(process.stdout.write(`${_u()}
376
- `),0);if(n.command==="git"&&Ou(n.positional)){let y=process.hrtime.bigint();return await $e(n,await Au(),y,void 0,await Wg(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(wt(),cn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:y}=await Promise.resolve().then(()=>(we(),Aa)),E=y(l.rootDir,n.command);if(E)return await fA(n.positional,l.rootDir,E)}if(i&&pA(o.measurementHoldoutShare))return await uA(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:y}=await Promise.resolve().then(()=>(vP(),RP)),E=a(process.cwd()),w=vd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await y({socketPath:w.socket??E.socketPath,pidPath:w["pid-file"]??E.pidPath,rootDir:E.rootDir,storeUri:k.storeUri,ttlDays:w["ttl-days"]??k.ttlDays,ephemeralTtlHours:w["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:w["byte-budget"]??k.byteBudget,telemetryTtlDays:w["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:w["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:w["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:w["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:w["idle-ms"]??k.idleMs,residentVersion:w["resident-version"]??t.version,registryPath:w.registry??E.registryPath}),0):(process.stdout.write(`${_u()}
377
- `),0)}if(n.command==="warm-resident"){let y=a(process.cwd()),E=vd(n.positional),w=s(process.cwd(),process.env,n.storeUri);if(!w.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(wt(),cn));return await k({...y,socketPath:E.socket??y.socketPath,wakeLockPath:E["wake-lock"]??y.wakeLockPath},{storeUri:w.storeUri,ttlDays:E["ttl-days"]??w.ttlDays,ephemeralTtlHours:E["ephemeral-ttl-hours"]??w.ephemeralTtlHours,byteBudget:E["byte-budget"]??w.byteBudget,telemetryTtlDays:E["telemetry-ttl-days"]??w.telemetryTtlDays,telemetryByteBudget:E["telemetry-byte-budget"]??w.telemetryByteBudget,telemetryDrainIntervalMs:E["telemetry-drain-interval-ms"]??w.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:E["telemetry-drain-timeout-ms"]??w.telemetryDrainTimeoutMs,idleMs:E["idle-ms"]??w.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:y}=await Promise.resolve().then(()=>(cu(),au));return await y(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:y,sweepResidentRegistry:E}=await Promise.resolve().then(()=>(wt(),cn)),w=n.command==="sweep"?await E(l):await y(l);if(n.command==="sweep"){let{sweepGhEtagCache:T}=await Promise.resolve().then(()=>(Xa(),yE));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(C_(w,S)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:y}=await Promise.resolve().then(()=>(Ao(),AE)),E=ww(n.positional);if(!E)return process.stdout.write(ee({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let w=await y({path:E.path,params:E.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(w.stdout),w.stderr&&process.stderr.write(`${w.stderr}
378
- `),w.status}if(n.command==="dashboard"){let y=await bv(o);return process.stdout.write(wv(y)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!A8(C8(o.storeUri)))return i?await AC(n,o,l.rootDir):(process.stdout.write(ee({command:jt(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(nr(),Qn)),f=(y=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:y,paths:l})),m=()=>c(l,u(o,t.version)).catch(y=>void p(y)),g=()=>f(),b;try{if(n.command==="stats"){let{stats:y,telemetry:E}=await Xn(o,_a(n.positional,30)),{overheadHealth:w}=await Promise.resolve().then(()=>(we(),Aa));return process.stdout.write(A_(y,E,bw(n.positional),w(l.rootDir,o.overhead))),0}if(n.command==="gains"){let y=await g();b=()=>y.close();let E;try{E=await y.telemetryGains(_a(n.positional,28))}catch(w){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:w instanceof Error?w.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(L_(E)),0}if(n.command==="git"){if(In(m()),Ou(n.positional)){let S=process.hrtime.bigint();return await $e(n,await Au(),S,void 0,l.rootDir,o)}let{runGitWrapper:y}=await Promise.resolve().then(()=>(An(),Ig)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyGitByteThreshold:o.heavyGitByteThreshold});return await $e(n,k,w,E,l.rootDir,o)}if(n.command==="gh"){In(m());let{runGhWrapper:y}=await Promise.resolve().then(()=>(fy(),py)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await $e(n,k,w,E,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){In(m());let{runTestWrapper:y}=await Promise.resolve().then(()=>(yy(),gy)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E});return await $e(n,k,w,E,l.rootDir,o)}if(n.command==="cat"){In(m());let{runCatWrapper:y}=await Promise.resolve().then(()=>(Ey(),_y)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await $e(n,k,w,E,l.rootDir,o)}if(n.command==="exec"){In(m());let{runExecWrapper:y}=await Promise.resolve().then(()=>(zi(),Ki)),E=new zr(()=>f(!1));b=()=>E.close();let w=process.hrtime.bigint(),k=await y(n.positional,{level:n.level,store:E,heavyByteThreshold:o.heavyGitByteThreshold});return await $e(n,k,w,E,l.rootDir,o)}if(n.command==="show"&&n.handle){let y=await g();b=()=>y.close();let E=await y.get(n.handle);if(E&&"original"in E&&E.original)return process.stdout.write(E.original),await Cu(l.rootDir,n.handle,!0,E.original.length),0;if(E?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${E.expired_at}`,help:E.command});return process.stdout.write(k),await Cu(l.rootDir,n.handle,!1,k.length),1}let w=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(w),await Cu(l.rootDir,n.handle,!1,w.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(y){if(Vn(y))return process.stdout.write(y.render()),2;if(i)return await Qi("wrapper failed",n.positional,y,l.rootDir);throw y}finally{await b?.()}}bt();Sg();xg();function _le(e){return Vn(e)?{output:e.render(),status:2}:{output:ee({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"}),status:1}}export{P8 as main,Tg as renderAutomaticCommandOutput,_le as renderCliFailure,kg as renderStructuredBoundary};
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};
379
379
  /*! Bundled license information:
380
380
 
381
381
  content-type/dist/index.js: