@reddb-io/red-skills 3.17.2 → 3.17.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,62 +1,62 @@
1
1
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
2
- var uA=Object.create;var Cu=Object.defineProperty;var dA=Object.getOwnPropertyDescriptor;var pA=Object.getOwnPropertyNames;var fA=Object.getPrototypeOf,mA=Object.prototype.hasOwnProperty;var Xi=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t)=>{for(var r in t)Cu(e,r,{get:t[r],enumerable:!0})},gA=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of pA(t))!mA.call(e,s)&&s!==r&&Cu(e,s,{get:()=>t[s],enumerable:!(n=dA(t,s))||n.enumerable});return e};var Zi=(e,t,r)=>(r=e!=null?uA(fA(e)):{},gA(t||!e||!e.__esModule?Cu(r,"default",{value:e,enumerable:!0}):r,e));function yA(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 bA(e=fy){return Object.entries(e).map(([t,r])=>yA(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function wA(e){return/^-\d+(\.\d+)?$/.test(e)}function Nn(e){return!(!e||e.startsWith("-")&&!wA(e))}function ea(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function my(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>my(r.trim())):e}function Vr(e,t){switch(t){case"boolean":return _A(e);case"number":return EA(e);case"array":return e.split(",").map(r=>ea(r.trim()));case"string":default:return e}}function _A(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function EA(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 ur(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function kA(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function te(e,t){return{type:e,value:t}}function SA(e){let t=[],r=vA(e);if(t.push(te("section-header","Usage:"),te("text"," "),te("usage-text",r),te("newline",`
2
+ var gA=Object.create;var Cu=Object.defineProperty;var hA=Object.getOwnPropertyDescriptor;var yA=Object.getOwnPropertyNames;var bA=Object.getPrototypeOf,wA=Object.prototype.hasOwnProperty;var Xi=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var E=(e,t)=>()=>(e&&(t=e(e=0)),t);var I=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t)=>{for(var r in t)Cu(e,r,{get:t[r],enumerable:!0})},_A=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of yA(t))!wA.call(e,s)&&s!==r&&Cu(e,s,{get:()=>t[s],enumerable:!(n=hA(t,s))||n.enumerable});return e};var Zi=(e,t,r)=>(r=e!=null?gA(bA(e)):{},_A(t||!e||!e.__esModule?Cu(r,"default",{value:e,enumerable:!0}):r,e));function kA(e,t){return typeof t=="string"?{separator:e,to:t,typed:!1,prefix:!1}:{separator:e,to:t.to,typed:t.typed??!1,prefix:t.prefix??!1}}function SA(e=by){return Object.entries(e).map(([t,r])=>kA(t,r)).sort((t,r)=>r.separator.length-t.separator.length)}function RA(e){return/^-\d+(\.\d+)?$/.test(e)}function Nn(e){return!(!e||e.startsWith("-")&&!RA(e))}function ea(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e}function wy(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e.startsWith("[")&&e.endsWith("]")||e.startsWith("{")&&e.endsWith("}"))try{return JSON.parse(e)}catch{}let t=Number(e);return!Number.isNaN(t)&&Number.isFinite(t)&&e.trim()!==""?t:e.includes(",")?e.split(",").map(r=>wy(r.trim())):e}function Vr(e,t){switch(t){case"boolean":return vA(e);case"number":return TA(e);case"array":return e.split(",").map(r=>ea(r.trim()));case"string":default:return e}}function vA(e){let t=e.toLowerCase().trim();return t==="true"||t==="yes"||t==="1"||t==="on"}function TA(e){if(e.trim()==="")throw new TypeError(`Cannot convert "${e}" to number`);let t=Number(e);if(Number.isNaN(t))throw new TypeError(`Cannot convert "${e}" to number`);return t}function dr(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function xA(e,t={}){return e.map(r=>{let n=t[r.type];return n?n(r.value):r.value}).join("")}function te(e,t){return{type:e,value:t}}function OA(e){let t=[],r=AA(e);if(t.push(te("section-header","Usage:"),te("text"," "),te("usage-text",r),te("newline",`
3
3
  `),te("newline",`
4
4
  `)),e.positional&&e.positional.length>0){t.push(te("section-header","Arguments:"),te("newline",`
5
5
  `));for(let n of e.positional)if(n.description){let s=n.variadic?`${n.name}...`:n.name;t.push(te("indent"," "),te("positional-name",`<${s}>`)),n.required||t.push(te("positional-optional"," (optional)")),t.push(te("newline",`
6
6
  `),te("indent"," "),te("option-description",n.description),te("newline",`
7
7
  `))}t.push(te("newline",`
8
8
  `))}if(e.options&&Object.keys(e.options).length>0){t.push(te("section-header","Options:"),te("newline",`
9
- `));let n=TA(e.options);t.push(...n)}return t}function RA(e,t){let r=SA(e);return kA(r,t)}function vA(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 TA(e,t=!1){let r=[],n=[],s=t?"global-option-flag":"option-flag",o=t?"global-option-type":"option-type",i=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[l,u]of Object.entries(e)){if(u.hidden)continue;let d=[],p=h=>{d.includes(h)||d.push(h)};u.short&&p(`-${u.short}`),p(`--${l}`);for(let h of u.aliases??[])h.length===1?p(`-${h}`):p(`--${h}`);let f=d.join(", "),m=u.type&&u.type!=="boolean"?`<${u.type}>`:void 0;n.push({flags:f,type:m,desc:u.description??"",default:u.default!==void 0?String(u.default):void 0})}let c=Math.max(...n.map(l=>l.flags.length+(l.type?l.type.length+1:0)),20);for(let l of n){let u=l.flags.length+(l.type?l.type.length+1:0),d=" ".repeat(c-u+2);r.push(te("indent"," ")),r.push(te(s,l.flags)),l.type&&(r.push(te("text"," ")),r.push(te(o,l.type))),r.push(te("text",d)),r.push(te(a,l.desc)),l.default!==void 0&&(r.push(te("text"," ")),r.push(te(i,`(default: ${l.default})`))),r.push(te("newline",`
10
- `))}return r}function gy(e){let t=LA(e.options??{},e.autoShort??!1),r=bA(e.separators??fy);return{schema:e,parse(n){return xA(n,e,t,r)},help(){return RA(e,e.formatter)}}}function xA(e,t,r,n){let s={positional:{},options:{},errors:[],rest:[]},o=new Set(n.map(u=>u.to));for(let u of o)s[u]={};let i=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&i>0){s.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(i<a.length){let p=a[i];if(p.variadic){let f=[];for(;c<e.length;){let m=e[c];f.push(p.type?Vr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Vr(u,p.type):u;s.positional[p.name]=f,i++,c++}}else t.allowUnknown!==!1&&(s.rest=s.rest??[],s.rest.push(u)),c++;continue}if(u.startsWith("--")){c=PA(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!FA(u)){c=IA(u,c,e,s,r,t);continue}let d=OA(u,n);if(d){let{key:p,value:f,config:m}=d,h=s,w=h[m.to]??(h[m.to]={});w[p]=m.typed?my(f):ur(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let h=e[c];m.push(p.type?Vr(h,p.type):h),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Vr(u,p.type):u;s.positional[p.name]=f,i++}else t.allowUnknown!==!1?s.rest.push(u):s.errors.push(`Unexpected positional argument: ${u}`);c++}return NA(s,t,r),DA(s,t,a),$A(s,t,r),s}function OA(e,t){if(hA.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(CA(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(AA(s,o,r))return{key:s,value:o,config:r}}}return null}function CA(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function AA(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 PA(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return ta(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function IA(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=Au(c,s);return u?ta(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ea(ur(l))),t+1)}if(i.length===1){let a=Au(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Nn(c))return n.options[i]=ea(ur(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Au(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function ta(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Vr(ur(t),i.type):ur(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Vr(ur(t),i.type):ur(t);if(i.type==="array"){let c=n.options[e];Array.isArray(c)?c.push(...a):n.options[e]=a}else n.options[e]=a}else o.strict?n.errors.push(`Unknown option: --${e}`):o.allowUnknown!==!1&&(n.options[e]=ea(ur(t)));return r}function LA(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=GA(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 GA(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function Au(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function NA(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let s=process.env[n.env];e.options[n.name]=n.type?Vr(s,n.type):s}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function DA(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 $A(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 FA(e){return/^-\d+(\.\d+)?$/.test(e)}var fy,hA,hy=E(()=>{fy={"=":"data",":=":{to:"data",typed:!0},":":"meta"},hA=/^[a-z][a-z0-9+.-]*:\/\//i});function MA(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 BA(e,t){let r=new Map;for(let[s,o]of Object.entries(t))if(!(o.kind!=="value"||o.type!=="array")){r.set(s,s);for(let i of o.aliases??[])r.set(i,s)}let n=new Map;for(let s=0;s<e.length;s+=1){let o=e[s];if(o==="--")break;let i=o.match(/^--([^=]+)(?:=(.*))?$/)??o.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let c=i[2];if(c===void 0&&Nn(e[s+1])&&(c=e[s+1],s+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Vs(e,t,r={}){let s=gy({options:MA(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=BA(e,t),a=s.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(s.errors.length>0)throw new Error(s.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(s.options))if(!c.has(l))throw new Pu(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=s.options[c];u!==void 0&&(l.kind==="boolean"?o[c]=u:l.type==="array"?o[c]=(i.get(c)??[]).map(d=>l.coerce(d)):o[c]=l.coerce(String(u)))}return{values:o,positionals:s.rest}}function UA(e){let t=new Map;for(let[r,n]of Object.entries(e)){t.set(r,r);for(let s of n.aliases??[])t.set(s,r)}return t}function Kr(e,t,r={}){let n=UA(t),s=r.stopAtSeparator??!0,o={},i=[];for(let a=0;a<e.length;a+=1){let c=e[a];if(c==="--"&&s){i.push(...e.slice(a));break}let l=jA.exec(c)??qA.exec(c),u=l===null?void 0:n.get(l[1]),d=u===void 0?void 0:t[u];if(u===void 0||d===void 0){i.push(c);continue}if(d.kind==="boolean"){o[u]=!0;continue}let p=l[2];if(p===void 0&&Nn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function Iu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Js(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Pu,jA,qA,Js,Lu=E(()=>{hy();Pu=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};jA=/^--([^=]+)(?:=([\s\S]*))?$/,qA=/^-([^-=])(?:=([\s\S]*))?$/;Js=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 by(e){return HA.test(e)}var HA,yy,wy=E(()=>{HA=/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 dr(e,t,r)}function K(e,t){return new zr(e,t)}function $n(e){return e instanceof zr?e:e instanceof dr?new zr(e.line,e.reason):new zr(0,String(e&&e.message?e.message:e))}var Dn,dr,zr,Ht=E(()=>{Dn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},dr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},zr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function Yr(e){return e instanceof Gu}var WA,Gu,Ks=E(()=>{WA=/(?:^\uFEFF?|\n) *#/,Gu=class{value;constructor(t){if(WA.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function ky(e){let t=e.split(`
11
- `);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function At(e){return F(e,"invalid quoted string")}function $e(e,t){if(e==="")return"";if(e.startsWith('"'))return Sy(e,t);if(e.includes('"'))throw At(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(JA(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function pr(e,t){let r=e.trim();if(r.startsWith('"'))return[Sy(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Sy(e,t){if(e.charCodeAt(0)!==34)throw At(t);let r="",n=1;for(;n<e.length;){_y.lastIndex=n;let s=_y.exec(e);if(s===null)break;if(s[0]==='"'){if(e.slice(s.index+1).trim()==="")return r+e.slice(n,s.index);throw At(t)}if(s[0]!=="\\")throw At(t);r+=e.slice(n,s.index);let o=e[s.index+1];switch(n=s.index+2,o){case'"':r+='"';break;case"\\":r+="\\";break;case"n":r+=`
12
- `;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let i=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(i))throw At(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw At(t);r+=String.fromCharCode(a),n+=4;break}default:throw At(t)}}throw At(t)}function Ry(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw At(r);t=s+2;continue}if(n===-1)throw At(r);return n+1}}function Qr(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=Ry(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function pt(e,t,r){let n=0;for(;n<e.length;){let s=e.indexOf('"',n),o=e.indexOf(t,n);if(o!==-1&&(s===-1||o<s))return o;if(s===-1)return-1;n=Ry(e,s+1,r)}return-1}function JA(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function VA(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function KA(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function zs(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function Se(e,t){if(Yr(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return KA(e);if(typeof e=="string")return YA(e,t);throw F(0,"not a primitive")}function zA(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Re(e){return zA(e)?e:ra(e)}function YA(e,t){return Nu(e,t)?ra(e):e}function Nu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||VA(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ra(e){return`"${vy(e)}"`}function vy(e){let t="",r=0;Ey.lastIndex=0;let n;for(;(n=Ey.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function Xr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var Wt,_y,Ey,Zr=E(()=>{Ht();Ks();Wt=",";_y=/["\\\u0000-\u0008\u000a-\u001f]/g;Ey=/["\\\u0000-\u001f]/g});var Ty,QA,Ys,xy,en,Oy,Qs=E(()=>{Ty={comma:",",tab:" ",pipe:"|"},QA=Ty.comma,Ys=1e3,xy=["type","kind","event"],en="|",Oy=new Set(["order","discriminator","rows","common"])});function*Ay(e,t,r,n,s,o,i){yield*Py(r,e,n,t,{index:0},s,i,!0,o)}function*Py(e,t,r,n,s,o,i,a,c){let l=Gy(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!na(p.content,r,p.number))break;let f=Qr(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:sa(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*Ly(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*Iy(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 tP(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&na(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*Iy(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*XA(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*XA(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*Ly(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=Cy(r,o,n.number),d=Qr(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:$e(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=sa(e.children),d=r[o.cellIndex],p=Dy(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],h=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(h||r.length!==o.flatWidth&&f<u+eP(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let y={index:o.nextIndex};yield*Py(p,e.children,a,s,y,i,c,!1,n.number),o.nextIndex=y.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*Iy(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=Cy(r,o,n.number);yield{type:"primitive",value:$e(l,n.number),line:n.number}}function*Ly(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:$e(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function Cy(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function Gy(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=Ny(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 Ny(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!na(p.content,n,p.number))return;let f=ZA(t,r,Qr(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&na(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function ZA(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=Dy(r[c]);if(p===void 0)return;c++;let f=Gy(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=Ny(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=sa(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function Dy(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function sa(e){return e.reduce((t,r)=>t+$y(r),0)}function $y(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?sa(e.children):1}function eP(e){return e.reduce((t,r)=>t+(r.children===void 0?$y(r):1),0)}function na(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s!==-1&&s<n}function tP(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var Fy=E(()=>{Ht();Zr()});function rP(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*nP(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*sP(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Bu(e,t){let r=pt(e,"[",t);if(r===-1)return null;let n=pt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let h=i.slice(l+1);if(i=i.slice(0,l),a=!0,h===" "||h==="|")c=h;else if(h!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!oP.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let h=By(d,t);p=iP(d.slice(1,h),c,t),d=d.slice(h+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Pt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:pr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function By(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 iP(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return oa(e,",",t,r);try{return oa(e,t,t,r)}catch(n){if(t===",")throw n;return oa(e,",",t,r)}}function oa(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(aP(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 aP(e,t,r,n){let s=Pt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?cP(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:pr(s,n)[0]};let l=pr(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=By(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=oa(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function cP(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function ju(e){let t=0;for(let r of e)t+=r.children===void 0?1:ju(r.children);return t}function qu(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&qu(s.children,t,r)}}function Pt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function Uu(e,t,r){if(Pt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Pt(e.slice(s,i))),s=i+1)}return n.push(Pt(e.slice(s))),n}function jy(e,t){return pt(e,":",t)!==-1}function qy(e,t){try{return pr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function Uy(e){let t=e?.maxDepth??Ys;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*Hy(e){let t=new $u,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Du(t,e);return}let n=null,s=!1;try{n=Bu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&aa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Ky(t,r,n,e):yield*Wu(t,r,n,e),yield*Du(t,e);return}if((n===null||s)&&!jy(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:$e(Pt(r.content),r.number),line:r.number};return}yield*Wy(t,0,r.number,e),yield*Du(t,e)}function*Du(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*Wy(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*Fu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Fu(e,t,r,n,s,o){let i=null;try{i=Bu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(aa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{Mu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Ky(e,{...t,depth:n},i,s):yield*Wu(e,{...t,depth:n},i,s);return}let a=pt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=qy(Pt(r.slice(0,a)),t.number),l=Pt(r.slice(a+1));if(Mu(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*Wy(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:$e(l,t.number),line:t.number}}function Mu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*Wu(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(qu(r.fields,t.number,n),Jy(r.fields,n)){if(!n.objectArrayColumns&&Vy(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*Ay(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*uP(e,t,r,n);return}if(r.inline!==void 0){let i=Uu(r.inline,r.delimiter,t.number);Vu(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:$e(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*lP(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 Jy(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Jy(r.children,t))}function Vy(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Vy(t.children))}function*lP(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Pt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=Bu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(aa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:$e(n,t.number),line:t.number};return}yield*Wu(e,t,s,r);return}if(s!=null&&s.key!==void 0||jy(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Fu(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*Fu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:$e(n,t.number),line:t.number}}function*uP(e,t,r,n){let s=r.fields,o=ju(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!dP(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=Uu(l.content,r.delimiter,l.number);Vu(u.length,o,l.number,"row cells",n),yield*Ju(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function dP(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s===-1?!1:s<n}function*Ju(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:$e(o,n),line:n}}else yield*Ju(s.children,t,r,n);yield{type:"endObject",line:n}}function*Ky(e,t,r,n){let s=r.fields;qu(s,t.number,n);let o=ju(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=pt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=qy(Pt(u.content.slice(0,d)),u.number);Mu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=Uu(u.content.slice(d+1),r.delimiter,u.number);Vu(f.length,o,u.number,"entry row cells",n),yield*Ju(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function Vu(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function zy(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function aa(e,t,r,n=1){if(e!==void 0){zy(n,t,r);for(let s of e)s.children!==void 0&&aa(s.children,t,r,n+1)}}function*Yy(e,t){let r=Uy(t),n=new ia(r),s=nP(e,n),o=Hy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Xy(a,n)}finally{o.return(),s.return(void 0)}}async function*Qy(e,t){let r=Uy(t),n=new ia(r),s=sP(e,n),o=Hy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw Xy(a,n)}finally{o.return(),await s.return(void 0)}}function Xy(e,t){return!(e instanceof dr)||e.source!==void 0?e:new Dn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function Ku(e,t){return Symbol.asyncIterator in e?Qy(e,t):Yy(e,t)}var ia,oP,Hu,My,$u,ca=E(()=>{Ht();Zr();Qs();Fy();ia=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(rP(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,zy(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};oP=/^(0|[1-9]\d*)$/;Hu=Symbol("need line"),My=2,$u=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=My)throw new Error(`decoder lookahead exceeds ${My} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield Hu;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Ve(e){if(e===null)return null;if(Yr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ve(t)}if(typeof e=="string")return Zy(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(Ve);if(e instanceof Set)return Array.from(e,Ve);if(e instanceof Map){let t={};for(let[r,n]of e)Fn(t,String(r),Ve(n));return t}if(re(e)){let t={};for(let r of Object.keys(e))Zy(r,"object key"),Fn(t,r,Ve(e[r]));return t}return null}function Zy(e,t){if(pP.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function re(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Ze(e){return e===null||Yr(e)||["string","number","boolean"].includes(typeof e)}function Fn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var pP,Mn=E(()=>{Ks();pP=/[\uD800-\uDFFF]/});function rb(e){if(!re(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=fP(n,1);if(s===void 0)return e;Xr(t,r,s)}return t}function fP(e,t){if(!re(e)||!mP(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw ve(t);let o=gP(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(re))throw nb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Oy.has(d)){if(!Array.isArray(p)||!p.every(re))throw ve(t);c.set(d,p)}if(c.size===0)throw ve(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw zu(t);let m=l.get(d)??0,h=f[m];if(h===void 0)throw zu(t);return l.set(d,m+1),hP(n,d,a[p],h,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw zu(t);return u}function mP(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function gP(e,t,r){if(!e.startsWith("cycle("))throw ve(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw ve(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw ve(r);let a=o.split(",").map(u=>_P(u,r));if(a.some(u=>u===""))throw ve(r);let c=wP(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw ve(r);if(l!==t)throw nb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function hP(e,t,r,n,s){let o={};Xr(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}for(let[i,a]of Object.entries(yP(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}return o}function yP(e,t){let r={};for(let[n,s]of Object.entries(e))bP(r,n.split("."),s,t);return la(r,t)}function bP(e,t,r,n){if(t.some(o=>o===""))throw ve(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!re(s))throw ve(n)}}function la(e,t){return Array.isArray(e)?e.map(r=>la(r,t)):re(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw ve(t);return la(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,la(n,t)])):e}function wP(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw ve(t);let r=Number(e);if(!Number.isSafeInteger(r))throw ve(t);return r}function _P(e,t){try{return decodeURIComponent(e)}catch{throw ve(t)}}function eb(e){return encodeURIComponent(e)}function ve(e){return F(e,"invalid cyclic array wire")}function nb(e){return F(e,"cyclic array length mismatch")}function zu(e){return F(e,"cyclic array group length mismatch")}function sb(e){if(!re(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=EP(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)vP(n,s,o);return n.join("")}function EP(e){if(!Array.isArray(e)||e.length===0||!e.every(re))return;let t=kP(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=SP(r);if(n===void 0)return;let s=RP(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!Yu(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=xP(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 kP(e){return xy.find(t=>e.every(r=>typeof r[t]=="string"))}function SP(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(eb).join(","),o=`cycle(${r.map(eb).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function RP(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(!TP(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>zs(i[o])))break;r.push(o)}return r}function vP(e,t,r){e.push(Re(t),`:
9
+ `));let n=PA(e.options);t.push(...n)}return t}function CA(e,t){let r=OA(e);return xA(r,t)}function AA(e){let t=["[options]"];if(e.positional)for(let r of e.positional)r.variadic?t.push(r.required?`<${r.name}...>`:`[${r.name}...]`):t.push(r.required?`<${r.name}>`:`[${r.name}]`);return t.join(" ")}function PA(e,t=!1){let r=[],n=[],s=t?"global-option-flag":"option-flag",o=t?"global-option-type":"option-type",i=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[l,u]of Object.entries(e)){if(u.hidden)continue;let d=[],p=h=>{d.includes(h)||d.push(h)};u.short&&p(`-${u.short}`),p(`--${l}`);for(let h of u.aliases??[])h.length===1?p(`-${h}`):p(`--${h}`);let f=d.join(", "),m=u.type&&u.type!=="boolean"?`<${u.type}>`:void 0;n.push({flags:f,type:m,desc:u.description??"",default:u.default!==void 0?String(u.default):void 0})}let c=Math.max(...n.map(l=>l.flags.length+(l.type?l.type.length+1:0)),20);for(let l of n){let u=l.flags.length+(l.type?l.type.length+1:0),d=" ".repeat(c-u+2);r.push(te("indent"," ")),r.push(te(s,l.flags)),l.type&&(r.push(te("text"," ")),r.push(te(o,l.type))),r.push(te("text",d)),r.push(te(a,l.desc)),l.default!==void 0&&(r.push(te("text"," ")),r.push(te(i,`(default: ${l.default})`))),r.push(te("newline",`
10
+ `))}return r}function _y(e){let t=FA(e.options??{},e.autoShort??!1),r=SA(e.separators??by);return{schema:e,parse(n){return IA(n,e,t,r)},help(){return CA(e,e.formatter)}}}function IA(e,t,r,n){let s={positional:{},options:{},errors:[],rest:[]},o=new Set(n.map(u=>u.to));for(let u of o)s[u]={};let i=0,a=t.positional??[],c=0,l=!1;for(;c<e.length;){let u=e[c];if(t.stopEarly&&i>0){s.rest=e.slice(c);break}if(u==="--"&&!l){l=!0,c++;continue}if(l){if(i<a.length){let p=a[i];if(p.variadic){let f=[];for(;c<e.length;){let m=e[c];f.push(p.type?Vr(m,p.type):m),c++}s.positional[p.name]=f,i++}else{let f=p.type?Vr(u,p.type):u;s.positional[p.name]=f,i++,c++}}else t.allowUnknown!==!1&&(s.rest=s.rest??[],s.rest.push(u)),c++;continue}if(u.startsWith("--")){c=DA(u,c,e,s,r,t);continue}if(u.startsWith("-")&&u.length>1&&!UA(u)){c=$A(u,c,e,s,r,t);continue}let d=LA(u,n);if(d){let{key:p,value:f,config:m}=d,h=s,w=h[m.to]??(h[m.to]={});w[p]=m.typed?wy(f):dr(f),c++;continue}if(i<a.length){let p=a[i];if(p.variadic){let m=[];for(;c<e.length&&!e[c].startsWith("-");){let h=e[c];m.push(p.type?Vr(h,p.type):h),c++}s.positional[p.name]=m,i++;continue}let f=p.type?Vr(u,p.type):u;s.positional[p.name]=f,i++}else t.allowUnknown!==!1?s.rest.push(u):s.errors.push(`Unexpected positional argument: ${u}`);c++}return BA(s,t,r),jA(s,t,a),qA(s,t,r),s}function LA(e,t){if(EA.test(e))return null;for(let r of t){if(r.prefix&&e.startsWith(r.separator)){let s=e.slice(r.separator.length),o=s.indexOf(":");if(o>0){let i=s.slice(0,o),a=s.slice(o+1);if(GA(i))return{key:i,value:a,config:r}}continue}let n=e.indexOf(r.separator);if(n>0){let s=e.slice(0,n),o=e.slice(n+r.separator.length);if(NA(s,o,r))return{key:s,value:o,config:r}}}return null}function GA(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function NA(e,t,r){return e?r.separator===":"?e.includes("/")||e.includes(".")||/^\d+$/.test(t)?!1:/^[A-Z][a-zA-Z0-9-]*$/.test(e):!((r.separator==="="||r.separator===":=")&&e.includes("/")):!1}function DA(e,t,r,n,s,o){let i=e.slice(2);if(i.startsWith("no-")){let c=i.slice(3),l=s.get(c);if(l?.negatable!==!1&&l?.type==="boolean")return n.options[l.name]=!1,t+1}if(i.includes("=")){let c=i.indexOf("="),l=i.slice(0,c),u=i.slice(c+1);return ta(l,u,t+1,n,s,o)}let a=s.get(i);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(a.name,c,t+2,n,s,o):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return o.strict?n.errors.push(`Unknown option: --${i}`):o.allowUnknown!==!1&&(n.options[i]=!0),t+1}function $A(e,t,r,n,s,o){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),c=i.slice(0,a),l=i.slice(a+1),u=Au(c,s);return u?ta(u.name,l,t+1,n,s,o):(o.strict?n.errors.push(`Unknown option: -${c}`):o.allowUnknown!==!1&&(n.options[c]=ea(dr(l))),t+1)}if(i.length===1){let a=Au(i,s);if(a){if(a.type!=="boolean"){let c=r[t+1];return Nn(c)?ta(a.name,c,t+2,n,s,o):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(o.strict)n.errors.push(`Unknown option: -${i}`);else if(o.allowUnknown!==!1){let c=r[t+1];if(Nn(c))return n.options[i]=ea(dr(c)),t+2;n.options[i]=!0}return t+1}for(let a of i){let c=Au(a,s);c?c.type==="boolean"?n.options[c.name]=!0:n.errors.push(`Option -${a} requires a value`):o.strict?n.errors.push(`Unknown option: -${a}`):o.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function ta(e,t,r,n,s,o){let i=s.get(e);if(i){if(i.choices){let c=i.type?Vr(dr(t),i.type):dr(t);if(!i.choices.includes(c))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Vr(dr(t),i.type):dr(t);if(i.type==="array"){let c=n.options[e];Array.isArray(c)?c.push(...a):n.options[e]=a}else n.options[e]=a}else o.strict?n.errors.push(`Unknown option: --${e}`):o.allowUnknown!==!1&&(n.options[e]=ea(dr(t)));return r}function FA(e,t=!1){let r=new Map,n=Object.entries(e).sort(([o],[i])=>o.localeCompare(i)),s=new Set;for(let[,o]of n)o.short&&s.add(o.short);for(let[o,i]of n){let a=i.short??"";t&&!a&&(a=MA(o,s),a&&s.add(a));let c={name:o,short:a,aliases:i.aliases??[],type:i.type??"string",description:i.description??"",required:i.required??!1,hidden:i.hidden??!1,negatable:i.negatable??!0,default:i.default,choices:i.choices,env:i.env,validate:i.validate};r.set(o,c);for(let l of c.aliases)r.set(l,c)}return r}function MA(e,t){for(let r of e){if(!/[a-zA-Z]/.test(r))continue;let n=r.toLowerCase();if(!t.has(n))return n;let s=r.toUpperCase();if(!t.has(s))return s}return""}function Au(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function BA(e,t,r){for(let n of r.values())if(e.options[n.name]===void 0)if(n.env&&process.env[n.env]!==void 0){let s=process.env[n.env];e.options[n.name]=n.type?Vr(s,n.type):s}else n.default!==void 0&&(e.options[n.name]=n.default);for(let n of t.positional??[])e.positional[n.name]===void 0&&n.default!==void 0&&(e.positional[n.name]=n.default)}function jA(e,t,r){if(t.options)for(let[n,s]of Object.entries(t.options))s.required&&e.options[n]===void 0&&e.errors.push(`Missing required option: --${n}`);for(let n of r)n.required&&e.positional[n.name]===void 0&&e.errors.push(`Missing required argument: <${n.name}>`)}function qA(e,t,r){for(let n of r.values()){let s=e.options[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}for(let n of t.positional??[]){let s=e.positional[n.name];if(n.validate&&s!==void 0){let o=n.validate(s);o!==!0&&e.errors.push(o)}}}function UA(e){return/^-\d+(\.\d+)?$/.test(e)}var by,EA,Ey=E(()=>{by={"=":"data",":=":{to:"data",typed:!0},":":"meta"},EA=/^[a-z][a-z0-9+.-]*:\/\//i});function HA(e){let t={};for(let[r,n]of Object.entries(e))t[r]={type:n.kind==="boolean"?"boolean":"string",...r.length===1?{short:r}:{},...n.aliases===void 0?{}:{aliases:n.aliases}};return t}function WA(e,t){let r=new Map;for(let[s,o]of Object.entries(t))if(!(o.kind!=="value"||o.type!=="array")){r.set(s,s);for(let i of o.aliases??[])r.set(i,s)}let n=new Map;for(let s=0;s<e.length;s+=1){let o=e[s];if(o==="--")break;let i=o.match(/^--([^=]+)(?:=(.*))?$/)??o.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let c=i[2];if(c===void 0&&Nn(e[s+1])&&(c=e[s+1],s+=1),c===void 0)continue;let l=n.get(a)??[];l.push(c),n.set(a,l)}return n}function Ks(e,t,r={}){let s=_y({options:HA(t),separators:{},allowUnknown:!0}).parse([...e]),o={},i=WA(e,t),a=s.errors.find(c=>/^Option --?\S+ requires a value$/.test(c));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(s.errors.length>0)throw new Error(s.errors[0]);if(r.unknownFlags==="error"){let c=new Set(Object.keys(t));for(let l of Object.keys(s.options))if(!c.has(l))throw new Pu(l.length===1?`-${l}`:`--${l}`,Object.keys(t).map(u=>u.length===1?`-${u}`:`--${u}`))}for(let[c,l]of Object.entries(t)){let u=s.options[c];u!==void 0&&(l.kind==="boolean"?o[c]=u:l.type==="array"?o[c]=(i.get(c)??[]).map(d=>l.coerce(d)):o[c]=l.coerce(String(u)))}return{values:o,positionals:s.rest}}function KA(e){let t=new Map;for(let[r,n]of Object.entries(e)){t.set(r,r);for(let s of n.aliases??[])t.set(s,r)}return t}function Kr(e,t,r={}){let n=KA(t),s=r.stopAtSeparator??!0,o={},i=[];for(let a=0;a<e.length;a+=1){let c=e[a];if(c==="--"&&s){i.push(...e.slice(a));break}let l=JA.exec(c)??VA.exec(c),u=l===null?void 0:n.get(l[1]),d=u===void 0?void 0:t[u];if(u===void 0||d===void 0){i.push(c);continue}if(d.kind==="boolean"){o[u]=!0;continue}let p=l[2];if(p===void 0&&Nn(e[a+1])&&(p=e[a+1],a+=1),p===void 0)throw new Error(`${c} requires a value`);if(d.type==="array"){let f=o[u]??[];f.push(d.coerce(p)),o[u]=f}else o[u]=d.coerce(p)}return{values:o,rest:i}}function Iu(e,t){let[r,...n]=e;if(r!==void 0){for(let[o,i]of Object.entries(t.commands))if(r===o||(i.aliases??[]).includes(r))return{command:o,args:n};if(t.errorOnUnknownCommand&&!r.startsWith("-"))throw new Vs(r,Object.keys(t.commands))}let s=t.keepArgvOnDefault??!0;return{command:t.default,args:s?[...e]:n}}var Pu,JA,VA,Vs,Lu=E(()=>{Ey();Pu=class extends Error{flag;known;constructor(t,r){super(`unknown flag '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownFlagError",this.flag=t,this.known=r}};JA=/^--([^=]+)(?:=([\s\S]*))?$/,VA=/^-([^-=])(?:=([\s\S]*))?$/;Vs=class extends Error{token;known;constructor(t,r){super(`unknown command '${t}'; expected one of: ${r.join(", ")}`),this.name="UnknownCommandError",this.token=t,this.known=r}}});function Sy(e){return zA.test(e)}var zA,ky,Ry=E(()=>{zA=/rate limit exceeded|secondary rate limit|abuse detection mechanism|API rate limit|API rate limited|RATE_LIMITED|too many requests|\b429\b/i,ky="wait for the GitHub rate limit window to reset, then retry: gh api rate_limit"});function F(e,t,r={}){return new pr(e,t,r)}function K(e,t){return new zr(e,t)}function $n(e){return e instanceof zr?e:e instanceof pr?new zr(e.line,e.reason):new zr(0,String(e&&e.message?e.message:e))}var Dn,pr,zr,Ht=E(()=>{Dn=class extends SyntaxError{line;source;reason;constructor(t,r={}){let n=r.line===void 0||r.line===0?"":`Line ${r.line}: `;super(n+t,r.cause===void 0?void 0:{cause:r.cause}),this.name="ToonDecodeError",this.line=r.line,this.source=r.source,this.reason=t}},pr=class extends SyntaxError{line;source;reason;constructor(t,r,n={}){super(t===0?r:`line ${t}: ${r}`,n.cause===void 0?void 0:{cause:n.cause}),this.name="ToonError",this.line=t,this.source=n.source,this.reason=r}},zr=class extends Error{line;reason;constructor(t,r){super(t===0?r:`line ${t}: ${r}`),this.name="ToonlError",this.line=t,this.reason=r}}});function Yr(e){return e instanceof Gu}var YA,Gu,zs=E(()=>{YA=/(?:^\uFEFF?|\n) *#/,Gu=class{value;constructor(t){if(YA.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}}});function xy(e){let t=e.split(`
11
+ `);return t.length>0&&t[t.length-1]===""&&t.pop(),t.map(r=>r.endsWith("\r")?r.slice(0,-1):r)}function At(e){return F(e,"invalid quoted string")}function $e(e,t){if(e==="")return"";if(e.startsWith('"'))return Oy(e,t);if(e.includes('"'))throw At(t);if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(QA(e)){let r=Number(e);return Object.is(r,-0)?0:r}return e}function fr(e,t){let r=e.trim();if(r.startsWith('"'))return[Oy(r,t),!0];if(r.includes('"')||/\s/.test(r))throw F(t,"expected non-empty field name");return[r,!1]}function Oy(e,t){if(e.charCodeAt(0)!==34)throw At(t);let r="",n=1;for(;n<e.length;){vy.lastIndex=n;let s=vy.exec(e);if(s===null)break;if(s[0]==='"'){if(e.slice(s.index+1).trim()==="")return r+e.slice(n,s.index);throw At(t)}if(s[0]!=="\\")throw At(t);r+=e.slice(n,s.index);let o=e[s.index+1];switch(n=s.index+2,o){case'"':r+='"';break;case"\\":r+="\\";break;case"n":r+=`
12
+ `;break;case"r":r+="\r";break;case"t":r+=" ";break;case"u":{let i=e.slice(n,n+4);if(!/^[0-9a-fA-F]{4}$/.test(i))throw At(t);let a=Number.parseInt(i,16);if(a>=55296&&a<=57343)throw At(t);r+=String.fromCharCode(a),n+=4;break}default:throw At(t)}}throw At(t)}function Cy(e,t,r){for(;;){let n=e.indexOf('"',t),s=e.indexOf("\\",t);if(s!==-1&&(n===-1||s<n)){if(s===e.length-1)throw At(r);t=s+2;continue}if(n===-1)throw At(r);return n+1}}function Qr(e,t,r){if(e==="")return[];let n=[],s=0,o=0;for(;o<e.length;){let i=e.indexOf('"',o),a=e.indexOf(t,o);if(a!==-1&&(i===-1||a<i))n.push(e.slice(s,a).trim()),s=a+1,o=a+1;else if(i!==-1)o=Cy(e,i+1,r);else break}return n.push(e.slice(s).trim()),n}function pt(e,t,r){let n=0;for(;n<e.length;){let s=e.indexOf('"',n),o=e.indexOf(t,n);if(o!==-1&&(s===-1||o<s))return o;if(s===-1)return-1;n=Cy(e,s+1,r)}return-1}function QA(e){return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function XA(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function ZA(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw F(0,"number is not representable in TOON");return String(e)}function Ys(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function Se(e,t){if(Yr(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return ZA(e);if(typeof e=="string")return tP(e,t);throw F(0,"not a primitive")}function eP(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function Re(e){return eP(e)?e:ra(e)}function tP(e,t){return Nu(e,t)?ra(e):e}function Nu(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||XA(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}function ra(e){return`"${Ay(e)}"`}function Ay(e){let t="",r=0;Ty.lastIndex=0;let n;for(;(n=Ty.exec(e))!==null;){let s=e.charCodeAt(n.index),o;s===34?o='\\"':s===92?o="\\\\":s===10?o="\\n":s===13?o="\\r":s===9?o="\\t":o=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+o,r=n.index+1}return`${t}${e.slice(r)}`}function Xr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var Wt,vy,Ty,Zr=E(()=>{Ht();zs();Wt=",";vy=/["\\\u0000-\u0008\u000a-\u001f]/g;Ty=/["\\\u0000-\u001f]/g});var Py,rP,Qs,Iy,en,Ly,Xs=E(()=>{Py={comma:",",tab:" ",pipe:"|"},rP=Py.comma,Qs=1e3,Iy=["type","kind","event"],en="|",Ly=new Set(["order","discriminator","rows","common"])});function*Ny(e,t,r,n,s,o,i){yield*Dy(r,e,n,t,{index:0},s,i,!0,o)}function*Dy(e,t,r,n,s,o,i,a,c){let l=My(e,t,r,n,s.index,o,i),u=0;for(;u<e;){let p=n[s.index];if(p===void 0||p.depth<o)break;if(p.depth>o)throw F(p.number,"invalid indentation");if(p.blankBefore&&i.strict)throw F(p.number,"blank line inside array");if(!na(p.content,r,p.number))break;let f=Qr(p.content,r,p.number),m={cellIndex:0,nextIndex:s.index+1,flatWidth:sa(t),childTableFields:l};if(a&&t.length===1&&t[0].fixedLength!==void 0?yield*Fy(t[0],f,m,p.number):(yield{type:"startObject",line:p.number},yield*$y(t,f,p,n,m,o+1,r,i),yield{type:"endObject",line:p.number}),m.cellIndex!==f.length)throw F(p.number,"array row length mismatch");s.index=m.nextIndex,u++}if(u!==e)throw iP(n,s.index,c);let d=n[s.index];if(d!==void 0&&d.depth>=o&&na(d.content,r,d.number))throw F(d.number,"array length mismatch")}function*$y(e,t,r,n,s,o,i,a){for(let c=0;c<e.length;c++){let l=e[c];yield{type:"key",key:l.name,line:r.number},yield*nP(l,e.slice(c+1),t,r,n,s,o,i,a)}}function*nP(e,t,r,n,s,o,i,a,c){if(e.fixedLength!==void 0){yield*Fy(e,r,o,n.number);return}if(e.listDelimiter!==void 0){let u=Gy(r,o,n.number),d=Qr(u,e.listDelimiter,n.number);yield{type:"startArray",length:d.length,line:n.number};for(let p of d)yield{type:"primitive",value:$e(p,n.number),line:n.number};yield{type:"endArray",line:n.number};return}if(e.children!==void 0){let u=sa(e.children),d=r[o.cellIndex],p=jy(d),f=r.length-o.cellIndex-1,m=s[o.nextIndex],h=m!==void 0&&m.depth===i;if(o.childTableFields?.has(e)??(p!==void 0&&(h||r.length!==o.flatWidth&&f<u+oP(t)))){if(!c.objectArrayColumns||p===void 0)throw F(n.number,"array row length mismatch");o.cellIndex++,yield{type:"startArray",length:p,line:n.number};let y={index:o.nextIndex};yield*Dy(p,e.children,a,s,y,i,c,!1,n.number),o.nextIndex=y.index,yield{type:"endArray",line:s[o.nextIndex-1]?.number??n.number};return}yield{type:"startObject",line:n.number},yield*$y(e.children,r,n,s,o,i,a,c),yield{type:"endObject",line:n.number};return}let l=Gy(r,o,n.number);yield{type:"primitive",value:$e(l,n.number),line:n.number}}function*Fy(e,t,r,n){let s=e.fixedLength;if(r.cellIndex+s>t.length)throw F(n,"array row length mismatch");yield{type:"startArray",length:s,line:n};for(let o of t.slice(r.cellIndex,r.cellIndex+s))yield{type:"primitive",value:$e(o,n),line:n};r.cellIndex+=s,yield{type:"endArray",line:n}}function Gy(e,t,r){let n=e[t.cellIndex];if(n===void 0)throw F(r,"array row length mismatch");return t.cellIndex++,n}function My(e,t,r,n,s,o,i){let a=t.filter(l=>l.children!==void 0);if(a.length===0)return new Set;if(a.length>12)return;let c;for(let l=0;l<1<<a.length;l++){let u=new Set;a.forEach((p,f)=>{l&1<<f&&u.add(p)});let d=By(e,t,u,r,n,s,o,i);d!==void 0&&(c===void 0||d.consumed>c.consumed||d.consumed===c.consumed&&u.size<c.fields.size)&&(c={fields:u,consumed:d.consumed})}return c?.fields}function By(e,t,r,n,s,o,i,a){let c=o,l=0;try{for(let d=0;d<e;d++){let p=s[c];if(p===void 0||p.depth!==i||p.blankBefore&&a.strict||!na(p.content,n,p.number))return;let f=sP(t,r,Qr(p.content,n,p.number),n,s,c+1,i+1,a);if(f===void 0||s[f.nextIndex]?.depth>i)return;c=f.nextIndex,l+=f.consumed}let u=s[c];if(u!==void 0&&u.depth>=i&&na(u.content,n,u.number))return}catch{return}return{nextIndex:c,consumed:l}}function sP(e,t,r,n,s,o,i,a){let c=0,l=o,u=0;for(let d of e){if(d.fixedLength!==void 0)c+=d.fixedLength;else if(d.children!==void 0)if(t.has(d)){let p=jy(r[c]);if(p===void 0)return;c++;let f=My(p,d.children,n,s,l,i,a);if(f===void 0)return;let m=By(p,d.children,f,n,s,l,i,a);if(m===void 0)return;l=m.nextIndex,u+=p+m.consumed}else c+=sa(d.children);else c++;if(c>r.length)return}return c===r.length?{nextIndex:l,consumed:u}:void 0}function jy(e){return e!==void 0&&/^(0|[1-9][0-9]*)$/.test(e)?Number(e):void 0}function sa(e){return e.reduce((t,r)=>t+qy(r),0)}function qy(e){return e.fixedLength!==void 0?e.fixedLength:e.children!==void 0?sa(e.children):1}function oP(e){return e.reduce((t,r)=>t+(r.children===void 0?qy(r):1),0)}function na(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s!==-1&&s<n}function iP(e,t,r){return F(e[t]?.number??e[e.length-1]?.number??r,"array length mismatch")}var Uy=E(()=>{Ht();Zr()});function aP(e){let t=0;for(;t<e.length&&e[t]===" ";)t++;return e[t]==="#"}function*cP(e,t){for(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}async function*lP(e,t){for await(let r of e){let n=t.push(r);n!==void 0&&(yield n)}}function Bu(e,t){let r=pt(e,"[",t);if(r===-1)return null;let n=pt(e,":",t);if(n!==-1&&n<r)return null;let s=e.slice(0,r);if(s!==""&&/\s$/.test(s))throw F(t,"whitespace between key and bracket segment");let o=e.indexOf("]",r);if(o===-1)return null;let i=e.slice(r+1,o),a=!1,c=",",l=i.indexOf(":");if(l!==-1){let h=i.slice(l+1);if(i=i.slice(0,l),a=!0,h===" "||h==="|")c=h;else if(h!=="")throw F(t,"malformed bracket segment")}else(i.endsWith(" ")||i.endsWith("|"))&&(c=i.slice(-1),i=i.slice(0,-1));if(!uP.test(i))throw F(t,"malformed array header length");let u=Number(i),d=e.slice(o+1),p;if(d.startsWith("{")){let h=Wy(d,t);p=dP(d.slice(1,h),c,t),d=d.slice(h+1)}if(a&&p===void 0)throw F(t,"keyed header requires a field list");if(!d.startsWith(":"))throw F(t,"expected colon after array header");let f=Pt(d.slice(1));if((p!==void 0||a)&&f!=="")throw F(t,"unexpected content after fields-bearing header colon");return{key:s===""?void 0:fr(s,t)[0],length:u,delimiter:c,fields:p,keyed:a,inline:f===""?void 0:f}}function Wy(e,t){let r=0,n=!1;for(let s=0;s<e.length;s++){let o=e[s];if(n){o==="\\"?s++:o==='"'&&(n=!1);continue}if(o==='"')n=!0;else if(o==="{")r++;else if(o==="}"&&(r--,r===0))return s}throw F(t,"malformed tabular header fields")}function dP(e,t,r){if(t!==","&&e.includes(",")&&(e.includes("[")||e.includes("{")))return oa(e,",",t,r);try{return oa(e,t,t,r)}catch(n){if(t===",")throw n;return oa(e,",",t,r)}}function oa(e,t,r,n){let s=[],o=0,i=0,a=0,c=!1,l=u=>{s.push(pP(u,t,r,n))};for(let u=0;u<e.length;u++){let d=e[u];if(c){d==="\\"?u++:d==='"'&&(c=!1);continue}d==='"'?c=!0:d==="{"?i++:d==="}"?i--:d==="["?a++:d==="]"?a--:d===t&&i===0&&a===0&&(l(e.slice(o,u)),o=u+1)}return l(e.slice(o)),s}function pP(e,t,r,n){let s=Pt(e);if(s==="")throw F(n,"empty field entry in header");let o=s.startsWith('"')?fP(s,n)+1:0,i=s.indexOf("{",o),a=s.indexOf("[",o),c=i===-1?a:a===-1?i:Math.min(i,a);if(c===-1)return{name:fr(s,n)[0]};let l=fr(s.slice(0,c),n)[0];if(c===a){let p=s.indexOf("]",a);if(p===-1||p!==s.length-1)throw F(n,"invalid array header");let f=s.slice(a+1,p),m=/^(0|[1-9]\d*)(\t|\|)?$/.exec(f);if(m!==null){if((m[2]??",")!==r)throw F(n,"invalid array header");return{name:l,fixedLength:Number(m[1])}}if(f.length!==1||f===r||/[ \t\r\n"[\]{}:]/.test(f))throw F(n,"invalid array header");return{name:l,listDelimiter:f}}let u=Wy(s.slice(i),n)+i;if(u!==s.length-1)throw F(n,"malformed tabular header fields");if(u===i+1)throw F(n,"invalid array header");let d=oa(s.slice(i+1,u),t,r,n);return{name:l,children:d}}function fP(e,t){for(let r=1;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]==='"')return r;throw F(t,"invalid quoted string")}function ju(e){let t=0;for(let r of e)t+=r.children===void 0?1:ju(r.children);return t}function qu(e,t,r){let n=new Set;for(let s of e){if(n.has(s.name)&&r.strict)throw F(t,"duplicate field name in header");n.add(s.name),s.children!==void 0&&qu(s.children,t,r)}}function Pt(e){let t=0,r=e.length;for(;t<r&&e[t]===" ";)t++;for(;r>t&&e[r-1]===" ";)r--;return e.slice(t,r)}function Uu(e,t,r){if(Pt(e)==="")return[];let n=[],s=0,o=!1;for(let i=0;i<e.length;i++){let a=e[i];if(o){a==="\\"?i++:a==='"'&&(o=!1);continue}a==='"'?o=!0:a===t&&(n.push(Pt(e.slice(s,i))),s=i+1)}return n.push(Pt(e.slice(s))),n}function Jy(e,t){return pt(e,":",t)!==-1}function Vy(e,t){try{return fr(e,t)[0]}catch(r){if(e.startsWith('"'))throw r;return e}}function Ky(e){let t=e?.maxDepth??Qs;return{indentSize:e?.indentSize??e?.indent??2,strict:e?.strict??!0,objectArrayColumns:e?.objectArrayColumns??!0,maxDepth:t===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(t))}}function*zy(e){let t=new $u,r=yield*t.peek();if(r===void 0){yield{type:"startObject",line:1},yield{type:"endObject",line:1};return}if(r.depth!==0)throw F(r.number,"invalid indentation");if(yield*t.peek(1),r.content==="[]"){yield*t.take(e),yield{type:"startArray",length:0,line:r.number},yield{type:"endArray",line:r.number},yield*Du(t,e);return}let n=null,s=!1;try{n=Bu(r.content,r.number)}catch(o){if(e.strict)throw o;s=!0}if(n!=null&&aa(n.fields,r.number,e),n!=null&&!s&&n.key===void 0){yield*t.take(e),n.keyed?yield*Zy(t,r,n,e):yield*Wu(t,r,n,e),yield*Du(t,e);return}if((n===null||s)&&!Jy(r.content,r.number)&&(yield*t.peek(1))===void 0){yield*t.take(e),yield{type:"primitive",value:$e(Pt(r.content),r.number),line:r.number};return}yield*Yy(t,0,r.number,e),yield*Du(t,e)}function*Du(e,t){let r=yield*e.peek();if(r!==void 0&&t.strict)throw F(r.number,"expected end of document");e.stop()}function*Yy(e,t,r,n){yield{type:"startObject",line:r};let s=new Set;for(;;){let o=yield*e.peek();if(o===void 0||o.depth<t)break;if(o.depth>t)throw F(o.number,"over-indented line");yield*e.take(n),yield*Fu(e,o,o.content,t,n,s)}yield{type:"endObject",line:e.lastNumber(r)}}function*Fu(e,t,r,n,s,o){let i=null;try{i=Bu(r,t.number)}catch(u){if(s.strict)throw u;i=null}if(i!=null)if(aa(i.fields,t.number,s),i.key===void 0){if(s.strict)throw F(t.number,"keyless header is only valid at the root or as a list item");i=null}else{Mu(o,i.key,t.number,s),yield{type:"key",key:i.key,line:t.number},i.keyed?yield*Zy(e,{...t,depth:n},i,s):yield*Wu(e,{...t,depth:n},i,s);return}let a=pt(r,":",t.number);if(a===-1)throw F(t.number,"expected key-value line");let c=Vy(Pt(r.slice(0,a)),t.number),l=Pt(r.slice(a+1));if(Mu(o,c,t.number,s),yield{type:"key",key:c,line:t.number},l===""){let u=yield*e.peek();if(u!==void 0&&u.depth>n){if(u.depth!==n+1)throw F(u.number,"over-indented line");yield*Yy(e,n+1,u.number,s)}else yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}if(l==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}yield{type:"primitive",value:$e(l,t.number),line:t.number}}function Mu(e,t,r,n){if(e.has(t)&&n.strict)throw F(r,"duplicate object key");e.add(t)}function*Wu(e,t,r,n){if(yield{type:"startArray",length:r.length,line:t.number},r.fields!==void 0){if(qu(r.fields,t.number,n),Qy(r.fields,n)){if(!n.objectArrayColumns&&Xy(r.fields))throw F(t.number,"invalid array header");let i=[];for(;;){let a=yield*e.peek();if(a===void 0||a.depth<=t.depth)break;i.push(yield*e.take(n))}yield*Ny(r.fields,i,r.length,r.delimiter,t.depth+1,t.number,n),yield{type:"endArray",line:e.lastNumber(t.number)};return}yield*gP(e,t,r,n);return}if(r.inline!==void 0){let i=Uu(r.inline,r.delimiter,t.number);Vu(i.length,r.length,t.number,"inline-form values",n);for(let a of i)yield{type:"primitive",value:$e(a,t.number),line:t.number};yield{type:"endArray",line:t.number};return}let s=0;for(;;){let i=yield*e.peek();if(i===void 0||i.depth<=t.depth)break;if(i.depth!==t.depth+1)throw F(i.number,"over-indented line");if(!i.content.startsWith("- ")&&i.content!=="-")break;yield*e.take(n),s===0&&e.spanActive++,s++,yield*mP(e,i,n)}s>0&&e.spanActive--;let o=e.lastNumber(t.number);if(n.strict&&s!==r.length)throw F(o,`expected ${r.length} list items, but got ${s}`);yield{type:"endArray",line:o}}function Qy(e,t){return e.some(r=>r.listDelimiter!==void 0||r.fixedLength!==void 0||t.objectArrayColumns&&r.children!==void 0||r.children!==void 0&&Qy(r.children,t))}function Xy(e){return e.some(t=>t.fixedLength!==void 0||t.children!==void 0&&Xy(t.children))}function*mP(e,t,r){if(t.content==="-"){yield{type:"startObject",line:t.number},yield{type:"endObject",line:t.number};return}let n=Pt(t.content.slice(2));if(n==="[]"){yield{type:"startArray",length:0,line:t.number},yield{type:"endArray",line:t.number};return}let s=null;try{s=Bu(n,t.number)}catch(o){if(r.strict)throw o;s=null}if(s!=null&&s.key===void 0){if(aa(s.fields,t.number,r),s.keyed||s.fields!==void 0){if(r.strict)throw F(t.number,"keyless fields-bearing header is only valid at the root");yield{type:"primitive",value:$e(n,t.number),line:t.number};return}yield*Wu(e,t,s,r);return}if(s!=null&&s.key!==void 0||Jy(n,t.number)){yield{type:"startObject",line:t.number};let o=new Set;for(yield*Fu(e,t,n,t.depth+1,r,o);;){let i=yield*e.peek();if(i===void 0||i.depth!==t.depth+1||i.content.startsWith("- ")||i.content==="-")break;yield*e.take(r),yield*Fu(e,i,i.content,t.depth+1,r,o)}yield{type:"endObject",line:e.lastNumber(t.number)};return}yield{type:"primitive",value:$e(n,t.number),line:t.number}}function*gP(e,t,r,n){let s=r.fields,o=ju(s),i=t.depth+1,a=0;for(;;){let l=yield*e.peek();if(l===void 0||l.depth<=t.depth)break;if(l.depth!==i)throw F(l.number,"over-indented line");if(!hP(l.content,r.delimiter,l.number))break;yield*e.take(n),a===0&&e.spanActive++,a++;let u=Uu(l.content,r.delimiter,l.number);Vu(u.length,o,l.number,"row cells",n),yield*Ju(s,u,{next:0},l.number)}a>0&&e.spanActive--;let c=e.lastNumber(t.number);if(n.strict&&a!==r.length)throw F(c,`expected ${r.length} tabular rows, but got ${a}`);yield{type:"endArray",line:c}}function hP(e,t,r){let n=pt(e,":",r);if(n===-1)return!0;let s=pt(e,t,r);return s===-1?!1:s<n}function*Ju(e,t,r,n){yield{type:"startObject",line:n};for(let s of e)if(yield{type:"key",key:s.name,line:n},s.children===void 0){let o=t[r.next++]??"";yield{type:"primitive",value:$e(o,n),line:n}}else yield*Ju(s.children,t,r,n);yield{type:"endObject",line:n}}function*Zy(e,t,r,n){let s=r.fields;qu(s,t.number,n);let o=ju(s),i=t.depth+1;yield{type:"startObject",line:t.number};let a=new Set,c=0;for(;;){let u=yield*e.peek();if(u===void 0||u.depth<=t.depth)break;if(u.depth!==i)throw F(u.number,"over-indented line");let d=pt(u.content,":",u.number);if(d===-1){if(n.strict)throw F(u.number,"expected a keyed entry row");yield*e.take(n);continue}yield*e.take(n),c===0&&e.spanActive++,c++;let p=Vy(Pt(u.content.slice(0,d)),u.number);Mu(a,p,u.number,n),yield{type:"key",key:p,line:u.number};let f=Uu(u.content.slice(d+1),r.delimiter,u.number);Vu(f.length,o,u.number,"entry row cells",n),yield*Ju(s,f,{next:0},u.number)}c>0&&e.spanActive--;let l=e.lastNumber(t.number);if(n.strict&&c!==r.length)throw F(l,`expected ${r.length} entry rows, but got ${c}`);yield{type:"endObject",line:l}}function Vu(e,t,r,n,s){if(s.strict&&e!==t)throw F(r,`expected ${t} ${n}, but got ${e}`)}function eb(e,t,r){if(r.maxDepth!==0&&e>r.maxDepth)throw F(t,`maximum nesting depth exceeded (maxDepth ${r.maxDepth})`)}function aa(e,t,r,n=1){if(e!==void 0){eb(n,t,r);for(let s of e)s.children!==void 0&&aa(s.children,t,r,n+1)}}function*tb(e,t){let r=Ky(t),n=new ia(r),s=cP(e,n),o=zy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw nb(a,n)}finally{o.return(),s.return(void 0)}}async function*rb(e,t){let r=Ky(t),n=new ia(r),s=lP(e,n),o=zy(r),i=o.next();try{for(;!i.done;)if(i.value===Hu){let a=await s.next();i=o.next(a.done?void 0:a.value)}else yield i.value,i=o.next()}catch(a){throw nb(a,n)}finally{o.return(),await s.return(void 0)}}function nb(e,t){return!(e instanceof pr)||e.source!==void 0?e:new Dn(e.reason,{line:e.line,source:t.sourceByLine.get(e.line),cause:e})}function Ku(e,t){return Symbol.asyncIterator in e?rb(e,t):tb(e,t)}var ia,uP,Hu,Hy,$u,ca=E(()=>{Ht();Zr();Xs();Uy();ia=class{ctx;sourceByLine=new Map;number=0;blankPending=!1;firstLine=!0;constructor(t){this.ctx=t}push(t){let r=t;if(this.number++,this.sourceByLine.set(this.number,t),this.firstLine&&(r.startsWith("\uFEFF")&&(r=r.slice(1)),this.firstLine=!1),r.endsWith("\r")&&(r=r.slice(0,-1)),r=r.replace(/ +$/,""),r.trim()===""){this.blankPending=!0;return}if(aP(r))return;let n=0,s=0,o=0;for(;n<r.length&&(r[n]===" "||r[n]===" ");){if(r[n]===" "){if(this.ctx.strict)throw F(this.number,"tab used as indentation");s++}else o++;n++}let i;if(o%this.ctx.indentSize===0)i=o/this.ctx.indentSize;else{if(this.ctx.strict)throw F(this.number,"invalid indentation");i=Math.floor(o/this.ctx.indentSize)}i+=s,eb(i,this.number,this.ctx);let a={number:this.number,depth:i,content:r.slice(n),blankBefore:this.blankPending};return this.blankPending=!1,a}};uP=/^(0|[1-9]\d*)$/;Hu=Symbol("need line"),Hy=2,$u=class{lines=[];ended=!1;previous;spanActive=0;*peek(t=0){if(t>=Hy)throw new Error(`decoder lookahead exceeds ${Hy} classified lines`);for(;!this.ended&&this.lines.length<=t;){let r=yield Hu;r===void 0?this.ended=!0:this.lines.push(r)}return this.lines[t]}*take(t){let r=yield*this.peek();if(r===void 0)throw new Error("decoder attempted to read past end of input");if(this.lines.shift(),t.strict&&this.spanActive>0&&r.blankBefore)throw F(r.number,"blank line inside a header span");return this.previous=r,r}lastNumber(t){return this.previous===void 0?t:this.previous.number}stop(){this.lines.length=0,this.ended=!0}}});function Ke(e){if(e===null)return null;if(Yr(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return Ke(t)}if(typeof e=="string")return sb(e,"string value"),e;if(typeof e=="boolean")return e;if(typeof e=="number")return Object.is(e,-0)?0:Number.isFinite(e)?e:null;if(typeof e=="bigint")return e>=Number.MIN_SAFE_INTEGER&&e<=Number.MAX_SAFE_INTEGER?Number(e):e.toString();if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(Ke);if(e instanceof Set)return Array.from(e,Ke);if(e instanceof Map){let t={};for(let[r,n]of e)Fn(t,String(r),Ke(n));return t}if(re(e)){let t={};for(let r of Object.keys(e))sb(r,"object key"),Fn(t,r,Ke(e[r]));return t}return null}function sb(e,t){if(yP.test(e))for(let r=0;r<e.length;r+=1){let n=e.charCodeAt(r);if(n<55296||n>57343)continue;let s=e.charCodeAt(r+1);if(n<=56319&&s>=56320&&s<=57343){r+=1;continue}throw new TypeError(`Cannot encode ${t} containing an unpaired surrogate U+${n.toString(16).toUpperCase()} at index ${r}`)}}function re(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Ze(e){return e===null||Yr(e)||["string","number","boolean"].includes(typeof e)}function Fn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}var yP,Mn=E(()=>{zs();yP=/[\uD800-\uDFFF]/});function ab(e){if(!re(e)||Object.keys(e).length===0)return e;let t={};for(let[r,n]of Object.entries(e)){let s=bP(n,1);if(s===void 0)return e;Xr(t,r,s)}return t}function bP(e,t){if(!re(e)||!wP(e))return;let{order:r,discriminator:n,rows:s}=e;if(typeof r!="string"||typeof n!="string"||!Number.isSafeInteger(s)||s<0)throw ve(t);let o=_P(r,s,t),i=e.common,a=i===void 0?Array.from({length:s},()=>({})):i;if(!Array.isArray(a)||a.length!==s||!a.every(re))throw cb(t);let c=new Map;for(let[d,p]of Object.entries(e))if(!Ly.has(d)){if(!Array.isArray(p)||!p.every(re))throw ve(t);c.set(d,p)}if(c.size===0)throw ve(t);let l=new Map,u=o.map((d,p)=>{let f=c.get(d);if(f===void 0)throw zu(t);let m=l.get(d)??0,h=f[m];if(h===void 0)throw zu(t);return l.set(d,m+1),EP(n,d,a[p],h,t)});for(let[d,p]of c)if((l.get(d)??0)!==p.length)throw zu(t);return u}function wP(e){return Object.prototype.hasOwnProperty.call(e,"order")||Object.prototype.hasOwnProperty.call(e,"discriminator")||Object.prototype.hasOwnProperty.call(e,"rows")}function _P(e,t,r){if(!e.startsWith("cycle("))throw ve(r);let n=e.slice(6),s=n.indexOf(")*");if(s===-1)throw ve(r);let o=n.slice(0,s),i=n.slice(s+2);if(o===""||i.includes("+tail("))throw ve(r);let a=o.split(",").map(u=>vP(u,r));if(a.some(u=>u===""))throw ve(r);let c=RP(i,r),l=a.length*c;if(!Number.isSafeInteger(l))throw ve(r);if(l!==t)throw cb(r);return Array.from({length:l},(u,d)=>a[d%a.length])}function EP(e,t,r,n,s){let o={};Xr(o,e,t);for(let[i,a]of Object.entries(r??{})){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}for(let[i,a]of Object.entries(kP(n,s))){if(i===e||Object.prototype.hasOwnProperty.call(o,i))throw ve(s);Xr(o,i,a)}return o}function kP(e,t){let r={};for(let[n,s]of Object.entries(e))SP(r,n.split("."),s,t);return la(r,t)}function SP(e,t,r,n){if(t.some(o=>o===""))throw ve(n);let s=e;for(let o=0;o<t.length;o+=1){let i=t[o];if(o===t.length-1){s[i]=r;return}if(s[i]??={},s=s[i],!re(s))throw ve(n)}}function la(e,t){return Array.isArray(e)?e.map(r=>la(r,t)):re(e)?Number.isSafeInteger(e.length)&&e.length>=0?Array.from({length:e.length},(r,n)=>{if(!Object.prototype.hasOwnProperty.call(e,String(n)))throw ve(t);return la(e[String(n)],t)}):Object.fromEntries(Object.entries(e).map(([r,n])=>[r,la(n,t)])):e}function RP(e,t){if(e===""||e.length>1&&e.startsWith("0")||!/^[0-9]+$/.test(e))throw ve(t);let r=Number(e);if(!Number.isSafeInteger(r))throw ve(t);return r}function vP(e,t){try{return decodeURIComponent(e)}catch{throw ve(t)}}function ob(e){return encodeURIComponent(e)}function ve(e){return F(e,"invalid cyclic array wire")}function cb(e){return F(e,"cyclic array length mismatch")}function zu(e){return F(e,"cyclic array group length mismatch")}function lb(e){if(!re(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,o]of t){let i=TP(o);if(i===void 0)return;r.push([s,i])}let n=[];for(let[s,o]of r)AP(n,s,o);return n.join("")}function TP(e){if(!Array.isArray(e)||e.length===0||!e.every(re))return;let t=xP(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=OP(r);if(n===void 0)return;let s=CP(e,t),o=new Map;for(let a of e){let c=a[t];o.has(c)||o.set(c,[]);let l={};for(let[u,d]of Object.entries(a))if(u!==t&&!s.includes(u)&&!Yu(d,u,l))return;o.get(c).push(l)}let i=[];for(let a of n.cycle){let c=o.get(a),l=IP(c);if(l===void 0||l.length===0)return;i.push({fields:l,label:a,rows:c})}return{common:s,commonRows:e.map(a=>Object.fromEntries(s.map(c=>[c,a[c]]))),discriminator:t,groups:i,order:n,rows:e}}function xP(e){return Iy.find(t=>e.every(r=>typeof r[t]=="string"))}function OP(e){if(!(e.length<12))for(let t=2;t<=Math.min(8,Math.floor(e.length/3));t+=1){if(e.length%t!==0)continue;let r=e.slice(0,t);if(new Set(r).size<2||!e.every((i,a)=>i===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(ob).join(","),o=`cycle(${r.map(ob).join(",")})*${n}`;if(o.length<=s.length*.4)return{cycle:r,encoded:o,repeats:n}}}function CP(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let o of n.slice(s).filter(i=>i!==t)){if(!PP(o)||!e.every(i=>Object.prototype.hasOwnProperty.call(i,o))||!e.every(i=>Ys(i[o])))break;r.push(o)}return r}function AP(e,t,r){e.push(Re(t),`:
13
13
  `),e.push(" order: ",Se(r.order.encoded,en),`
14
14
  `),e.push(" discriminator: ",Se(r.discriminator,en),`
15
15
  `),e.push(" rows: ",String(r.rows.length),`
16
- `),r.common.length>0&&tb(e,"common",r.common,r.commonRows);for(let n of r.groups)tb(e,n.label,n.fields,n.rows)}function tb(e,t,r,n){e.push(" ",Re(t),"[",String(n.length),en,"]{",r.map(Re).join(en),`}:
16
+ `),r.common.length>0&&ib(e,"common",r.common,r.commonRows);for(let n of r.groups)ib(e,n.label,n.fields,n.rows)}function ib(e,t,r,n){e.push(" ",Re(t),"[",String(n.length),en,"]{",r.map(Re).join(en),`}:
17
17
  `);for(let s of n)e.push(" ",r.map(o=>Se(s[o],en)).join(en),`
18
- `)}function TP(e){return e!==""&&Qu(e)}function Yu(e,t,r,n=new Set){if(!Qu(t))return!1;if(zs(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>Yu(o,`${t}.${i}`,r,n));return n.delete(e),s}if(re(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&Yu(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function xP(e){let t=Object.keys(e[0]??{});if(e.every(r=>OP(Object.keys(r),t)))return t.every(Qu)?t:void 0}function OP(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function Qu(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var Xu=E(()=>{Qs();Mn();Ht();Zr()});function Zu(e,t){let r=ed(e,t,[]),n=t("",r,[]);return n===void 0?r:Ve(n)}function ed(e,t,r){return Array.isArray(e)?AP(e,t,r):re(e)?CP(e,t,r):e}function CP(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,ed(o,t,i),i);a!==void 0&&Fn(n,s,Ve(a))}return n}function AP(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),ed(e[s],t,o),o);i!==void 0&&n.push(Ve(i))}return n}var ob=E(()=>{Mn()});function ab(e){let t=[],r,n=ib,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===ib?{}:n}function cb(e,t){let r=ab(Ku(e,t));return t?.reviver?Zu(r,t.reviver):r}function td(e,t){let{reviver:r,...n}=t??{},s=cb(PP(e),n),o=t?.cyclicDiscriminatedArrays===!0?rb(s):s;return r?Zu(o,r):o}function*PP(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 ib,ua=E(()=>{ca();Xu();ob();ib=Symbol("unset")});function lb(e,t){let r=t("",e,[]);return r===void 0?rd(e,t,[]):nd(e,r,t,[])}function nd(e,t,r,n){return Yr(t)&&(Array.isArray(e)||re(e))?rd(e,r,n):rd(Ve(t),r,n)}function rd(e,t,r){return Array.isArray(e)?LP(e,t,r):re(e)?IP(e,t,r):e}function IP(e,t,r){let n={};for(let[s,o]of Object.entries(e)){let i=[...r,s],a=t(s,o,i);a!==void 0&&Fn(n,s,nd(o,a,t,i))}return n}function LP(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),e[s],o);i!==void 0&&n.push(nd(e[s],i,t,o))}return n}var ub=E(()=>{Mn();Ks()});function Bn(e,t={}){if(t.objectArrayColumns===!0){let s=db(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!re(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(Ze)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(Ze))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=db(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Bn(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>re(a)&&Object.keys(a).length>0))return;let i=Bn(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function da(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>re(n)&&Object.keys(n).length>0))return Bn(r,t)}function db(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(Ze))?t:void 0}var pb=E(()=>{Mn()});function B(e,t={}){return Array.from(fb(e,t)).join(`
20
- `)}function fb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??Ys,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ve(e),a=t.replacer?lb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=sb(a);if(l!==void 0)return l.trimEnd().split(`
21
- `)}return GP(a,c)}function GP(e,t){if(Ze(e))return[Se(e,t.delimiter)];if(Array.isArray(e))return gb(void 0,e,0,t);let r=da(e,t);return r===void 0?pa(e,0,t):mb(void 0,e,r,0,t)}function pa(e,t,r){return qn(t,r),Object.entries(e).flatMap(([n,s])=>NP(n,s,t,r))}function NP(e,t,r,n){let s=me(r,n)+Re(e);if(Ze(t))return[`${s}: ${Se(t,n.delimiter)}`];if(Array.isArray(t))return gb(e,t,r,n);let o=da(t,n);if(o!==void 0)return mb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...pa(t,r+1,n)),i}function mb(e,t,r,n,s){qn(n,s);let o=Object.entries(t);Xs(r,n+1,s);let i=[me(n,s)+ft(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=jn(c,r,n+2,s);i.push(me(n+1,s)+Re(a)+": "+l.cells),i.push(...l.children)}return i}function gb(e,t,r,n){qn(r,n);let s=me(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Re(e)}: []`];if(t.every(Ze))return[s+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];let o=Bn(t,n);if(o!==void 0)return DP(e,t,o,r,n);let i=[s+ft(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...sd(a,r+1,n));return i}function DP(e,t,r,n,s){Xs(r,n+1,s);let o=[me(n,s)+ft(e,t.length,r,s.delimiter)];for(let i of t){let a=jn(i,r,n+2,s);o.push(me(n+1,s)+a.cells),o.push(...a.children)}return o}function sd(e,t,r){qn(t,r);let n=me(t,r)+"-";if(Ze(e))return[`${n} ${Se(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${ft(void 0,0,void 0,r.delimiter)}`];if(e.every(Ze))return[`${n} ${ft(void 0,e.length,void 0,r.delimiter)} ${od(e,r.delimiter)}`];let s=[`${n} ${ft(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...sd(o,t+1,r));return s}return $P(e,t,r)}function $P(e,t,r){qn(t,r);let n=Object.entries(e);if(n.length===0)return[me(t,r)+"-"];let[[s,o],...i]=n,a=FP(s,o,t,r),c;if(a!==void 0)c=a;else if(Ze(o))c=[me(t,r)+"- "+Re(s)+": "+Se(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[me(t,r)+"- "+Re(s)+": []"];else{c=[me(t,r)+"- "+ft(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...sd(l,t+2,r))}else c=[me(t,r)+"- "+Re(s)+":"],Object.keys(o).length>0&&c.push(...pa(o,t+2,r));return i.length>0&&c.push(...pa(Object.fromEntries(i),t+1,r)),c}function FP(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(Ze))return[me(r,n)+"- "+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];if(Array.isArray(t)&&t.every(re)){let s=Bn(t,n);if(s!==void 0){Xs(s,r+1,n);let o=[me(r,n)+"- "+ft(e,t.length,s,n.delimiter)];for(let i of t){let a=jn(i,s,r+3,n);o.push(me(r+2,n)+a.cells),o.push(...a.children)}return o}}if(re(t)){let s=da(t,n);if(s!==void 0){Xs(s,r+1,n);let o=Object.entries(t),i=[me(r,n)+"- "+ft(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=jn(c,s,r+3,n);i.push(me(r+2,n)+Re(a)+": "+l.cells),i.push(...l.children)}return i}}}function ft(e,t,r,n,s=!1){let o=e===void 0?"":Re(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${hb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function hb(e,t){return e.map(r=>{let n=Re(r.name);if(r.listDelimiter!==void 0)return`${n}[${r.listDelimiter}]`;if(r.fixedLength!==void 0){let s=t===","?"":t;return`${n}[${r.fixedLength}${s}]`}return n+(r.children===void 0?"":`{${hb(r.children,t)}}`)}).join(t)}function jn(e,t,r,n){let s=[],o=[];for(let i of t){let a=i.self===!0?e:e[i.name];if(i.childTable===!0){s.push(String(a.length));for(let c of a){let l=jn(c,i.children??[],r+1,n);o.push(me(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>Se(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>MP(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=jn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(Se(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function MP(e,t,r){return typeof e!="string"?Se(e,t):Nu(e,t)||e.includes(r)?ra(e):e}function od(e,t){return e.map(r=>Se(r,t)).join(t)}function me(e,t){return" ".repeat(e*t.indentSize)}function qn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function Xs(e,t,r){qn(t,r);for(let n of e)n.children!==void 0&&Xs(n.children,t+1,r)}var Zs=E(()=>{Zr();Ht();Qs();Mn();ub();pb();Xu()});var yb=E(()=>{});var bb=E(()=>{Ht();ca()});var wb=E(()=>{Zs()});function jP(e,t){if(!(e.startsWith("[=")&&e.endsWith("]")))return null;let r=e.slice(2,-1);if(!/^[0-9]+$/.test(r))throw K(t,"invalid trailer count");return Number.parseInt(r,10)}function Ab(e,t){if(!Cb.test(e))throw K(t,"invalid tag")}function qP(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!Cb.test(n)){if(/^[A-Za-z0-9_-]/.test(n)&&/^[^,[\]|{}:\t ]+$/.test(n))throw K(t,"invalid tag");return null}return{tag:n,cellsText:e.slice(r+1)}}function UP(e,t){if(!e.startsWith("["))return null;let r=e.slice(1),n=r.indexOf("]");if(n===-1)throw K(t,"invalid header");let s=r.slice(0,n),o=s.startsWith("~"),i=o?s.slice(1):s;if(!o&&i.startsWith("="))return null;if(!xb.includes(i)&&i!=="")throw K(t,"invalid header delimiter");let a=i===""?Wt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw K(t,"invalid tag");if(l=c.slice(1,p),Ab(l,t),i!=="")throw K(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw K(t,"invalid header");let u=c.slice(1,-2),d;try{d=Qr(u,a,t).map(p=>pr(p,t)[0])}catch(p){throw $n(p)}if(d.length===0||d.some(p=>p===""))throw K(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function HP(e,t,r){if(e===null||e.delimiter===void 0)throw K(r,"continuation header before header");if(e.delimiter!==t.delimiter||e.fieldText!==t.fieldText)throw K(r,"continuation header mismatch")}function _b(e,t,r,n){let s;try{s=Qr(e,t,n)}catch(o){throw $n(o)}if(s.length!==r)throw K(n,"row arity mismatch");for(let o of s)try{$e(o,n)}catch(i){throw $n(i)}return s}function WP(e,t,r){let n={};return e.forEach((s,o)=>{try{Xr(n,s,$e(t[o],r))}catch(i){throw $n(i)}}),n}function JP(e,t,r){if(e.startsWith("- "))throw K(t,"reserved line prefix");let n=jP(e,t);if(n!==null){if(r===null||r.delimiter===void 0)throw K(t,"trailer without header");if(r.rowCount!==n)throw K(t,"trailer count mismatch");return{kind:"trailer"}}let s=UP(e,t);if(s!==null)return s.continuation?(HP(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=qP(e,t);if(o!==null){let i=r?.taggedLanes?.get(o.tag);if(i===void 0)throw K(t,"unknown tag");return{kind:"tagged-row",tag:o.tag,cells:_b(o.cellsText,i.delimiter,i.fields.length,t)}}if(r===null||r.delimiter===void 0)throw K(t,"row before header");return{kind:"row",cells:_b(e,r.delimiter,r.fields.length,t)}}function VP(e,t={}){let r=[],n=new Map,s=[],o=[],i=null,a=!1,c=!1;function l(f,m){let h=o.at(-1);if(h!==void 0&&h.lane===f.lane&&h.delimiter===f.delimiter&&h.fieldText===f.fieldText){h.rows.push(m);return}o.push({lane:f.lane,delimiter:f.delimiter,fields:f.fields,fieldText:f.fieldText,rows:[m]})}function u(){i!==null&&s.push({delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,lane:i.lane,rows:i.rows})}function d(f,m,h){let w=n.get(f);if(w===void 0){if(n.size>=Ob)throw K(h,"too many tagged lanes");w={segments:[],current:null},n.set(f,w),r.push(f)}else w.current!==null&&w.segments.push(w.current);w.current={lane:f,delimiter:m.delimiter,fields:m.fields,fieldText:m.fieldText,rows:[]},w.delimiter=m.delimiter,w.fields=m.fields,w.fieldText=m.fieldText}if(ky(e).forEach((f,m)=>{let h=m+1;if(f==="")return;let w=i===null?{taggedLanes:n}:{delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,rowCount:i.rows.length,taggedLanes:n},b=JP(f,h,w);if(b.kind==="trailer"){u(),i=null;return}if(b.kind!=="continuation"){if(b.kind==="tag-header"){c=!0,d(b.header.tag,b.header,h);return}if(b.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:b.header.delimiter,fields:b.header.fields,fieldText:b.header.fieldText,rows:[]};return}if(b.kind==="tagged-row"){c=!0;let y=n.get(b.tag).current;y.rows.push(b.cells),l(y,b.cells);return}if(i===null)throw K(h,"row before header");i.rows.push(b.cells),l(i,b.cells)}}),!c)return u(),t.preserveInterleaving===!0,s;let p=[];u();for(let f of r){if(f===null){p.push(...s);continue}let m=n.get(f);p.push(...m.segments),m.current!==null&&p.push(m.current)}return t.preserveInterleaving===!0?o:p}function Te(e){return VP(e).flatMap(t=>t.rows.map(r=>WP(t.fields,r,0)))}function KP(e){if(!xb.includes(e))throw K(0,"invalid header delimiter")}function Eb(e,t,r=!1){return`[${`${r?"~":""}${e===Wt?"":e}`}]{${t}}:
22
- `}function kb(e,t){return`[]<${e}>{${t}}:
23
- `}function id(e,t){return t.map(Re).join(e)}function zP(e){if(!Array.isArray(e)||e.length===0)throw K(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=pr(String(t),0)}catch(n){throw $n(n)}if(r==="")throw K(0,"TOONL header requires fields");return r})}function Sb(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Rb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw K(0,"TOONL continuation cadence must be positive")}function YP(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function vb(e){if(e===null||typeof e!="object"||Array.isArray(e))throw K(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw K(0,"TOONL output requires object rows");if(t.some(r=>!zs(e[r])))throw K(0,"TOONL rows must be flat objects");return t}function QP(e){return JSON.stringify([...e].sort())}function Tb(e,t){let r=QP(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function Fe({delimiter:e=Wt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){KP(e),Rb(r),Rb(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=()=>YP(p,c,l)?(c=0,l=0,Eb(e,o,!0)):"",h=w=>{Ab(w,0);let b=u.get(w);if(b===void 0){if(u.size>=Ob)throw K(0,"too many tagged lanes");b={fields:null,fieldsByShape:new Map},u.set(w,b)}return b};return{push(w){if(d)throw K(0,"TOONL encoder is closed");let b=Tb(vb(w),i),y="";(s===null||s.length!==b.length||s.some((v,O)=>v!==b[O]))&&(y+=f(),s=b,o=id(e,s),a=0,c=0,l=0,y+=Eb(e,o));let _=s.map(v=>Se(w[v],e));y+=m();let k=`${_.join(e)}
25
- `;return y+=k,a+=1,c+=1,l+=k.length,y},declareLane(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=zP(b),_=id(Wt,y),k=h(w);return Sb(k.fields,y)?"":(k.fields=y,kb(w,_))},pushTagged(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=h(w),_=Tb(vb(b),y.fieldsByShape),k=id(Wt,_),v=_.map(A=>Se(b[A],Wt)),O="";return Sb(y.fields,_)||(y.fields=_,O+=kb(w,k)),`${O}${w}:${v.join(Wt)}
26
- `},end(){return d?"":(d=!0,f())}}}var xb,Ob,Cb,kY,SY,Pb=E(()=>{Ht();ua();Zs();Zr();xb=[Wt,"|"," "],Ob=8,Cb=/^[A-Za-z0-9_-]+$/,kY=new TextEncoder,SY=new TextDecoder});var Z,V=E(()=>{ua();Zs();yb();Ht();Qs();bb();Zs();Ks();Zr();ca();ua();wb();Pb();Z=td});function ZP(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${B(ad(e))}
27
- `)}function ad(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??ZP(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=eI(e.diagnostics,3)),t}function Me(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&by(s)?{command:e,category:"transient",error:eo(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:eo(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:eo(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:eo(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:eo(s)||"command failed",help:`${e} --help`,diagnostics:s}}function Ib(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function eo(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function eI(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
- `).trim()}var mt=E(()=>{"use strict";wy();V()});function ga(e){let t={app:e,version:dI(Hn("__RED_BUILD_VERSION__",()=>"3.17.2")??"0.0.0-dev"),gitSha:Hn("__RED_BUILD_GIT_SHA__",()=>"d6bd626b465d58be821a38789c8d1c6a254dac03")??"unknown",buildTime:Hn("__RED_BUILD_TIME__",()=>"2026-08-12T16:04:33-03:00")??"unknown",bundleAsset:Hn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Hn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Hn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function dI(e){return e.startsWith("v")?e.slice(1):e}function jb(e){return`${e.app} ${e.version} ${e.gitSha}`}function Hn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var ld=E(()=>{});import{isAbsolute as pI,join as Jt,resolve as ud}from"node:path";function gI(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function Ub(e){return Jt(gI(e),qb)}function Hb(e){return Jt(Ub(e),"state")}function Wb(e){return Jt(Ub(e),"tmp")}function ae(e){return Jt(Hb(e),"rsp")}function hI(e){return Jt(Hb(e),"red-skills.rdb")}function yI(e){return Jt(Wb(e),"red-skills.rdb")}function Kb(e,t){let r=hI(e);if(t(r))return r;let n=yI(e);if(t(n))throw bI();return r}function bI(){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 zb(e){return Jt(Wb(e),"waits")}function Yb(e){let t=e.overrideEnvVars??dd;for(let n of t){let s=e.env[n];if(s)return pI(s)?s:ud(e.startDir,s)}let r=ud(e.startDir);for(;;){if(e.exists(Jt(r,qb)))return r;let n=Jt(r,".."),s=ud(n);if(s===r)break;r=s}return e.startDir}var qb,fI,mI,dd,Jb,Vb,Ke=E(()=>{qb=".red",fI="MEMORY_ROOT",mI="RED_BRAIN_ROOT",dd=[fI,mI];Jb=".red/state/red-skills.rdb";Vb=".red/tmp/red-skills.rdb"});function ge(e){return B(e)}var wI,_I,g8,Vt=E(()=>{V();Ke();wI=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],_I=[{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"}],g8=[...wI,..._I]});function to(e){let{values:t,rest:r}=Kr(e,{query:Qb.query},Xb);return{argv:r,query:t.query?.trim()||void 0}}function Zb(e){let{values:t,rest:r}=Kr(e,Qb,Xb);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function EI(e,t){if(!t)return!0;let r=pd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Ae(e,t){return t?e.filter(r=>EI(r,t)):[...e]}function Kt(e,t){return fd(e,t,{includeLegacyHelp:!0})}function fd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function pd(e){return Array.isArray(e)?e.map(pd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(pd).join(" "):String(e??"")}var Qb,Xb,ro=E(()=>{"use strict";Lu();Qb={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Xb={stopAtSeparator:!1}});var Sa={};ne(Sa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ha,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>ya,DEFAULT_RSP_OVERHEAD_CEILING:()=>zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>wa,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>_a,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>ba,RSP_OVERHEAD_FAMILIES:()=>OI,RSP_OVERHEAD_LEDGER_FILE:()=>rw,RSP_OVERHEAD_SCHEMA_VERSION:()=>nw,classifyOverheadSample:()=>hd,noteChildProcessMs:()=>ow,noteSelfStateBytesRead:()=>so,overheadCounters:()=>Ed,overheadFamilyDisabled:()=>CI,overheadHealth:()=>mr,overheadLedgerPath:()=>yd,overheadMsOf:()=>sw,overheadTelemetryFields:()=>Ea,readOverheadLedger:()=>no,readSelfStateFile:()=>ka,readSelfStateFileSync:()=>II,recordOverheadSample:()=>bd,resetOverheadCounters:()=>PI,resetOverheadLedger:()=>AI,startChildProcessTimer:()=>ze});import{existsSync as kI,mkdirSync as SI,readFileSync as ew,renameSync as RI,writeFileSync as vI}from"node:fs";import{readFile as TI}from"node:fs/promises";import{dirname as xI,join as tw}from"node:path";function sw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,gd(t)):0}function hd(e,t=zt){let r=sw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function Ea(e,t=zt){let r=hd(e,t);return{wrapper_ms:gd(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:gd(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function yd(e){return tw(ae(e),rw)}function no(e){try{let t=ew(yd(e),"utf8"),r=DI(t);if($I(r))return r}catch{}return{version:1,families:{}}}function bd(e,t,r=zt,n=Date.now()){let s=no(e),o=hd(t,r),i=s.families[t.family]??NI(t.family,n),a=kd(i,n)?iw(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=LI(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,aw(e,s),l}function CI(e,t,r=Date.now()){let n=no(e).families[t];return!n?.disabled||kd(n,r)?null:n}function AI(e,t){let r=no(e);return t?delete r.families[t]:r.families={},aw(e,r),r}function mr(e,t=zt,r=Date.now()){let n=Object.values(no(e).families).map(a=>kd(a,r)?iw(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:GI(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function so(e){Number.isFinite(e)&&e>0&&(wd+=e)}function ow(e){Number.isFinite(e)&&e>0&&(_d+=e)}function Ed(){return{selfStateBytesRead:wd,childMs:_d}}function PI(){wd=0,_d=0}function ze(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,ow(Number(process.hrtime.bigint()-e)/1e6))}}async function ka(e){let t=await TI(e,"utf8");return so(Buffer.byteLength(t)),t}function II(e){let t=ew(e,"utf8");return so(Buffer.byteLength(t)),t}function LI(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 GI(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function kd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function iw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function NI(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 aw(e,t){try{let r=yd(e);if(!kI(tw(e,".red")))return;SI(xI(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;vI(n,`${B(t)}
29
- `,{encoding:"utf8",mode:384}),RI(n,r)}catch{}}function DI(e){try{return JSON.parse(e)}catch{return Z(e)}}function $I(e){return!md(e)||e.version!==1||!md(e.families)?!1:Object.values(e.families).every(FI)}function FI(e){return md(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gd(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var rw,nw,ha,ya,ba,wa,_a,OI,zt,wd,_d,ye=E(()=>{"use strict";Ke();V();rw="overhead-budget.toon",nw="red.rsp.overhead.v1",ha=250,ya=1024*1024,ba=64*1024,wa=3,_a=6*60*60*1e3,OI=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],zt={maxOverheadMs:ha,maxSelfStateBytes:ya,netLossFloorBytes:ba,consecutiveBreaches:wa,cooldownMs:_a};wd=0,_d=0});function uw(e){return e.trimStart().startsWith("{")?"json":"toon"}function Rd(e){let t=0;for(;e[t]===`
30
- `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=uw(r);if(n==="json"){let o=r.indexOf(`
18
+ `)}function PP(e){return e!==""&&Qu(e)}function Yu(e,t,r,n=new Set){if(!Qu(t))return!1;if(Ys(e))return r[t]=e,!0;if(Array.isArray(e)){if(n.has(e))return!1;n.add(e),r[`${t}.length`]=e.length;let s=e.every((o,i)=>Yu(o,`${t}.${i}`,r,n));return n.delete(e),s}if(re(e)){if(n.has(e))return!1;n.add(e);let s=Object.entries(e).every(([o,i])=>!o.includes(".")&&Yu(i,`${t}.${o}`,r,n));return n.delete(e),s}return!1}function IP(e){let t=Object.keys(e[0]??{});if(e.every(r=>LP(Object.keys(r),t)))return t.every(Qu)?t:void 0}function LP(e,t){return e.length===t.length&&e.every((r,n)=>r===t[n])}function Qu(e){return e.split(".").every(t=>/^[A-Za-z_][A-Za-z0-9_]*$|^(?:0|[1-9][0-9]*)$/.test(t))}var Xu=E(()=>{Xs();Mn();Ht();Zr()});function Zu(e,t){let r=ed(e,t,[]),n=t("",r,[]);return n===void 0?r:Ke(n)}function ed(e,t,r){return Array.isArray(e)?NP(e,t,r):re(e)?GP(e,t,r):e}function GP(e,t,r){let n={};for(let[s,o]of Object.entries(e)){if(o===void 0)continue;let i=[...r,s],a=t(s,ed(o,t,i),i);a!==void 0&&Fn(n,s,Ke(a))}return n}function NP(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),ed(e[s],t,o),o);i!==void 0&&n.push(Ke(i))}return n}var ub=E(()=>{Mn()});function pb(e){let t=[],r,n=db,s=o=>{let i=t[t.length-1];i===void 0?n=o:Array.isArray(i)?i.push(o):Object.defineProperty(i,r,{value:o,enumerable:!0,writable:!0,configurable:!0})};for(let o of e)switch(o.type){case"startObject":{let i={};s(i),t.push(i);break}case"startArray":{let i=[];s(i),t.push(i);break}case"endObject":case"endArray":t.pop();break;case"key":r=o.key;break;case"primitive":s(o.value);break}return n===db?{}:n}function fb(e,t){let r=pb(Ku(e,t));return t?.reviver?Zu(r,t.reviver):r}function td(e,t){let{reviver:r,...n}=t??{},s=fb(DP(e),n),o=t?.cyclicDiscriminatedArrays===!0?ab(s):s;return r?Zu(o,r):o}function*DP(e){let t=0;for(;;){let r=e.indexOf(`
19
+ `,t);if(r===-1){yield e.slice(t);return}yield e.slice(t,r),t=r+1}}var db,ua=E(()=>{ca();Xu();ub();db=Symbol("unset")});function mb(e,t){let r=t("",e,[]);return r===void 0?rd(e,t,[]):nd(e,r,t,[])}function nd(e,t,r,n){return Yr(t)&&(Array.isArray(e)||re(e))?rd(e,r,n):rd(Ke(t),r,n)}function rd(e,t,r){return Array.isArray(e)?FP(e,t,r):re(e)?$P(e,t,r):e}function $P(e,t,r){let n={};for(let[s,o]of Object.entries(e)){let i=[...r,s],a=t(s,o,i);a!==void 0&&Fn(n,s,nd(o,a,t,i))}return n}function FP(e,t,r){let n=[];for(let s=0;s<e.length;s+=1){let o=[...r,s],i=t(String(s),e[s],o);i!==void 0&&n.push(nd(e[s],i,t,o))}return n}var gb=E(()=>{Mn();zs()});function Bn(e,t={}){if(t.objectArrayColumns===!0){let s=hb(e);if(s!==void 0)return[{name:"values",fixedLength:s,self:!0}]}let r=Object.keys(e[0]??{});if(r.length===0)return;for(let s of e)if(!re(s)||Object.keys(s).length!==r.length||r.some(o=>!Object.prototype.hasOwnProperty.call(s,o)))return;let n=[];for(let s of r){let o=e.map(a=>a[s]);if(o.every(Ze)){n.push({name:s});continue}if(t.primitiveArrayColumns===!0&&o.every(a=>Array.isArray(a)&&a.every(Ze))){n.push({name:s,listDelimiter:";"});continue}if(t.objectArrayColumns===!0&&o.every(Array.isArray)){let a=hb(o);if(a!==void 0){n.push({name:s,fixedLength:a});continue}let c=o.flat(),l=Bn(c,t);if(l!==void 0){n.push({name:s,children:l,childTable:!0});continue}}if(!o.every(a=>re(a)&&Object.keys(a).length>0))return;let i=Bn(o,t);if(i===void 0)return;n.push({name:s,children:i})}return n}function da(e,t={}){let r=Object.values(e);if(!(r.length<2)&&r.every(n=>re(n)&&Object.keys(n).length>0))return Bn(r,t)}function hb(e){let t=Array.isArray(e[0])?e[0].length:0;if(t!==0)return e.every(r=>Array.isArray(r)&&r.length===t&&r.every(Ze))?t:void 0}var yb=E(()=>{Mn()});function M(e,t={}){return Array.from(bb(e,t)).join(`
20
+ `)}function bb(e,t={}){let r=t.delimiter??",";if(![",","|"," "].includes(r))throw new TypeError("invalid delimiter");let n=t.indentSize??t.indent??2,s=t.maxDepth??Qs,o=s===Number.POSITIVE_INFINITY?0:Math.max(0,Math.floor(s)),i=Ke(e),a=t.replacer?mb(i,t.replacer):i,c={delimiter:r,indentSize:n,maxDepth:o,primitiveArrayColumns:t.primitiveArrayColumns===!0,objectArrayColumns:t.objectArrayColumns===!0};if(t.cyclicDiscriminatedArrays===!0){let l=lb(a);if(l!==void 0)return l.trimEnd().split(`
21
+ `)}return MP(a,c)}function MP(e,t){if(Ze(e))return[Se(e,t.delimiter)];if(Array.isArray(e))return _b(void 0,e,0,t);let r=da(e,t);return r===void 0?pa(e,0,t):wb(void 0,e,r,0,t)}function pa(e,t,r){return qn(t,r),Object.entries(e).flatMap(([n,s])=>BP(n,s,t,r))}function BP(e,t,r,n){let s=me(r,n)+Re(e);if(Ze(t))return[`${s}: ${Se(t,n.delimiter)}`];if(Array.isArray(t))return _b(e,t,r,n);let o=da(t,n);if(o!==void 0)return wb(e,t,o,r,n);let i=[`${s}:`];return Object.keys(t).length>0&&i.push(...pa(t,r+1,n)),i}function wb(e,t,r,n,s){qn(n,s);let o=Object.entries(t);Zs(r,n+1,s);let i=[me(n,s)+ft(e,o.length,r,s.delimiter,!0)];for(let[a,c]of o){let l=jn(c,r,n+2,s);i.push(me(n+1,s)+Re(a)+": "+l.cells),i.push(...l.children)}return i}function _b(e,t,r,n){qn(r,n);let s=me(r,n);if(t.length===0)return[e===void 0?`${s}[]`:`${s}${Re(e)}: []`];if(t.every(Ze))return[s+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];let o=Bn(t,n);if(o!==void 0)return jP(e,t,o,r,n);let i=[s+ft(e,t.length,void 0,n.delimiter)];for(let a of t)i.push(...sd(a,r+1,n));return i}function jP(e,t,r,n,s){Zs(r,n+1,s);let o=[me(n,s)+ft(e,t.length,r,s.delimiter)];for(let i of t){let a=jn(i,r,n+2,s);o.push(me(n+1,s)+a.cells),o.push(...a.children)}return o}function sd(e,t,r){qn(t,r);let n=me(t,r)+"-";if(Ze(e))return[`${n} ${Se(e,r.delimiter)}`];if(Array.isArray(e)){if(e.length===0)return[`${n} ${ft(void 0,0,void 0,r.delimiter)}`];if(e.every(Ze))return[`${n} ${ft(void 0,e.length,void 0,r.delimiter)} ${od(e,r.delimiter)}`];let s=[`${n} ${ft(void 0,e.length,void 0,r.delimiter)}`];for(let o of e)s.push(...sd(o,t+1,r));return s}return qP(e,t,r)}function qP(e,t,r){qn(t,r);let n=Object.entries(e);if(n.length===0)return[me(t,r)+"-"];let[[s,o],...i]=n,a=UP(s,o,t,r),c;if(a!==void 0)c=a;else if(Ze(o))c=[me(t,r)+"- "+Re(s)+": "+Se(o,r.delimiter)];else if(Array.isArray(o))if(o.length===0)c=[me(t,r)+"- "+Re(s)+": []"];else{c=[me(t,r)+"- "+ft(s,o.length,void 0,r.delimiter)];for(let l of o)c.push(...sd(l,t+2,r))}else c=[me(t,r)+"- "+Re(s)+":"],Object.keys(o).length>0&&c.push(...pa(o,t+2,r));return i.length>0&&c.push(...pa(Object.fromEntries(i),t+1,r)),c}function UP(e,t,r,n){if(Array.isArray(t)&&t.length>0&&t.every(Ze))return[me(r,n)+"- "+ft(e,t.length,void 0,n.delimiter)+" "+od(t,n.delimiter)];if(Array.isArray(t)&&t.every(re)){let s=Bn(t,n);if(s!==void 0){Zs(s,r+1,n);let o=[me(r,n)+"- "+ft(e,t.length,s,n.delimiter)];for(let i of t){let a=jn(i,s,r+3,n);o.push(me(r+2,n)+a.cells),o.push(...a.children)}return o}}if(re(t)){let s=da(t,n);if(s!==void 0){Zs(s,r+1,n);let o=Object.entries(t),i=[me(r,n)+"- "+ft(e,o.length,s,n.delimiter,!0)];for(let[a,c]of o){let l=jn(c,s,r+3,n);i.push(me(r+2,n)+Re(a)+": "+l.cells),i.push(...l.children)}return i}}}function ft(e,t,r,n,s=!1){let o=e===void 0?"":Re(e),i=s?":":"",a=n===","?"":n,c=r===void 0?"":`{${Eb(r,n)}}`;return`${o}[${t}${i}${a}]${c}:`}function Eb(e,t){return e.map(r=>{let n=Re(r.name);if(r.listDelimiter!==void 0)return`${n}[${r.listDelimiter}]`;if(r.fixedLength!==void 0){let s=t===","?"":t;return`${n}[${r.fixedLength}${s}]`}return n+(r.children===void 0?"":`{${Eb(r.children,t)}}`)}).join(t)}function jn(e,t,r,n){let s=[],o=[];for(let i of t){let a=i.self===!0?e:e[i.name];if(i.childTable===!0){s.push(String(a.length));for(let c of a){let l=jn(c,i.children??[],r+1,n);o.push(me(r,n)+l.cells,...l.children)}}else if(i.fixedLength!==void 0)s.push(...a.map(c=>Se(c,n.delimiter)));else if(i.listDelimiter!==void 0)s.push(a.map(c=>HP(c,n.delimiter,i.listDelimiter)).join(i.listDelimiter));else if(i.children!==void 0){let c=jn(a,i.children,r,n);s.push(c.cells),o.push(...c.children)}else s.push(Se(a,n.delimiter))}return{cells:s.join(n.delimiter),children:o}}function HP(e,t,r){return typeof e!="string"?Se(e,t):Nu(e,t)||e.includes(r)?ra(e):e}function od(e,t){return e.map(r=>Se(r,t)).join(t)}function me(e,t){return" ".repeat(e*t.indentSize)}function qn(e,t){if(t.maxDepth!==0&&e>t.maxDepth)throw F(0,`maximum nesting depth exceeded (maxDepth ${t.maxDepth})`)}function Zs(e,t,r){qn(t,r);for(let n of e)n.children!==void 0&&Zs(n.children,t+1,r)}var eo=E(()=>{Zr();Ht();Xs();Mn();gb();yb();Xu()});var kb=E(()=>{});var Sb=E(()=>{Ht();ca()});var Rb=E(()=>{eo()});function JP(e,t){if(!(e.startsWith("[=")&&e.endsWith("]")))return null;let r=e.slice(2,-1);if(!/^[0-9]+$/.test(r))throw K(t,"invalid trailer count");return Number.parseInt(r,10)}function Nb(e,t){if(!Gb.test(e))throw K(t,"invalid tag")}function VP(e,t){let r=e.indexOf(":");if(r<=0)return null;let n=e.slice(0,r);if(!Gb.test(n)){if(/^[A-Za-z0-9_-]/.test(n)&&/^[^,[\]|{}:\t ]+$/.test(n))throw K(t,"invalid tag");return null}return{tag:n,cellsText:e.slice(r+1)}}function KP(e,t){if(!e.startsWith("["))return null;let r=e.slice(1),n=r.indexOf("]");if(n===-1)throw K(t,"invalid header");let s=r.slice(0,n),o=s.startsWith("~"),i=o?s.slice(1):s;if(!o&&i.startsWith("="))return null;if(!Ib.includes(i)&&i!=="")throw K(t,"invalid header delimiter");let a=i===""?Wt:i,c=r.slice(n+1),l=null;if(!o&&c.startsWith("<")){let p=c.indexOf(">");if(p===-1)throw K(t,"invalid tag");if(l=c.slice(1,p),Nb(l,t),i!=="")throw K(t,"invalid header delimiter");c=c.slice(p+1)}if(!c.startsWith("{")||!c.endsWith("}:"))throw K(t,"invalid header");let u=c.slice(1,-2),d;try{d=Qr(u,a,t).map(p=>fr(p,t)[0])}catch(p){throw $n(p)}if(d.length===0||d.some(p=>p===""))throw K(t,"invalid header fields");return{delimiter:a,fields:d,fieldText:u,continuation:o,tag:l}}function zP(e,t,r){if(e===null||e.delimiter===void 0)throw K(r,"continuation header before header");if(e.delimiter!==t.delimiter||e.fieldText!==t.fieldText)throw K(r,"continuation header mismatch")}function vb(e,t,r,n){let s;try{s=Qr(e,t,n)}catch(o){throw $n(o)}if(s.length!==r)throw K(n,"row arity mismatch");for(let o of s)try{$e(o,n)}catch(i){throw $n(i)}return s}function YP(e,t,r){let n={};return e.forEach((s,o)=>{try{Xr(n,s,$e(t[o],r))}catch(i){throw $n(i)}}),n}function QP(e,t,r){if(e.startsWith("- "))throw K(t,"reserved line prefix");let n=JP(e,t);if(n!==null){if(r===null||r.delimiter===void 0)throw K(t,"trailer without header");if(r.rowCount!==n)throw K(t,"trailer count mismatch");return{kind:"trailer"}}let s=KP(e,t);if(s!==null)return s.continuation?(zP(r,s,t),{kind:"continuation"}):s.tag!==null?{kind:"tag-header",header:s}:{kind:"header",header:s};let o=VP(e,t);if(o!==null){let i=r?.taggedLanes?.get(o.tag);if(i===void 0)throw K(t,"unknown tag");return{kind:"tagged-row",tag:o.tag,cells:vb(o.cellsText,i.delimiter,i.fields.length,t)}}if(r===null||r.delimiter===void 0)throw K(t,"row before header");return{kind:"row",cells:vb(e,r.delimiter,r.fields.length,t)}}function XP(e,t={}){let r=[],n=new Map,s=[],o=[],i=null,a=!1,c=!1;function l(f,m){let h=o.at(-1);if(h!==void 0&&h.lane===f.lane&&h.delimiter===f.delimiter&&h.fieldText===f.fieldText){h.rows.push(m);return}o.push({lane:f.lane,delimiter:f.delimiter,fields:f.fields,fieldText:f.fieldText,rows:[m]})}function u(){i!==null&&s.push({delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,lane:i.lane,rows:i.rows})}function d(f,m,h){let w=n.get(f);if(w===void 0){if(n.size>=Lb)throw K(h,"too many tagged lanes");w={segments:[],current:null},n.set(f,w),r.push(f)}else w.current!==null&&w.segments.push(w.current);w.current={lane:f,delimiter:m.delimiter,fields:m.fields,fieldText:m.fieldText,rows:[]},w.delimiter=m.delimiter,w.fields=m.fields,w.fieldText=m.fieldText}if(xy(e).forEach((f,m)=>{let h=m+1;if(f==="")return;let w=i===null?{taggedLanes:n}:{delimiter:i.delimiter,fields:i.fields,fieldText:i.fieldText,rowCount:i.rows.length,taggedLanes:n},b=QP(f,h,w);if(b.kind==="trailer"){u(),i=null;return}if(b.kind!=="continuation"){if(b.kind==="tag-header"){c=!0,d(b.header.tag,b.header,h);return}if(b.kind==="header"){u(),a||(r.push(null),a=!0),i={lane:null,delimiter:b.header.delimiter,fields:b.header.fields,fieldText:b.header.fieldText,rows:[]};return}if(b.kind==="tagged-row"){c=!0;let y=n.get(b.tag).current;y.rows.push(b.cells),l(y,b.cells);return}if(i===null)throw K(h,"row before header");i.rows.push(b.cells),l(i,b.cells)}}),!c)return u(),t.preserveInterleaving===!0,s;let p=[];u();for(let f of r){if(f===null){p.push(...s);continue}let m=n.get(f);p.push(...m.segments),m.current!==null&&p.push(m.current)}return t.preserveInterleaving===!0?o:p}function Te(e){return XP(e).flatMap(t=>t.rows.map(r=>YP(t.fields,r,0)))}function ZP(e){if(!Ib.includes(e))throw K(0,"invalid header delimiter")}function Tb(e,t,r=!1){return`[${`${r?"~":""}${e===Wt?"":e}`}]{${t}}:
22
+ `}function xb(e,t){return`[]<${e}>{${t}}:
23
+ `}function id(e,t){return t.map(Re).join(e)}function eI(e){if(!Array.isArray(e)||e.length===0)throw K(0,"TOONL header requires fields");return e.map(t=>{let r;try{[r]=fr(String(t),0)}catch(n){throw $n(n)}if(r==="")throw K(0,"TOONL header requires fields");return r})}function Ob(e,t){return e!==null&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Cb(e){if(e!==void 0&&(!Number.isInteger(e)||e<=0))throw K(0,"TOONL continuation cadence must be positive")}function tI(e,t,r){return e.continuationEveryRows!==void 0&&t>=e.continuationEveryRows||e.continuationEveryBytes!==void 0&&r>=e.continuationEveryBytes}function Ab(e){if(e===null||typeof e!="object"||Array.isArray(e))throw K(0,"TOONL output requires object rows");let t=Object.keys(e);if(t.length===0)throw K(0,"TOONL output requires object rows");if(t.some(r=>!Ys(e[r])))throw K(0,"TOONL rows must be flat objects");return t}function rI(e){return JSON.stringify([...e].sort())}function Pb(e,t){let r=rI(e),n=t.get(r);return n!==void 0?n:(t.set(r,e),e)}function Fe({delimiter:e=Wt,trailer:t=!0,continuationEveryRows:r,continuationEveryBytes:n}={}){ZP(e),Cb(r),Cb(n);let s=null,o="",i=new Map,a=0,c=0,l=0,u=new Map,d=!1,p={continuationEveryRows:r,continuationEveryBytes:n},f=()=>s===null||!t?"":`[=${a}]
24
+ `,m=()=>tI(p,c,l)?(c=0,l=0,Tb(e,o,!0)):"",h=w=>{Nb(w,0);let b=u.get(w);if(b===void 0){if(u.size>=Lb)throw K(0,"too many tagged lanes");b={fields:null,fieldsByShape:new Map},u.set(w,b)}return b};return{push(w){if(d)throw K(0,"TOONL encoder is closed");let b=Pb(Ab(w),i),y="";(s===null||s.length!==b.length||s.some((v,x)=>v!==b[x]))&&(y+=f(),s=b,o=id(e,s),a=0,c=0,l=0,y+=Tb(e,o));let _=s.map(v=>Se(w[v],e));y+=m();let k=`${_.join(e)}
25
+ `;return y+=k,a+=1,c+=1,l+=k.length,y},declareLane(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=eI(b),_=id(Wt,y),k=h(w);return Ob(k.fields,y)?"":(k.fields=y,xb(w,_))},pushTagged(w,b){if(d)throw K(0,"TOONL encoder is closed");let y=h(w),_=Pb(Ab(b),y.fieldsByShape),k=id(Wt,_),v=_.map(A=>Se(b[A],Wt)),x="";return Ob(y.fields,_)||(y.fields=_,x+=xb(w,k)),`${x}${w}:${v.join(Wt)}
26
+ `},end(){return d?"":(d=!0,f())}}}var Ib,Lb,Gb,NY,DY,Db=E(()=>{Ht();ua();eo();Zr();Ib=[Wt,"|"," "],Lb=8,Gb=/^[A-Za-z0-9_-]+$/,NY=new TextEncoder,DY=new TextDecoder});var z,J=E(()=>{ua();eo();kb();Ht();Xs();Sb();eo();zs();Zr();ca();ua();Rb();Db();z=td});function sI(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(ad(e))}
27
+ `)}function ad(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??sI(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=oI(e.diagnostics,3)),t}function Me(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&Sy(s)?{command:e,category:"transient",error:to(s)||"GitHub API rate limit exceeded",help:ky,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:to(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:to(s)||"not a git repository",help:"git status",diagnostics:s}:o.includes("repository not found")||o.includes("could not resolve host")?{command:e,category:"real-error",error:to(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:to(s)||"command failed",help:`${e} --help`,diagnostics:s}}function $b(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function to(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function oI(e,t){return e.split(/\r?\n/).slice(0,t).join(`
28
+ `).trim()}var mt=E(()=>{"use strict";Ry();J()});function ga(e){let t={app:e,version:hI(Hn("__RED_BUILD_VERSION__",()=>"3.17.5")??"0.0.0-dev"),gitSha:Hn("__RED_BUILD_GIT_SHA__",()=>"1b8c7bb79f64279b5e326439de06c5c0d7ea8db9")??"unknown",buildTime:Hn("__RED_BUILD_TIME__",()=>"2026-08-12T19:33:46-03:00")??"unknown",bundleAsset:Hn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Hn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Hn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function hI(e){return e.startsWith("v")?e.slice(1):e}function Jb(e){return`${e.app} ${e.version} ${e.gitSha}`}function Hn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var ld=E(()=>{});import{isAbsolute as yI,join as Jt,resolve as ud}from"node:path";function _I(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function Kb(e){return Jt(_I(e),Vb)}function zb(e){return Jt(Kb(e),"state")}function Yb(e){return Jt(Kb(e),"tmp")}function ae(e){return Jt(zb(e),"rsp")}function EI(e){return Jt(zb(e),"red-skills.rdb")}function kI(e){return Jt(Yb(e),"red-skills.rdb")}function Zb(e,t){let r=EI(e);if(t(r))return r;let n=kI(e);if(t(n))throw SI();return r}function SI(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}function ew(e){return Jt(Yb(e),"waits")}function tw(e){let t=e.overrideEnvVars??dd;for(let n of t){let s=e.env[n];if(s)return yI(s)?s:ud(e.startDir,s)}let r=ud(e.startDir);for(;;){if(e.exists(Jt(r,Vb)))return r;let n=Jt(r,".."),s=ud(n);if(s===r)break;r=s}return e.startDir}var Vb,bI,wI,dd,Qb,Xb,ze=E(()=>{Vb=".red",bI="MEMORY_ROOT",wI="RED_BRAIN_ROOT",dd=[bI,wI];Qb=".red/state/red-skills.rdb";Xb=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var RI,vI,O8,Vt=E(()=>{J();ze();RI=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],vI=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.toon",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.toon",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.toon",kind:"toon"}],O8=[...RI,...vI]});function ro(e){let{values:t,rest:r}=Kr(e,{query:rw.query},nw);return{argv:r,query:t.query?.trim()||void 0}}function sw(e){let{values:t,rest:r}=Kr(e,rw,nw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function TI(e,t){if(!t)return!0;let r=pd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Ae(e,t){return t?e.filter(r=>TI(r,t)):[...e]}function Kt(e,t){return fd(e,t,{includeLegacyHelp:!0})}function fd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function pd(e){return Array.isArray(e)?e.map(pd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(pd).join(" "):String(e??"")}var rw,nw,no=E(()=>{"use strict";Lu();rw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},nw={stopAtSeparator:!1}});var Sa={};ne(Sa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ha,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>ya,DEFAULT_RSP_OVERHEAD_CEILING:()=>zt,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>wa,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>_a,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>ba,RSP_OVERHEAD_FAMILIES:()=>LI,RSP_OVERHEAD_LEDGER_FILE:()=>aw,RSP_OVERHEAD_SCHEMA_VERSION:()=>cw,classifyOverheadSample:()=>hd,noteChildProcessMs:()=>uw,noteSelfStateBytesRead:()=>oo,overheadCounters:()=>Ed,overheadFamilyDisabled:()=>GI,overheadHealth:()=>gr,overheadLedgerPath:()=>yd,overheadMsOf:()=>lw,overheadTelemetryFields:()=>Ea,readOverheadLedger:()=>so,readSelfStateFile:()=>ka,readSelfStateFileSync:()=>$I,recordOverheadSample:()=>bd,resetOverheadCounters:()=>DI,resetOverheadLedger:()=>NI,startChildProcessTimer:()=>Ye});import{existsSync as xI,mkdirSync as OI,readFileSync as ow,renameSync as CI,writeFileSync as AI}from"node:fs";import{readFile as PI}from"node:fs/promises";import{dirname as II,join as iw}from"node:path";function lw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,gd(t)):0}function hd(e,t=zt){let r=lw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function Ea(e,t=zt){let r=hd(e,t);return{wrapper_ms:gd(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:gd(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function yd(e){return iw(ae(e),aw)}function so(e){try{let t=ow(yd(e),"utf8"),r=jI(t);if(qI(r))return r}catch{}return{version:1,families:{}}}function bd(e,t,r=zt,n=Date.now()){let s=so(e),o=hd(t,r),i=s.families[t.family]??BI(t.family,n),a=kd(i,n)?dw(i):i,c=o.breached?a.consecutive_breaches+1:0,l={...a,family:t.family,invocations:a.invocations+1,breaches:a.breaches+(o.breached?1:0),consecutive_breaches:c,breached:o.breached,reasons:o.reasons,last_overhead_ms:o.overhead_ms,last_self_state_bytes_read:Math.max(0,Math.trunc(t.selfStateBytesRead)),last_bytes_saved:Math.max(0,Math.trunc(t.bytesSaved)),updated_at:new Date(n).toISOString()};return o.breached?c>=r.consecutiveBreaches&&(l.disabled=!0,l.disabled_at=new Date(n).toISOString(),l.disabled_until=new Date(n+r.cooldownMs).toISOString(),l.disabled_reason=FI(t.family,c,o,r)):(l.disabled=!1,l.disabled_at=null,l.disabled_until=null,l.disabled_reason=null),s.families[t.family]=l,pw(e,s),l}function GI(e,t,r=Date.now()){let n=so(e).families[t];return!n?.disabled||kd(n,r)?null:n}function NI(e,t){let r=so(e);return t?delete r.families[t]:r.families={},pw(e,r),r}function gr(e,t=zt,r=Date.now()){let n=Object.values(so(e).families).map(a=>kd(a,r)?dw(a):a).sort((a,c)=>a.family.localeCompare(c.family)),s=n.filter(a=>a.disabled),o=n.filter(a=>a.consecutive_breaches>0),i=s.length>0||o.length>0?"red":"green";return{schema_version:cw,verdict:i,summary:MI(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function oo(e){Number.isFinite(e)&&e>0&&(wd+=e)}function uw(e){Number.isFinite(e)&&e>0&&(_d+=e)}function Ed(){return{selfStateBytesRead:wd,childMs:_d}}function DI(){wd=0,_d=0}function Ye(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,uw(Number(process.hrtime.bigint()-e)/1e6))}}async function ka(e){let t=await PI(e,"utf8");return oo(Buffer.byteLength(t)),t}function $I(e){let t=ow(e,"utf8");return oo(Buffer.byteLength(t)),t}function FI(e,t,r,n){let s=r.reasons.map(o=>o==="wall-clock-ceiling"?`added ${r.overhead_ms}ms > ${n.maxOverheadMs}ms`:o==="self-state-byte-ceiling"?`self-state read > ${n.maxSelfStateBytes}B`:"self-state read exceeded bytes saved").join("; ");return`rsp ${e} exceeded its overhead ceiling on ${t} consecutive invocations (${s}); wrapper self-disabled, commands pass through raw`}function MI(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function kd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function dw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function BI(e,t){return{family:e,invocations:0,breaches:0,consecutive_breaches:0,breached:!1,reasons:[],disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,last_overhead_ms:0,last_self_state_bytes_read:0,last_bytes_saved:0,updated_at:new Date(t).toISOString()}}function pw(e,t){try{let r=yd(e);if(!xI(iw(e,".red")))return;OI(II(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;AI(n,`${M(t)}
29
+ `,{encoding:"utf8",mode:384}),CI(n,r)}catch{}}function jI(e){try{return JSON.parse(e)}catch{return z(e)}}function qI(e){return!md(e)||e.version!==1||!md(e.families)?!1:Object.values(e.families).every(UI)}function UI(e){return md(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gd(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var aw,cw,ha,ya,ba,wa,_a,LI,zt,wd,_d,ye=E(()=>{"use strict";ze();J();aw="overhead-budget.toon",cw="red.rsp.overhead.v1",ha=250,ya=1024*1024,ba=64*1024,wa=3,_a=6*60*60*1e3,LI=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],zt={maxOverheadMs:ha,maxSelfStateBytes:ya,netLossFloorBytes:ba,consecutiveBreaches:wa,cooldownMs:_a};wd=0,_d=0});function gw(e){return e.trimStart().startsWith("{")?"json":"toon"}function Rd(e){let t=0;for(;e[t]===`
30
+ `||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=gw(r);if(n==="json"){let o=r.indexOf(`
31
31
  `);return o<0?null:{frame:r.slice(0,o),dialect:n,rest:r.slice(o+1)}}let s=r.indexOf(`
32
32
 
33
- `);return s<0?null:{frame:r.slice(0,s+1),dialect:n,rest:r.slice(s+2)}}function vd(e){let t=uw(e)==="json"?Sd:cw,r=t===Sd?cw:Sd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Sd(e){return JSON.parse(e)}function cw(e){return Z(e)}function Td(e,t){if(t==="toon"){let r=BI(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 vd(e){let t=gw(e)==="json"?Sd:fw,r=t===Sd?fw:Sd;try{return t(e)}catch(n){try{return r(e)}catch{throw n}}}function Sd(e){return JSON.parse(e)}function fw(e){return z(e)}function Td(e,t){if(t==="toon"){let r=WI(e);if(r!==null)return r.endsWith(`
34
34
  `)?`${r}
35
35
  `:`${r}
36
36
 
37
37
  `}return`${JSON.stringify(e)}
38
- `}function BI(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=B(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function dw(e,t){return!lw(e)||!lw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function lw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fw(e){return pw.has(e)?"json":MI}function mw(e){pw.add(e)}var MI,pw,gw=E(()=>{V();MI="toon";pw=new Set});import{createHash as jI}from"node:crypto";import{constants as xd}from"node:fs";import{mkdir as yw,open as qI,readFile as UI,rm as bw,stat as HI}from"node:fs/promises";import{createConnection as WI}from"node:net";import{tmpdir as JI}from"node:os";import{dirname as ww,join as oo}from"node:path";async function _w(e,t,r="resident server"){let n=e.wire,s=n??fw(e.socketPath),o=await hw(e,t,r,s);return n||s==="json"||!dw(t,o)?o:(mw(e.socketPath),await hw(e,t,r,"json"))}async function hw(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=WI(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>i(new Error(`${r} timed out`))),a.destroy()},s);function d(p){c||(c=!0,clearTimeout(u),p())}a.on("connect",()=>{a.write(Td(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Rd(l);f&&(l=f.rest,d(()=>{try{o(vd(f.frame))}catch(m){i(m)}}),a.end())}),a.on("error",p=>d(()=>i(p))),a.on("close",()=>{c||d(()=>i(new Error(`${r} closed without response`)))})})}function Ew(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Rd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Td(a,o.dialect))}catch{}};(async()=>{let a;try{a=vd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Od(e){await yw(ww(e),{recursive:!0,mode:448});try{return await qI(e,xd.O_CREAT|xd.O_EXCL|xd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Sw(e,t={}){let r=t.maxAgeMs??KI,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??gr;await yw(ww(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Od(e);if(c)return await c.writeFile(`${kw} pid=${s} taken=${new Date(n()).toISOString()}
39
- `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await QI(e),u=await ZI(e,l,n());if(a>=zI||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=YI(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 bw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Rw(e){await e.handle.close().catch(()=>{}),await bw(e.lockPath,{force:!0})}function YI(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function vw(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 QI(e){try{return XI(await UI(e,"utf8"))}catch{return null}}function XI(e){let t=e.split(`
40
- `,1)[0]?.trim()??"";if(!t.startsWith(kw))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 ZI(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 HI(e)).mtimeMs)}catch{return null}}function gr(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function Cd(e,t=1e3){if(!gr(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!gr(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function Tw(e){let t=e.env??process.env,r=jI("sha256").update(e.key).digest("hex").slice(0,20),n=c=>oo(c,e.socketFileName).length<VI,s=t.XDG_RUNTIME_DIR;if(s){let c=oo(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=oo(`red-skills-${o}`,r),a=oo(JI(),i);return n(a)||process.platform==="win32"?a:oo(eL,i)}var VI,KI,kw,zI,eL,Ra=E(()=>{gw();VI=108;KI=6e4,kw="resident-spawn-lock v1",zI=3;eL="/tmp"});async function Wn(e,t){return await _w(e,t,"resident rsp server")}var Ad=E(()=>{Ra()});var xw=E(()=>{"use strict";Ad()});import{existsSync as tL,readdirSync as rL}from"node:fs";import{homedir as nL}from"node:os";import{basename as Id,dirname as Pd,join as et,resolve as va}from"node:path";function sL(e){return"command"in e}function Ta(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??tL,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&&aL(i))return a(va(i),"caller-entry");let c=[];for(let[l,u]of lL(i,t.rootDir,r,t.listDir??fL))if(c.push(l),n(l))return a(l,u);return{diagnostic:Yt,searched:c,...i?{callerEntry:va(i)}:{}}}function Cw(e={},t={}){let r=Ta(e,t);if(sL(r))return r;throw new Jn(r)}function aL(e){let t=Id(e);return t===tn||Ld.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:cL(va(e))}function cL(e){let t=Pd(e);for(let r=0;r<4;r++){if(Id(t)==="rsp")return!0;let n=Pd(t);if(n===t)return!1;t=n}return!1}function*lL(e,t,r,n){if(e){let o=Pd(va(e));yield[et(o,tn),"caller-sibling-bundle"];let i=oL.exec(Id(e));i&&(yield[et(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[et(o,"..","dist",tn),"caller-sibling-bundle"]}for(let o of iL){let i=r[o];i&&(yield[et(i,"dist",tn),"plugin-root-bundle"],yield[et(i,"..","..","dist",tn),"plugin-root-bundle"])}t&&(yield[et(t,"dist",tn),"repo-bundle"],yield[et(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[et(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=uL(r);yield[et(s,tn),"bundle-cache"];for(let o of dL(s,n))yield[et(s,o),"bundle-cache"]}function uL(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||et(e.HOME||nL(),".cache");return et(t,"red-skills","bundles")}function dL(e,t){return t(e).filter(r=>Ld.test(r)).sort((r,n)=>pL(Ow(n),Ow(r)))}function Ow(e){return Ld.exec(e)?.[1]??""}function pL(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 fL(e){try{return rL(e)}catch{return[]}}var Yt,Jn,tn,oL,Ld,iL,Gd=E(()=>{Yt="rsp-resident-entry-unresolved";Jn=class extends Error{code=Yt;searched;callerEntry;constructor(t){super(`${Yt}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
38
+ `}function WI(e){try{let t=JSON.stringify(e);if(t===void 0)return null;let r=M(JSON.parse(t));return r.trim()===""?null:r}catch{return null}}function hw(e,t){return!mw(e)||!mw(t)||t.ok!==!1?!1:typeof e.id=="string"&&typeof t.id=="string"&&t.id!==e.id}function mw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bw(e){return yw.has(e)?"json":HI}function ww(e){yw.add(e)}var HI,yw,_w=E(()=>{J();HI="toon";yw=new Set});import{createHash as JI}from"node:crypto";import{constants as xd}from"node:fs";import{mkdir as kw,open as VI,readFile as KI,rm as Sw,stat as zI}from"node:fs/promises";import{createConnection as YI}from"node:net";import{tmpdir as QI}from"node:os";import{dirname as Rw,join as io}from"node:path";async function vw(e,t,r="resident server"){let n=e.wire,s=n??bw(e.socketPath),o=await Ew(e,t,r,s);return n||s==="json"||!hw(t,o)?o:(ww(e.socketPath),await Ew(e,t,r,"json"))}async function Ew(e,t,r,n){let s=e.timeoutMs??1e3;return await new Promise((o,i)=>{let a=YI(e.socketPath),c=!1,l="",u=setTimeout(()=>{d(()=>i(new Error(`${r} timed out`))),a.destroy()},s);function d(p){c||(c=!0,clearTimeout(u),p())}a.on("connect",()=>{a.write(Td(t,n))}),a.on("data",p=>{l+=p.toString("utf8");let f=Rd(l);f&&(l=f.rest,d(()=>{try{o(vd(f.frame))}catch(m){i(m)}}),a.end())}),a.on("error",p=>d(()=>i(p))),a.on("close",()=>{c||d(()=>i(new Error(`${r} closed without response`)))})})}function Tw(e,t,r){let n="";e.setEncoding("utf8"),e.on("error",()=>{}),e.on("data",s=>{n+=s;let o=Rd(n);if(!o)return;n=o.rest,e.pause();let i=a=>{if(!(e.destroyed||!e.writable))try{e.write(Td(a,o.dialect))}catch{}};(async()=>{let a;try{a=vd(o.frame),await t(a,i)}catch(c){r(c,a,i)}finally{e.end()}})()})}async function Od(e){await kw(Rw(e),{recursive:!0,mode:448});try{return await VI(e,xd.O_CREAT|xd.O_EXCL|xd.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}async function Ow(e,t={}){let r=t.maxAgeMs??ZI,n=t.now??Date.now,s=t.pid??process.pid,o=t.isPidAlive??hr;await kw(Rw(e),{recursive:!0,mode:448});let i=[];for(let a=0;;a+=1){let c=await Od(e);if(c)return await c.writeFile(`${xw} pid=${s} taken=${new Date(n()).toISOString()}
39
+ `).catch(()=>{}),{acquired:!0,lockPath:e,handle:c,reaped:i};let l=await rL(e),u=await sL(e,l,n());if(a>=eL||u==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let d=tL(l,u,r,o);if(d==null)return{acquired:!1,lockPath:e,holder:l,ageMs:u};let p={lockPath:e,reason:d,holder:l,ageMs:u};await Sw(e,{force:!0}),i.push(p),t.onReap?.(p)}}async function Cw(e){await e.handle.close().catch(()=>{}),await Sw(e.lockPath,{force:!0})}function tL(e,t,r,n){return e==null?t>r?"unattributed":null:n(e.pid)?t>r?"aged-out":null:"holder-dead"}function Aw(e){let t=e.ageMs==null?"of unknown age":`taken ${Math.round(e.ageMs/1e3)}s ago`,r=e.holder==null?"an owner it does not name":`pid ${e.holder.pid} (at ${e.holder.takenAt})`;return`no spawn was attempted: the spawn lock ${JSON.stringify(e.lockPath)} is held by ${r}, ${t}. If that process is gone, remove the file to clear it`}async function rL(e){try{return nL(await KI(e,"utf8"))}catch{return null}}function nL(e){let t=e.split(`
40
+ `,1)[0]?.trim()??"";if(!t.startsWith(xw))return null;let r=Number(/\bpid=(\d+)\b/.exec(t)?.[1]??""),n=/\btaken=(\S+)/.exec(t)?.[1]??"";return!Number.isInteger(r)||r<=0||!Number.isFinite(Date.parse(n))?null:{pid:r,takenAt:n}}async function sL(e,t,r){let n=t==null?Number.NaN:Date.parse(t.takenAt);if(Number.isFinite(n))return Math.max(0,r-n);try{return Math.max(0,r-(await zI(e)).mtimeMs)}catch{return null}}function hr(e){if(!Number.isInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function Cd(e,t=1e3){if(!hr(e))return;try{process.kill(e,"SIGTERM")}catch{return}let r=Date.now()+t;for(;Date.now()<r;){if(!hr(e))return;await new Promise(n=>setTimeout(n,50))}try{process.kill(e,"SIGKILL")}catch{}}function Pw(e){let t=e.env??process.env,r=JI("sha256").update(e.key).digest("hex").slice(0,20),n=c=>io(c,e.socketFileName).length<XI,s=t.XDG_RUNTIME_DIR;if(s){let c=io(s,"red-skills",r);if(n(c))return c}let o=e.uid??(typeof process.getuid=="function"?process.getuid():"nouid"),i=io(`red-skills-${o}`,r),a=io(QI(),i);return n(a)||process.platform==="win32"?a:io(oL,i)}var XI,ZI,xw,eL,oL,Ra=E(()=>{_w();XI=108;ZI=6e4,xw="resident-spawn-lock v1",eL=3;oL="/tmp"});async function Wn(e,t){return await vw(e,t,"resident rsp server")}var Ad=E(()=>{Ra()});var Iw=E(()=>{"use strict";Ad()});import{existsSync as iL,readdirSync as aL}from"node:fs";import{homedir as cL}from"node:os";import{basename as Id,dirname as Pd,join as et,resolve as va}from"node:path";function lL(e){return"command"in e}function Ta(e={},t={}){if(e.serverCommand)return{command:e.serverCommand,args:e.serverArgs??[],source:"server-command"};let r=t.env??process.env,n=t.exists??iL,s=t.execPath??process.execPath,o=t.execArgv??process.execArgv,i=t.callerEntry===void 0?process.argv[1]:t.callerEntry,a=(l,u)=>({command:s,args:[...o,l],source:u});if(r.RSP_BIN)return{command:r.RSP_BIN,args:[],source:"env-rsp-bin"};if(i&&pL(i))return a(va(i),"caller-entry");let c=[];for(let[l,u]of mL(i,t.rootDir,r,t.listDir??bL))if(c.push(l),n(l))return a(l,u);return{diagnostic:Yt,searched:c,...i?{callerEntry:va(i)}:{}}}function Gw(e={},t={}){let r=Ta(e,t);if(lL(r))return r;throw new Jn(r)}function pL(e){let t=Id(e);return t===tn||Ld.test(t)||t==="rsp"||t==="rsp.mjs"||t==="rsp.js"?!0:t!=="cli.js"&&t!=="cli.mjs"&&t!=="cli.ts"?!1:fL(va(e))}function fL(e){let t=Pd(e);for(let r=0;r<4;r++){if(Id(t)==="rsp")return!0;let n=Pd(t);if(n===t)return!1;t=n}return!1}function*mL(e,t,r,n){if(e){let o=Pd(va(e));yield[et(o,tn),"caller-sibling-bundle"];let i=uL.exec(Id(e));i&&(yield[et(o,`rsp-${i[2]}.bundle.min.mjs`),"caller-sibling-bundle"]),yield[et(o,"..","dist",tn),"caller-sibling-bundle"]}for(let o of dL){let i=r[o];i&&(yield[et(i,"dist",tn),"plugin-root-bundle"],yield[et(i,"..","..","dist",tn),"plugin-root-bundle"])}t&&(yield[et(t,"dist",tn),"repo-bundle"],yield[et(t,"apps","rsp","dist","cli.js"),"workspace-entry"],yield[et(t,"node_modules","@reddb-io","rsp","dist","cli.js"),"node-modules-entry"]);let s=gL(r);yield[et(s,tn),"bundle-cache"];for(let o of hL(s,n))yield[et(s,o),"bundle-cache"]}function gL(e){if(e.RED_SKILLS_CACHE_DIR)return e.RED_SKILLS_CACHE_DIR;let t=e.XDG_CACHE_HOME||et(e.HOME||cL(),".cache");return et(t,"red-skills","bundles")}function hL(e,t){return t(e).filter(r=>Ld.test(r)).sort((r,n)=>yL(Lw(n),Lw(r)))}function Lw(e){return Ld.exec(e)?.[1]??""}function yL(e,t){let r=o=>o.split(".").map(i=>Number.parseInt(i,10)),[n,s]=[r(e),r(t)];for(let o=0;o<Math.max(n.length,s.length);o++){let[i,a]=[n[o],s[o]];if(Number.isNaN(i)||i===void 0)return Number.isNaN(a)||a===void 0?e.localeCompare(t):-1;if(Number.isNaN(a)||a===void 0)return 1;if(i!==a)return i-a}return 0}function bL(e){try{return aL(e)}catch{return[]}}var Yt,Jn,tn,uL,Ld,dL,Gd=E(()=>{Yt="rsp-resident-entry-unresolved";Jn=class extends Error{code=Yt;searched;callerEntry;constructor(t){super(`${Yt}: no rsp entrypoint found for the resident auto-spawn${t.callerEntry?` (caller entry: ${t.callerEntry})`:""}
41
41
  searched:
42
42
  ${t.searched.map(r=>` ${r}`).join(`
43
- `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},tn="rsp.bundle.min.mjs",oL=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Ld=/^rsp-(.+)\.bundle\.min\.mjs$/,iL=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as Gw}from"node:crypto";import{spawn as Nw}from"node:child_process";import{readFileSync as mL}from"node:fs";import{mkdir as $d,readFile as Dw,rename as gL,rm as Xt,stat as hL,writeFile as yL}from"node:fs/promises";import{dirname as rn,join as Qt,resolve as Fd}from"node:path";import{fileURLToPath as bL}from"node:url";function tt(e){let t=AL(e)??Fd(e),r=CL(t),n=ae(t);return{rootDir:t,socketPath:Qt(r,"rsp.sock"),pidPath:Qt(r,"rsp.pid"),lockPath:Qt(r,"rsp.lock"),wakeLockPath:Qt(t,".red","tmp","rsp","wake.lock"),summaryPath:Qt(n,"rsp-status-summary.toon"),registryPath:Qt(n,"rsp-resident.pid.toon")}}async function xa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await Iw(e.socketPath,t))return;await Pw(e,t);let r=await Sw(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
44
- `)});if(r.acquired)try{if(await Iw(e.socketPath,t))return;await Pw(e,t),await EL(e.socketPath);let n=SL(e,t);await Aw(e.socketPath,n);return}finally{await Rw(r)}try{await Aw(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${vw(r)}`)}}async function nn(e,t=200){try{return await Fw(e,t)!=null}catch{return!1}}async function Fw(e,t=200){let r=await Wn({socketPath:e,timeoutMs:t},{id:Gw(),op:"ping"});return r.ok?Uw(r.value)?{version:GL(r.value.version)}:{}:null}async function Oa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await nn(e.socketPath,50))return!1;let r=await kL(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=jw(e,t);return Nw(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 Mw(e,t){try{await xa(e,t)}finally{await Xt(e.wakeLockPath,{force:!0})}}async function ao(e){try{let t=TL(await Dw(e,"utf8"));return NL(t)?t:null}catch{return null}}async function Ca(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 $d(rn(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await yL(n,`${B(r)}
45
- `,{encoding:"utf8",mode:384}),await gL(n,e)}async function Aa(e,t=process.pid){try{let r=await ao(e);if(r&&r.pid!==t)return;await Xt(e,{force:!0})}catch{}}async function io(e){let t=await ao(e.registryPath);if(!t)try{return await Dw(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!gr(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await nn(t.socket_path,100);return r&&await OL(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 Bw(e){let t=await io(e);return t.state==="registered-dead"||t.state==="invalid"?(await Xt(e.registryPath,{force:!0}),await io(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await Cd(t.entry.pid),await Xt(e.registryPath,{force:!0}),await Xt(t.entry.socket_path,{force:!0}),await io(e)):t}async function Aw(e,t){let r=Date.now()+_L(),n;for(;Date.now()<r;){if(await nn(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Nd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Nd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Nd("resident rsp server did not start",t):"resident rsp server did not start")}function _L(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:wL}async function EL(e){await Xt(e,{force:!0})}function SL(e,t){let[r,n]=jw(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=Nw(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=vL(`${i}${c}`,RL)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Nd(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let s=t.stderrTail().trimEnd();return s&&n.push(`stderr tail:
43
+ `)}`),this.name="RspResidentEntryError",this.searched=t.searched,this.callerEntry=t.callerEntry}},tn="rsp.bundle.min.mjs",uL=/^([a-z0-9-]+)-(.+)\.bundle\.min\.mjs$/,Ld=/^rsp-(.+)\.bundle\.min\.mjs$/,dL=["RED_SKILLS_DEV_PLUGIN_ROOT","CLAUDE_PLUGIN_ROOT","CODEX_PLUGIN_ROOT","OPENCODE_PLUGIN_ROOT"]});import{randomUUID as Mw}from"node:crypto";import{spawn as Bw}from"node:child_process";import{readFileSync as wL}from"node:fs";import{mkdir as $d,readFile as jw,rename as _L,rm as Xt,stat as EL,writeFile as kL}from"node:fs/promises";import{dirname as rn,join as Qt,resolve as Fd}from"node:path";import{fileURLToPath as SL}from"node:url";function tt(e){let t=NL(e)??Fd(e),r=GL(t),n=ae(t);return{rootDir:t,socketPath:Qt(r,"rsp.sock"),pidPath:Qt(r,"rsp.pid"),lockPath:Qt(r,"rsp.lock"),wakeLockPath:Qt(t,".red","tmp","rsp","wake.lock"),summaryPath:Qt(n,"rsp-status-summary.toon"),registryPath:Qt(n,"rsp-resident.pid.toon")}}async function xa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await $w(e.socketPath,t))return;await Dw(e,t);let r=await Ow(e.lockPath,{onReap:n=>process.stderr.write(`rsp: reaped the resident spawn lock ${JSON.stringify(n.lockPath)} (${n.reason}, ${Math.round(n.ageMs/1e3)}s old)
44
+ `)});if(r.acquired)try{if(await $w(e.socketPath,t))return;await Dw(e,t),await TL(e.socketPath);let n=OL(e,t);await Nw(e.socketPath,n);return}finally{await Cw(r)}try{await Nw(e.socketPath)}catch(n){throw new Error(`${n instanceof Error?n.message:String(n)}; ${Aw(r)}`)}}async function nn(e,t=200){try{return await Uw(e,t)!=null}catch{return!1}}async function Uw(e,t=200){let r=await Wn({socketPath:e,timeoutMs:t},{id:Mw(),op:"ping"});return r.ok?Kw(r.value)?{version:ML(r.value.version)}:{}:null}async function Oa(e,t){if(await $d(rn(e.socketPath),{recursive:!0,mode:448}),await nn(e.socketPath,50))return!1;let r=await xL(e.wakeLockPath);if(!r)return!1;await r.close();let[n,s]=Jw(e,t);return Bw(n,[...s,"warm-resident","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath,"--wake-lock",e.wakeLockPath],{cwd:e.rootDir,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref(),!0}async function Hw(e,t){try{await xa(e,t)}finally{await Xt(e.wakeLockPath,{force:!0})}}async function co(e){try{let t=PL(await jw(e,"utf8"));return BL(t)?t:null}catch{return null}}async function Ca(e,t){let r={version:qw,pid:t.pid??process.pid,socket_path:t.socket_path,store_uri:t.store_uri,resident_version:t.resident_version,started_at:t.started_at??new Date().toISOString()};await $d(rn(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await kL(n,`${M(r)}
45
+ `,{encoding:"utf8",mode:384}),await _L(n,e)}async function Aa(e,t=process.pid){try{let r=await co(e);if(r&&r.pid!==t)return;await Xt(e,{force:!0})}catch{}}async function ao(e){let t=await co(e.registryPath);if(!t)try{return await jw(e.registryPath,"utf8"),{registry_path:e.registryPath,state:"invalid"}}catch{return{registry_path:e.registryPath,state:"missing"}}if(!hr(t.pid))return{registry_path:e.registryPath,state:"registered-dead",entry:t};let r=await nn(t.socket_path,100);return r&&await LL(t.store_uri)?{registry_path:e.registryPath,state:"registered-alive-store-missing",entry:t}:{registry_path:e.registryPath,state:r?"registered-alive-socket-healthy":"registered-alive-socket-dead",entry:t}}async function Ww(e){let t=await ao(e);return t.state==="registered-dead"||t.state==="invalid"?(await Xt(e.registryPath,{force:!0}),await ao(e)):(t.state==="registered-alive-socket-dead"||t.state==="registered-alive-store-missing")&&t.entry?(await Cd(t.entry.pid),await Xt(e.registryPath,{force:!0}),await Xt(t.entry.socket_path,{force:!0}),await ao(e)):t}async function Nw(e,t){let r=Date.now()+vL(),n;for(;Date.now()<r;){if(await nn(e))return;if(t){let s=t.spawnError();if(s)throw new Error(Nd("resident rsp server spawn failed",t,s));if(t.child.exitCode!=null||t.child.signalCode!=null)throw new Error(Nd("resident rsp server exited before ready",t))}await new Promise(s=>setTimeout(s,50))}throw n instanceof Error?n:new Error(t?Nd("resident rsp server did not start",t):"resident rsp server did not start")}function vL(){let e=Number(process.env.RSP_RESIDENT_READY_TIMEOUT_MS??"");return Number.isFinite(e)&&e>0?e:RL}async function TL(e){await Xt(e,{force:!0})}function OL(e,t){let[r,n]=Jw(e,t),s=process.env.RSP_DEBUG==="1",o,i="",a=Bw(r,[...n,"server","--socket",e.socketPath,"--pid-file",e.pidPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours??6),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--idle-ms",String(t.idleMs??3e5),"--resident-version",t.clientVersion??"0.0.0-dev","--registry",e.registryPath],{cwd:e.rootDir,detached:!0,stdio:s?["ignore","ignore","pipe"]:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return a.on("error",c=>{o=c}),s&&(a.stderr?.setEncoding("utf8"),a.stderr?.on("data",c=>{i=AL(`${i}${c}`,CL)})),a.unref(),{child:a,stderrTail:()=>i,spawnError:()=>o}}function Nd(e,t,r){let n=[e];r&&n.push(`error: ${r.message}`),t.child.exitCode!=null&&n.push(`exit code: ${t.child.exitCode}`),t.child.signalCode!=null&&n.push(`signal: ${t.child.signalCode}`);let s=t.stderrTail().trimEnd();return s&&n.push(`stderr tail:
46
46
  ${s}`),n.join(`
47
- `)}function vL(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function TL(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return Z(t)}}async function Pw(e,t){try{let r=await ao(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!gr(r.pid)){await Xt(e.registryPath,{force:!0});return}if(await nn(r.socket_path,100))return;if(qw(t.clientVersion,r.resident_version)&&(await xL(r.pid,1500),!gr(r.pid))){await Xt(e.registryPath,{force:!0});return}await Cd(r.pid),await Xt(e.registryPath,{force:!0})}catch{}}async function xL(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!gr(e))return;await new Promise(n=>setTimeout(n,50))}}async function OL(e){if(!e.startsWith("file://"))return!1;try{return await hL(bL(e)),!1}catch(t){return t.code==="ENOENT"}}function jw(e,t){let r=Cw(t,{rootDir:e.rootDir});return[r.command,r.args]}function CL(e){return Tw({key:e,socketFileName:"rsp.sock"})}function AL(e){let t=Fd(e);for(let r=0;r<32;r++){try{let s=Dd(Qt(t,".git"));if(s!=null)return PL(t,s)??t;if(Dd(Qt(t,".git","HEAD"))!=null||Dd(Qt(t,".red","config.yaml"))!=null)return t}catch{}let n=rn(t);if(n===t)return null;t=n}return null}function PL(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Fd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?rn(rn(rn(n))):null}function Dd(e){try{return mL(e,"utf8")}catch{return null}}async function Iw(e,t){let r=await Fw(e).catch(()=>null);return r?qw(t.clientVersion,r.version)?(await IL(e,t.clientVersion),await DL(e),!1):!0:!1}async function IL(e,t){try{await Wn({socketPath:e,timeoutMs:200},{id:Gw(),op:"handover",clientVersion:t})}catch{}}function qw(e,t){return!e||!t?!1:LL(e,t)>0}function LL(e,t){let r=Lw(e),n=Lw(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function Lw(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 Uw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function GL(e){return typeof e=="string"&&e.length>0?e:void 0}function NL(e){return Uw(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 DL(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await nn(e,50))return;await new Promise(r=>setTimeout(r,50))}}var $w,wL,kL,RL,Pa=E(()=>{V();Ke();Ra();Ad();Gd();Gd();$w=1,wL=5e3;kL=Od;RL=8*1024});var sn={};ne(sn,{RSP_ENTRY_UNRESOLVED:()=>Yt,ResidentRspElisionStore:()=>co,RspResidentEntryError:()=>Jn,ensureResidentServer:()=>xa,kickResidentServer:()=>Oa,pingResident:()=>nn,readResidentRegistry:()=>ao,removeResidentRegistry:()=>Aa,residentRegistryStatus:()=>io,resolveResidentPaths:()=>tt,resolveRspEntry:()=>Ta,sweepResidentRegistry:()=>Bw,warmResidentServer:()=>Mw,writeResidentRegistry:()=>Ca});import{randomUUID as $L}from"node:crypto";function Hw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var co,gt=E(()=>{"use strict";xw();Pa();co=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?Hw(r)&&r.status==="expired"?r:!Hw(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await xa(this.paths,this.config);let r=await Wn(this.paths,{...t,id:$L()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Bd(e,t,r=Ww){let n=Math.max(0,Math.floor(e)),s=r in Jw?r:Ww,o=Jw[s],i=t?Math.floor(n*(1-.25)):null,a=t?Math.ceil(n*(1+.25)):null;return{tokens_saved:n,tokens_saved_estimated:t,token_estimate_range_pct:t?.25:null,tokens_saved_low:i,tokens_saved_high:a,dollars_saved_estimate_usd:Md(n,o),dollars_saved_low_usd:i==null?null:Md(i,o),dollars_saved_high_usd:a==null?null:Md(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:FL}}function Md(e,t){return ML(Math.max(0,e)/1e6*t)}function lo(e){return`$${e.toFixed(6)}`}function ML(e){return Math.round(e*1e6)/1e6}var Ww,Jw,FL,jd=E(()=>{"use strict";Ww="gpt-5",Jw={"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},FL="estimate derived from byte-based token estimate when token counts are estimated"});var po={};ne(po,{isResidentEntryUnresolved:()=>zw,reportResidentEntryDiagnostic:()=>qd,residentConfigFor:()=>Kw,residentElisionStore:()=>uo});function Kw(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 uo(e,t,r={}){let n=r.paths??tt(e);return new co(n,Kw(t,ga("rsp").version),{ensureResident:r.ensureResident})}function qd(e){return zw(e)?(Vw||(Vw=!0,process.stderr.write(`rsp: ${Yt} \u2014 elision is off until an rsp entry is installed
47
+ `)}function AL(e,t){let r=Buffer.byteLength(e,"utf8");return r<=t?e:Buffer.from(e,"utf8").subarray(r-t).toString("utf8").replace(/^\uFFFD+/,"")}function PL(e){let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return z(t)}}async function Dw(e,t){try{let r=await co(e.registryPath);if(!r||r.socket_path!==e.socketPath||r.store_uri!==t.storeUri)return;if(!hr(r.pid)){await Xt(e.registryPath,{force:!0});return}if(await nn(r.socket_path,100))return;if(Vw(t.clientVersion,r.resident_version)&&(await IL(r.pid,1500),!hr(r.pid))){await Xt(e.registryPath,{force:!0});return}await Cd(r.pid),await Xt(e.registryPath,{force:!0})}catch{}}async function IL(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(!hr(e))return;await new Promise(n=>setTimeout(n,50))}}async function LL(e){if(!e.startsWith("file://"))return!1;try{return await EL(SL(e)),!1}catch(t){return t.code==="ENOENT"}}function Jw(e,t){let r=Gw(t,{rootDir:e.rootDir});return[r.command,r.args]}function GL(e){return Pw({key:e,socketFileName:"rsp.sock"})}function NL(e){let t=Fd(e);for(let r=0;r<32;r++){try{let s=Dd(Qt(t,".git"));if(s!=null)return DL(t,s)??t;if(Dd(Qt(t,".git","HEAD"))!=null||Dd(Qt(t,".red","config.yaml"))!=null)return t}catch{}let n=rn(t);if(n===t)return null;t=n}return null}function DL(e,t){let r=/^gitdir:\s*(.+?)\s*$/m.exec(t);if(!r)return null;let n=Fd(e,r[1]);return/[/\\]worktrees[/\\][^/\\]+$/.test(n)?rn(rn(rn(n))):null}function Dd(e){try{return wL(e,"utf8")}catch{return null}}async function $w(e,t){let r=await Uw(e).catch(()=>null);return r?Vw(t.clientVersion,r.version)?(await $L(e,t.clientVersion),await jL(e),!1):!0:!1}async function $L(e,t){try{await Wn({socketPath:e,timeoutMs:200},{id:Mw(),op:"handover",clientVersion:t})}catch{}}function Vw(e,t){return!e||!t?!1:FL(e,t)>0}function FL(e,t){let r=Fw(e),n=Fw(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function Fw(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function Kw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ML(e){return typeof e=="string"&&e.length>0?e:void 0}function BL(e){return Kw(e)&&e.version===qw&&Number.isInteger(e.pid)&&typeof e.socket_path=="string"&&typeof e.store_uri=="string"&&typeof e.resident_version=="string"&&typeof e.started_at=="string"}async function jL(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await nn(e,50))return;await new Promise(r=>setTimeout(r,50))}}var qw,RL,xL,CL,Pa=E(()=>{J();ze();Ra();Ad();Gd();Gd();qw=1,RL=5e3;xL=Od;CL=8*1024});var sn={};ne(sn,{RSP_ENTRY_UNRESOLVED:()=>Yt,ResidentRspElisionStore:()=>lo,RspResidentEntryError:()=>Jn,ensureResidentServer:()=>xa,kickResidentServer:()=>Oa,pingResident:()=>nn,readResidentRegistry:()=>co,removeResidentRegistry:()=>Aa,residentRegistryStatus:()=>ao,resolveResidentPaths:()=>tt,resolveRspEntry:()=>Ta,sweepResidentRegistry:()=>Ww,warmResidentServer:()=>Hw,writeResidentRegistry:()=>Ca});import{randomUUID as qL}from"node:crypto";function zw(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var lo,gt=E(()=>{"use strict";Iw();Pa();lo=class{constructor(t,r,n={}){this.paths=t;this.config=r;this.opts=n}metrics;lastResponseMetrics(){return this.metrics}async mint(t,r){let s=(await this.request({op:"mint",original:Buffer.from(t).toString("base64"),meta:r})).handle;if(!s?.startsWith("el:"))throw new Error("resident rsp returned invalid handle");return s}async get(t){let r=await this.request({op:"get",handle:t});return r?zw(r)&&r.status==="expired"?r:!zw(r)||typeof r.original!="string"?null:{...r,original:Buffer.from(r.original,"base64")}:null}async stats(){return await this.request({op:"stats"})}async recoveryHandles(t=5){return await this.request({op:"recovery-handles",limit:t})}async accountingStats(t){return await this.request({op:"accounting-stats",byteBudget:t})}async telemetryStats(t){return await this.request({op:"telemetry-stats",sinceDays:t})}async telemetryGains(t){return await this.request({op:"telemetry-gains",sinceDays:t})}async memory(t,r){return await this.request({op:"memory",action:t,payload:r})}async githubRead(t){return await this.request({op:"github-read",args:[...t.args],path:t.path,actor:t.actor,...t.params?{params:{...t.params}}:{}})}async close(){}async request(t){this.opts.ensureResident!==!1&&await xa(this.paths,this.config);let r=await Wn(this.paths,{...t,id:qL()});if(!r.ok)throw new Error(r.error);return this.metrics={storeOpenCount:r.storeOpenCount,storeElapsedMs:r.storeElapsedMs},r.value}}});function Bd(e,t,r=Yw){let n=Math.max(0,Math.floor(e)),s=r in Qw?r:Yw,o=Qw[s],i=t?Math.floor(n*(1-.25)):null,a=t?Math.ceil(n*(1+.25)):null;return{tokens_saved:n,tokens_saved_estimated:t,token_estimate_range_pct:t?.25:null,tokens_saved_low:i,tokens_saved_high:a,dollars_saved_estimate_usd:Md(n,o),dollars_saved_low_usd:i==null?null:Md(i,o),dollars_saved_high_usd:a==null?null:Md(a,o),pricing_model_family:s,pricing_input_usd_per_million_tokens:o,pricing_note:UL}}function Md(e,t){return HL(Math.max(0,e)/1e6*t)}function uo(e){return`$${e.toFixed(6)}`}function HL(e){return Math.round(e*1e6)/1e6}var Yw,Qw,UL,jd=E(()=>{"use strict";Yw="gpt-5",Qw={"gpt-5":1.25,"gpt-5-mini":.25,"gpt-5-nano":.05,"gpt-4.1":2,"gpt-4.1-mini":.4,"gpt-4o":2.5,"gpt-4o-mini":.15,"claude-opus-4.1":15,"claude-opus-4":15,"claude-sonnet-4.5":3,"claude-sonnet-4":3,"claude-haiku-4.5":1,"claude-haiku-3.5":.8},UL="estimate derived from byte-based token estimate when token counts are estimated"});var Vn={};ne(Vn,{isResidentEntryUnresolved:()=>e_,reportResidentEntryDiagnostic:()=>qd,residentConfigFor:()=>Zw,residentElisionStore:()=>po});function Zw(e,t){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs,...t?{clientVersion:t}:{}}}function po(e,t,r={}){let n=r.paths??tt(e);return new lo(n,Zw(t,ga("rsp").version),{ensureResident:r.ensureResident})}function qd(e){return e_(e)?(Xw||(Xw=!0,process.stderr.write(`rsp: ${Yt} \u2014 elision is off until an rsp entry is installed
48
48
  `),process.env.RSP_DEBUG==="1"&&e instanceof Error&&process.stderr.write(`${e.message}
49
- `)),!0):!1}function zw(e){return typeof e=="object"&&e!==null&&e.code===Yt}var Vw,hr=E(()=>{"use strict";ld();gt();Vw=!1});function zd(e){return e==="success"?0:e==="failure"?1:2}function Yd(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function rt(e,t,r){return{status:e,exitCode:zd(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function Zt(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var r_,n_,s_,Vd,o_,i_,a_,c_,Kd,on=E(()=>{"use strict";r_="rsp.wait.result",n_="rsp.wait.registry",s_="rsp.wait.list",Vd={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},o_=16*1024,i_=1e4,a_=2e3,c_=6e4,Kd={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",job:"github-job:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as WL,readFile as JL}from"node:fs/promises";async function Kn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ga(r),s=[r,...n];if(s.every(c=>!an(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(l_(e,"SIGTERM"),La(n,"SIGTERM"),await u_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ga(r)])];l_(e,"SIGKILL"),La(o,"SIGKILL");let i=Math.max(1e3,t);await VL(e,i);let a=await u_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(an)}}function l_(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function La(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function VL(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=>!an(n)))return!0;await KL(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!an(n))}async function Ga(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await WL("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await d_(o);if(!i)continue;let a=Number(i[1]);if(!Number.isSafeInteger(a))continue;let c=t.get(a)??[];c.push(o),t.set(a,c)}let r=[],n=[...t.get(e)??[]];for(;n.length>0;){let s=n.shift();r.push(s),n.push(...t.get(s)??[])}return r.reverse()}async function fo(e){return(await d_(e))?.[19]}async function zn(e,t){if(!an(e))return!1;if(!t)return!0;let r=await fo(e);return r===void 0?process.platform!=="linux":r===t}function an(e){try{return process.kill(e,0),!0}catch{return!1}}async function d_(e){if(process.platform!=="linux")return null;try{let t=await JL(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function KL(e){await new Promise(t=>setTimeout(t,e))}var er=E(()=>{"use strict"});import{constants as zL}from"node:os";async function p_(e){let t=e[1],r={timeoutMs:Vd.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:i_,terminateGraceMs:a_,probeTimeoutMs:c_,format:"toon",captureBytes:o_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=Vd[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=mo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=XL(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=mo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=mo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=mo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=QL(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 YL(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function YL(e){if(!(e.signal in zL.signals))throw new Error(`invalid signal: ${e.signal}`);if(e.signalPid!==void 0){if(!Number.isSafeInteger(e.signalPid)||e.signalPid<=0)throw new Error(`invalid signal pid: ${e.signalPid}`);if(!an(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await fo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function mo(e){let t=/^([1-9][0-9]*)(ms|s|m|h)?$/.exec(e);if(!t)throw new Error(`invalid timeout: ${e}`);let r=Number(t[1]),n=t[2]??"ms";return n==="ms"?r:n==="s"?r*1e3:n==="m"?r*6e4:r*60*6e4}function Yn(e,t,r=process.env){let n=r[e];if(!n)return t;try{return mo(n)}catch{return t}}function QL(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function XL(e){return e.startsWith("SIG")?e:`SIG${e}`}var f_=E(()=>{"use strict";on();er()});import{existsSync as Qd,readFileSync as ZL,statSync as eG}from"node:fs";import{basename as m_,dirname as Na,isAbsolute as tG,join as g_,resolve as go}from"node:path";function ho(e,t=process.env){let r=go(e);if(dd.map(i=>t[i]).find(Boolean))return Yb({startDir:r,env:t,exists:Qd});let s=nG(r),o=rG(r,s);return o||(s??r)}function rG(e,t){let r=e;for(;;){if(Qd(g_(r,".red")))return r;if(t&&r===t)return null;let n=go(r,"..");if(n===r)return null;r=n}}function nG(e){let t=e;for(;;){let r=g_(t,".git");if(Qd(r))return iG(r)?t:sG(r)??t;let n=go(t,"..");if(n===t)return null;t=n}}function sG(e){let t=oG(e);if(!t)return null;let r=Na(t),n=Na(r);return m_(r)!=="worktrees"||m_(n)!==".git"?null:Na(n)}function oG(e){let t;try{t=ZL(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return tG(n)?go(n):go(Na(e),n)}function iG(e){try{return eG(e).isDirectory()}catch{return!1}}var Da=E(()=>{Ke()});import{join as aG}from"node:path";function lG(e,t=process.env){return ho(e,t)}function Qn(e,t=process.env){return zb(lG(e,t))}function h_(e,t=process.env){return aG(Qn(e,t),cG)}var cG,Xd=E(()=>{"use strict";Ke();Da();cG="spool"});import{randomUUID as uG}from"node:crypto";import{existsSync as dG}from"node:fs";import{mkdir as pG,readdir as fG,readFile as mG,rename as gG,rm as Zd,writeFile as hG}from"node:fs/promises";import{dirname as yG,join as b_}from"node:path";function w_(e,t,r=process.env){return b_(Qn(e,r),`${t}${bG}`)}async function Xn(e,t){await ep(e,`${ge(t)}
50
- `)}async function $a(e,t,r){t.status=r,await Xn(e,t)}async function Fa(e,t=process.env){let r=Qn(e,t);if(!dG(r))return[];let n=await fG(r).catch(()=>[]),s=[];for(let o of n.filter(i=>wG.some(a=>i.endsWith(a)))){let i=b_(r,o),a=await _G(i);if(!a){await Zd(i,{force:!0});continue}if(!await EG(a)){await Zd(i,{force:!0});continue}s.push(a)}return s}async function _G(e){let t;try{t=await mG(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=kG(r);return n&&Object.keys(n).length>0?n:null}async function EG(e){let t=typeof e.pid=="number"?e.pid:0;if(!t||!Number.isSafeInteger(t)||t<=0)return!1;let r=typeof e.pid_start_time=="string"?e.pid_start_time:void 0;return await zn(t,r)}function kG(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 ep(e,t){await pG(yG(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${uG()}`;try{await hG(r,t,"utf8"),await gG(r,e)}finally{await Zd(r,{force:!0})}}function tp(e){return{schema:n_,version:1,...e}}function y_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var bG,wG,bo=E(()=>{"use strict";V();Vt();on();Xd();er();bG=".toon",wG=[".toon",".json"]});function Zn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nt(e){return Zn(e)?e:{}}function cn(e){return Array.isArray(e)?e.filter(Zn):[]}function se(e,t){let r=e[t];return typeof r=="string"?r:""}function ln(e,t){let r=e[t];return typeof r=="number"?r:0}function wo(e){let t=JSON.parse(e);if(!Zn(t))throw new Error("expected JSON object");return t}function Ma(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ba=E(()=>{"use strict"});import{spawn as SG}from"node:child_process";import{resolve as RG}from"node:path";async function __(e,t,r){let n=[];if(e.signalPid){let s=await vG(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await TG(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function vG(e){let t=e.signalPid;if(!await zn(t,e.signalPidStartTime))return{hook:"signal-pid",error:"target process is no longer the process the wait was asked to signal",pid:t,signal:e.signal};try{return process.kill(t,e.signal),null}catch(r){return{hook:"signal-pid",error:E_(r),pid:t,signal:e.signal}}}async function TG(e,t,r){let n=nt(t.wait),s=nt(t.verdict);return await xG(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?RG(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 xG(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=SG(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,Kn(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:E_(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 E_(e){return e instanceof Error?e.message:String(e)}var k_=E(()=>{"use strict";Ba();er()});import{resolve as OG}from"node:path";async function S_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=CG(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=_o(t,r,o,{status:"pending"},i);await Eo(n.resultFile,a,n.format);let c=await __(n,a,s),l=_o(t,r,o,c,i);return await Eo(n.resultFile,l,n.format),{result:l,exitCode:R_(o,c)}}function R_(e,t){return t.status!=="success"||e.status==="running"?2:zd(e.status)}function CG(e,t,r=[]){return t!==!1?e:{status:"indeterminate",exitCode:2,summary:`${e.summary}; could not verify process cleanup`,details:{...e.details??{},cleanup:{verified:!1,survivors:r}}}}function _o(e,t,r,n,s){return{schema:r_,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:R_(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function Eo(e,t,r){e&&await ep(OG(e),es(t,r))}function es(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
49
+ `)),!0):!1}function e_(e){return typeof e=="object"&&e!==null&&e.code===Yt}var Xw,Zt=E(()=>{"use strict";ld();gt();Xw=!1});function zd(e){return e==="success"?0:e==="failure"?1:2}function Yd(e){return e==="cmd"||e==="pr"||e==="run"||e==="job"||e==="release"}function rt(e,t,r){return{status:e,exitCode:zd(e),summary:t,...r?{details:r}:{}}}function ue(e,t){return{status:"indeterminate",exitCode:2,summary:e,...t?{details:t}:{}}}function er(e,t){return{status:"running",exitCode:2,summary:e,...t?{details:t}:{}}}var a_,c_,l_,Vd,u_,d_,p_,f_,Kd,on=E(()=>{"use strict";a_="rsp.wait.result",c_="rsp.wait.registry",l_="rsp.wait.list",Vd={cmd:18e5,pr:27e5,run:27e5,job:27e5,release:72e5},u_=16*1024,d_=1e4,p_=2e3,f_=6e4,Kd={cmd:"local-cmd:event-driven",pr:"github-pr:15-20s-backoff-jitter",run:"github-run:15-20s-backoff-jitter",job:"github-job:15-20s-backoff-jitter",release:"release:60s"}});import{readdir as YL,readFile as QL}from"node:fs/promises";async function zn(e,t){let r=e.pid;if(!r)return{cleaned:!0,escalation:"none",survivors:[]};let n=await Ga(r),s=[r,...n];if(s.every(c=>!an(c)))return{cleaned:!0,escalation:"none",survivors:[]};if(m_(e,"SIGTERM"),La(n,"SIGTERM"),await g_(s,t))return{cleaned:!0,escalation:"term",survivors:[]};let o=[...new Set([...s,...await Ga(r)])];m_(e,"SIGKILL"),La(o,"SIGKILL");let i=Math.max(1e3,t);await XL(e,i);let a=await g_(o,i);return{cleaned:a,escalation:"kill",survivors:a?[]:o.filter(an)}}function m_(e,t){let r=e.pid;if(r)try{process.platform!=="win32"?process.kill(-r,t):e.kill(t)}catch{try{e.kill(t)}catch{}}}function La(e,t){for(let r of e)try{process.kill(r,t)}catch{}}async function XL(e,t){return e.exitCode!==null||e.signalCode!==null?!0:await new Promise(r=>{let n=setTimeout(()=>r(!1),t);e.once("close",()=>{clearTimeout(n),r(!0)})})}async function g_(e,t){let r=Date.now()+t;for(;Date.now()<r;){if(e.every(n=>!an(n)))return!0;await ZL(Math.min(25,Math.max(1,r-Date.now())))}return e.every(n=>!an(n))}async function Ga(e){if(process.platform!=="linux")return[];let t=new Map;for(let s of await YL("/proc").catch(()=>[])){if(!/^[1-9][0-9]*$/.test(s))continue;let o=Number(s),i=await h_(o);if(!i)continue;let a=Number(i[1]);if(!Number.isSafeInteger(a))continue;let c=t.get(a)??[];c.push(o),t.set(a,c)}let r=[],n=[...t.get(e)??[]];for(;n.length>0;){let s=n.shift();r.push(s),n.push(...t.get(s)??[])}return r.reverse()}async function fo(e){return(await h_(e))?.[19]}async function Yn(e,t){if(!an(e))return!1;if(!t)return!0;let r=await fo(e);return r===void 0?process.platform!=="linux":r===t}function an(e){try{return process.kill(e,0),!0}catch{return!1}}async function h_(e){if(process.platform!=="linux")return null;try{let t=await QL(`/proc/${e}/stat`,"utf8"),r=t.lastIndexOf(")");return r<0?null:t.slice(r+2).trim().split(/\s+/)}catch{return null}}async function ZL(e){await new Promise(t=>setTimeout(t,e))}var tr=E(()=>{"use strict"});import{constants as eG}from"node:os";async function y_(e){let t=e[1],r={timeoutMs:Vd.cmd,reason:"",signal:"SIGUSR1",notifyTimeoutMs:d_,terminateGraceMs:p_,probeTimeoutMs:f_,format:"toon",captureBytes:u_},n={kind:t,options:r};if(!t||t==="--help"||t==="-h")return{...n,kind:"help"};if(t!=="ls"&&t!=="cmd"&&t!=="pr"&&t!=="run"&&t!=="job"&&t!=="release")return{...n,kind:void 0};t!=="ls"&&(r.timeoutMs=Vd[t]);let s=e.indexOf("--"),o=s>=0?s:e.length;for(let i=2;i<o;i++){let a=e[i];a==="--timeout"?r.timeoutMs=mo(e[++i]??""):a==="--reason"?r.reason=e[++i]??"":a==="--signal-pid"?r.signalPid=Number(e[++i]):a==="--signal"?r.signal=nG(e[++i]??""):a==="--notify-cmd"?r.notifyCmd=e[++i]??"":a==="--notify-timeout"?r.notifyTimeoutMs=mo(e[++i]??""):a==="--terminate-grace"?r.terminateGraceMs=mo(e[++i]??""):a==="--probe-timeout"?r.probeTimeoutMs=mo(e[++i]??""):a==="--result-file"?r.resultFile=e[++i]??"":a==="--json"?r.format="json":a==="--capture-bytes"?r.captureBytes=rG(e[++i]??"","capture bytes"):t==="run"&&a==="--branch"?n.branch=e[++i]??"":t==="run"&&a==="--latest"?n.latest=!0:t==="release"&&a==="--tag"?n.tagGlob=e[++i]??"":t==="release"&&a==="--existing"?n.existing=!0:!a.startsWith("--")&&!n.target&&(n.target=a)}return await tG(r),t==="cmd"&&(n.commandLine=s>=0?e.slice(s+1).join(" "):""),n}async function tG(e){if(!(e.signal in eG.signals))throw new Error(`invalid signal: ${e.signal}`);if(e.signalPid!==void 0){if(!Number.isSafeInteger(e.signalPid)||e.signalPid<=0)throw new Error(`invalid signal pid: ${e.signalPid}`);if(!an(e.signalPid))throw new Error(`signal pid is not running: ${e.signalPid}`);e.signalPidStartTime=await fo(e.signalPid)}if(e.resultFile!==void 0&&!e.resultFile.trim())throw new Error("invalid result file: empty path")}function mo(e){let t=/^([1-9][0-9]*)(ms|s|m|h)?$/.exec(e);if(!t)throw new Error(`invalid timeout: ${e}`);let r=Number(t[1]),n=t[2]??"ms";return n==="ms"?r:n==="s"?r*1e3:n==="m"?r*6e4:r*60*6e4}function Qn(e,t,r=process.env){let n=r[e];if(!n)return t;try{return mo(n)}catch{return t}}function rG(e,t){if(!/^[1-9][0-9]*$/.test(e))throw new Error(`invalid ${t}: ${e}`);return Number(e)}function nG(e){return e.startsWith("SIG")?e:`SIG${e}`}var b_=E(()=>{"use strict";on();tr()});import{existsSync as Qd,readFileSync as sG,statSync as oG}from"node:fs";import{basename as w_,dirname as Na,isAbsolute as iG,join as __,resolve as go}from"node:path";function ho(e,t=process.env){let r=go(e);if(dd.map(i=>t[i]).find(Boolean))return tw({startDir:r,env:t,exists:Qd});let s=cG(r),o=aG(r,s);return o||(s??r)}function aG(e,t){let r=e;for(;;){if(Qd(__(r,".red")))return r;if(t&&r===t)return null;let n=go(r,"..");if(n===r)return null;r=n}}function cG(e){let t=e;for(;;){let r=__(t,".git");if(Qd(r))return dG(r)?t:lG(r)??t;let n=go(t,"..");if(n===t)return null;t=n}}function lG(e){let t=uG(e);if(!t)return null;let r=Na(t),n=Na(r);return w_(r)!=="worktrees"||w_(n)!==".git"?null:Na(n)}function uG(e){let t;try{t=sG(e,"utf8")}catch{return null}let r=/^gitdir:\s*(.+)$/m.exec(t.trim());if(!r)return null;let n=r[1].trim();return iG(n)?go(n):go(Na(e),n)}function dG(e){try{return oG(e).isDirectory()}catch{return!1}}var Da=E(()=>{ze()});import{join as pG}from"node:path";function mG(e,t=process.env){return ho(e,t)}function Xn(e,t=process.env){return ew(mG(e,t))}function E_(e,t=process.env){return pG(Xn(e,t),fG)}var fG,Xd=E(()=>{"use strict";ze();Da();fG="spool"});import{randomUUID as gG}from"node:crypto";import{existsSync as hG}from"node:fs";import{mkdir as yG,readdir as bG,readFile as wG,rename as _G,rm as Zd,writeFile as EG}from"node:fs/promises";import{dirname as kG,join as S_}from"node:path";function R_(e,t,r=process.env){return S_(Xn(e,r),`${t}${SG}`)}async function Zn(e,t){await ep(e,`${ge(t)}
50
+ `)}async function $a(e,t,r){t.status=r,await Zn(e,t)}async function Fa(e,t=process.env){let r=Xn(e,t);if(!hG(r))return[];let n=await bG(r).catch(()=>[]),s=[];for(let o of n.filter(i=>RG.some(a=>i.endsWith(a)))){let i=S_(r,o),a=await vG(i);if(!a){await Zd(i,{force:!0});continue}if(!await TG(a)){await Zd(i,{force:!0});continue}s.push(a)}return s}async function vG(e){let t;try{t=await wG(e,"utf8")}catch{return null}let r=t.trim();if(!r)return null;let n=xG(r);return n&&Object.keys(n).length>0?n:null}async function TG(e){let t=typeof e.pid=="number"?e.pid:0;if(!t||!Number.isSafeInteger(t)||t<=0)return!1;let r=typeof e.pid_start_time=="string"?e.pid_start_time:void 0;return await Yn(t,r)}function xG(e){try{let t=z(e);if(k_(t))return t}catch{}try{let t=JSON.parse(e);if(k_(t))return t}catch{}return null}async function ep(e,t){await yG(kG(e),{recursive:!0});let r=`${e}.tmp-${process.pid}-${gG()}`;try{await EG(r,t,"utf8"),await _G(r,e)}finally{await Zd(r,{force:!0})}}function tp(e){return{schema:c_,version:1,...e}}function k_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var SG,RG,bo=E(()=>{"use strict";J();Vt();on();Xd();tr();SG=".toon",RG=[".toon",".json"]});function es(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function nt(e){return es(e)?e:{}}function cn(e){return Array.isArray(e)?e.filter(es):[]}function se(e,t){let r=e[t];return typeof r=="string"?r:""}function ln(e,t){let r=e[t];return typeof r=="number"?r:0}function wo(e){let t=JSON.parse(e);if(!es(t))throw new Error("expected JSON object");return t}function Ma(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}var Ba=E(()=>{"use strict"});import{spawn as OG}from"node:child_process";import{resolve as CG}from"node:path";async function v_(e,t,r){let n=[];if(e.signalPid){let s=await AG(e);s&&n.push(s)}if(e.notifyCmd?.trim()){let s=await PG(e,t,r);s&&n.push({hook:"notify-cmd",...s})}return n.length===0?{status:"success"}:{status:"failure",errors:n}}async function AG(e){let t=e.signalPid;if(!await Yn(t,e.signalPidStartTime))return{hook:"signal-pid",error:"target process is no longer the process the wait was asked to signal",pid:t,signal:e.signal};try{return process.kill(t,e.signal),null}catch(r){return{hook:"signal-pid",error:T_(r),pid:t,signal:e.signal}}}async function PG(e,t,r){let n=nt(t.wait),s=nt(t.verdict);return await IG(e.notifyCmd,r,e.notifyTimeoutMs,e.terminateGraceMs,{...process.env,RSP_WAIT_RESULT_JSON:JSON.stringify(t),RSP_WAIT_RESULT_FILE:e.resultFile?CG(r,e.resultFile):"",RSP_WAIT_STATUS:String(n.status??"indeterminate"),RSP_WAIT_EXIT_CODE:String(s.target_exit_code??2),RSP_WAIT_TARGET:String(n.target??""),RSP_WAIT_RESULT_SCHEMA:"rsp.wait.result@1"})}async function IG(e,t,r,n,s){return await new Promise(o=>{let i=!1,a=!1,c=d=>{i||(i=!0,o(d))},l=OG(e,{cwd:t,shell:!0,stdio:"ignore",env:s,detached:process.platform!=="win32"}),u=setTimeout(()=>{a=!0,zn(l,n).then(d=>c({error:`timed out after ${r}ms`,...d.cleaned?{}:{survivors:d.survivors}}))},r);l.once("error",d=>{clearTimeout(u),c({error:T_(d)})}),l.once("close",(d,p)=>{clearTimeout(u),!a&&c(d===0?null:{error:`exited with ${p??d??"unknown"}`,status:d??null,signal:p??null})})})}function T_(e){return e instanceof Error?e.message:String(e)}var x_=E(()=>{"use strict";Ba();tr()});import{resolve as LG}from"node:path";async function O_(e){let{kind:t,entry:r,options:n,cwd:s}=e,o=GG(e.verdict,e.cleanupProven,e.survivors),i=new Date().toISOString(),a=_o(t,r,o,{status:"pending"},i);await Eo(n.resultFile,a,n.format);let c=await v_(n,a,s),l=_o(t,r,o,c,i);return await Eo(n.resultFile,l,n.format),{result:l,exitCode:C_(o,c)}}function C_(e,t){return t.status!=="success"||e.status==="running"?2:zd(e.status)}function GG(e,t,r=[]){return t!==!1?e:{status:"indeterminate",exitCode:2,summary:`${e.summary}; could not verify process cleanup`,details:{...e.details??{},cleanup:{verified:!1,survivors:r}}}}function _o(e,t,r,n,s){return{schema:a_,version:1,wait:{id:t.id,target:t.target,kind:e,status:r.status,reason:t.reason,started_at:t.started_at,completed_at:s,poll_tier:t.poll_tier},verdict:{exit_code:C_(r,n),target_exit_code:r.exitCode,summary:r.summary,delivery:n,...r.details?{details:r.details}:{}}}}async function Eo(e,t,r){e&&await ep(LG(e),ts(t,r))}function ts(e,t){return t==="json"?`${JSON.stringify(e,null,2)}
51
51
  `:`${ge(e)}
52
- `}var v_=E(()=>{"use strict";Vt();on();bo();k_()});import{createWriteStream as AG,mkdirSync as PG}from"node:fs";import{readFile as IG,rm as LG}from"node:fs/promises";import{dirname as GG}from"node:path";import{join as T_}from"node:path";function x_(e,t,r){return{stdout:new ja(r,T_(e,`${t}.stdout.bin`)),stderr:new ja(r,T_(e,`${t}.stderr.bin`))}}function NG(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!DG(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function DG(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var ja,O_=E(()=>{"use strict";ja=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...NG(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 IG(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{PG(GG(this.spoolPath),{recursive:!0}),t=AG(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 LG(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as $G,readFileSync as r3}from"node:fs";import{dirname as FG,join as MG}from"node:path";function rp(e,t){let r=e;for(let n=0;n<16;n++){let s=MG(r,t);if($G(s))return s;let o=FG(r);if(o===r)break;r=o}return null}function BG(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function ko(e,t){let r=[];for(let n of e.split(`
53
- `)){let s=n.replace(/\r$/,""),o=s.trim();if(!o||o.startsWith("#"))continue;let i=s.indexOf(":");if(i<0)continue;let a=s.length-s.trimStart().length,c=s.slice(0,i).trim();if(!c)continue;let l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return BG(l)}}var qa=E(()=>{});var F_={};ne(F_,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>rs,GH_ETAG_CACHE_DIR_NAME:()=>I_,LEGACY_GH_ETAG_CACHE_FILE:()=>L_,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>G_,enforceGhEtagCacheCeiling:()=>ip,ghEtagCacheDir:()=>Ua,ghEtagEntryPath:()=>Ha,isCacheEntry:()=>Ja,legacyGhEtagCachePaths:()=>op,migrateLegacyGhEtagCache:()=>cp,readGhEtagCache:()=>Wa,readGhEtagEntry:()=>VG,resetGhEtagCacheMigrationMemo:()=>zG,sweepGhEtagCache:()=>ap,writeGhEtagEntry:()=>KG});import{existsSync as jG}from"node:fs";import{mkdir as qG,readdir as UG,rename as HG,rm as C_,stat as A_,unlink as P_,writeFile as WG}from"node:fs/promises";import{dirname as JG,join as ts}from"node:path";function Ua(e){return ts(ae(e),I_)}function Ha(e,t){return ts(Ua(e),`${ZG(t)}.toon`)}function op(e){let t=ae(e);return[ts(t,L_),ts(t,G_)]}async function VG(e,t){await cp(e);try{let r=$_(await ka(Ha(e,t)));return Ja(r)?r:void 0}catch{return}}async function KG(e,t,r={}){return await D_(Ha(e,t.key),t),await ip(e,r.maxBytes??rs)}async function ip(e,t=rs){let r=await QG(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 P_(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function ap(e,t={}){let r=await cp(e,{force:!0}),n=await YG(e);return{...await ip(e,t.maxBytes??rs),reclaimedTmp:n,migratedEntries:r}}async function Wa(e){for(let t of op(e))try{let r=$_(await ka(t));if(eN(r))return r}catch{}return{version:1,entries:{}}}async function cp(e,t={}){if(!t.force&&np.has(e))return 0;np.add(e);let r=op(e).filter(o=>jG(o));if(r.length===0)return 0;let n=await Wa(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ja(i))continue;let a=Ha(e,o);await XG(a)||(await D_(a,{...i,key:o}),s+=1)}for(let o of r)await C_(o,{force:!0});return s}function zG(){np.clear()}async function YG(e){let t=0;for(let r of[ae(e),Ua(e)])for(let n of await N_(r))if(n.endsWith(".tmp"))try{await P_(ts(r,n)),t+=1}catch{}return t}async function QG(e){let t=Ua(e),r=[];for(let n of await N_(t)){if(!n.endsWith(".toon"))continue;let s=ts(t,n);try{let o=await A_(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function N_(e){try{return await UG(e)}catch{return[]}}async function XG(e){try{return await A_(e),!0}catch{return!1}}async function D_(e,t){await qG(JG(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await WG(r,`${B(t)}
54
- `,{encoding:"utf8",mode:384}),await HG(r,e)}catch(n){throw await C_(r,{force:!0}),n}}function ZG(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function $_(e){try{return JSON.parse(e)}catch{return Z(e)}}function eN(e){return sp(e)&&e.version===1&&sp(e.entries)&&Object.values(e.entries).every(Ja)}function Ja(e){return sp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var I_,L_,G_,rs,np,Va=E(()=>{"use strict";Ke();V();ye();I_="gh-etag",L_="gh-etag-cache.toon",G_="gh-etag-cache.json",rs=4*1024*1024;np=new Set});var H_={};ne(H_,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>tr,DEFAULT_RSP_IDLE_MS:()=>Ya,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>U_,DEFAULT_RSP_STORE_PATH:()=>lp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>za,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>B_,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>j_,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Ka,DEFAULT_RSP_TTL_DAYS:()=>ht,MIN_RSP_IDLE_MS:()=>q_,resolveRspConfig:()=>Ie});import{existsSync as tN,readFileSync as rN}from"node:fs";import{join as nN,resolve as M_}from"node:path";function Ie(e,t,r){let n=rp(M_(e),nN(".red","config.yaml")),s=n?rN(n,"utf8"):"",o=ko(s,"rsp.enabled")==="true",i=ko(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Pe(be(s,"rsp.ttlDays"),ht),l=Pe(It(t.RSP_EPHEMERAL_TTL_HOURS)??be(s,"rsp.ephemeralTtlHours"),yt),u=Pe(be(s,"rsp.byteBudget"),bt),d=Pe(be(s,"rsp.telemetryTtlDays"),Ka),p=Pe(be(s,"rsp.telemetryByteBudget")??be(s,"rsp.byteBudget"),za),f=Pe(It(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??be(s,"rsp.telemetryDrainIntervalMs"),B_),m=Pe(It(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??be(s,"rsp.telemetryDrainTimeoutMs"),j_),h=sN(It(t.RSP_IDLE_MS)??be(s,"rsp.idleMs"),Ya,q_),w=Pe(It(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??be(s,"rsp.heavyGitByteThreshold"),tr),b=oN(It(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??be(s,"rsp.measurement.holdoutShare"),U_),y=Pe(It(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??be(s,"rsp.ghEtagCacheMaxBytes"),rs),_={maxOverheadMs:Pe(It(t.RSP_MAX_OVERHEAD_MS)??be(s,"rsp.overhead.maxOverheadMs"),ha),maxSelfStateBytes:Pe(It(t.RSP_MAX_SELF_STATE_BYTES)??be(s,"rsp.overhead.maxSelfStateBytes"),ya),netLossFloorBytes:Pe(be(s,"rsp.overhead.netLossFloorBytes"),ba),consecutiveBreaches:Pe(It(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??be(s,"rsp.overhead.consecutiveBreaches"),wa),cooldownMs:Pe(be(s,"rsp.overhead.cooldownMs"),_a)},k=tt(e).rootDir,v=r??t.RSP_STORE_URI??`file://${Kb(M_(k),tN)}`;return{enabled:o,proxyEnabled:a,storeUri:v,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:h,heavyGitByteThreshold:w,measurementHoldoutShare:b,ghEtagCacheMaxBytes:y,overhead:_}}function be(e,t){let r=ko(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Pe(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function sN(e,t,r){let n=Pe(e,t);return Math.max(n,r)}function oN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function It(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var tr,lp,ht,yt,bt,Ka,za,B_,j_,Ya,q_,U_,Ye=E(()=>{"use strict";qa();Ke();Pa();ye();Va();tr=8*1024,lp=Jb,ht=7,yt=6,bt=64*1024*1024,Ka=90,za=4*1024*1024,B_=3e4,j_=2e3,Ya=5*6e4,q_=5e3,U_=0});function W_(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(hr(),po)),o=s(e,Ie(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var J_=E(()=>{"use strict";Ye()});import{spawn as iN}from"node:child_process";async function K_(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??W_(n),c=x_(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async b=>{u||(u=!0,i.removeEventListener("abort",h),await $a(s,o,b.verdict.status).catch(()=>{}),l(b))},f=iN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",b=>c.stdout.write(Buffer.from(b))),f.stderr?.on("data",b=>c.stderr.write(Buffer.from(b)));let m=async(b,y)=>{if(u||d)return;d=!0,clearTimeout(w);let _=await Kn(f,r.terminateGraceMs),k=await V_(null,null,c,a,t);await p({verdict:{status:b,exitCode:2,summary:y,details:k},cleanupProven:_.cleaned,survivors:_.survivors})},h=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",h,{once:!0});let w=setTimeout(()=>{m("timeout",`command timed out after ${z_(r.timeoutMs)}`)},r.timeoutMs);f.once("error",b=>{clearTimeout(w),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:b.message}})}),f.once("close",(b,y)=>{if(clearTimeout(w),u||d)return;let _=b===0;V_(b,y,c,a,t).then(k=>p({verdict:{status:_?"success":"failure",exitCode:_?0:1,summary:_?"command exited successfully":`command exited with ${y??b??"unknown"}`,details:k}}))}),i.aborted&&h()})}async function So(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:aN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(h){u=ue(h instanceof Error?h.message:String(h))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=up(u),await Xn(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await $a(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await cN(f,i,m)}return await $a(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${z_(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:up(l)}:{attempts:c}}}}async function V_(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 up(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function aN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:up(e)}:{}})}async function cN(e,t,r){t.aborted||e<=0||r?.aborted||await new Promise(n=>{let s=setTimeout(o,e);function o(){clearTimeout(s),t.removeEventListener("abort",i),r?.removeEventListener("abort",a),n()}let i=()=>o(),a=()=>o();t.addEventListener("abort",i,{once:!0}),r?.addEventListener("abort",a,{once:!0})})}function z_(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var Y_=E(()=>{"use strict";O_();J_();on();er();bo()});var Q_={};ne(Q_,{readGhConditionalJson:()=>st,readGhEtagCache:()=>Wa,sweepGhEtagCache:()=>ap});import{execFileSync as lN}from"node:child_process";async function st(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=pN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??dN(e.path),path:e.path,actor:uN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=Ie(t,r),c=uo(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 uN(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 pN(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 Ro=E(()=>{"use strict";Ye();hr();Va()});function X_(e){return e==="single-object"?"rest":"graphql"}function Z_(e,t){return e==="stable-poll"?"rest":X_(t)}function ot(e){return{none:e}}function de(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??Z_(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function Be(e,t,r,n){return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,fallback:null,noFallbackBecause:"a mutation has one observed GitHub API method",why:n}}function tE(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 dp(e){let t=tE(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 rE(e){return fN.get(dp(e))??null}function pp(e){let t=rE(e);if(!t)throw new Qa(e);return t}var eE,fN,Qa,nE=E(()=>{eE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",ot("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",ot("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",ot("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",ot("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",ot("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",ot("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",ot("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",ot("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",ot("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),Be("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues` so filing shares the REST mutation rail"),Be("issue edit","rest","rest","the write plan PATCHes labels and body at `repos/{o}/{r}/issues/{n}`"),Be("issue close","rest","rest","the write plan PATCHes issue state and state reason at `repos/{o}/{r}/issues/{n}`"),Be("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),Be("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),Be("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),Be("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),Be("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),Be("pr merge","rest","rest","the default merge uses PUT `repos/{o}/{r}/pulls/{n}/merge` so a dry GraphQL pool cannot strand a finished Worker"),Be("pr close","graphql","graphql","gh closes with a GraphQL mutation"),Be("pr edit","graphql","graphql","gh edits with GraphQL mutations"),Be("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),Be("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),Be("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],fN=new Map(eE.map(e=>[e.key,e]));Qa=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=dp(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 sE(e){return e instanceof ns}function Xa(e=process.env){let t=e[fp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function ss(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new ns(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function vo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??Xa();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=mN(n);try{return await ss(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw sE(l)?l:o.aborted&&i?.aborted!==!0?new ns(c,r,{cause:l}):l}}}function mN(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 fp,ns,mp=E(()=>{fp="RED_GITHUB_REQUEST_TIMEOUT_MS",ns=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${fp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function iE(e){if(e===!0)return"on";if(typeof e!="string")return Za;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":Za}function gp(e){return(e??Za)==="on"}function hp(e=process.env){return iE(e[oE])}var Za,oE,yp=E(()=>{Za="off",oE="RED_GITHUB_BUDGET_GATE"});import{execFile as gN}from"node:child_process";import{renameSync as hN,rmSync as yN,statSync as bN,writeFileSync as wN}from"node:fs";import{readdir as F3,readFile as _N,rename as EN,rm as kN,stat as SN,writeFile as RN}from"node:fs/promises";import{promisify as vN}from"node:util";function cE(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function lE(e){return e.code==="ENOENT"}async function os(e,t,r,n=SN){let s=cE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!lE(i))throw i}return o+t>s}function uE(e,t,r,n=bN){let s=cE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!lE(i))throw i}return o+t>s}async function ON(e,t,r){try{return await TN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function CN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function AN(e){if(e.length===0)return"";let t=Fe({trailer:!1});return e.map(r=>t.push(r)).join("")}async function PN(e,t){let r=`${e}.retaining-${process.pid}`;try{await RN(r,t,{encoding:"utf8",mode:384}),await EN(r,e)}finally{await kN(r,{force:!0})}}function dE(e,t){let r=`${e}.retaining-${process.pid}`;try{wN(r,t,{encoding:"utf8",mode:384}),hN(r,e)}finally{yN(r,{force:!0})}}async function is(e,t,r={}){CN(t);let n=r.timeoutMs??xN;if(await(r.runTq??ON)(e,t,n))return"tq";let o=await _N(e,"utf8"),i=o.endsWith(`
52
+ `}var A_=E(()=>{"use strict";Vt();on();bo();x_()});import{createWriteStream as NG,mkdirSync as DG}from"node:fs";import{readFile as $G,rm as FG}from"node:fs/promises";import{dirname as MG}from"node:path";import{join as P_}from"node:path";function I_(e,t,r){return{stdout:new ja(r,P_(e,`${t}.stdout.bin`)),stderr:new ja(r,P_(e,`${t}.stderr.bin`))}}function BG(e){let t=e.toString("utf8");return Buffer.from(t,"utf8").equals(e)&&!jG(e)?{inline:t}:{inline:e.toString("base64"),inline_encoding:"base64"}}function jG(e){for(let t of e)if(t<=8||t>=11&&t<=31&&t!==13||t===127)return!0;return!1}var ja,L_=E(()=>{"use strict";ja=class{constructor(t,r){this.limit=t;this.spoolPath=r}head=[];headBytes=0;total=0;spool=null;spoolReady=Promise.resolve();spoolError=null;closed=!1;write(t){if(this.closed)return;this.total+=t.length;let r=this.limit-this.headBytes;if(r>0){let n=t.subarray(0,r);this.head.push(n),this.headBytes+=n.length}if(this.total>this.limit){let n=r>0?t.subarray(r):t;this.openSpool(),n.length>0&&this.appendSpool(n)}}async finish(t,r){this.closed=!0;let n=Buffer.concat(this.head),s=this.total>this.headBytes,o={bytes:this.total,...BG(n),truncated:s};if(!s)return await this.discardSpool(),o;if(await this.closeSpool(),this.spoolError)return o.recovery_error=this.spoolError,o;try{let i=await $G(this.spoolPath);o.handle=await t.mint(Buffer.concat([n,i]),{command:r,loss:{level:"terse",bytes_elided:this.total-this.headBytes}}),await this.discardSpool()}catch(i){o.recovery_error=i instanceof Error?i.message:String(i),o.spool_path=this.spoolPath}return o}async discard(){this.closed=!0,await this.closeSpool(),await this.discardSpool()}openSpool(){if(this.spool||this.spoolError)return;let t;try{DG(MG(this.spoolPath),{recursive:!0}),t=NG(this.spoolPath,{flags:"w"})}catch(r){this.spoolError=r instanceof Error?r.message:String(r);return}t.on("error",r=>{this.spoolError=r instanceof Error?r.message:String(r)}),this.spool=t}appendSpool(t){let r=this.spool;r&&(this.spoolReady=this.spoolReady.then(()=>new Promise(n=>{r.write(t)?n():r.once("drain",()=>n())})))}async closeSpool(){let t=this.spool;t&&(this.spool=null,await this.spoolReady.catch(()=>{}),await new Promise(r=>t.end(()=>r())))}async discardSpool(){await FG(this.spoolPath,{force:!0}).catch(()=>{})}}});import{existsSync as qG,readFileSync as g3}from"node:fs";import{dirname as UG,join as HG}from"node:path";function rp(e,t){let r=e;for(let n=0;n<16;n++){let s=HG(r,t);if(qG(s))return s;let o=UG(r);if(o===r)break;r=o}return null}function WG(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function ko(e,t){let r=[];for(let n of e.split(`
53
+ `)){let s=n.replace(/\r$/,""),o=s.trim();if(!o||o.startsWith("#"))continue;let i=s.indexOf(":");if(i<0)continue;let a=s.length-s.trimStart().length,c=s.slice(0,i).trim();if(!c)continue;let l=s.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:c}),l&&r.map(d=>d.key).join(".")===t)return WG(l)}}var qa=E(()=>{});var U_={};ne(U_,{DEFAULT_GH_ETAG_CACHE_MAX_BYTES:()=>ns,GH_ETAG_CACHE_DIR_NAME:()=>$_,LEGACY_GH_ETAG_CACHE_FILE:()=>F_,LEGACY_GH_ETAG_CACHE_JSON_FILE:()=>M_,enforceGhEtagCacheCeiling:()=>ip,ghEtagCacheDir:()=>Ua,ghEtagEntryPath:()=>Ha,isCacheEntry:()=>Ja,legacyGhEtagCachePaths:()=>op,migrateLegacyGhEtagCache:()=>cp,readGhEtagCache:()=>Wa,readGhEtagEntry:()=>XG,resetGhEtagCacheMigrationMemo:()=>eN,sweepGhEtagCache:()=>ap,writeGhEtagEntry:()=>ZG});import{existsSync as JG}from"node:fs";import{mkdir as VG,readdir as KG,rename as zG,rm as G_,stat as N_,unlink as D_,writeFile as YG}from"node:fs/promises";import{dirname as QG,join as rs}from"node:path";function Ua(e){return rs(ae(e),$_)}function Ha(e,t){return rs(Ua(e),`${sN(t)}.toon`)}function op(e){let t=ae(e);return[rs(t,F_),rs(t,M_)]}async function XG(e,t){await cp(e);try{let r=q_(await ka(Ha(e,t)));return Ja(r)?r:void 0}catch{return}}async function ZG(e,t,r={}){return await j_(Ha(e,t.key),t),await ip(e,r.maxBytes??ns)}async function ip(e,t=ns){let r=await rN(e),n=r.reduce((o,i)=>o+i.bytes,0);if(n<=t)return{evictedEntries:0,bytes:n};r.sort((o,i)=>o.mtimeMs-i.mtimeMs||o.path.localeCompare(i.path));let s=0;for(let o of r){if(n<=t)break;try{await D_(o.path),n-=o.bytes,s+=1}catch{}}return{evictedEntries:s,bytes:n}}async function ap(e,t={}){let r=await cp(e,{force:!0}),n=await tN(e);return{...await ip(e,t.maxBytes??ns),reclaimedTmp:n,migratedEntries:r}}async function Wa(e){for(let t of op(e))try{let r=q_(await ka(t));if(oN(r))return r}catch{}return{version:1,entries:{}}}async function cp(e,t={}){if(!t.force&&np.has(e))return 0;np.add(e);let r=op(e).filter(o=>JG(o));if(r.length===0)return 0;let n=await Wa(e),s=0;for(let[o,i]of Object.entries(n.entries)){if(!Ja(i))continue;let a=Ha(e,o);await nN(a)||(await j_(a,{...i,key:o}),s+=1)}for(let o of r)await G_(o,{force:!0});return s}function eN(){np.clear()}async function tN(e){let t=0;for(let r of[ae(e),Ua(e)])for(let n of await B_(r))if(n.endsWith(".tmp"))try{await D_(rs(r,n)),t+=1}catch{}return t}async function rN(e){let t=Ua(e),r=[];for(let n of await B_(t)){if(!n.endsWith(".toon"))continue;let s=rs(t,n);try{let o=await N_(s);o.isFile()&&r.push({path:s,bytes:o.size,mtimeMs:o.mtimeMs})}catch{}}return r}async function B_(e){try{return await KG(e)}catch{return[]}}async function nN(e){try{return await N_(e),!0}catch{return!1}}async function j_(e,t){await VG(QG(e),{recursive:!0});let r=`${e}.${process.pid}.${Date.now()}.tmp`;try{await YG(r,`${M(t)}
54
+ `,{encoding:"utf8",mode:384}),await zG(r,e)}catch(n){throw await G_(r,{force:!0}),n}}function sN(e){if(!/^[A-Za-z0-9_-]{1,128}$/.test(e))throw new Error(`unsafe gh etag cache key: ${e}`);return e}function q_(e){try{return JSON.parse(e)}catch{return z(e)}}function oN(e){return sp(e)&&e.version===1&&sp(e.entries)&&Object.values(e.entries).every(Ja)}function Ja(e){return sp(e)&&typeof e.key=="string"&&typeof e.request=="string"&&typeof e.etag=="string"&&typeof e.body=="string"&&typeof e.updated_at=="string"}function sp(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var $_,F_,M_,ns,np,Va=E(()=>{"use strict";ze();J();ye();$_="gh-etag",F_="gh-etag-cache.toon",M_="gh-etag-cache.json",ns=4*1024*1024;np=new Set});var up={};ne(up,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>rr,DEFAULT_RSP_IDLE_MS:()=>Ya,DEFAULT_RSP_MEASUREMENT_HOLDOUT_SHARE:()=>K_,DEFAULT_RSP_STORE_PATH:()=>lp,DEFAULT_RSP_TELEMETRY_BYTE_BUDGET:()=>za,DEFAULT_RSP_TELEMETRY_DRAIN_INTERVAL_MS:()=>W_,DEFAULT_RSP_TELEMETRY_DRAIN_TIMEOUT_MS:()=>J_,DEFAULT_RSP_TELEMETRY_TTL_DAYS:()=>Ka,DEFAULT_RSP_TTL_DAYS:()=>ht,MIN_RSP_IDLE_MS:()=>V_,resolveRspConfig:()=>Ie});import{existsSync as iN,readFileSync as aN}from"node:fs";import{join as cN,resolve as H_}from"node:path";function Ie(e,t,r){let n=rp(H_(e),cN(".red","config.yaml")),s=n?aN(n,"utf8"):"",o=ko(s,"rsp.enabled")==="true",i=ko(s,"rsp.proxy.enabled"),a=i===void 0?o:i==="true",c=Pe(be(s,"rsp.ttlDays"),ht),l=Pe(It(t.RSP_EPHEMERAL_TTL_HOURS)??be(s,"rsp.ephemeralTtlHours"),yt),u=Pe(be(s,"rsp.byteBudget"),bt),d=Pe(be(s,"rsp.telemetryTtlDays"),Ka),p=Pe(be(s,"rsp.telemetryByteBudget")??be(s,"rsp.byteBudget"),za),f=Pe(It(t.RSP_TELEMETRY_DRAIN_INTERVAL_MS)??be(s,"rsp.telemetryDrainIntervalMs"),W_),m=Pe(It(t.RSP_TELEMETRY_DRAIN_TIMEOUT_MS)??be(s,"rsp.telemetryDrainTimeoutMs"),J_),h=lN(It(t.RSP_IDLE_MS)??be(s,"rsp.idleMs"),Ya,V_),w=Pe(It(t.RSP_HEAVY_GIT_BYTE_THRESHOLD)??be(s,"rsp.heavyGitByteThreshold"),rr),b=uN(It(t.RSP_MEASUREMENT_HOLDOUT_SHARE)??be(s,"rsp.measurement.holdoutShare"),K_),y=Pe(It(t.RSP_GH_ETAG_CACHE_MAX_BYTES)??be(s,"rsp.ghEtagCacheMaxBytes"),ns),_={maxOverheadMs:Pe(It(t.RSP_MAX_OVERHEAD_MS)??be(s,"rsp.overhead.maxOverheadMs"),ha),maxSelfStateBytes:Pe(It(t.RSP_MAX_SELF_STATE_BYTES)??be(s,"rsp.overhead.maxSelfStateBytes"),ya),netLossFloorBytes:Pe(be(s,"rsp.overhead.netLossFloorBytes"),ba),consecutiveBreaches:Pe(It(t.RSP_OVERHEAD_CONSECUTIVE_BREACHES)??be(s,"rsp.overhead.consecutiveBreaches"),wa),cooldownMs:Pe(be(s,"rsp.overhead.cooldownMs"),_a)},k=tt(e).rootDir,v=r??t.RSP_STORE_URI??`file://${Zb(H_(k),iN)}`;return{enabled:o,proxyEnabled:a,storeUri:v,ttlDays:c,ephemeralTtlHours:l,byteBudget:u,telemetryTtlDays:d,telemetryByteBudget:p,telemetryDrainIntervalMs:f,telemetryDrainTimeoutMs:m,idleMs:h,heavyGitByteThreshold:w,measurementHoldoutShare:b,ghEtagCacheMaxBytes:y,overhead:_}}function be(e,t){let r=ko(e,t);if(r==null)return;let n=Number(r);return Number.isFinite(n)?n:void 0}function Pe(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function lN(e,t,r){let n=Pe(e,t);return Math.max(n,r)}function uN(e,t){return typeof e!="number"||!Number.isFinite(e)?t:e<=0?0:e>=1?1:e}function It(e){if(e==null||e.trim()==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}var rr,lp,ht,yt,bt,Ka,za,W_,J_,Ya,V_,K_,Be=E(()=>{"use strict";qa();ze();Pa();ye();Va();rr=8*1024,lp=Qb,ht=7,yt=6,bt=64*1024*1024,Ka=90,za=4*1024*1024,W_=3e4,J_=2e3,Ya=5*6e4,V_=5e3,K_=0});function z_(e,t=process.env){return{async mint(r,n){let{residentElisionStore:s}=await Promise.resolve().then(()=>(Zt(),Vn)),o=s(e,Ie(e,t));try{return await o.mint(r,n)}finally{await o.close()}}}}var Y_=E(()=>{"use strict";Be()});import{spawn as dN}from"node:child_process";async function X_(e){let{commandLine:t,options:r,cwd:n,registryPath:s,entry:o,signal:i}=e;if(!t.trim())return{verdict:ue("missing command line")};let a=e.store??z_(n),c=I_(e.spoolDir,o.id,r.captureBytes);return await new Promise(l=>{let u=!1,d=!1,p=async b=>{u||(u=!0,i.removeEventListener("abort",h),await $a(s,o,b.verdict.status).catch(()=>{}),l(b))},f=dN(t,{cwd:n,shell:!0,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"});f.stdout?.on("data",b=>c.stdout.write(Buffer.from(b))),f.stderr?.on("data",b=>c.stderr.write(Buffer.from(b)));let m=async(b,y)=>{if(u||d)return;d=!0,clearTimeout(w);let _=await zn(f,r.terminateGraceMs),k=await Q_(null,null,c,a,t);await p({verdict:{status:b,exitCode:2,summary:y,details:k},cleanupProven:_.cleaned,survivors:_.survivors})},h=()=>void m("indeterminate","command interrupted");i.addEventListener("abort",h,{once:!0});let w=setTimeout(()=>{m("timeout",`command timed out after ${Z_(r.timeoutMs)}`)},r.timeoutMs);f.once("error",b=>{clearTimeout(w),c.stdout.discard(),c.stderr.discard(),p({verdict:{status:"failure",exitCode:1,summary:b.message}})}),f.once("close",(b,y)=>{if(clearTimeout(w),u||d)return;let _=b===0;Q_(b,y,c,a,t).then(k=>p({verdict:{status:_?"success":"failure",exitCode:_?0:1,summary:_?"command exited successfully":`command exited with ${y??b??"unknown"}`,details:k}}))}),i.aborted&&h()})}async function So(e){let{probe:t,timeoutMs:r,baseSleepMs:n,registryPath:s,entry:o,signal:i}=e,a=Date.now()+r,c=0,l;for(;Date.now()<a;){if(i.aborted)return{verdict:pN(l,c,o.last_poll_at)};let u;try{u=await t()}catch(h){u=ue(h instanceof Error?h.message:String(h))}if(l=u,o.attempts=++c,o.last_poll_at=new Date().toISOString(),o.last_observation=dp(u),await Zn(s,o).catch(()=>{}),u.status!=="running"&&u.status!=="indeterminate")return await $a(s,o,u.status).catch(()=>{}),{verdict:u};let d=Math.min(n*4,Math.round(n*Math.pow(1.25,c-1))),p=Math.floor(Math.random()*1e3),f=Math.min(d+p,Math.max(0,a-Date.now())),m=e.makeWakeSignal?.();await fN(f,i,m)}return await $a(s,o,"timeout").catch(()=>{}),{verdict:{status:"timeout",exitCode:2,summary:`timed out after ${Z_(r)}`,details:l?{attempts:c,last_poll_at:o.last_poll_at??null,last_observation:dp(l)}:{attempts:c}}}}async function Q_(e,t,r,n,s){let[o,i]=await Promise.all([r.stdout.finish(n,`${s} # stdout`),r.stderr.finish(n,`${s} # stderr`)]);return{status:e??null,signal:t??null,stdout:o,stderr:i}}function dp(e){return{status:e.status,exit_code:e.exitCode,summary:e.summary,...e.details?{details:e.details}:{}}}function pN(e,t,r){return ue("wait interrupted",{attempts:t,last_poll_at:r??null,...e?{last_observation:dp(e)}:{}})}async function fN(e,t,r){t.aborted||e<=0||r?.aborted||await new Promise(n=>{let s=setTimeout(o,e);function o(){clearTimeout(s),t.removeEventListener("abort",i),r?.removeEventListener("abort",a),n()}let i=()=>o(),a=()=>o();t.addEventListener("abort",i,{once:!0}),r?.addEventListener("abort",a,{once:!0})})}function Z_(e){return e%36e5===0?`${e/36e5}h`:e%6e4===0?`${e/6e4}m`:e%1e3===0?`${e/1e3}s`:`${e}ms`}var eE=E(()=>{"use strict";L_();Y_();on();tr();bo()});var tE={};ne(tE,{readGhConditionalJson:()=>st,readGhEtagCache:()=>Wa,sweepGhEtagCache:()=>ap});import{execFileSync as mN}from"node:child_process";async function st(e){if(e.signal?.aborted)return{status:1,stdout:"",stderr:"gh call cancelled",quotaFree:!1};let t=e.cwd??process.cwd(),r=e.env??process.env,n=yN(t),s={...n?{owner:n.owner,repo:n.repo}:{},...e.params??{}},o={args:e.args??hN(e.path),path:e.path,actor:gN(r),...Object.keys(s).length>0?{params:s}:{}};try{let i;if(e.residentRead)i=await e.residentRead(o);else{let a=Ie(t,r),c=po(t,a);try{i=await c.githubRead(o)}finally{await c.close()}}return{status:i.status,stdout:i.stdout,stderr:i.stderr,quotaFree:i.quotaFree}}catch(i){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:"rsp-github-resident-unavailable",repair:"restore the rsp resident and GitHub credential, then retry",detail:i instanceof Error?i.message:String(i)}),quotaFree:!1}}}function gN(e){let t=(e.RED_AFK_GH_ACTOR??"").trim();return t===""?"session":`proxied-agent:${t}`}function hN(e){return/\/pulls\/[^/]+\/?$/.test(e)?["pr","view"]:/\/pulls\/?$/.test(e)?["pr","list"]:/\/issues\/[^/]+\/?$/.test(e)?["issue","view"]:/\/issues\/?$/.test(e)?["issue","list"]:/\/actions\/runs\/[^/]+\/?$/.test(e)?["run","view"]:/\/actions\/runs\/?$/.test(e)?["run","list"]:["api",e]}function yN(e){let t="";try{t=String(mN("git",["config","--get","remote.origin.url"],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"]})).trim()}catch{return null}let n=t.replace(/^git@[^:]+:/,"").replace(/^ssh:\/\/git@[^/]+\//,"").replace(/^https?:\/\/[^/]+\//,"").replace(/\.git$/,"").replace(/^\/+|\/+$/g,"").split("/").filter(Boolean);return n.length<2?null:{owner:n[n.length-2],repo:n[n.length-1]}}var Ro=E(()=>{"use strict";Be();Zt();Va()});function rE(e){return e==="single-object"?"rest":"graphql"}function nE(e,t){return e==="stable-poll"?"rest":rE(t)}function ot(e){return{none:e}}function de(e,t,r,n,s,o,i){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:i??nE(r,t),budget:n,...a,...i?{only:i}:{},why:o}}function je(e,t,r,n){return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,fallback:null,noFallbackBecause:"a mutation has one observed GitHub API method",why:n}}function oE(e){let t=[],r=0;for(;r<e.length&&e[r].startsWith("-");)r+=e[r]==="-R"||e[r]==="--repo"?2:1;for(;r<e.length&&!e[r].startsWith("-")&&t.length<2;)t.push(e[r]),r+=1;return t}function pp(e){let t=oE(e);if(t.length===0)return"";if(t[0]==="api")return t[1]==="graphql"?"api graphql":"api rest";let r=t.length===1?t[0]:`${t[0]} ${t[1]}`;return t[1]==="list"&&e.includes("--search")?`${r} (search)`:r}function iE(e){return bN.get(pp(e))??null}function fp(e){let t=iE(e);if(!t)throw new Qa(e);return t}var sE,bN,Qa,aE=E(()=>{sE=[de("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),de("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),de("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),de("run view","single-object","stable-poll","rest",ot("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),de("release view","single-object","stable-poll","rest",ot("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),de("pr diff","single-object","one-shot","rest",ot("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),de("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),de("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),de("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),de("release list","multi-node","stable-poll","rest",ot("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),de("run list","multi-node","stable-poll","rest",ot("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),de("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),de("issue list (search)","multi-node","stable-poll","search",ot("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),de("pr list (search)","multi-node","stable-poll","search",ot("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),de("search issues","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search prs","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("search repos","multi-repository","one-shot","search",ot("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),de("api graphql","multi-node","one-shot","graphql",ot("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),de("api rest","single-object","one-shot","rest",ot("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),je("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues` so filing shares the REST mutation rail"),je("issue edit","rest","rest","the write plan PATCHes labels and body at `repos/{o}/{r}/issues/{n}`"),je("issue close","rest","rest","the write plan PATCHes issue state and state reason at `repos/{o}/{r}/issues/{n}`"),je("issue reopen","graphql","graphql","gh reopens with the reopenIssue mutation"),je("issue comment","rest","rest","gh POSTs to `repos/{o}/{r}/issues/{n}/comments`, a REST request"),je("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation"),je("pr create","rest","rest","gh POSTs to `repos/{o}/{r}/pulls`, a REST request"),je("pr comment","rest","rest","a pull request comment is an issue comment: the same REST POST"),je("pr merge","rest","rest","the default merge uses PUT `repos/{o}/{r}/pulls/{n}/merge` so a dry GraphQL pool cannot strand a finished Worker"),je("pr close","graphql","graphql","gh closes with a GraphQL mutation"),je("pr edit","graphql","graphql","gh edits with GraphQL mutations"),je("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation"),je("pr update-branch","rest","rest","gh PUTs `repos/{o}/{r}/pulls/{n}/update-branch`, a REST request"),je("label create","rest","rest","gh POSTs `repos/{o}/{r}/labels`, a REST request")],bN=new Map(sE.map(e=>[e.key,e]));Qa=class extends Error{name="UnclassifiedGithubOperationError";operation;args;constructor(t){let r=pp(t);super(`unclassified GitHub operation ${JSON.stringify(r||"(empty argv)")}: add an entry to GITHUB_OPERATIONS in packages/github/surface.ts stating its cardinality. Defaulting to GraphQL is what sent every single-object poll to the node-point pool (ADR 0132 decision 4).`),this.operation=r,this.args=[...t]}}});function cE(e){return e instanceof ss}function Xa(e=process.env){let t=e[mp];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function os(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((i,a)=>{n=setTimeout(()=>a(new ss(e,t)),t),n.unref?.()}),o=Promise.resolve().then(r);o.catch(()=>{});try{return await Promise.race([o,s])}finally{n!==void 0&&clearTimeout(n)}}function vo(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??Xa();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let o=AbortSignal.timeout(r),i=s?.signal??null,a=i==null?o:AbortSignal.any([i,o]),c=wN(n);try{return await os(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw cE(l)?l:o.aborted&&i?.aborted!==!0?new ss(c,r,{cause:l}):l}}}function wN(e){let t=typeof e=="string"?e:e instanceof URL?e.href:typeof e.url=="string"?e.url:"request";try{return new URL(t).pathname}catch{return t}}var mp,ss,gp=E(()=>{mp="RED_GITHUB_REQUEST_TIMEOUT_MS",ss=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${mp} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}}});function uE(e){if(e===!0)return"on";if(typeof e!="string")return Za;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":Za}function hp(e){return(e??Za)==="on"}function yp(e=process.env){return uE(e[lE])}var Za,lE,bp=E(()=>{Za="off",lE="RED_GITHUB_BUDGET_GATE"});import{execFile as _N}from"node:child_process";import{renameSync as EN,rmSync as kN,statSync as SN,writeFileSync as RN}from"node:fs";import{readdir as Q3,readFile as vN,rename as TN,rm as xN,stat as ON,writeFile as CN}from"node:fs/promises";import{promisify as AN}from"node:util";function pE(e){let t=e.maxBytes;if(t!==void 0&&(!Number.isSafeInteger(t)||t<0))throw new Error("lane retention maxBytes must be a non-negative safe integer");return t}function fE(e){return e.code==="ENOENT"}async function is(e,t,r,n=ON){let s=pE(r);if(s===void 0)return!1;let o=0;try{o=(await n(e)).size}catch(i){if(!fE(i))throw i}return o+t>s}function mE(e,t,r,n=SN){let s=pE(r);if(s===void 0)return!1;let o=0;try{o=n(e).size}catch(i){if(!fE(i))throw i}return o+t>s}async function LN(e,t,r){try{return await PN("tq",["trim","--keep-last",String(t),"--in-place",e],{timeout:r,windowsHide:!0}),!0}catch{return!1}}function GN(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("lane retention keepLast must be a non-negative safe integer")}function NN(e){if(e.length===0)return"";let t=Fe({trailer:!1});return e.map(r=>t.push(r)).join("")}async function DN(e,t){let r=`${e}.retaining-${process.pid}`;try{await CN(r,t,{encoding:"utf8",mode:384}),await TN(r,e)}finally{await xN(r,{force:!0})}}function gE(e,t){let r=`${e}.retaining-${process.pid}`;try{RN(r,t,{encoding:"utf8",mode:384}),EN(r,e)}finally{kN(r,{force:!0})}}async function as(e,t,r={}){GN(t);let n=r.timeoutMs??IN;if(await(r.runTq??LN)(e,t,n))return"tq";let o=await vN(e,"utf8"),i=o.endsWith(`
55
55
  `)?o:o.slice(0,o.lastIndexOf(`
56
- `)+1),a=i===""?[]:Te(i),c=t===0?[]:a.slice(-t);return await PN(e,AN(c)),"js"}var TN,Qe,xN,j3,yr,aE,wt,un=E(()=>{V();TN=vN(gN),Qe=.5,xN=5e3,j3=256*1024*1024,yr=1024*1024,aE=14*24*60*60*1e3,wt={"process-deaths":{maxBytes:4*yr,maxAgeMs:aE,targetRatio:Qe},"github-spend":{maxBytes:8*yr,targetRatio:Qe},"github-balance":{maxBytes:64*1024,targetRatio:Qe},"github-balance-history":{maxBytes:2*yr,targetRatio:Qe},"castle-singleton-events":{maxBytes:2*yr,targetRatio:Qe},"rsp-telemetry-spool":{maxBytes:8*yr,targetRatio:Qe},"rsp-telemetry-corrections":{maxBytes:yr,targetRatio:Qe},"death-attributions":{maxBytes:yr,maxAgeMs:aE,targetRatio:Qe},"worker-log":{maxLines:5e4,targetRatio:Qe},"worker-liveness":{maxBytes:yr,targetRatio:Qe},"castle-history":{maxLines:1e4,targetRatio:Qe}}});import{appendFile as IN,mkdir as LN,readFile as pE}from"node:fs/promises";import{dirname as GN}from"node:path";function wp(e){let t=e.now??(()=>new Date().toISOString()),r=wt["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=FN(o.operation,o.cost,o.observedAt??t(),o.actor),a=Fe().push(BN(i)),c=s.then(async()=>{await LN(GN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await os(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 NN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await is(e.path,DN(d,l,p))}await IN(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=bp(o.from,"report window start"),a=bp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await MN(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 NN(e){try{let t=await pE(e,"utf8");return t.trim()===""?[]:Te(t)}catch(t){if(fE(t)&&t.code==="ENOENT")return[];throw t}}function DN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=$N(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function $N(e){return e.map(t=>Fe({trailer:!1}).push(t)).join("")}function FN(e,t,r,n){if(bp(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function MN(e){let t;try{t=await pE(e,"utf8")}catch(o){if(fE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
56
+ `)+1),a=i===""?[]:Te(i),c=t===0?[]:a.slice(-t);return await DN(e,NN(c)),"js"}var PN,Qe,IN,e4,yr,dE,wt,un=E(()=>{J();PN=AN(_N),Qe=.5,IN=5e3,e4=256*1024*1024,yr=1024*1024,dE=14*24*60*60*1e3,wt={"process-deaths":{maxBytes:4*yr,maxAgeMs:dE,targetRatio:Qe},"github-spend":{maxBytes:8*yr,targetRatio:Qe},"github-balance":{maxBytes:64*1024,targetRatio:Qe},"github-balance-history":{maxBytes:2*yr,targetRatio:Qe},"castle-singleton-events":{maxBytes:2*yr,targetRatio:Qe},"rsp-telemetry-spool":{maxBytes:8*yr,targetRatio:Qe},"rsp-telemetry-corrections":{maxBytes:yr,targetRatio:Qe},"death-attributions":{maxBytes:yr,maxAgeMs:dE,targetRatio:Qe},"worker-log":{maxLines:5e4,targetRatio:Qe},"worker-liveness":{maxBytes:yr,targetRatio:Qe},"castle-history":{maxLines:1e4,targetRatio:Qe}}});import{appendFile as $N,mkdir as FN,readFile as hE}from"node:fs/promises";import{dirname as MN}from"node:path";function _p(e){let t=e.now??(()=>new Date().toISOString()),r=wt["github-spend"],n={...r,...e.maxBytes===void 0?{}:{maxBytes:e.maxBytes}},s=Promise.resolve();return{record(o){let i=UN(o.operation,o.cost,o.observedAt??t(),o.actor),a=Fe().push(WN(i)),c=s.then(async()=>{await FN(MN(e.path),{recursive:!0});let l=Buffer.byteLength(a);if(await is(e.path,l,n)){let u=n.maxBytes;if(l>u)throw new Error(`GitHub spend observation exceeds its ${u}-byte lane ceiling`);let d=await BN(e.path),p=Math.max(Math.floor(u*r.targetRatio),l);await as(e.path,jN(d,l,p))}await $N(e.path,a,"utf8")});return s=c.then(()=>{},()=>{}),c},async report(o){await s;let i=wp(o.from,"report window start"),a=wp(o.to,"report window end");if(a<=i)throw new Error("GitHub attribution report window end must be after its start");let c=await HN(e.path),l=new Map;for(let d of c.observations){let p=Date.parse(d.observed_at);if(p<i||p>=a||o.pool!==void 0&&d.pool!==o.pool)continue;let f=`${d.pool}\0${d.operation_key}\0${d.actor??""}`,m=l.get(f);l.set(f,{operation_key:d.operation_key,pool:d.pool,...d.actor===void 0?{}:{actor:d.actor},count:(m?.count??0)+1,cost:(m?.cost??0)+d.cost})}let u=[...l.values()].sort((d,p)=>p.cost-d.cost||p.count-d.count||d.operation_key.localeCompare(p.operation_key)||d.pool.localeCompare(p.pool)||(d.actor??"").localeCompare(p.actor??""));return{version:1,origin:"process-attribution",window:{from:o.from,to:o.to},pool:o.pool??null,total_count:u.reduce((d,p)=>d+p.count,0),total_cost:u.reduce((d,p)=>d+p.cost,0),operations:u,unreadable_records:c.unreadable}}}}async function BN(e){try{let t=await hE(e,"utf8");return t.trim()===""?[]:Te(t)}catch(t){if(yE(t)&&t.code==="ENOENT")return[];throw t}}function jN(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=qN(e.slice(-o));Buffer.byteLength(i)+t<=r?n=o:s=o-1}return n}function qN(e){return e.map(t=>Fe({trailer:!1}).push(t)).join("")}function UN(e,t,r,n){if(wp(r,"GitHub spend observation"),!Number.isSafeInteger(t)||t<0)throw new Error(`GitHub spend observation cost must be a non-negative safe integer; received ${t}`);if(n!==void 0&&n.trim()==="")throw new Error("GitHub spend observation actor must be non-empty when supplied");return{version:1,observed_at:r,operation_key:e.key,pool:e.budget,...n===void 0?{}:{actor:n},cost:t}}async function HN(e){let t;try{t=await hE(e,"utf8")}catch(o){if(yE(o)&&o.code==="ENOENT")return{observations:[],unreadable:0};throw o}let r=[],n=0,s=t.split(`
57
57
  `);for(let o=0;o<s.length;o+=1){let i=s[o];if(i.trim()==="")continue;let a=s[o+1];if(!i.startsWith("[]{")||a===void 0||a.trim()===""){n+=1;continue}let c;try{c=Te(`${i}
58
58
  ${a}
59
- `)[0]}catch{n+=1,o+=1;continue}if(!jN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function BN(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function jN(e){return qN(e)?e.version===1&&typeof e.observed_at=="string"&&Number.isFinite(Date.parse(e.observed_at))&&typeof e.operation_key=="string"&&e.operation_key!==""&&(e.pool==="rest"||e.pool==="graphql"||e.pool==="search")&&(e.actor===void 0||typeof e.actor=="string"&&e.actor!=="")&&typeof e.cost=="number"&&Number.isSafeInteger(e.cost)&&e.cost>=0:!1}function bp(e,t){let r=Date.parse(e);if(!Number.isFinite(r))throw new Error(`${t} must be an ISO-8601 instant; received ${JSON.stringify(e)}`);return r}function qN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fE(e){return e instanceof Error&&"code"in e}var mE=E(()=>{un();V()});var kp=I((_p,Ep)=>{(function(e,t){typeof _p=="object"&&typeof Ep<"u"?Ep.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(_p,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,S,g={}){var R,T,x;for(R in S)x=S[R],g[R]=(T=$[R])!=null?T:x;return g},n=function($,S,g={}){var R,T;for(R in $)T=$[R],S[R]!==void 0&&(g[R]=T);return g},s={load:r,overwrite:n},o;o=class{constructor(S,g){this.incr=S,this.decr=g,this._first=null,this._last=null,this.length=0}push(S){var g;this.length++,typeof this.incr=="function"&&this.incr(),g={value:S,prev:this._last,next:null},this._last!=null?(this._last.next=g,this._last=g):this._first=this._last=g}shift(){var S;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),S=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,S}first(){if(this._first!=null)return this._first.value}getArray(){var S,g,R;for(S=this._first,R=[];S!=null;)R.push((g=S,S=S.next,g.value));return R}forEachShift(S){var g;for(g=this.shift();g!=null;)S(g),g=this.shift()}debug(){var S,g,R,T,x;for(S=this._first,x=[];S!=null;)x.push((g=S,S=S.next,{value:g.value,prev:(R=g.prev)!=null?R.value:void 0,next:(T=g.next)!=null?T.value:void 0}));return x}};var i=o,a;a=class{constructor(S){if(this.instance=S,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(g,R)=>this._addListener(g,"many",R),this.instance.once=(g,R)=>this._addListener(g,"once",R),this.instance.removeAllListeners=(g=null)=>g!=null?delete this._events[g]:this._events={}}_addListener(S,g,R){var T;return(T=this._events)[S]==null&&(T[S]=[]),this._events[S].push({cb:R,status:g}),this.instance}listenerCount(S){return this._events[S]!=null?this._events[S].length:0}async trigger(S,...g){var R,T;try{return S!=="debug"&&this.trigger("debug",`Event triggered: ${S}`,g),this._events[S]==null?void 0:(this._events[S]=this._events[S].filter(function(x){return x.status!=="none"}),T=this._events[S].map(async x=>{var P,N;if(x.status!=="none"){x.status==="once"&&(x.status="none");try{return N=typeof x.cb=="function"?x.cb(...g):void 0,typeof N?.then=="function"?await N:N}catch(X){return P=X,this.trigger("error",P),null}}}),(await Promise.all(T)).find(function(x){return x!=null}))}catch(x){return R=x,this.trigger("error",R),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(S){var g;this.Events=new u(this),this._length=0,this._lists=function(){var R,T,x;for(x=[],g=R=1,T=S;1<=T?R<=T:R>=T;g=1<=T?++R:--R)x.push(new l(()=>this.incr(),()=>this.decr()));return x}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(S){return this._lists[S.options.priority].push(S)}queued(S){return S!=null?this._lists[S].length:this._length}shiftAll(S){return this._lists.forEach(function(g){return g.forEachShift(S)})}getFirst(S=this._lists){var g,R,T;for(g=0,R=S.length;g<R;g++)if(T=S[g],T.length>0)return T;return[]}shiftLastFrom(S){return this.getFirst(this._lists.slice(S).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,h,w,b,y,_;y=10,w=5,_=s,h=m,b=class{constructor(S,g,R,T,x,P,N,X){this.task=S,this.args=g,this.rejectOnDrop=x,this.Events=P,this._states=N,this.Promise=X,this.options=_.load(R,T),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===T.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((he,ke)=>{this._resolve=he,this._reject=ke}),this.retryCount=0}_sanitizePriority(S){var g;return g=~~S!==S?w:S,g<0?0:g>y-1?y-1:g}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:S,message:g="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(S??new h(g)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(S){var g;if(g=this._states.jobStatus(this.options.id),!(g===S||S==="DONE"&&g===null))throw new h(`Invalid job status ${g}, expected ${S}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(S,g){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:S,blocked:g})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(S,g,R,T){var x,P,N;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(N=await(S!=null?S.schedule(this.options,this.task,...this.args):this.task(...this.args)),g())return this.doDone(P),await T(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(X){return x=X,this._onFailure(x,P,g,R,T)}}doExpire(S,g,R){var T,x;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),x={args:this.args,options:this.options,retryCount:this.retryCount},T=new h(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(T,x,S,g,R)}async _onFailure(S,g,R,T,x){var P,N;if(R())return P=await this.Events.trigger("failed",S,g),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,g),this.retryCount++,T(N)):(this.doDone(g),await x(this.options,g),this._assertStatus("DONE"),this._reject(S))}doDone(S){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",S)}};var k=b,v,O,A;A=s,v=m,O=class{constructor(S,g,R){this.instance=S,this.storeOptions=g,this.clientId=this.instance._randomIndex(),A.load(R,R,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var S;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(S=this.heartbeat=setInterval(()=>{var g,R,T,x,P;if(x=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&x>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=x,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&x>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:g,reservoirIncreaseMaximum:T,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=x,R=T!=null?Math.min(g,T-P):g,R>0))return this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?S.unref():void 0:clearInterval(this.heartbeat)}async __publish__(S){return await this.yieldLoop(),this.instance.Events.trigger("message",S.toString())}async __disconnect__(S){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(S=0){return new this.Promise(function(g,R){return setTimeout(g,S)})}computePenalty(){var S;return(S=this.storeOptions.penalty)!=null?S:15*this.storeOptions.minTime||5e3}async __updateSettings__(S){return await this.yieldLoop(),A.overwrite(S,S,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(S){return await this.yieldLoop(),this._nextRequest+this.timeout<S}computeCapacity(){var S,g;return{maxConcurrent:S,reservoir:g}=this.storeOptions,S!=null&&g!=null?Math.min(S-this._running,g):S!=null?S-this._running:g??null}conditionsCheck(S){var g;return g=this.computeCapacity(),g==null||S<=g}async __incrementReservoir__(S){var g;return await this.yieldLoop(),g=this.storeOptions.reservoir+=S,this.instance._drainAll(this.computeCapacity()),g}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(S){return this._unblockTime>=S}check(S,g){return this.conditionsCheck(S)&&this._nextRequest-g<=0}async __check__(S){var g;return await this.yieldLoop(),g=Date.now(),this.check(S,g)}async __register__(S,g,R){var T,x;return await this.yieldLoop(),T=Date.now(),this.conditionsCheck(g)?(this._running+=g,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=g),x=Math.max(this._nextRequest-T,0),this._nextRequest=T+x+this.storeOptions.minTime,{success:!0,wait:x,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(S,g){var R,T,x;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&g>this.storeOptions.maxConcurrent)throw new v(`Impossible to add a job having a weight of ${g} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return T=Date.now(),x=this.storeOptions.highWater!=null&&S===this.storeOptions.highWater&&!this.check(g,T),R=this.strategyIsBlock()&&(x||this.isBlocked(T)),R&&(this._unblockTime=T+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:x,blocked:R,strategy:this.storeOptions.strategy}}async __free__(S,g){return await this.yieldLoop(),this._running-=g,this._done+=g,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var C=O,D,J;D=m,J=class{constructor(S){this.status=S,this._jobs={},this.counts=this.status.map(function(){return 0})}next(S){var g,R;if(g=this._jobs[S],R=g+1,g!=null&&R<this.status.length)return this.counts[g]--,this.counts[R]++,this._jobs[S]++;if(g!=null)return this.counts[g]--,delete this._jobs[S]}start(S){var g;return g=0,this._jobs[S]=g,this.counts[g]++}remove(S){var g;return g=this._jobs[S],g!=null&&(this.counts[g]--,delete this._jobs[S]),g!=null}jobStatus(S){var g;return(g=this.status[this._jobs[S]])!=null?g:null}statusJobs(S){var g,R,T,x,P;if(S!=null){if(R=this.status.indexOf(S),R<0)throw new D(`status must be one of ${this.status.join(", ")}`);T=this._jobs,x=[];for(g in T)P=T[g],P===R&&x.push(g);return x}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((S,g,R)=>(S[this.status[R]]=g,S),{})}};var z=J,Y,G;Y=i,G=class{constructor(S,g){this.schedule=this.schedule.bind(this),this.name=S,this.Promise=g,this._running=0,this._queue=new Y}isEmpty(){return this._queue.length===0}async _tryToRun(){var S,g,R,T,x,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:S,resolve:x,reject:T}=this._queue.shift(),g=await async function(){try{return P=await N(...S),function(){return x(P)}}catch(X){return R=X,function(){return T(R)}}}(),this._running--,this._tryToRun(),g()}schedule(S,...g){var R,T,x;return x=T=null,R=new this.Promise(function(P,N){return x=P,T=N}),this._queue.push({task:S,args:g,resolve:x,reject:T}),this._tryToRun(),R}};var U=G,Ge="2.19.5",le={version:Ge},xt=Object.freeze({version:Ge,default:le}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),q=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),qt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Ot,Ne,De,Ut,Gn,lr;lr=s,Ot=c,Ut=L,De=q,Gn=qt,Ne=function(){class ${constructor(g={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=g,lr.load(this.limiterOptions,this.defaults,this),this.Events=new Ot(this),this.instances={},this.Bottleneck=dy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Ut(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new De(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(g=""){var R;return(R=this.instances[g])!=null?R:(()=>{var T;return T=this.instances[g]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${g}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",T,g),T})()}async deleteKey(g=""){var R,T;return T=this.instances[g],this.connection&&(R=await this.connection.__runCommand__(["del",...Gn.allKeys(`${this.id}-${g}`)])),T!=null&&(delete this.instances[g],await T.disconnect()),T!=null||R>0}limiters(){var g,R,T,x;R=this.instances,T=[];for(g in R)x=R[g],T.push({key:g,limiter:x});return T}keys(){return Object.keys(this.instances)}async clusterKeys(){var g,R,T,x,P,N,X,he,ke;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],g=null,ke=`b_${this.id}-`.length,R=9;g!==0;)for([he,T]=await this.connection.__runCommand__(["scan",g??0,"match",`b_${this.id}-*_settings`,"count",1e4]),g=~~he,x=0,X=T.length;x<X;x++)P=T[x],N.push(P.slice(ke,-R));return N}_startAutoCleanup(){var g;return clearInterval(this.interval),typeof(g=this.interval=setInterval(async()=>{var R,T,x,P,N,X;N=Date.now(),x=this.instances,P=[];for(T in x){X=x[T];try{await X._store.__groupCheck__(N)?P.push(this.deleteKey(T)):P.push(void 0)}catch(he){R=he,P.push(X.Events.trigger("error",R))}}return P},this.timeout/2)).unref=="function"?g.unref():void 0}updateSettings(g={}){if(lr.overwrite(g,this.defaults,this),lr.overwrite(g,g,this.limiterOptions),g.timeout!=null)return this._startAutoCleanup()}disconnect(g=!0){var R;if(!this.sharedConnection)return(R=this.connection)!=null?R.disconnect(g):void 0}}return $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var Us=Ne,Jr,Hs,ny;ny=s,Hs=c,Jr=function(){class ${constructor(g={}){this.options=g,ny.load(this.options,this.defaults,this),this.Events=new Hs(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((g,R)=>this._resolve=g)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(g){var R;return this._arr.push(g),R=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),R}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var oA=Jr,iA=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),aA=t(xt),sy,oy,vu,Tu,iy,xu,ay,cy,ly,Ou,Ct,uy=[].splice;xu=10,oy=5,Ct=s,ay=p,Tu=k,iy=C,cy=iA,vu=c,ly=z,Ou=U,sy=function(){class ${constructor(g={},...R){var T,x;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(g,R),Ct.load(g,this.instanceDefaults,this),this._queues=new ay(xu),this._scheduled={},this._states=new ly(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new vu(this),this._submitLock=new Ou("submit",this.Promise),this._registerLock=new Ou("register",this.Promise),x=Ct.load(g,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return T=Ct.load(g,this.redisStoreDefaults,{}),new cy(this,x,T);if(this.datastore==="local")return T=Ct.load(g,this.localStoreDefaults,{}),new iy(this,x,T);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(g,R){if(!(g!=null&&typeof g=="object"&&R.length===0))throw new $.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(g){return this._store.__publish__(g)}disconnect(g=!0){return this._store.__disconnect__(g)}chain(g){return this._limiter=g,this}queued(g){return this._queues.queued(g)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(g){return this._states.jobStatus(g)}jobs(g){return this._states.statusJobs(g)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(g=1){return this._store.__check__(g)}_clearGlobalState(g){return this._scheduled[g]!=null?(clearTimeout(this._scheduled[g].expiration),delete this._scheduled[g],!0):!1}async _free(g,R,T,x){var P,N;try{if({running:N}=await this._store.__free__(g,T.weight),this.Events.trigger("debug",`Freed ${T.id}`,x),N===0&&this.empty())return this.Events.trigger("idle")}catch(X){return P=X,this.Events.trigger("error",P)}}_run(g,R,T){var x,P,N;return R.doRun(),x=this._clearGlobalState.bind(this,g),N=this._run.bind(this,g,R),P=this._free.bind(this,g,R),this._scheduled[g]={timeout:setTimeout(()=>R.doExecute(this._limiter,x,N,P),T),expiration:R.options.expiration!=null?setTimeout(function(){return R.doExpire(x,N,P)},T+R.options.expiration):void 0,job:R}}_drainOne(g){return this._registerLock.schedule(()=>{var R,T,x,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:R}=x=N.first(),g!=null&&P.weight>g?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:R,options:P}),T=this._randomIndex(),this._store.__register__(T,P.weight,P.expiration).then(({success:X,wait:he,reservoir:ke})=>{var Ws;return this.Events.trigger("debug",`Drained ${P.id}`,{success:X,args:R,options:P}),X?(N.shift(),Ws=this.empty(),Ws&&this.Events.trigger("empty"),ke===0&&this.Events.trigger("depleted",Ws),this._run(T,x,he),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(g,R=0){return this._drainOne(g).then(T=>{var x;return T!=null?(x=g!=null?g-T:g,this._drainAll(x,R+T)):this.Promise.resolve(R)}).catch(T=>this.Events.trigger("error",T))}_dropAllQueued(g){return this._queues.shiftAll(function(R){return R.doDrop({message:g})})}stop(g={}){var R,T;return g=Ct.load(g,this.stopDefaults),T=x=>{var P;return P=()=>{var N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===x},new this.Promise((N,X)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},R=g.dropWaitingJobs?(this._run=function(x,P){return P.doDrop({message:g.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var x,P,N;P=this._scheduled;for(x in P)N=P[x],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:g.dropErrorMessage}));return this._dropAllQueued(g.dropErrorMessage),T(0)}))):this.schedule({priority:xu-1,weight:0},()=>T(1)),this._receive=function(x){return x._reject(new $.prototype.BottleneckError(g.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),R}async _addToQueue(g){var R,T,x,P,N,X,he;({args:R,options:P}=g);try{({reachedHWM:N,blocked:T,strategy:he}=await this._store.__submit__(this.queued(),P.weight))}catch(ke){return x=ke,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:R,options:P,error:x}),g.doDrop({error:x}),!1}return T?(g.doDrop(),!0):N&&(X=he===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):he===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):he===$.prototype.strategy.OVERFLOW?g:void 0,X?.doDrop(),X==null||he===$.prototype.strategy.OVERFLOW)?(X==null&&g.doDrop(),N):(g.doQueue(N,T),this._queues.push(g),await this._drainAll(),N)}_receive(g){return this._states.jobStatus(g.options.id)!=null?(g._reject(new $.prototype.BottleneckError(`A job with the same id already exists (id=${g.options.id})`)),!1):(g.doReceive(),this._submitLock.schedule(this._addToQueue,g))}submit(...g){var R,T,x,P,N,X,he;return typeof g[0]=="function"?(N=g,[T,...g]=N,[R]=uy.call(g,-1),P=Ct.load({},this.jobDefaults)):(X=g,[P,T,...g]=X,[R]=uy.call(g,-1),P=Ct.load(P,this.jobDefaults)),he=(...ke)=>new this.Promise(function(Ws,lA){return T(...ke,function(...py){return(py[0]!=null?lA:Ws)(py)})}),x=new Tu(he,g,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),x.promise.then(function(ke){return typeof R=="function"?R(...ke):void 0}).catch(function(ke){return Array.isArray(ke)?typeof R=="function"?R(...ke):void 0:typeof R=="function"?R(ke):void 0}),this._receive(x)}schedule(...g){var R,T,x;return typeof g[0]=="function"?([x,...g]=g,T={}):[T,x,...g]=g,R=new Tu(x,g,T,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(R),R.promise}wrap(g){var R,T;return R=this.schedule.bind(this),T=function(...x){return R(g.bind(this),...x)},T.withOptions=function(x,...P){return R(x,g,...P)},T}async updateSettings(g={}){return await this._store.__updateSettings__(Ct.overwrite(g,this.storeDefaults)),Ct.overwrite(g,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(g=0){return this._store.__incrementReservoir__(g)}}return $.default=$,$.Events=vu,$.version=$.prototype.version=aA.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=Us,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=q,$.Batcher=$.prototype.Batcher=oA,$.prototype.jobDefaults={priority:oy,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 dy=sy,cA=dy;return cA})});var rr,Sp=E(()=>{rr=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 HN(e){return e.request!==void 0}async function gE(e,t,r,n){if(!HN(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 WN(e,t,r,n){let s=new hE.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(JN.bind(null,e,t,r),n)}async function JN(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 rr(s.data.errors[0].message,500,{request:n,response:s});return gE(e,t,o,n)}return s}function Rp(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",gE.bind(null,r,n)),e.hook.wrap("request",WN.bind(null,r,n))),n}var hE,UN,yE=E(()=>{hE=Zi(kp(),1);Sp();UN="0.0.0-development";Rp.VERSION=UN});function KN(e,t,r){return e.retryLimiter.schedule(zN,e,t,r)}async function zN(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=YN(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,vp),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,vp),i&&await e.search.key(e.id).schedule(l,vp);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 YN(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 XN(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function ec(e,t){let{enabled:r=!0,Bottleneck:n=wE.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:_E,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
59
+ `)[0]}catch{n+=1,o+=1;continue}if(!JN(c)){n+=1,o+=1;continue}r.push(c),o+=1}return{observations:r,unreadable:n}}function WN(e){return{version:e.version,observed_at:e.observed_at,operation_key:e.operation_key,pool:e.pool,...e.actor===void 0?{}:{actor:e.actor},cost:e.cost}}function JN(e){return VN(e)?e.version===1&&typeof e.observed_at=="string"&&Number.isFinite(Date.parse(e.observed_at))&&typeof e.operation_key=="string"&&e.operation_key!==""&&(e.pool==="rest"||e.pool==="graphql"||e.pool==="search")&&(e.actor===void 0||typeof e.actor=="string"&&e.actor!=="")&&typeof e.cost=="number"&&Number.isSafeInteger(e.cost)&&e.cost>=0:!1}function wp(e,t){let r=Date.parse(e);if(!Number.isFinite(r))throw new Error(`${t} must be an ISO-8601 instant; received ${JSON.stringify(e)}`);return r}function VN(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yE(e){return e instanceof Error&&"code"in e}var bE=E(()=>{un();J()});var Sp=I((Ep,kp)=>{(function(e,t){typeof Ep=="object"&&typeof kp<"u"?kp.exports=t():typeof define=="function"&&define.amd?define(t):e.Bottleneck=t()})(Ep,function(){"use strict";var e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function t($){return $&&$.default||$}var r=function($,S,g={}){var R,T,O;for(R in S)O=S[R],g[R]=(T=$[R])!=null?T:O;return g},n=function($,S,g={}){var R,T;for(R in $)T=$[R],S[R]!==void 0&&(g[R]=T);return g},s={load:r,overwrite:n},o;o=class{constructor(S,g){this.incr=S,this.decr=g,this._first=null,this._last=null,this.length=0}push(S){var g;this.length++,typeof this.incr=="function"&&this.incr(),g={value:S,prev:this._last,next:null},this._last!=null?(this._last.next=g,this._last=g):this._first=this._last=g}shift(){var S;if(this._first!=null)return this.length--,typeof this.decr=="function"&&this.decr(),S=this._first.value,(this._first=this._first.next)!=null?this._first.prev=null:this._last=null,S}first(){if(this._first!=null)return this._first.value}getArray(){var S,g,R;for(S=this._first,R=[];S!=null;)R.push((g=S,S=S.next,g.value));return R}forEachShift(S){var g;for(g=this.shift();g!=null;)S(g),g=this.shift()}debug(){var S,g,R,T,O;for(S=this._first,O=[];S!=null;)O.push((g=S,S=S.next,{value:g.value,prev:(R=g.prev)!=null?R.value:void 0,next:(T=g.next)!=null?T.value:void 0}));return O}};var i=o,a;a=class{constructor(S){if(this.instance=S,this._events={},this.instance.on!=null||this.instance.once!=null||this.instance.removeAllListeners!=null)throw new Error("An Emitter already exists for this object");this.instance.on=(g,R)=>this._addListener(g,"many",R),this.instance.once=(g,R)=>this._addListener(g,"once",R),this.instance.removeAllListeners=(g=null)=>g!=null?delete this._events[g]:this._events={}}_addListener(S,g,R){var T;return(T=this._events)[S]==null&&(T[S]=[]),this._events[S].push({cb:R,status:g}),this.instance}listenerCount(S){return this._events[S]!=null?this._events[S].length:0}async trigger(S,...g){var R,T;try{return S!=="debug"&&this.trigger("debug",`Event triggered: ${S}`,g),this._events[S]==null?void 0:(this._events[S]=this._events[S].filter(function(O){return O.status!=="none"}),T=this._events[S].map(async O=>{var P,N;if(O.status!=="none"){O.status==="once"&&(O.status="none");try{return N=typeof O.cb=="function"?O.cb(...g):void 0,typeof N?.then=="function"?await N:N}catch(Z){return P=Z,this.trigger("error",P),null}}}),(await Promise.all(T)).find(function(O){return O!=null}))}catch(O){return R=O,this.trigger("error",R),null}}};var c=a,l,u,d;l=i,u=c,d=class{constructor(S){var g;this.Events=new u(this),this._length=0,this._lists=function(){var R,T,O;for(O=[],g=R=1,T=S;1<=T?R<=T:R>=T;g=1<=T?++R:--R)O.push(new l(()=>this.incr(),()=>this.decr()));return O}.call(this)}incr(){if(this._length++===0)return this.Events.trigger("leftzero")}decr(){if(--this._length===0)return this.Events.trigger("zero")}push(S){return this._lists[S.options.priority].push(S)}queued(S){return S!=null?this._lists[S].length:this._length}shiftAll(S){return this._lists.forEach(function(g){return g.forEachShift(S)})}getFirst(S=this._lists){var g,R,T;for(g=0,R=S.length;g<R;g++)if(T=S[g],T.length>0)return T;return[]}shiftLastFrom(S){return this.getFirst(this._lists.slice(S).reverse()).shift()}};var p=d,f;f=class extends Error{};var m=f,h,w,b,y,_;y=10,w=5,_=s,h=m,b=class{constructor(S,g,R,T,O,P,N,Z){this.task=S,this.args=g,this.rejectOnDrop=O,this.Events=P,this._states=N,this.Promise=Z,this.options=_.load(R,T),this.options.priority=this._sanitizePriority(this.options.priority),this.options.id===T.id&&(this.options.id=`${this.options.id}-${this._randomIndex()}`),this.promise=new this.Promise((he,ke)=>{this._resolve=he,this._reject=ke}),this.retryCount=0}_sanitizePriority(S){var g;return g=~~S!==S?w:S,g<0?0:g>y-1?y-1:g}_randomIndex(){return Math.random().toString(36).slice(2)}doDrop({error:S,message:g="This job has been dropped by Bottleneck"}={}){return this._states.remove(this.options.id)?(this.rejectOnDrop&&this._reject(S??new h(g)),this.Events.trigger("dropped",{args:this.args,options:this.options,task:this.task,promise:this.promise}),!0):!1}_assertStatus(S){var g;if(g=this._states.jobStatus(this.options.id),!(g===S||S==="DONE"&&g===null))throw new h(`Invalid job status ${g}, expected ${S}. Please open an issue at https://github.com/SGrondin/bottleneck/issues`)}doReceive(){return this._states.start(this.options.id),this.Events.trigger("received",{args:this.args,options:this.options})}doQueue(S,g){return this._assertStatus("RECEIVED"),this._states.next(this.options.id),this.Events.trigger("queued",{args:this.args,options:this.options,reachedHWM:S,blocked:g})}doRun(){return this.retryCount===0?(this._assertStatus("QUEUED"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),this.Events.trigger("scheduled",{args:this.args,options:this.options})}async doExecute(S,g,R,T){var O,P,N;this.retryCount===0?(this._assertStatus("RUNNING"),this._states.next(this.options.id)):this._assertStatus("EXECUTING"),P={args:this.args,options:this.options,retryCount:this.retryCount},this.Events.trigger("executing",P);try{if(N=await(S!=null?S.schedule(this.options,this.task,...this.args):this.task(...this.args)),g())return this.doDone(P),await T(this.options,P),this._assertStatus("DONE"),this._resolve(N)}catch(Z){return O=Z,this._onFailure(O,P,g,R,T)}}doExpire(S,g,R){var T,O;return this._states.jobStatus(this.options.id==="RUNNING")&&this._states.next(this.options.id),this._assertStatus("EXECUTING"),O={args:this.args,options:this.options,retryCount:this.retryCount},T=new h(`This job timed out after ${this.options.expiration} ms.`),this._onFailure(T,O,S,g,R)}async _onFailure(S,g,R,T,O){var P,N;if(R())return P=await this.Events.trigger("failed",S,g),P!=null?(N=~~P,this.Events.trigger("retry",`Retrying ${this.options.id} after ${N} ms`,g),this.retryCount++,T(N)):(this.doDone(g),await O(this.options,g),this._assertStatus("DONE"),this._reject(S))}doDone(S){return this._assertStatus("EXECUTING"),this._states.next(this.options.id),this.Events.trigger("done",S)}};var k=b,v,x,A;A=s,v=m,x=class{constructor(S,g,R){this.instance=S,this.storeOptions=g,this.clientId=this.instance._randomIndex(),A.load(R,R,this),this._nextRequest=this._lastReservoirRefresh=this._lastReservoirIncrease=Date.now(),this._running=0,this._done=0,this._unblockTime=0,this.ready=this.Promise.resolve(),this.clients={},this._startHeartbeat()}_startHeartbeat(){var S;return this.heartbeat==null&&(this.storeOptions.reservoirRefreshInterval!=null&&this.storeOptions.reservoirRefreshAmount!=null||this.storeOptions.reservoirIncreaseInterval!=null&&this.storeOptions.reservoirIncreaseAmount!=null)?typeof(S=this.heartbeat=setInterval(()=>{var g,R,T,O,P;if(O=Date.now(),this.storeOptions.reservoirRefreshInterval!=null&&O>=this._lastReservoirRefresh+this.storeOptions.reservoirRefreshInterval&&(this._lastReservoirRefresh=O,this.storeOptions.reservoir=this.storeOptions.reservoirRefreshAmount,this.instance._drainAll(this.computeCapacity())),this.storeOptions.reservoirIncreaseInterval!=null&&O>=this._lastReservoirIncrease+this.storeOptions.reservoirIncreaseInterval&&({reservoirIncreaseAmount:g,reservoirIncreaseMaximum:T,reservoir:P}=this.storeOptions,this._lastReservoirIncrease=O,R=T!=null?Math.min(g,T-P):g,R>0))return this.storeOptions.reservoir+=R,this.instance._drainAll(this.computeCapacity())},this.heartbeatInterval)).unref=="function"?S.unref():void 0:clearInterval(this.heartbeat)}async __publish__(S){return await this.yieldLoop(),this.instance.Events.trigger("message",S.toString())}async __disconnect__(S){return await this.yieldLoop(),clearInterval(this.heartbeat),this.Promise.resolve()}yieldLoop(S=0){return new this.Promise(function(g,R){return setTimeout(g,S)})}computePenalty(){var S;return(S=this.storeOptions.penalty)!=null?S:15*this.storeOptions.minTime||5e3}async __updateSettings__(S){return await this.yieldLoop(),A.overwrite(S,S,this.storeOptions),this._startHeartbeat(),this.instance._drainAll(this.computeCapacity()),!0}async __running__(){return await this.yieldLoop(),this._running}async __queued__(){return await this.yieldLoop(),this.instance.queued()}async __done__(){return await this.yieldLoop(),this._done}async __groupCheck__(S){return await this.yieldLoop(),this._nextRequest+this.timeout<S}computeCapacity(){var S,g;return{maxConcurrent:S,reservoir:g}=this.storeOptions,S!=null&&g!=null?Math.min(S-this._running,g):S!=null?S-this._running:g??null}conditionsCheck(S){var g;return g=this.computeCapacity(),g==null||S<=g}async __incrementReservoir__(S){var g;return await this.yieldLoop(),g=this.storeOptions.reservoir+=S,this.instance._drainAll(this.computeCapacity()),g}async __currentReservoir__(){return await this.yieldLoop(),this.storeOptions.reservoir}isBlocked(S){return this._unblockTime>=S}check(S,g){return this.conditionsCheck(S)&&this._nextRequest-g<=0}async __check__(S){var g;return await this.yieldLoop(),g=Date.now(),this.check(S,g)}async __register__(S,g,R){var T,O;return await this.yieldLoop(),T=Date.now(),this.conditionsCheck(g)?(this._running+=g,this.storeOptions.reservoir!=null&&(this.storeOptions.reservoir-=g),O=Math.max(this._nextRequest-T,0),this._nextRequest=T+O+this.storeOptions.minTime,{success:!0,wait:O,reservoir:this.storeOptions.reservoir}):{success:!1}}strategyIsBlock(){return this.storeOptions.strategy===3}async __submit__(S,g){var R,T,O;if(await this.yieldLoop(),this.storeOptions.maxConcurrent!=null&&g>this.storeOptions.maxConcurrent)throw new v(`Impossible to add a job having a weight of ${g} to a limiter having a maxConcurrent setting of ${this.storeOptions.maxConcurrent}`);return T=Date.now(),O=this.storeOptions.highWater!=null&&S===this.storeOptions.highWater&&!this.check(g,T),R=this.strategyIsBlock()&&(O||this.isBlocked(T)),R&&(this._unblockTime=T+this.computePenalty(),this._nextRequest=this._unblockTime+this.storeOptions.minTime,this.instance._dropAllQueued()),{reachedHWM:O,blocked:R,strategy:this.storeOptions.strategy}}async __free__(S,g){return await this.yieldLoop(),this._running-=g,this._done+=g,this.instance._drainAll(this.computeCapacity()),{running:this._running}}};var C=x,D,V;D=m,V=class{constructor(S){this.status=S,this._jobs={},this.counts=this.status.map(function(){return 0})}next(S){var g,R;if(g=this._jobs[S],R=g+1,g!=null&&R<this.status.length)return this.counts[g]--,this.counts[R]++,this._jobs[S]++;if(g!=null)return this.counts[g]--,delete this._jobs[S]}start(S){var g;return g=0,this._jobs[S]=g,this.counts[g]++}remove(S){var g;return g=this._jobs[S],g!=null&&(this.counts[g]--,delete this._jobs[S]),g!=null}jobStatus(S){var g;return(g=this.status[this._jobs[S]])!=null?g:null}statusJobs(S){var g,R,T,O,P;if(S!=null){if(R=this.status.indexOf(S),R<0)throw new D(`status must be one of ${this.status.join(", ")}`);T=this._jobs,O=[];for(g in T)P=T[g],P===R&&O.push(g);return O}else return Object.keys(this._jobs)}statusCounts(){return this.counts.reduce((S,g,R)=>(S[this.status[R]]=g,S),{})}};var Y=V,Q,G;Q=i,G=class{constructor(S,g){this.schedule=this.schedule.bind(this),this.name=S,this.Promise=g,this._running=0,this._queue=new Q}isEmpty(){return this._queue.length===0}async _tryToRun(){var S,g,R,T,O,P,N;if(this._running<1&&this._queue.length>0)return this._running++,{task:N,args:S,resolve:O,reject:T}=this._queue.shift(),g=await async function(){try{return P=await N(...S),function(){return O(P)}}catch(Z){return R=Z,function(){return T(R)}}}(),this._running--,this._tryToRun(),g()}schedule(S,...g){var R,T,O;return O=T=null,R=new this.Promise(function(P,N){return O=P,T=N}),this._queue.push({task:S,args:g,resolve:O,reject:T}),this._tryToRun(),R}};var U=G,Ge="2.19.5",le={version:Ge},xt=Object.freeze({version:Ge,default:le}),L=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),q=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),qt=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),Ot,Ne,De,Ut,Gn,ur;ur=s,Ot=c,Ut=L,De=q,Gn=qt,Ne=function(){class ${constructor(g={}){this.deleteKey=this.deleteKey.bind(this),this.limiterOptions=g,ur.load(this.limiterOptions,this.defaults,this),this.Events=new Ot(this),this.instances={},this.Bottleneck=hy,this._startAutoCleanup(),this.sharedConnection=this.connection!=null,this.connection==null&&(this.limiterOptions.datastore==="redis"?this.connection=new Ut(Object.assign({},this.limiterOptions,{Events:this.Events})):this.limiterOptions.datastore==="ioredis"&&(this.connection=new De(Object.assign({},this.limiterOptions,{Events:this.Events}))))}key(g=""){var R;return(R=this.instances[g])!=null?R:(()=>{var T;return T=this.instances[g]=new this.Bottleneck(Object.assign(this.limiterOptions,{id:`${this.id}-${g}`,timeout:this.timeout,connection:this.connection})),this.Events.trigger("created",T,g),T})()}async deleteKey(g=""){var R,T;return T=this.instances[g],this.connection&&(R=await this.connection.__runCommand__(["del",...Gn.allKeys(`${this.id}-${g}`)])),T!=null&&(delete this.instances[g],await T.disconnect()),T!=null||R>0}limiters(){var g,R,T,O;R=this.instances,T=[];for(g in R)O=R[g],T.push({key:g,limiter:O});return T}keys(){return Object.keys(this.instances)}async clusterKeys(){var g,R,T,O,P,N,Z,he,ke;if(this.connection==null)return this.Promise.resolve(this.keys());for(N=[],g=null,ke=`b_${this.id}-`.length,R=9;g!==0;)for([he,T]=await this.connection.__runCommand__(["scan",g??0,"match",`b_${this.id}-*_settings`,"count",1e4]),g=~~he,O=0,Z=T.length;O<Z;O++)P=T[O],N.push(P.slice(ke,-R));return N}_startAutoCleanup(){var g;return clearInterval(this.interval),typeof(g=this.interval=setInterval(async()=>{var R,T,O,P,N,Z;N=Date.now(),O=this.instances,P=[];for(T in O){Z=O[T];try{await Z._store.__groupCheck__(N)?P.push(this.deleteKey(T)):P.push(void 0)}catch(he){R=he,P.push(Z.Events.trigger("error",R))}}return P},this.timeout/2)).unref=="function"?g.unref():void 0}updateSettings(g={}){if(ur.overwrite(g,this.defaults,this),ur.overwrite(g,g,this.limiterOptions),g.timeout!=null)return this._startAutoCleanup()}disconnect(g=!0){var R;if(!this.sharedConnection)return(R=this.connection)!=null?R.disconnect(g):void 0}}return $.prototype.defaults={timeout:1e3*60*5,connection:null,Promise,id:"group-key"},$}.call(e);var Hs=Ne,Jr,Ws,cy;cy=s,Ws=c,Jr=function(){class ${constructor(g={}){this.options=g,cy.load(this.options,this.defaults,this),this.Events=new Ws(this),this._arr=[],this._resetPromise(),this._lastFlush=Date.now()}_resetPromise(){return this._promise=new this.Promise((g,R)=>this._resolve=g)}_flush(){return clearTimeout(this._timeout),this._lastFlush=Date.now(),this._resolve(),this.Events.trigger("batch",this._arr),this._arr=[],this._resetPromise()}add(g){var R;return this._arr.push(g),R=this._promise,this._arr.length===this.maxSize?this._flush():this.maxTime!=null&&this._arr.length===1&&(this._timeout=setTimeout(()=>this._flush(),this.maxTime)),R}}return $.prototype.defaults={maxTime:null,maxSize:null,Promise},$}.call(e);var uA=Jr,dA=()=>console.log("You must import the full version of Bottleneck in order to use this feature."),pA=t(xt),ly,uy,vu,Tu,dy,xu,py,fy,my,Ou,Ct,gy=[].splice;xu=10,uy=5,Ct=s,py=p,Tu=k,dy=C,fy=dA,vu=c,my=Y,Ou=U,ly=function(){class ${constructor(g={},...R){var T,O;this._addToQueue=this._addToQueue.bind(this),this._validateOptions(g,R),Ct.load(g,this.instanceDefaults,this),this._queues=new py(xu),this._scheduled={},this._states=new my(["RECEIVED","QUEUED","RUNNING","EXECUTING"].concat(this.trackDoneStatus?["DONE"]:[])),this._limiter=null,this.Events=new vu(this),this._submitLock=new Ou("submit",this.Promise),this._registerLock=new Ou("register",this.Promise),O=Ct.load(g,this.storeDefaults,{}),this._store=function(){if(this.datastore==="redis"||this.datastore==="ioredis"||this.connection!=null)return T=Ct.load(g,this.redisStoreDefaults,{}),new fy(this,O,T);if(this.datastore==="local")return T=Ct.load(g,this.localStoreDefaults,{}),new dy(this,O,T);throw new $.prototype.BottleneckError(`Invalid datastore type: ${this.datastore}`)}.call(this),this._queues.on("leftzero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.ref=="function"?P.ref():void 0}),this._queues.on("zero",()=>{var P;return(P=this._store.heartbeat)!=null&&typeof P.unref=="function"?P.unref():void 0})}_validateOptions(g,R){if(!(g!=null&&typeof g=="object"&&R.length===0))throw new $.prototype.BottleneckError("Bottleneck v2 takes a single object argument. Refer to https://github.com/SGrondin/bottleneck#upgrading-to-v2 if you're upgrading from Bottleneck v1.")}ready(){return this._store.ready}clients(){return this._store.clients}channel(){return`b_${this.id}`}channel_client(){return`b_${this.id}_${this._store.clientId}`}publish(g){return this._store.__publish__(g)}disconnect(g=!0){return this._store.__disconnect__(g)}chain(g){return this._limiter=g,this}queued(g){return this._queues.queued(g)}clusterQueued(){return this._store.__queued__()}empty(){return this.queued()===0&&this._submitLock.isEmpty()}running(){return this._store.__running__()}done(){return this._store.__done__()}jobStatus(g){return this._states.jobStatus(g)}jobs(g){return this._states.statusJobs(g)}counts(){return this._states.statusCounts()}_randomIndex(){return Math.random().toString(36).slice(2)}check(g=1){return this._store.__check__(g)}_clearGlobalState(g){return this._scheduled[g]!=null?(clearTimeout(this._scheduled[g].expiration),delete this._scheduled[g],!0):!1}async _free(g,R,T,O){var P,N;try{if({running:N}=await this._store.__free__(g,T.weight),this.Events.trigger("debug",`Freed ${T.id}`,O),N===0&&this.empty())return this.Events.trigger("idle")}catch(Z){return P=Z,this.Events.trigger("error",P)}}_run(g,R,T){var O,P,N;return R.doRun(),O=this._clearGlobalState.bind(this,g),N=this._run.bind(this,g,R),P=this._free.bind(this,g,R),this._scheduled[g]={timeout:setTimeout(()=>R.doExecute(this._limiter,O,N,P),T),expiration:R.options.expiration!=null?setTimeout(function(){return R.doExpire(O,N,P)},T+R.options.expiration):void 0,job:R}}_drainOne(g){return this._registerLock.schedule(()=>{var R,T,O,P,N;return this.queued()===0?this.Promise.resolve(null):(N=this._queues.getFirst(),{options:P,args:R}=O=N.first(),g!=null&&P.weight>g?this.Promise.resolve(null):(this.Events.trigger("debug",`Draining ${P.id}`,{args:R,options:P}),T=this._randomIndex(),this._store.__register__(T,P.weight,P.expiration).then(({success:Z,wait:he,reservoir:ke})=>{var Js;return this.Events.trigger("debug",`Drained ${P.id}`,{success:Z,args:R,options:P}),Z?(N.shift(),Js=this.empty(),Js&&this.Events.trigger("empty"),ke===0&&this.Events.trigger("depleted",Js),this._run(T,O,he),this.Promise.resolve(P.weight)):this.Promise.resolve(null)})))})}_drainAll(g,R=0){return this._drainOne(g).then(T=>{var O;return T!=null?(O=g!=null?g-T:g,this._drainAll(O,R+T)):this.Promise.resolve(R)}).catch(T=>this.Events.trigger("error",T))}_dropAllQueued(g){return this._queues.shiftAll(function(R){return R.doDrop({message:g})})}stop(g={}){var R,T;return g=Ct.load(g,this.stopDefaults),T=O=>{var P;return P=()=>{var N;return N=this._states.counts,N[0]+N[1]+N[2]+N[3]===O},new this.Promise((N,Z)=>P()?N():this.on("done",()=>{if(P())return this.removeAllListeners("done"),N()}))},R=g.dropWaitingJobs?(this._run=function(O,P){return P.doDrop({message:g.dropErrorMessage})},this._drainOne=()=>this.Promise.resolve(null),this._registerLock.schedule(()=>this._submitLock.schedule(()=>{var O,P,N;P=this._scheduled;for(O in P)N=P[O],this.jobStatus(N.job.options.id)==="RUNNING"&&(clearTimeout(N.timeout),clearTimeout(N.expiration),N.job.doDrop({message:g.dropErrorMessage}));return this._dropAllQueued(g.dropErrorMessage),T(0)}))):this.schedule({priority:xu-1,weight:0},()=>T(1)),this._receive=function(O){return O._reject(new $.prototype.BottleneckError(g.enqueueErrorMessage))},this.stop=()=>this.Promise.reject(new $.prototype.BottleneckError("stop() has already been called")),R}async _addToQueue(g){var R,T,O,P,N,Z,he;({args:R,options:P}=g);try{({reachedHWM:N,blocked:T,strategy:he}=await this._store.__submit__(this.queued(),P.weight))}catch(ke){return O=ke,this.Events.trigger("debug",`Could not queue ${P.id}`,{args:R,options:P,error:O}),g.doDrop({error:O}),!1}return T?(g.doDrop(),!0):N&&(Z=he===$.prototype.strategy.LEAK?this._queues.shiftLastFrom(P.priority):he===$.prototype.strategy.OVERFLOW_PRIORITY?this._queues.shiftLastFrom(P.priority+1):he===$.prototype.strategy.OVERFLOW?g:void 0,Z?.doDrop(),Z==null||he===$.prototype.strategy.OVERFLOW)?(Z==null&&g.doDrop(),N):(g.doQueue(N,T),this._queues.push(g),await this._drainAll(),N)}_receive(g){return this._states.jobStatus(g.options.id)!=null?(g._reject(new $.prototype.BottleneckError(`A job with the same id already exists (id=${g.options.id})`)),!1):(g.doReceive(),this._submitLock.schedule(this._addToQueue,g))}submit(...g){var R,T,O,P,N,Z,he;return typeof g[0]=="function"?(N=g,[T,...g]=N,[R]=gy.call(g,-1),P=Ct.load({},this.jobDefaults)):(Z=g,[P,T,...g]=Z,[R]=gy.call(g,-1),P=Ct.load(P,this.jobDefaults)),he=(...ke)=>new this.Promise(function(Js,mA){return T(...ke,function(...yy){return(yy[0]!=null?mA:Js)(yy)})}),O=new Tu(he,g,P,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),O.promise.then(function(ke){return typeof R=="function"?R(...ke):void 0}).catch(function(ke){return Array.isArray(ke)?typeof R=="function"?R(...ke):void 0:typeof R=="function"?R(ke):void 0}),this._receive(O)}schedule(...g){var R,T,O;return typeof g[0]=="function"?([O,...g]=g,T={}):[T,O,...g]=g,R=new Tu(O,g,T,this.jobDefaults,this.rejectOnDrop,this.Events,this._states,this.Promise),this._receive(R),R.promise}wrap(g){var R,T;return R=this.schedule.bind(this),T=function(...O){return R(g.bind(this),...O)},T.withOptions=function(O,...P){return R(O,g,...P)},T}async updateSettings(g={}){return await this._store.__updateSettings__(Ct.overwrite(g,this.storeDefaults)),Ct.overwrite(g,this.instanceDefaults,this),this}currentReservoir(){return this._store.__currentReservoir__()}incrementReservoir(g=0){return this._store.__incrementReservoir__(g)}}return $.default=$,$.Events=vu,$.version=$.prototype.version=pA.version,$.strategy=$.prototype.strategy={LEAK:1,OVERFLOW:2,OVERFLOW_PRIORITY:4,BLOCK:3},$.BottleneckError=$.prototype.BottleneckError=m,$.Group=$.prototype.Group=Hs,$.RedisConnection=$.prototype.RedisConnection=L,$.IORedisConnection=$.prototype.IORedisConnection=q,$.Batcher=$.prototype.Batcher=uA,$.prototype.jobDefaults={priority:uy,weight:1,expiration:null,id:"<no-id>"},$.prototype.storeDefaults={maxConcurrent:null,minTime:0,highWater:null,strategy:$.prototype.strategy.LEAK,penalty:null,reservoir:null,reservoirRefreshInterval:null,reservoirRefreshAmount:null,reservoirIncreaseInterval:null,reservoirIncreaseAmount:null,reservoirIncreaseMaximum:null},$.prototype.localStoreDefaults={Promise,timeout:null,heartbeatInterval:250},$.prototype.redisStoreDefaults={Promise,timeout:null,heartbeatInterval:5e3,clientTimeout:1e4,Redis:null,clientOptions:{},clusterNodes:null,clearDatastore:!1,connection:null},$.prototype.instanceDefaults={datastore:"local",connection:null,id:"<no-id>",rejectOnDrop:!0,trackDoneStatus:!1,Promise},$.prototype.stopDefaults={enqueueErrorMessage:"This limiter has been stopped and cannot accept new jobs.",dropWaitingJobs:!0,dropErrorMessage:"This limiter has been stopped."},$}.call(e);var hy=ly,fA=hy;return fA})});var nr,Rp=E(()=>{nr=class extends Error{name;status;request;response;constructor(t,r,n){super(t,{cause:n.cause}),this.name="HttpError",this.status=Number.parseInt(r),Number.isNaN(this.status)&&(this.status=0);"response"in n&&(this.response=n.response);let s=Object.assign({},n.request);n.request.headers.authorization&&(s.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})),s.url=s.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=s}}});function zN(e){return e.request!==void 0}async function wE(e,t,r,n){if(!zN(r)||!r?.request.request)throw r;if(r.status>=400&&!e.doNotRetry.includes(r.status)){let s=n.request.retries!=null?n.request.retries:e.retries,o=Math.pow((n.request.retryCount||0)+1,2);throw t.retry.retryRequest(r,s,o)}throw r}async function YN(e,t,r,n){let s=new _E.default;return s.on("failed",function(o,i){let a=~~o.request.request?.retries,c=~~o.request.request?.retryAfter;if(n.request.retryCount=i.retryCount+1,a>i.retryCount)return c*e.retryAfterBaseValue}),s.schedule(QN.bind(null,e,t,r),n)}async function QN(e,t,r,n){let s=await r(n);if(s.data&&s.data.errors&&s.data.errors.length>0&&/Something went wrong while executing your query/.test(s.data.errors[0].message)){let o=new nr(s.data.errors[0].message,500,{request:n,response:s});return wE(e,t,o,n)}return s}function vp(e,t){let r=Object.assign({enabled:!0,retryAfterBaseValue:1e3,doNotRetry:[400,401,403,404,410,422,451],retries:3},t.retry),n={retry:{retryRequest:(s,o,i)=>(s.request.request=Object.assign({},s.request.request,{retries:o,retryAfter:i}),s)}};return r.enabled&&(e.hook.error("request",wE.bind(null,r,n)),e.hook.wrap("request",YN.bind(null,r,n))),n}var _E,KN,EE=E(()=>{_E=Zi(Sp(),1);Rp();KN="0.0.0-development";vp.VERSION=KN});function ZN(e,t,r){return e.retryLimiter.schedule(eD,e,t,r)}async function eD(e,t,r){let{pathname:n}=new URL(r.url,"http://github.test"),s=tD(r.method,n),o=!s&&r.method!=="GET"&&r.method!=="HEAD",i=r.method==="GET"&&n.startsWith("/search/"),a=n.startsWith("/graphql"),l=~~t.retryCount>0?{priority:0,weight:0}:{};e.clustering&&(l.expiration=1e3*60),(o||a)&&await e.write.key(e.id).schedule(l,Tp),o&&e.triggersNotification(n)&&await e.notifications.key(e.id).schedule(l,Tp),i&&await e.search.key(e.id).schedule(l,Tp);let u=(s?e.auth:e.global).key(e.id).schedule(l,t,r);if(a){let d=await u;if(d.data.errors!=null&&d.data.errors.some(p=>p.type==="RATE_LIMITED"))throw Object.assign(new Error("GraphQL Rate Limit Exceeded"),{response:d,data:d.data})}return u}function tD(e,t){return e==="PATCH"&&/^\/applications\/[^/]+\/token\/scoped$/.test(t)||e==="POST"&&(/^\/applications\/[^/]+\/token$/.test(t)||/^\/app\/installations\/[^/]+\/access_tokens$/.test(t)||t==="/login/oauth/access_token")}function nD(e){let r=`^(?:${e.map(n=>n.split("/").map(s=>s.startsWith("{")?"(?:.+?)":s).join("/")).map(n=>`(?:${n})`).join("|")})[^/]*$`;return new RegExp(r,"i")}function ec(e,t){let{enabled:r=!0,Bottleneck:n=SE.default,id:s="no-id",timeout:o=1e3*60*2,connection:i}=t.throttle||{};if(!r)return{};let a={timeout:o};typeof i<"u"&&(a.connection=i);let c=Object.assign({clustering:i!=null,triggersNotification:RE,fallbackSecondaryRateRetryAfter:60,retryAfterBaseValue:1e3,id:s},t.throttle);if(typeof c.onSecondaryRateLimit!="function"||typeof c.onRateLimit!="function")throw new Error(`octokit/plugin-throttling error:
60
60
  You must pass the onSecondaryRateLimit and onRateLimit error handlers.
61
61
  See https://octokit.github.io/rest.js/#throttling
62
62
 
@@ -66,114 +66,114 @@ ${a}
66
66
  onRateLimit: (retryAfter, options) => {/* ... */}
67
67
  }
68
68
  })
69
- `);let l=!1,u=()=>{if(l)return;l=!0,_t.global==null&&ZN(n,a),c.global=c.global??_t.global,c.auth=c.auth??_t.auth,c.search=c.search??_t.search,c.write=c.write??_t.write,c.notifications=c.notifications??_t.notifications,c.retryLimiter=c.retryLimiter??new n;let d={},p=new n.Events(d);d.on("secondary-limit",c.onSecondaryRateLimit),d.on("rate-limit",c.onRateLimit),d.on("error",f=>e.log.warn("Error in throttling-plugin limit handler",f)),c.retryLimiter.on("failed",async function(f,m){let[h,w,b]=m.args,{pathname:y}=new URL(b.url,"http://github.test");if(!(y.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~w.retryCount;w.retryCount=k,b.request.retryCount=k;let{wantRetry:v,retryAfter:O=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let A=Number(f.response.headers["retry-after"])||h.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",A,b,e,k),retryAfter:A}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(A=>A.type==="RATE_LIMITED")){let A=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),C=Math.max(Math.ceil((A-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",C,b,e,k),retryAfter:C}}return{}}();if(v)return w.retryCount++,O*h.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),KN(c,d,p))),{}}var wE,VN,vp,QN,bE,_E,_t,ZN,EE=E(()=>{wE=Zi(kp(),1),VN="0.0.0-development",vp=()=>Promise.resolve();QN=["/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"];bE=XN(QN),_E=bE.test.bind(bE),_t={},ZN=function(e,t){_t.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),_t.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),_t.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),_t.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),_t.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};ec.VERSION=VN;ec.triggersNotification=_E});function br(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var To=E(()=>{});function tc(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce((s,o)=>tc.bind(null,e,o,s,n),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}var kE=E(()=>{});function SE(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 RE=E(()=>{});function vE(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 TE=E(()=>{});function CE(e,t,r){let n=OE(vE,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]=OE(SE,null).apply(null,o)})}function eD(){let e=Symbol("Singular"),t={registry:{}},r=tc.bind(null,t,e);return CE(r,t,e),r}function tD(){let e={registry:{}},t=tc.bind(null,e);return CE(t,e),t}var xE,OE,AE,PE=E(()=>{kE();RE();TE();xE=Function.bind,OE=xE.bind(xE);AE={Singular:eD,Collection:tD}});function oD(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function iD(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 GE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{iD(t[n])?n in e?r[n]=GE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function IE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function xp(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=oD(r.headers),IE(r),IE(r.headers);let n=GE(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 aD(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 lD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function uD(e){let t=e.match(cD);return t?t.map(lD).reduce((r,n)=>r.concat(n),[]):[]}function LE(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function NE(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 cs(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function xo(e,t,r){return t=e==="+"||e==="#"?NE(t):cs(t),r?cs(r)+"="+t:t}function as(e){return e!=null}function Tp(e){return e===";"||e==="&"||e==="?"}function dD(e,t,r,n){var s=e[r],o=[];if(as(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),o.push(xo(t,s,Tp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(as).forEach(function(i){o.push(xo(t,i,Tp(t)?r:""))}):Object.keys(s).forEach(function(i){as(s[i])&&o.push(xo(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(as).forEach(function(a){i.push(xo(t,a))}):Object.keys(s).forEach(function(a){as(s[a])&&(i.push(cs(a)),i.push(xo(t,s[a].toString())))}),Tp(t)?o.push(cs(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?as(s)&&o.push(cs(r)):s===""&&(t==="&"||t==="?")?o.push(cs(r)+"="):s===""&&o.push("");return o}function pD(e){return{expand:fD.bind(null,e)}}function fD(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(dD(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 NE(o)}),e==="/"?e:e.replace(/\/$/,"")}function DE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=LE(e,["method","baseUrl","url","headers","request","mediaType"]),i=uD(r);r=pD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=LE(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=aD(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 mD(e,t,r){return DE(xp(e,t,r))}function $E(e,t){let r=xp(e,t),n=mD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:$E.bind(null,r),merge:xp.bind(null,r),parse:DE})}var rD,nD,sD,cD,FE,ME=E(()=>{To();rD="0.0.0-development",nD=`octokit-endpoint.js/${rD} ${br()}`,sD={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":nD},mediaType:{format:""}};cD=/\{[^{}}]+\}/g;FE=$E(null,sD)});var JE=I(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.format=bD;rc.parse=wD;var gD=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,jE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,hD=/[\\"]/g,yD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,qE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function bD(e){let{type:t,parameters:r}=e;if(!t||!yD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!jE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${SD(r[s])}`}return n}function wD(e,t){let r=e.length,n=Cp(e,0,r),s=n;n=Op(e,n,r);let o=Ap(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new qE:kD(e,n,r);return{type:i,parameters:a}}var UE=32,HE=9,WE=59,_D=61,BE=34,ED=92;function kD(e,t,r){let n=new qE;e:for(;t<r;){t=Cp(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===WE)continue e;if(o===_D){let i=Ap(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Cp(e,t+1,r),t<r&&e.charCodeAt(t)===BE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===BE){t=Op(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===ED&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Op(e,t,r),n[a]===void 0){let l=Ap(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Op(e,t,r){for(;t<r&&e.charCodeAt(t)!==WE;)t++;return t}function Cp(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==UE&&n!==HE)break;t++}return t}function Ap(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==UE&&n!==HE)break;r--}return r}function SD(e){if(jE.test(e))return e;if(gD.test(e))return`"${e.replace(hD,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var RD,sc,wr,Pp,QE,VE,KE,Ip,Lp,vD,XE,nc,TD,xD,OD,ZE,zE,CD,AD,PD,YE,ek,tk=E(()=>{RD=/^-?\d+$/,sc=/^-?\d+n+$/,wr=JSON.stringify,Pp=JSON.parse,QE=/^-?\d+n$/,VE=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,KE=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Ip=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Lp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",vD=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,h,w)=>(w!==null&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(h)),typeof w=="string"&&sc.test(w)?w+"n":typeof w=="bigint"?"rawJSON"in JSON?JSON.rawJSON(w.toString()):w.toString()+"n":(s&&(w=t.call(m,h,w)),w!==null&&typeof w=="object"&&(w instanceof Number||w instanceof String||w instanceof Boolean)&&(w=w.valueOf()),w)),a=i({"":e},"",e);if(Ip(a))return;let c=a===null||typeof a!="object",l=Lp(a);if(c||l)return wr(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let h=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
70
- `+n.repeat(d));let w=m.val[m.index],b=i(m.val,String(m.index),w);if(Ip(b))u.push("null"),m.first=!1,m.index++;else{let y=b!==null&&typeof b=="object",_=Lp(b);if(y&&!_){if(f.has(b))throw new TypeError("Converting circular structure to JSON");f.add(b),p.push({parent:m.val,key:String(m.index),val:b,isArray:Array.isArray(b),keys:Array.isArray(b)?null:Object.keys(b),index:0,first:!0}),m.first=!1,m.index++}else u.push(wr(b)),m.first=!1,m.index++}}else h=!0;else{for(;m.index<m.keys.length;){let b=m.keys[m.index++];if(o&&!o.has(b))continue;let _=m.val[b],k=i(m.val,b,_);if(Ip(k))continue;m.first||u.push(","),n?u.push(`
71
- `+n.repeat(d)+wr(b)+": "):u.push(wr(b)+":");let v=k!==null&&typeof k=="object",O=Lp(k);if(v&&!O){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:b,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(wr(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(h=!0)}h&&(d--,!m.first&&n&&u.push(`
72
- `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},XE=(e,t,r)=>{try{return"rawJSON"in JSON?wr(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?wr(e,(a,c)=>typeof c=="string"&&sc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(VE,"$1$2$3").replace(KE,"$1$2$3"):wr(e,t,r)}catch(n){if(n instanceof RangeError){let s=vD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(VE,"$1$2$3").replace(KE,"$1$2$3")}throw n}},nc=new Map,TD=()=>{let e=JSON.parse.toString();if(nc.has(e))return nc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return nc.set(e,t),t}catch{return nc.set(e,!1),!1}},xD=(e,t,r,n)=>typeof t=="string"&&QE.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&sc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,OD=(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&&RD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),ZE=Number.MAX_SAFE_INTEGER.toString(),zE=ZE.length,CD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,AD=/^"-?\d+n+"$/,PD=(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"&&(QE.test(a)?a=BigInt(a.slice(0,-1)):sc.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},YE=e=>e.replace(CD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&AD.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<zE||r.length===zE&&r<=ZE);return o||a||c?t:'"'+t+'n"'}),ek=(e,t)=>{if(!e)return Pp(e,t);try{if(TD())return OD(e,t);let r=YE(e);return Pp(r,(n,s,o)=>xD(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=YE(e),s=Pp(n);return PD(s,t)}throw r}}});function GD(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 nk(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=GD(e.body)||Array.isArray(e.body)?XE(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 rr(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 rr(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Gp(i),new rr("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Gp(i),new rr(DD(u.data),a,{response:u,request:e});return u.data=n?await Gp(i):i.body,u}async function Gp(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(rk);let r=(0,sk.parse)(t);if(ND(r)){let n="";try{return n=await e.text(),ek(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(rk):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function ND(e){return e.type==="application/json"||e.type==="application/scim+json"}function DD(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 Np(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 nk(r.parse(i));let a=(c,l)=>nk(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:Np.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Np.bind(null,r)})}var sk,ID,LD,rk,Oo,Dp=E(()=>{ME();To();sk=Zi(JE(),1);tk();Sp();ID="10.0.13",LD={headers:{"user-agent":`octokit-request.js/${ID} ${br()}`}};rk=()=>"";Oo=Np(FE,LD);});function FD(e){return`Request failed due to following response errors:
69
+ `);let l=!1,u=()=>{if(l)return;l=!0,_t.global==null&&sD(n,a),c.global=c.global??_t.global,c.auth=c.auth??_t.auth,c.search=c.search??_t.search,c.write=c.write??_t.write,c.notifications=c.notifications??_t.notifications,c.retryLimiter=c.retryLimiter??new n;let d={},p=new n.Events(d);d.on("secondary-limit",c.onSecondaryRateLimit),d.on("rate-limit",c.onRateLimit),d.on("error",f=>e.log.warn("Error in throttling-plugin limit handler",f)),c.retryLimiter.on("failed",async function(f,m){let[h,w,b]=m.args,{pathname:y}=new URL(b.url,"http://github.test");if(!(y.startsWith("/graphql")&&f.status!==401||f.status===403||f.status===429))return;let k=~~w.retryCount;w.retryCount=k,b.request.retryCount=k;let{wantRetry:v,retryAfter:x=0}=await async function(){if(/\bsecondary rate\b/i.test(f.message)){let A=Number(f.response.headers["retry-after"])||h.fallbackSecondaryRateRetryAfter;return{wantRetry:await p.trigger("secondary-limit",A,b,e,k),retryAfter:A}}if(f.response.headers!=null&&f.response.headers["x-ratelimit-remaining"]==="0"||(f.response.data?.errors??[]).some(A=>A.type==="RATE_LIMITED")){let A=new Date(~~f.response.headers["x-ratelimit-reset"]*1e3).getTime(),C=Math.max(Math.ceil((A-Date.now())/1e3)+1,0);return{wantRetry:await p.trigger("rate-limit",C,b,e,k),retryAfter:C}}return{}}();if(v)return w.retryCount++,x*h.retryAfterBaseValue})};return e.hook.wrap("request",(d,p)=>(u(),ZN(c,d,p))),{}}var SE,XN,Tp,rD,kE,RE,_t,sD,vE=E(()=>{SE=Zi(Sp(),1),XN="0.0.0-development",Tp=()=>Promise.resolve();rD=["/orgs/{org}/invitations","/orgs/{org}/invitations/{invitation_id}","/orgs/{org}/teams/{team_slug}/discussions","/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","/repos/{owner}/{repo}/collaborators/{username}","/repos/{owner}/{repo}/commits/{commit_sha}/comments","/repos/{owner}/{repo}/issues","/repos/{owner}/{repo}/issues/{issue_number}/comments","/repos/{owner}/{repo}/issues/{issue_number}/sub_issue","/repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority","/repos/{owner}/{repo}/pulls","/repos/{owner}/{repo}/pulls/{pull_number}/comments","/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies","/repos/{owner}/{repo}/pulls/{pull_number}/merge","/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","/repos/{owner}/{repo}/pulls/{pull_number}/reviews","/repos/{owner}/{repo}/releases","/teams/{team_id}/discussions","/teams/{team_id}/discussions/{discussion_number}/comments"];kE=nD(rD),RE=kE.test.bind(kE),_t={},sD=function(e,t){_t.global=new e.Group({id:"octokit-global",maxConcurrent:10,...t}),_t.auth=new e.Group({id:"octokit-auth",maxConcurrent:1,...t}),_t.search=new e.Group({id:"octokit-search",maxConcurrent:1,minTime:2e3,...t}),_t.write=new e.Group({id:"octokit-write",maxConcurrent:1,minTime:1e3,...t}),_t.notifications=new e.Group({id:"octokit-notifications",maxConcurrent:1,minTime:3e3,...t})};ec.VERSION=XN;ec.triggersNotification=RE});function br(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:"<environment undetectable>"}var To=E(()=>{});function tc(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce((s,o)=>tc.bind(null,e,o,s,n),r)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((s,o)=>o.hook.bind(null,s,n),r)():r(n))}var TE=E(()=>{});function xE(e,t,r,n){let s=n;e.registry[r]||(e.registry[r]=[]),t==="before"&&(n=(o,i)=>Promise.resolve().then(s.bind(null,i)).then(o.bind(null,i))),t==="after"&&(n=(o,i)=>{let a;return Promise.resolve().then(o.bind(null,i)).then(c=>(a=c,s(a,i))).then(()=>a)}),t==="error"&&(n=(o,i)=>Promise.resolve().then(o.bind(null,i)).catch(a=>s(a,i))),e.registry[r].push({hook:n,orig:s})}var OE=E(()=>{});function CE(e,t,r){if(!e.registry[t])return;let n=e.registry[t].map(s=>s.orig).indexOf(r);n!==-1&&e.registry[t].splice(n,1)}var AE=E(()=>{});function LE(e,t,r){let n=IE(CE,null).apply(null,r?[t,r]:[t]);e.api={remove:n},e.remove=n,["before","error","after","wrap"].forEach(s=>{let o=r?[t,s,r]:[t,s];e[s]=e.api[s]=IE(xE,null).apply(null,o)})}function oD(){let e=Symbol("Singular"),t={registry:{}},r=tc.bind(null,t,e);return LE(r,t,e),r}function iD(){let e={registry:{}},t=tc.bind(null,e);return LE(t,e),t}var PE,IE,GE,NE=E(()=>{TE();OE();AE();PE=Function.bind,IE=PE.bind(PE);GE={Singular:oD,Collection:iD}});function uD(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function dD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function FE(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{dD(t[n])?n in e?r[n]=FE(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function DE(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Op(e,t,r){if(typeof t=="string"){let[s,o]=t.split(" ");r=Object.assign(o?{method:s,url:o}:{url:s},r)}else r=Object.assign({},t);r.headers=uD(r.headers),DE(r),DE(r.headers);let n=FE(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(n.mediaType.previews=e.mediaType.previews.filter(s=>!n.mediaType.previews.includes(s)).concat(n.mediaType.previews)),n.mediaType.previews=(n.mediaType.previews||[]).map(s=>s.replace(/-preview/,""))),n}function pD(e,t){let r=/\?/.test(e)?"&":"?",n=Object.keys(t);return n.length===0?e:e+r+n.map(s=>s==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${s}=${encodeURIComponent(t[s])}`).join("&")}function mD(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function gD(e){let t=e.match(fD);return t?t.map(mD).reduce((r,n)=>r.concat(n),[]):[]}function $E(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function ME(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function ls(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function xo(e,t,r){return t=e==="+"||e==="#"?ME(t):ls(t),r?ls(r)+"="+t:t}function cs(e){return e!=null}function xp(e){return e===";"||e==="&"||e==="?"}function hD(e,t,r,n){var s=e[r],o=[];if(cs(s)&&s!=="")if(typeof s=="string"||typeof s=="number"||typeof s=="bigint"||typeof s=="boolean")s=s.toString(),n&&n!=="*"&&(s=s.substring(0,parseInt(n,10))),o.push(xo(t,s,xp(t)?r:""));else if(n==="*")Array.isArray(s)?s.filter(cs).forEach(function(i){o.push(xo(t,i,xp(t)?r:""))}):Object.keys(s).forEach(function(i){cs(s[i])&&o.push(xo(t,s[i],i))});else{let i=[];Array.isArray(s)?s.filter(cs).forEach(function(a){i.push(xo(t,a))}):Object.keys(s).forEach(function(a){cs(s[a])&&(i.push(ls(a)),i.push(xo(t,s[a].toString())))}),xp(t)?o.push(ls(r)+"="+i.join(",")):i.length!==0&&o.push(i.join(","))}else t===";"?cs(s)&&o.push(ls(r)):s===""&&(t==="&"||t==="?")?o.push(ls(r)+"="):s===""&&o.push("");return o}function yD(e){return{expand:bD.bind(null,e)}}function bD(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(n,s,o){if(s){let a="",c=[];if(r.indexOf(s.charAt(0))!==-1&&(a=s.charAt(0),s=s.substr(1)),s.split(/,/g).forEach(function(l){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(l);c.push(hD(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var i=",";return a==="?"?i="&":a!=="#"&&(i=a),(c.length!==0?a:"")+c.join(i)}else return c.join(",")}else return ME(o)}),e==="/"?e:e.replace(/\/$/,"")}function BE(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),s,o=$E(e,["method","baseUrl","url","headers","request","mediaType"]),i=gD(r);r=yD(r).expand(o),/^http/.test(r)||(r=e.baseUrl+r);let a=Object.keys(e).filter(u=>i.includes(u)).concat("baseUrl"),c=$E(o,a);if(!/application\/octet-stream/i.test(n.accept)&&(e.mediaType.format&&(n.accept=n.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=n.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];n.accept=u.concat(e.mediaType.previews).map(d=>{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${d}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?r=pD(r,c):"data"in c?s=c.data:Object.keys(c).length&&(s=c),!n["content-type"]&&typeof s<"u"&&(n["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof s>"u"&&(s=""),Object.assign({method:t,url:r,headers:n},typeof s<"u"?{body:s}:null,e.request?{request:e.request}:null)}function wD(e,t,r){return BE(Op(e,t,r))}function jE(e,t){let r=Op(e,t),n=wD.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:jE.bind(null,r),merge:Op.bind(null,r),parse:BE})}var aD,cD,lD,fD,qE,UE=E(()=>{To();aD="0.0.0-development",cD=`octokit-endpoint.js/${aD} ${br()}`,lD={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":cD},mediaType:{format:""}};fD=/\{[^{}}]+\}/g;qE=jE(null,lD)});var YE=I(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.format=SD;rc.parse=RD;var _D=/^[\u0009\u0020-\u007e\u0080-\u00ff]*$/,WE=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,ED=/[\\"]/g,kD=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,JE=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function SD(e){let{type:t,parameters:r}=e;if(!t||!kD.test(t))throw new TypeError(`Invalid type: ${t}`);let n=t;if(r)for(let s of Object.keys(r)){if(!WE.test(s))throw new TypeError(`Invalid parameter name: ${s}`);n+=`; ${s}=${OD(r[s])}`}return n}function RD(e,t){let r=e.length,n=Ap(e,0,r),s=n;n=Cp(e,n,r);let o=Pp(e,s,n),i=e.slice(s,o).toLowerCase(),a=t?.parameters===!1?new JE:xD(e,n,r);return{type:i,parameters:a}}var VE=32,KE=9,zE=59,vD=61,HE=34,TD=92;function xD(e,t,r){let n=new JE;e:for(;t<r;){t=Ap(e,t+1,r);let s=t;for(;t<r;){let o=e.charCodeAt(t);if(o===zE)continue e;if(o===vD){let i=Pp(e,s,t),a=e.slice(s,i).toLowerCase();if(t=Ap(e,t+1,r),t<r&&e.charCodeAt(t)===HE){t++;let l="";for(;t<r;){let u=e.charCodeAt(t++);if(u===HE){t=Cp(e,t,r),n[a]===void 0&&(n[a]=l);break}if(u===TD&&t<r){l+=e[t++];continue}l+=String.fromCharCode(u)}continue e}let c=t;if(t=Cp(e,t,r),n[a]===void 0){let l=Pp(e,c,t);n[a]=e.slice(c,l)}continue e}t++}}return n}function Cp(e,t,r){for(;t<r&&e.charCodeAt(t)!==zE;)t++;return t}function Ap(e,t,r){for(;t<r;){let n=e.charCodeAt(t);if(n!==VE&&n!==KE)break;t++}return t}function Pp(e,t,r){for(;r>t;){let n=e.charCodeAt(r-1);if(n!==VE&&n!==KE)break;r--}return r}function OD(e){if(WE.test(e))return e;if(_D.test(e))return`"${e.replace(ED,"\\$&")}"`;throw new TypeError(`Invalid parameter value: ${e}`)}});var CD,sc,wr,Ip,tk,QE,XE,Lp,Gp,AD,rk,nc,PD,ID,LD,nk,ZE,GD,ND,DD,ek,sk,ok=E(()=>{CD=/^-?\d+$/,sc=/^-?\d+n+$/,wr=JSON.stringify,Ip=JSON.parse,tk=/^-?\d+n$/,QE=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,XE=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Lp=e=>e===void 0||typeof e=="function"||typeof e=="symbol",Gp=e=>e!==null&&typeof e=="object"&&e.constructor&&e.constructor.name==="RawJSON",AD=(e,t,r)=>{let n="";typeof r=="number"?n=" ".repeat(Math.min(10,Math.max(0,Math.floor(r)))):typeof r=="string"&&(n=r.slice(0,10));let s=typeof t=="function",o=Array.isArray(t)?new Set(t.map(String)):null,i=(m,h,w)=>(w!==null&&typeof w=="object"&&typeof w.toJSON=="function"&&(w=w.toJSON(h)),typeof w=="string"&&sc.test(w)?w+"n":typeof w=="bigint"?"rawJSON"in JSON?JSON.rawJSON(w.toString()):w.toString()+"n":(s&&(w=t.call(m,h,w)),w!==null&&typeof w=="object"&&(w instanceof Number||w instanceof String||w instanceof Boolean)&&(w=w.valueOf()),w)),a=i({"":e},"",e);if(Lp(a))return;let c=a===null||typeof a!="object",l=Gp(a);if(c||l)return wr(a);let u=[],d=0,p=[{parent:{"":a},key:"",val:a,isArray:Array.isArray(a),keys:Array.isArray(a)?null:Object.keys(a),index:0,first:!0}],f=new WeakSet([a]);for(;p.length>0;){let m=p[p.length-1];m.index===0&&(u.push(m.isArray?"[":"{"),d++);let h=!1;if(m.isArray)if(m.index<m.val.length){m.first||u.push(","),n&&u.push(`
70
+ `+n.repeat(d));let w=m.val[m.index],b=i(m.val,String(m.index),w);if(Lp(b))u.push("null"),m.first=!1,m.index++;else{let y=b!==null&&typeof b=="object",_=Gp(b);if(y&&!_){if(f.has(b))throw new TypeError("Converting circular structure to JSON");f.add(b),p.push({parent:m.val,key:String(m.index),val:b,isArray:Array.isArray(b),keys:Array.isArray(b)?null:Object.keys(b),index:0,first:!0}),m.first=!1,m.index++}else u.push(wr(b)),m.first=!1,m.index++}}else h=!0;else{for(;m.index<m.keys.length;){let b=m.keys[m.index++];if(o&&!o.has(b))continue;let _=m.val[b],k=i(m.val,b,_);if(Lp(k))continue;m.first||u.push(","),n?u.push(`
71
+ `+n.repeat(d)+wr(b)+": "):u.push(wr(b)+":");let v=k!==null&&typeof k=="object",x=Gp(k);if(v&&!x){if(f.has(k))throw new TypeError("Converting circular structure to JSON");f.add(k),p.push({parent:m.val,key:b,val:k,isArray:Array.isArray(k),keys:Array.isArray(k)?null:Object.keys(k),index:0,first:!0}),m.first=!1;break}else u.push(wr(k)),m.first=!1}m.index>=m.keys.length&&p[p.length-1]===m&&(h=!0)}h&&(d--,!m.first&&n&&u.push(`
72
+ `+n.repeat(d)),u.push(m.isArray?"]":"}"),f.delete(m.val),p.pop())}return u.join("")},rk=(e,t,r)=>{try{return"rawJSON"in JSON?wr(e,(a,c)=>typeof c=="bigint"?JSON.rawJSON(c.toString()):typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r):e?wr(e,(a,c)=>typeof c=="string"&&sc.test(c)||typeof c=="bigint"?c.toString()+"n":typeof t=="function"?t(a,c):(Array.isArray(t)&&t.includes(a),c),r).replace(QE,"$1$2$3").replace(XE,"$1$2$3"):wr(e,t,r)}catch(n){if(n instanceof RangeError){let s=AD(e,t,r);return s===void 0?void 0:"rawJSON"in JSON?s:s.replace(QE,"$1$2$3").replace(XE,"$1$2$3")}throw n}},nc=new Map,PD=()=>{let e=JSON.parse.toString();if(nc.has(e))return nc.get(e);try{let t=JSON.parse("1",(r,n,s)=>!!s?.source&&s.source==="1");return nc.set(e,t),t}catch{return nc.set(e,!1),!1}},ID=(e,t,r,n)=>typeof t=="string"&&tk.test(t)?BigInt(t.slice(0,-1)):typeof t=="string"&&sc.test(t)?t.slice(0,-1):typeof n=="function"?n(e,t,r):t,LD=(e,t)=>JSON.parse(e,(r,n,s)=>{let o=typeof n=="number",i=n>Number.MAX_SAFE_INTEGER||n<Number.MIN_SAFE_INTEGER,a=o&&i,c=s&&CD.test(s.source);return a&&c?BigInt(s.source):typeof t=="function"?t(r,n,s):n}),nk=Number.MAX_SAFE_INTEGER.toString(),ZE=nk.length,GD=/"(?:\\.|[^"])*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,ND=/^"-?\d+n+"$/,DD=(e,t)=>{let r={"":e},n=[{parent:r,key:"",visited:!1}];for(;n.length>0;){let s=n[n.length-1];if(s.visited){let{parent:o,key:i}=s,a=o[i];typeof a=="string"&&(tk.test(a)?a=BigInt(a.slice(0,-1)):sc.test(a)&&(a=a.slice(0,-1))),typeof t=="function"&&(a=t.call(o,i,a)),a===void 0?delete o[i]:o[i]=a,n.pop()}else{s.visited=!0;let o=s.parent[s.key];if(o!==null&&typeof o=="object"){let a=Object.keys(o);for(let c=a.length-1;c>=0;c--)n.push({parent:o,key:a[c],visited:!1})}}}return r[""]},ek=e=>e.replace(GD,(t,r,n,s)=>{let o=t[0]==='"';if(o&&ND.test(t))return t.substring(0,t.length-1)+'n"';let a=n||s,c=r&&(r.length<ZE||r.length===ZE&&r<=nk);return o||a||c?t:'"'+t+'n"'}),sk=(e,t)=>{if(!e)return Ip(e,t);try{if(PD())return LD(e,t);let r=ek(e);return Ip(r,(n,s,o)=>ID(n,s,o,t))}catch(r){if(r instanceof RangeError){let n=ek(e),s=Ip(n);return DD(s,t)}throw r}}});function MD(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}async function ak(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let r=e.request?.log||console,n=e.request?.parseSuccessResponseBody!==!1,s=MD(e.body)||Array.isArray(e.body)?rk(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([d,p])=>[d,String(p)])),i;try{i=await t(e.url,{method:e.method,body:s,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(d){let p="Unknown Error";if(d instanceof Error){if(d.name==="AbortError")throw d.status=500,d;p=d.message,d.name==="TypeError"&&"cause"in d&&(d.cause instanceof Error?p=d.cause.message:typeof d.cause=="string"&&(p=d.cause))}let f=new nr(p,500,{request:e});throw f.cause=d,f}let a=i.status,c=i.url,l={};for(let[d,p]of i.headers)l[d]=p;let u={url:c,status:a,headers:l,data:""};if("deprecation"in l){let d=l.link&&l.link.match(/<([^<>]+)>; rel="deprecation"/),p=d&&d.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new nr(i.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Np(i),new nr("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Np(i),new nr(jD(u.data),a,{response:u,request:e});return u.data=n?await Np(i):i.body,u}async function Np(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(ik);let r=(0,ck.parse)(t);if(BD(r)){let n="";try{return n=await e.text(),sk(n)}catch{return n}}else return r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"&&r.type!=="application/octet-stream"?e.text().catch(ik):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function BD(e){return e.type==="application/json"||e.type==="application/scim+json"}function jD(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if(typeof e=="object"&&e!==null&&"message"in e){let t=e,r="documentation_url"in t?` - ${t.documentation_url}`:"";return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(n=>JSON.stringify(n)).join(", ")}${r}`:`${t.message}${r}`}return`Unknown error: ${JSON.stringify(e)}`}function Dp(e,t){let r=e.defaults(t);return Object.assign(function(s,o){let i=r.merge(s,o);if(!i.request||!i.request.hook)return ak(r.parse(i));let a=(c,l)=>ak(r.parse(r.merge(c,l)));return Object.assign(a,{endpoint:r,defaults:Dp.bind(null,r)}),i.request.hook(a,i)},{endpoint:r,defaults:Dp.bind(null,r)})}var ck,$D,FD,ik,Oo,$p=E(()=>{UE();To();ck=Zi(YE(),1);ok();Rp();$D="10.0.13",FD={headers:{"user-agent":`octokit-request.js/${$D} ${br()}`}};ik=()=>"";Oo=Dp(qE,FD);});function UD(e){return`Request failed due to following response errors:
73
73
  `+e.errors.map(t=>` - ${t.message}`).join(`
74
- `)}function qD(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let i in r)if(jD.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>BD.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 ok.test(o)&&(s.url=o.replace(ok,"/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 MD(s,a,i.data)}return i.data.data})}function $p(e,t){let r=e.defaults(t);return Object.assign((s,o)=>qD(r,s,o),{defaults:$p.bind(null,r),endpoint:r.endpoint})}function ik(e){return $p(e,{method:"POST",url:"/graphql"})}var $D,MD,BD,jD,ok,v4,ak=E(()=>{Dp();To();$D="0.0.0-development";MD=class extends Error{constructor(e,t,r){super(FD(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},BD=["method","baseUrl","url","headers","request","query","mediaType","operationName"],jD=["query","method","url"],ok=/\/api\/v3\/?$/;v4=$p(Oo,{headers:{"user-agent":`octokit-graphql.js/${$D} ${br()}`},method:"POST",url:"/graphql"});});async function HD(e){let t=UD(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 WD(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function JD(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=WD(e),t(s)}var Fp,ck,lk,UD,uk,dk=E(()=>{Fp="(?:[a-zA-Z0-9_-]+)",ck="\\.",lk=new RegExp(`^${Fp}${ck}${Fp}${ck}${Fp}$`),UD=lk.test.bind(lk);uk=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(HD.bind(null,t),{hook:JD.bind(null,t)})}});var Mp,pk=E(()=>{Mp="7.0.7"});function zD(e={}){return typeof e.debug!="function"&&(e.debug=fk),typeof e.info!="function"&&(e.info=fk),typeof e.warn!="function"&&(e.warn=VD),typeof e.error!="function"&&(e.error=KD),e}var fk,VD,KD,mk,oc,gk=E(()=>{To();PE();Dp();ak();dk();pk();fk=()=>{},VD=console.warn.bind(console),KD=console.error.bind(console);mk=`octokit-core.js/${Mp} ${br()}`,oc=class{static VERSION=Mp;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 AE.Collection,n={baseUrl:Oo.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=t.userAgent?`${t.userAgent} ${mk}`:mk,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=Oo.defaults(n),this.graphql=ik(this.request).defaults(n),this.log=zD(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=uk(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 hk,yk=E(()=>{hk="6.0.0"});function Bp(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 bk=E(()=>{yk();Bp.VERSION=hk});function QD(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 jp(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=QD(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 wk(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),_k(e,[],jp(e,t,r)[Symbol.asyncIterator](),n)}function _k(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:_k(e,t,r,n)})}function qp(e){return{paginate:Object.assign(wk.bind(null,e),{iterator:jp.bind(null,e)})}}var YD,q4,Ek=E(()=>{YD="0.0.0-development";q4=Object.assign(wk,{iterator:jp});qp.VERSION=YD});var Up,kk=E(()=>{Up="17.0.0"});var XD,Sk,Rk=E(()=>{XD={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"]}},Sk=XD});function Hp(e){let t={};for(let r of dn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},ZD);return t}function e$(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var dn,ZD,vk=E(()=>{Rk();dn=new Map;for(let[e,t]of Object.entries(Sk))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);dn.has(e)||dn.set(e,new Map),dn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}ZD={has({scope:e},t){return dn.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...dn.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=dn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=e$(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function t$(e){return{rest:Hp(e)}}function Wp(e){let t=Hp(e);return{...t,rest:t}}var Tk=E(()=>{kk();vk();t$.VERSION=Up;Wp.VERSION=Up});var xk,Ok=E(()=>{xk="22.0.1"});var Ck,Ak=E(()=>{gk();bk();Ek();Tk();Ok();Ck=oc.plugin(Bp,Wp,qp).defaults({userAgent:`octokit-rest.js/${xk}`})});function r$(e){return`r${e}`}function Pk(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=r$(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
74
+ `)}function VD(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let i in r)if(JD.includes(i))return Promise.reject(new Error(`[@octokit/graphql] "${i}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,s=Object.keys(n).reduce((i,a)=>WD.includes(a)?(i[a]=n[a],i):(i.variables||(i.variables={}),i.variables[a]=n[a],i),{}),o=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return lk.test(o)&&(s.url=o.replace(lk,"/api/graphql")),e(s).then(i=>{if(i.data.errors){let a={};for(let c of Object.keys(i.headers))a[c]=i.headers[c];throw new HD(s,a,i.data)}return i.data.data})}function Fp(e,t){let r=e.defaults(t);return Object.assign((s,o)=>VD(r,s,o),{defaults:Fp.bind(null,r),endpoint:r.endpoint})}function uk(e){return Fp(e,{method:"POST",url:"/graphql"})}var qD,HD,WD,JD,lk,F4,dk=E(()=>{$p();To();qD="0.0.0-development";HD=class extends Error{constructor(e,t,r){super(UD(r)),this.request=e,this.headers=t,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name="GraphqlResponseError";errors;data},WD=["method","baseUrl","url","headers","request","query","mediaType","operationName"],JD=["query","method","url"],lk=/\/api\/v3\/?$/;F4=Fp(Oo,{headers:{"user-agent":`octokit-graphql.js/${qD} ${br()}`},method:"POST",url:"/graphql"});});async function zD(e){let t=KD(e),r=e.startsWith("v1.")||e.startsWith("ghs_"),n=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":r?"installation":n?"user-to-server":"oauth"}}function YD(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function QD(e,t,r,n){let s=t.endpoint.merge(r,n);return s.headers.authorization=YD(e),t(s)}var Mp,pk,fk,KD,mk,gk=E(()=>{Mp="(?:[a-zA-Z0-9_-]+)",pk="\\.",fk=new RegExp(`^${Mp}${pk}${Mp}${pk}${Mp}$`),KD=fk.test.bind(fk);mk=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign(zD.bind(null,t),{hook:QD.bind(null,t)})}});var Bp,hk=E(()=>{Bp="7.0.7"});function e$(e={}){return typeof e.debug!="function"&&(e.debug=yk),typeof e.info!="function"&&(e.info=yk),typeof e.warn!="function"&&(e.warn=XD),typeof e.error!="function"&&(e.error=ZD),e}var yk,XD,ZD,bk,oc,wk=E(()=>{To();NE();$p();dk();gk();hk();yk=()=>{},XD=console.warn.bind(console),ZD=console.error.bind(console);bk=`octokit-core.js/${Bp} ${br()}`,oc=class{static VERSION=Bp;static defaults(t){return class extends this{constructor(...n){let s=n[0]||{};if(typeof t=="function"){super(t(s));return}super(Object.assign({},t,s,s.userAgent&&t.userAgent?{userAgent:`${s.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let r=this.plugins;return class extends this{static plugins=r.concat(t.filter(s=>!r.includes(s)))}}constructor(t={}){let r=new GE.Collection,n={baseUrl:Oo.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=t.userAgent?`${t.userAgent} ${bk}`:bk,t.baseUrl&&(n.baseUrl=t.baseUrl),t.previews&&(n.mediaType.previews=t.previews),t.timeZone&&(n.headers["time-zone"]=t.timeZone),this.request=Oo.defaults(n),this.graphql=uk(this.request).defaults(n),this.log=e$(t.log),this.hook=r,t.authStrategy){let{authStrategy:o,...i}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:i},t.auth));r.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=mk(t.auth);r.wrap("request",o.hook),this.auth=o}let s=this.constructor;for(let o=0;o<s.plugins.length;++o)Object.assign(this,s.plugins[o](this,t))}request;graphql;log;hook;auth}});var _k,Ek=E(()=>{_k="6.0.0"});function jp(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),s=e.request.endpoint.parse(r),o=s.url.replace(r.baseUrl,"");return t(r).then(i=>{let a=i.headers["x-github-request-id"];return e.log.info(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i}).catch(i=>{let a=i.response?.headers["x-github-request-id"]||"UNKNOWN";throw e.log.error(`${s.method} ${o} - ${i.status} with id ${a} in ${Date.now()-n}ms`),i})})}var kk=E(()=>{Ek();jp.VERSION=_k});function r$(e){if(!e.data)return{...e,data:[]};if(!(("total_count"in e.data||"total_commits"in e.data)&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,s=e.data.total_count,o=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let i=Object.keys(e.data)[0],a=e.data[i];return e.data=a,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=s,e.data.total_commits=o,e}function qp(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),s=typeof t=="function"?t:e.request,o=n.method,i=n.headers,a=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:!0};try{let c=await s({method:o,url:a,headers:i}),l=r$(c);if(a=((l.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in l.data){let u=new URL(l.url),d=u.searchParams,p=parseInt(d.get("page")||"1",10),f=parseInt(d.get("per_page")||"250",10);p*f<l.data.total_commits&&(d.set("page",String(p+1)),a=u.toString())}return{value:l}}catch(c){if(c.status!==409)throw c;return a="",{value:{status:200,headers:{},data:[]}}}}})}}function Sk(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),Rk(e,[],qp(e,t,r)[Symbol.asyncIterator](),n)}function Rk(e,t,r,n){return r.next().then(s=>{if(s.done)return t;let o=!1;function i(){o=!0}return t=t.concat(n?n(s.value,i):s.value.data),o?t:Rk(e,t,r,n)})}function Up(e){return{paginate:Object.assign(Sk.bind(null,e),{iterator:qp.bind(null,e)})}}var t$,t6,vk=E(()=>{t$="0.0.0-development";t6=Object.assign(Sk,{iterator:qp});Up.VERSION=t$});var Hp,Tk=E(()=>{Hp="17.0.0"});var n$,xk,Ok=E(()=>{n$={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteCustomImageFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],deleteCustomImageVersionFromOrg:["DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteHostedRunnerForOrg:["DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomImageForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}"],getCustomImageVersionForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getHostedRunnerForOrg:["GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],getHostedRunnersGithubOwnedImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForOrg:["GET /orgs/{org}/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForOrg:["GET /orgs/{org}/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForOrg:["GET /orgs/{org}/actions/hosted-runners/platforms"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listCustomImageVersionsForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions"],listCustomImagesForOrg:["GET /orgs/{org}/actions/hosted-runners/images/custom"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listGithubHostedRunnersInGroupForOrg:["GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"],listHostedRunnersForOrg:["GET /orgs/{org}/actions/hosted-runners"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateHostedRunnerForOrg:["PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubBillingPremiumRequestUsageReportOrg:["GET /organizations/{org}/settings/billing/premium_request/usage"],getGithubBillingPremiumRequestUsageReportUser:["GET /users/{username}/settings/billing/premium_request/usage"],getGithubBillingUsageReportOrg:["GET /organizations/{org}/settings/billing/usage"],getGithubBillingUsageReportUser:["GET /users/{username}/settings/billing/usage"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},campaigns:{createCampaign:["POST /orgs/{org}/campaigns"],deleteCampaign:["DELETE /orgs/{org}/campaigns/{campaign_number}"],getCampaignSummary:["GET /orgs/{org}/campaigns/{campaign_number}"],listOrgCampaigns:["GET /orgs/{org}/campaigns"],updateCampaign:["PATCH /orgs/{org}/campaigns/{campaign_number}"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{commitAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"],createAutofix:["POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],createVariantAnalysis:["POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"],deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],deleteCodeqlDatabase:["DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getAutofix:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],getVariantAnalysis:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"],getVariantAnalysisRepoTask:["GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],copilotMetricsForOrganization:["GET /orgs/{org}/copilot/metrics"],copilotMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},credentials:{revoke:["POST /credentials/revoke"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],repositoryAccessForOrg:["GET /organizations/{org}/dependabot/repository-access"],setRepositoryAccessDefaultLevel:["PUT /organizations/{org}/dependabot/repository-access/default-level"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],updateRepositoryAccessForOrg:["PATCH /organizations/{org}/dependabot/repository-access"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},enterpriseTeamMemberships:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove"],get:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"],list:["GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships"],remove:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}"]},enterpriseTeamOrganizations:{add:["PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],bulkAdd:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add"],bulkRemove:["POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove"],delete:["DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignment:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}"],getAssignments:["GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations"]},enterpriseTeams:{create:["POST /enterprises/{enterprise}/teams"],delete:["DELETE /enterprises/{enterprise}/teams/{team_slug}"],get:["GET /enterprises/{enterprise}/teams/{team_slug}"],list:["GET /enterprises/{enterprise}/teams"],update:["PATCH /enterprises/{enterprise}/teams/{team_slug}"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},hostedCompute:{createNetworkConfigurationForOrg:["POST /orgs/{org}/settings/network-configurations"],deleteNetworkConfigurationFromOrg:["DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkConfigurationForOrg:["GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"],getNetworkSettingsForOrg:["GET /orgs/{org}/settings/network-settings/{network_settings_id}"],listNetworkConfigurationsForOrg:["GET /orgs/{org}/settings/network-configurations"],updateNetworkConfigurationForOrg:["PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addBlockedByDependency:["POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],addSubIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],getParent:["GET /repos/{owner}/{repo}/issues/{issue_number}/parent"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listDependenciesBlockedBy:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by"],listDependenciesBlocking:["GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],listSubIssues:["GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeDependencyBlockedBy:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],removeSubIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"],reprioritizeSubIssue:["PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createArtifactStorageRecord:["POST /orgs/{org}/artifacts/metadata/storage-record"],createInvitation:["POST /orgs/{org}/invitations"],createIssueType:["POST /orgs/{org}/issue-types"],createWebhook:["POST /orgs/{org}/hooks"],customPropertiesForOrgsCreateOrUpdateOrganizationValues:["PATCH /organizations/{org}/org-properties/values"],customPropertiesForOrgsGetOrganizationValues:["GET /organizations/{org}/org-properties/values"],customPropertiesForReposCreateOrUpdateOrganizationDefinition:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:["PATCH /orgs/{org}/properties/schema"],customPropertiesForReposCreateOrUpdateOrganizationValues:["PATCH /orgs/{org}/properties/values"],customPropertiesForReposDeleteOrganizationDefinition:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinition:["GET /orgs/{org}/properties/schema/{custom_property_name}"],customPropertiesForReposGetOrganizationDefinitions:["GET /orgs/{org}/properties/schema"],customPropertiesForReposGetOrganizationValues:["GET /orgs/{org}/properties/values"],delete:["DELETE /orgs/{org}"],deleteAttestationsBulk:["POST /orgs/{org}/attestations/delete-request"],deleteAttestationsById:["DELETE /orgs/{org}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /orgs/{org}/attestations/digest/{subject_digest}"],deleteIssueType:["DELETE /orgs/{org}/issue-types/{issue_type_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],disableSelectedRepositoryImmutableReleasesOrganization:["DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],enableSelectedRepositoryImmutableReleasesOrganization:["PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}"],get:["GET /orgs/{org}"],getImmutableReleasesSettings:["GET /orgs/{org}/settings/immutable-releases"],getImmutableReleasesSettingsRepositories:["GET /orgs/{org}/settings/immutable-releases/repositories"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getOrgRulesetHistory:["GET /orgs/{org}/rulesets/{ruleset_id}/history"],getOrgRulesetVersion:["GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listArtifactStorageRecords:["GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records"],listAttestationRepositories:["GET /orgs/{org}/attestations/repositories"],listAttestations:["GET /orgs/{org}/attestations/{subject_digest}"],listAttestationsBulk:["POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}"],listBlockedUsers:["GET /orgs/{org}/blocks"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listIssueTypes:["GET /orgs/{org}/issue-types"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}",{},{deprecated:"octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"}],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setImmutableReleasesSettings:["PUT /orgs/{org}/settings/immutable-releases"],setImmutableReleasesSettingsRepositories:["PUT /orgs/{org}/settings/immutable-releases/repositories"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateIssueType:["PUT /orgs/{org}/issue-types/{issue_type_id}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addItemForOrg:["POST /orgs/{org}/projectsV2/{project_number}/items"],addItemForUser:["POST /users/{username}/projectsV2/{project_number}/items"],deleteItemForOrg:["DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],deleteItemForUser:["DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}"],getFieldForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}"],getFieldForUser:["GET /users/{username}/projectsV2/{project_number}/fields/{field_id}"],getForOrg:["GET /orgs/{org}/projectsV2/{project_number}"],getForUser:["GET /users/{username}/projectsV2/{project_number}"],getOrgItem:["GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],getUserItem:["GET /users/{username}/projectsV2/{project_number}/items/{item_id}"],listFieldsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/fields"],listFieldsForUser:["GET /users/{username}/projectsV2/{project_number}/fields"],listForOrg:["GET /orgs/{org}/projectsV2"],listForUser:["GET /users/{username}/projectsV2"],listItemsForOrg:["GET /orgs/{org}/projectsV2/{project_number}/items"],listItemsForUser:["GET /users/{username}/projectsV2/{project_number}/items"],updateItemForOrg:["PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}"],updateItemForUser:["PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkImmutableReleases:["GET /repos/{owner}/{repo}/immutable-releases"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAttestation:["POST /repos/{owner}/{repo}/attestations"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],customPropertiesForReposCreateOrUpdateRepositoryValues:["PATCH /repos/{owner}/{repo}/properties/values"],customPropertiesForReposGetRepositoryValues:["GET /repos/{owner}/{repo}/properties/values"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableImmutableReleases:["DELETE /repos/{owner}/{repo}/immutable-releases"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enableImmutableReleases:["PUT /repos/{owner}/{repo}/immutable-releases"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesetHistory:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"],getRepoRulesetVersion:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAttestations:["GET /repos/{owner}/{repo}/attestations/{subject_digest}"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],listOrgPatternConfigs:["GET /orgs/{org}/secret-scanning/pattern-configurations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],updateOrgPatternConfigs:["PATCH /orgs/{org}/secret-scanning/pattern-configurations"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteAttestationsBulk:["POST /users/{username}/attestations/delete-request"],deleteAttestationsById:["DELETE /users/{username}/attestations/{attestation_id}"],deleteAttestationsBySubjectDigest:["DELETE /users/{username}/attestations/digest/{subject_digest}"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getById:["GET /user/{account_id}"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listAttestations:["GET /users/{username}/attestations/{subject_digest}"],listAttestationsBulk:["POST /users/{username}/attestations/bulk-list{?per_page,before,after}"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},xk=n$});function Wp(e){let t={};for(let r of dn.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},s$);return t}function o$(e,t,r,n,s){let o=e.request.defaults(n);function i(...a){let c=o.endpoint.merge(...a);if(s.mapToData)return c=Object.assign({},c,{data:c[s.mapToData],[s.mapToData]:void 0}),o(c);if(s.renamed){let[l,u]=s.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${l}.${u}()`)}if(s.deprecated&&e.log.warn(s.deprecated),s.renamedParameters){let l=o.endpoint.merge(...a);for(let[u,d]of Object.entries(s.renamedParameters))u in l&&(e.log.warn(`"${u}" parameter is deprecated for "octokit.${t}.${r}()". Use "${d}" instead`),d in l||(l[d]=l[u]),delete l[u]);return o(l)}return o(...a)}return Object.assign(i,o)}var dn,s$,Ck=E(()=>{Ok();dn=new Map;for(let[e,t]of Object.entries(xk))for(let[r,n]of Object.entries(t)){let[s,o,i]=n,[a,c]=s.split(/ /),l=Object.assign({method:a,url:c},o);dn.has(e)||dn.set(e,new Map),dn.get(e).set(r,{scope:e,methodName:r,endpointDefaults:l,decorations:i})}s$={has({scope:e},t){return dn.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...dn.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let s=dn.get(t).get(n);if(!s)return;let{endpointDefaults:o,decorations:i}=s;return i?r[n]=o$(e,t,n,o,i):r[n]=e.request.defaults(o),r[n]}}});function i$(e){return{rest:Wp(e)}}function Jp(e){let t=Wp(e);return{...t,rest:t}}var Ak=E(()=>{Tk();Ck();i$.VERSION=Hp;Jp.VERSION=Hp});var Pk,Ik=E(()=>{Pk="22.0.1"});var Lk,Gk=E(()=>{wk();kk();vk();Ak();Ik();Lk=oc.plugin(jp,Jp,Up).defaults({userAgent:`octokit-rest.js/${Pk}`})});function a$(e){return`r${e}`}function Nk(e){if(e.length===0)throw new Error("an aliased single-object query needs at least one read");let t=e[0].kind;if(e.some(o=>o.kind!==t))throw new Error("an aliased single-object query may contain only one object kind");let r={},n=t==="pr"?"pullRequest":"issue";return{query:["query CoalescedSingleObjectReads {",...e.map((o,i)=>{if(!Number.isSafeInteger(o.number)||o.number<=0)throw new Error(`an aliased single-object read needs a positive number, got ${o.number}`);let a=o.selection.trim();if(a==="")throw new Error("an aliased single-object read needs a field selection");let c=a$(i);return r[c]=o,[` ${c}: repository(owner: ${JSON.stringify(o.owner)}, name: ${JSON.stringify(o.repo)}) {`,` object: ${n}(number: ${o.number}) { ${a} }`," }"].join(`
75
75
  `)})," rateLimit { cost }","}"].join(`
76
- `),aliases:r}}function Ik(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 Lk=E(()=>{});function Nk(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function Dk(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function ic(e){let t=e.etags??Nk(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??Xa(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=gp(e.budgetGate??hp()),i=vo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=new n$({auth:e.token,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,403,429],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),c=async()=>{if(e.balance===void 0)return null;try{return await ss("balance read",s,async()=>await e.balance()??null)}catch{return null}},l=(y,_)=>{if(!o)return;let k=y?.pools[_]??null;if(k!==null&&k.remaining<=0)throw new nr(_,k.reset_at)},u=async y=>{let _=t.get(y.cacheKey),k=o?(await c())?.pools[y.operation.budget]??null:null;if(k!==null&&k.remaining<=0){if(_!==void 0)return Gk(_,y.operation.budget,k.reset_at,r());throw new nr(y.operation.budget,k.reset_at)}let v={...y.parameters??{}},O=_r(v.headers)?v.headers:{};v.headers={...O,..._?{"if-none-match":_.etag}:{}};try{let A=await a.request(y.route,v),C=A.headers,D=Po(C,"etag");return D!==void 0&&t.set(y.cacheKey,{etag:D,data:A.data,headers:C,storedAt:r()}),await e.attribution?.record({operation:y.operation,cost:1,actor:y.actor}),{data:A.data,headers:C,quotaFree:!1}}catch(A){if(Co(A)===304){if(_===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(y.cacheKey)} without a held answer to reuse`,{cause:A});let C=Vp(A),D={..._.headers,...C},J=Po(D,"etag")??_.etag;return t.set(y.cacheKey,{etag:J,data:_.data,headers:D,..._.storedAt?{storedAt:_.storedAt}:{}}),await e.attribution?.record({operation:y.operation,cost:0,actor:y.actor}),{data:_.data,headers:D,quotaFree:!0}}if(Co(A)===401)throw new ls({cause:A});if(Ao(A)){if(_!==void 0){let C=Jp(y.operation.budget,A);return Gk(_,y.operation.budget,C.resetAt,r())}throw Jp(y.operation.budget,A)}throw A}},d=new Map,p=!1,f=async(y,_)=>{let k=y.input,v=k.kind==="pr";try{let O=await u({cacheKey:k.cacheKey,route:v?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:k.owner,repo:k.repo,...v?{pull_number:k.number}:{issue_number:k.number}},operation:k.operation,actor:k.actor});y.resolve({data:k.project?k.project(O.data,"rest"):O.data,surface:"rest",quotaFree:O.quotaFree,..._?{routing:_}:{}})}catch(O){y.reject(O)}},m=async(y,_)=>{try{let k=Pk(y.map(({input:D})=>D)),v=await a.graphql(k.query),O=Ik(k,v),A=o$(v),C=y[0].input;await e.attribution?.record({operation:{key:C.operation.key,budget:"graphql"},cost:A,actor:i$(y.map(({input:D})=>D.actor))}),O.forEach((D,J)=>{let z=y[J];D.value===null?z.reject(new Error(`GitHub returned no ${D.read.kind} #${D.read.number} from the coalesced query`)):z.resolve({data:z.input.project?z.input.project(D.value,"graphql"):D.value,surface:"graphql",quotaFree:!1,..._?{routing:_}:{}})})}catch(k){let v=Co(k)===401?new ls({cause:k}):k;y.forEach(O=>O.reject(v))}},h=async()=>{try{let y=await c(),_=Dk(y);p=!1;let k=[...d.values()];d.clear(),await w(k,y,_)}catch(y){p=!1;let _=[...d.values()];d.clear();for(let k of _)k.forEach(v=>v.reject(y))}},w=async(y,_,k)=>{await Promise.all(y.map(async v=>{let O=v[0].input.rail,A=O??"rest",C=_?.pools[A]??null,D=A==="rest"?"graphql":"rest",J=_?.pools[D]??null,z=A==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),Y=D==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),G=A,U;if(C!==null&&C.remaining<=0){if(J!==null&&J.remaining>0||Y)G=D,U={requestedRail:A,selectedRail:G,rerouted:!0,pool:A,resetAt:C.reset_at,reason:`${A} pool is exhausted until ${C.reset_at}; used the equivalent ${G} rail`};else if(!z&&o){let le=new nr(A,C.reset_at,"the equivalent rail has no known budget");v.forEach(xt=>xt.reject(le));return}}else O!==void 0&&(U={requestedRail:A,selectedRail:G,rerouted:!1,pool:A,resetAt:C?.reset_at??null,reason:C===null?`${A} pool balance is unknown, so the explicit rail is honored reactively`:`${A} pool has ${C.remaining} remaining, so the explicit rail is honored`});let Ge=v.some(({input:le})=>t.get(le.cacheKey)!==void 0);G==="graphql"||O===void 0&&!Ge&&v.length>k?await m(v,U):await Promise.all(v.map(le=>f(le,U)))}))};return{conditionalRest:u,singleObject:y=>new Promise((_,k)=>{let v=`${y.kind}:${y.rail??"default"}`,O=d.get(v)??[];O.push({input:y,resolve:_,reject:k}),d.set(v,O),p||(p=!0,setTimeout(()=>void h(),0))}),async conditionalPaginate(y){let _=[],k={},v=0,O=!0,A=1;for(;;){let C=await u({...y,cacheKey:`${y.cacheKey}:page:${A}`,parameters:{...y.parameters??{},per_page:100,page:A}});if(v+=1,O=O&&C.quotaFree,!Array.isArray(C.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(y.cacheKey)} page ${A}`);if(_.push(...C.data),k=C.headers,!s$(C.headers))break;A+=1}return{data:_,headers:k,requestCount:v,quotaFree:O}},async graphql(y,_={},k){try{l(await c(),k?.operation.budget??"graphql");let v=await a.graphql(y,_);return k&&await e.attribution?.record({operation:k.operation,cost:1,actor:k.actor}),v}catch(v){throw Co(v)===401?new ls({cause:v}):Ao(v)?Jp(k?.operation.budget??"graphql",v):v}}}}function Gk(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 Jp(e,t){let r=Vp(t),n=Number(Po(r,"x-ratelimit-reset")),s=Number.isFinite(n)&&n>0?new Date(n*1e3).toISOString():"an unknown reset instant";return new nr(e,s,"GitHub refused the live request",{cause:t})}function s$(e){let t=Po(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Ao(e){if(e instanceof nr)return!0;let t=Co(e),r=Vp(e);return t===429||t===403&&Po(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Co(e){if(_r(e))return typeof e.status=="number"?e.status:void 0}function Vp(e){return!_r(e)||!_r(e.response)||!_r(e.response.headers)?{}:e.response.headers}function Po(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function _r(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function o$(e){let t=_r(e)?e:{},r=_r(t.data)?t.data:t,s=(_r(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function i$(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 n$,ls,nr,$k=E(()=>{yE();EE();Ak();Lk();mp();yp();n$=Ck.plugin(Rp,ec);ls=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"}},nr=class extends Error{pool;resetAt;constructor(t,r,n,s){super(`${t} pool is exhausted; parked until ${r}${n?` (${n})`:""}`,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function qk(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...Er],detail:t??"no balance has been asked for yet, so none is known"}}function Uk(e,t){let r=Mk(e),n=Mk(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Er){let c=jk[a],l=n[c],u=a$(a,c,l);s[a]=u,u==null&&o.push(a)}let i=Er.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${Er.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Yp(e){try{let t=await e.transport();return Uk(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...qk(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function Hk(e){let t=null;for(let r of Er){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function Qp(e,t){let r=Hk(e);if(r==null)return Fk(zp).every_ms;let n=Fk(r.fraction);if(r.remaining>0)return n.every_ms;let s=c$(t.now,r.reset_at);return s==null?n.every_ms:Math.max(Kp,Math.min(n.every_ms,s))}function Fk(e){for(let t of cc)if(e<=t.at_or_below_fraction)return t;return cc[cc.length-1]}function a$(e,t,r){if(!Wk(r))return null;let n=ac(r.limit),s=ac(r.remaining),o=ac(r.used),i=ac(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function Xp(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Bk}`,{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 c$(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function ac(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function Mk(e){return Wk(e)?e:{}}function Wk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Bk,jk,Er,Kp,zp,cc,p6,lc=E(()=>{Bk="rate_limit",jk={rest:"core",graphql:"graphql",search:"search"},Er=["rest","graphql","search"];Kp=15e3,zp=.15,cc=[{at_or_below_fraction:0,every_ms:Kp,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:zp,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"}],p6=60*6e4});var Jk=E(()=>{V();un();lc()});var Vk=E(()=>{un();V();V();lc()});var Kk=E(()=>{});var zk=E(()=>{});var Yk=E(()=>{});var uc=E(()=>{nE();mp();yp();mE();$k();Jk();Vk();lc();Kk();zk();Yk()});import{join as p$}from"node:path";function dc(e,t){let r=Xp({token:e,...t?{origin:t}:{},fetchImpl:vo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await Qk(o);let a=new Date(i).toISOString();return o=Yp({transport:r,now:a}).then(c=>(n=c,s=Date.now()+Qp(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await Qk(o)}}async function Qk(e){try{return await ss("balance ask",1e4,()=>e)}catch{return null}}function pc(e){let t=wp({path:p$(ae(e.rootDir),"github","spend.toonl")}),r=ic({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return f$(r)}function f$(e){return{async read(t){let r=pp(t.args);if(r.kind!=="read")return Io(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Io(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Io(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=m$(r,t);if(n){let o=await e.singleObject({cacheKey:Zk(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=h$(r,t);if(!o)return Io(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:Zk(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:w$(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Ao(n)?Io(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:_$(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function m$(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=Lo(t.params,"owner")||r[1],s=Lo(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Lt(i)??{}:eS(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Lt(i)??{}:g$(i)}}function eS(e){let t=Lt(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:Lt(t.author)??{},labels:Zp(t.labels).map(r=>({name:r.name}))}}function g$(e){let t=Lt(e)??{};return{...eS(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function h$(e,t){let r=Lo(t.params,"owner"),n=Lo(t.params,"repo");if(!r||!n)return null;let s=y$(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!]) {
76
+ `),aliases:r}}function Dk(e,t){let r=t!==null&&typeof t=="object"?t:{},n=r.data??r,s=n!==null&&typeof n=="object"?n:{};return Object.entries(e.aliases).map(([o,i])=>{let a=s[o];if(a===null||typeof a!="object")return{read:i,value:null};let c=a.object;return{read:i,value:c!==null&&typeof c=="object"&&!Array.isArray(c)?c:null}})}var $k=E(()=>{});function Mk(){let e=new Map;return{get:t=>e.get(t),set:(t,r)=>e.set(t,r)}}function Bk(e){if(e?.outcome!=="asked")return Number.POSITIVE_INFINITY;let t=e.pools.rest,r=e.pools.graphql;return t===null||r===null||r.remaining<=0||r.fraction<=0?Number.POSITIVE_INFINITY:t.remaining<=0||t.fraction<=0?1:!Number.isFinite(t.fraction)||!Number.isFinite(r.fraction)?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(t.fraction/r.fraction))}function ic(e){let t=e.etags??Mk(),r=e.now??(()=>new Date().toISOString()),n=e.timeoutMs??Xa(),s=e.balanceTimeoutMs??Math.min(n||1e4,1e4),o=hp(e.budgetGate??yp()),i=vo({...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},timeoutMs:n}),a=new c$({auth:e.token,log:{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}},...e.baseUrl?{baseUrl:e.baseUrl}:{},request:{fetch:i},retry:{doNotRetry:[304,400,401,403,404,410,422,429,451],...e.retryCount===void 0?{}:{retries:e.retryCount}},throttle:e.throttle===!1?{enabled:!1}:{onRateLimit:()=>!1,onSecondaryRateLimit:()=>!1}}),c=async()=>{if(e.balance===void 0)return null;try{return await os("balance read",s,async()=>await e.balance()??null)}catch{return null}},l=(y,_)=>{if(!o)return;let k=y?.pools[_]??null;if(k!==null&&k.remaining<=0)throw new sr(_,k.reset_at)},u=async y=>{let _=t.get(y.cacheKey),k=o?(await c())?.pools[y.operation.budget]??null:null;if(k!==null&&k.remaining<=0){if(_!==void 0)return Fk(_,y.operation.budget,k.reset_at,r());throw new sr(y.operation.budget,k.reset_at)}let v={...y.parameters??{}},x=_r(v.headers)?v.headers:{};v.headers={...x,..._?{"if-none-match":_.etag}:{}};try{let A=await a.request(y.route,v),C=A.headers,D=Po(C,"etag");return D!==void 0&&t.set(y.cacheKey,{etag:D,data:A.data,headers:C,storedAt:r()}),await e.attribution?.record({operation:y.operation,cost:1,actor:y.actor}),{data:A.data,headers:C,quotaFree:!1}}catch(A){if(Co(A)===304){if(_===void 0)throw new Error(`GitHub returned 304 for ${JSON.stringify(y.cacheKey)} without a held answer to reuse`,{cause:A});let C=Kp(A),D={..._.headers,...C},V=Po(D,"etag")??_.etag;return t.set(y.cacheKey,{etag:V,data:_.data,headers:D,..._.storedAt?{storedAt:_.storedAt}:{}}),await e.attribution?.record({operation:y.operation,cost:0,actor:y.actor}),{data:_.data,headers:D,quotaFree:!0}}if(Co(A)===401)throw new us({cause:A});if(Ao(A)){if(_!==void 0){let C=Vp(y.operation.budget,A);return Fk(_,y.operation.budget,C.resetAt,r())}throw Vp(y.operation.budget,A)}throw A}},d=new Map,p=!1,f=async(y,_)=>{let k=y.input,v=k.kind==="pr";try{let x=await u({cacheKey:k.cacheKey,route:v?"GET /repos/{owner}/{repo}/pulls/{pull_number}":"GET /repos/{owner}/{repo}/issues/{issue_number}",parameters:{owner:k.owner,repo:k.repo,...v?{pull_number:k.number}:{issue_number:k.number}},operation:k.operation,actor:k.actor});y.resolve({data:k.project?k.project(x.data,"rest"):x.data,surface:"rest",quotaFree:x.quotaFree,..._?{routing:_}:{}})}catch(x){y.reject(x)}},m=async(y,_)=>{try{let k=Nk(y.map(({input:D})=>D)),v=await a.graphql(k.query),x=Dk(k,v),A=u$(v),C=y[0].input;await e.attribution?.record({operation:{key:C.operation.key,budget:"graphql"},cost:A,actor:d$(y.map(({input:D})=>D.actor))}),x.forEach((D,V)=>{let Y=y[V];D.value===null?Y.reject(new Error(`GitHub returned no ${D.read.kind} #${D.read.number} from the coalesced query`)):Y.resolve({data:Y.input.project?Y.input.project(D.value,"graphql"):D.value,surface:"graphql",quotaFree:!1,..._?{routing:_}:{}})})}catch(k){let v=Co(k)===401?new us({cause:k}):k;y.forEach(x=>x.reject(v))}},h=async()=>{try{let y=await c(),_=Bk(y);p=!1;let k=[...d.values()];d.clear(),await w(k,y,_)}catch(y){p=!1;let _=[...d.values()];d.clear();for(let k of _)k.forEach(v=>v.reject(y))}},w=async(y,_,k)=>{await Promise.all(y.map(async v=>{let x=v[0].input.rail,A=x??"rest",C=_?.pools[A]??null,D=A==="rest"?"graphql":"rest",V=_?.pools[D]??null,Y=A==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),Q=D==="rest"&&v.every(({input:le})=>t.get(le.cacheKey)!==void 0),G=A,U;if(C!==null&&C.remaining<=0){if(V!==null&&V.remaining>0||Q)G=D,U={requestedRail:A,selectedRail:G,rerouted:!0,pool:A,resetAt:C.reset_at,reason:`${A} pool is exhausted until ${C.reset_at}; used the equivalent ${G} rail`};else if(!Y&&o){let le=new sr(A,C.reset_at,"the equivalent rail has no known budget");v.forEach(xt=>xt.reject(le));return}}else x!==void 0&&(U={requestedRail:A,selectedRail:G,rerouted:!1,pool:A,resetAt:C?.reset_at??null,reason:C===null?`${A} pool balance is unknown, so the explicit rail is honored reactively`:`${A} pool has ${C.remaining} remaining, so the explicit rail is honored`});let Ge=v.some(({input:le})=>t.get(le.cacheKey)!==void 0);G==="graphql"||x===void 0&&!Ge&&v.length>k?await m(v,U):await Promise.all(v.map(le=>f(le,U)))}))};return{conditionalRest:u,singleObject:y=>new Promise((_,k)=>{let v=`${y.kind}:${y.rail??"default"}`,x=d.get(v)??[];x.push({input:y,resolve:_,reject:k}),d.set(v,x),p||(p=!0,setTimeout(()=>void h(),0))}),async conditionalPaginate(y){let _=[],k={},v=0,x=!0,A=1;for(;;){let C=await u({...y,cacheKey:`${y.cacheKey}:page:${A}`,parameters:{...y.parameters??{},per_page:100,page:A}});if(v+=1,x=x&&C.quotaFree,!Array.isArray(C.data))throw new Error(`GitHub returned a non-list body for ${JSON.stringify(y.cacheKey)} page ${A}`);if(_.push(...C.data),k=C.headers,!l$(C.headers))break;A+=1}return{data:_,headers:k,requestCount:v,quotaFree:x}},async graphql(y,_={},k){try{l(await c(),k?.operation.budget??"graphql");let v=await a.graphql(y,_);return k&&await e.attribution?.record({operation:k.operation,cost:1,actor:k.actor}),v}catch(v){throw Co(v)===401?new us({cause:v}):Ao(v)?Vp(k?.operation.budget??"graphql",v):v}}}}function Fk(e,t,r,n){let s=Date.parse(n),o=e.storedAt===void 0?Number.NaN:Date.parse(e.storedAt);return{data:e.data,headers:e.headers,quotaFree:!0,degraded:{source:"cache",pool:t,resetAt:r,ageMs:Number.isFinite(s)&&Number.isFinite(o)?Math.max(0,s-o):null,reason:`${t} pool is exhausted until ${r}; serving the last-known answer instead of going dark`}}}function Vp(e,t){let r=Kp(t),n=Number(Po(r,"x-ratelimit-reset")),s=Number.isFinite(n)&&n>0?new Date(n*1e3).toISOString():"an unknown reset instant";return new sr(e,s,"GitHub refused the live request",{cause:t})}function l$(e){let t=Po(e,"link");return t!==void 0&&/(?:^|,)\s*<[^>]+>;\s*rel="next"(?:\s*;|\s*(?:,|$))/i.test(t)}function Ao(e){if(e instanceof sr)return!0;let t=Co(e),r=Kp(e);return t===429||t===403&&Po(r,"x-ratelimit-remaining")==="0"||e instanceof Error&&/secondary rate|rate limit/i.test(e.message)}function Co(e){if(_r(e))return typeof e.status=="number"?e.status:void 0}function Kp(e){return!_r(e)||!_r(e.response)||!_r(e.response.headers)?{}:e.response.headers}function Po(e,t){let r=e[t]??e[t.toLowerCase()];return typeof r=="string"?r:typeof r=="number"?String(r):void 0}function _r(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function u$(e){let t=_r(e)?e:{},r=_r(t.data)?t.data:t,s=(_r(r.rateLimit)?r.rateLimit:{}).cost;if(!Number.isSafeInteger(s)||s<0)throw new Error("GitHub aliased query did not return a non-negative integer rateLimit.cost");return s}function d$(e){let t=[...new Set(e.filter(r=>r!==void 0))].sort();if(t.length!==0)return t.length===1?t[0]:`coalesced:${t.join("+")}`}var c$,us,sr,jk=E(()=>{EE();vE();Gk();$k();gp();bp();c$=Lk.plugin(vp,ec);us=class extends Error{status=401;constructor(t){super("GitHub rejected the host credential; refresh the stored login with `gh auth login` or provide a current host token",t),this.name="GithubCredentialError"}},sr=class extends Error{pool;resetAt;constructor(t,r,n,s){super(`${t} pool is exhausted; parked until ${r}${n?` (${n})`:""}`,s),this.name="GithubPoolUnavailableError",this.pool=t,this.resetAt=r}}});function Jk(e,t){return{version:1,origin:"asked",outcome:"unanswered",source:"GET /rate_limit",asked_at:e,request_count:0,pools:{rest:null,graphql:null,search:null},unreported_pools:[...Er],detail:t??"no balance has been asked for yet, so none is known"}}function Vk(e,t){let r=Uk(e),n=Uk(r.resources),s={rest:null,graphql:null,search:null},o=[];for(let a of Er){let c=Wk[a],l=n[c],u=p$(a,c,l);s[a]=u,u==null&&o.push(a)}let i=Er.length-o.length;return{version:1,origin:"asked",outcome:i>0?"asked":"unanswered",source:"GET /rate_limit",asked_at:t.askedAt,request_count:1,pools:s,unreported_pools:o,detail:i>0?`the token's own answer for ${i} of ${Er.length} pools`:"the answer carried no pool this repo budgets, so nothing about the token is known"}}async function Qp(e){try{let t=await e.transport();return Vk(t,{askedAt:e.now})}catch(t){let r=t instanceof Error?t.message:String(t);return{...Jk(e.now,`the balance ask failed before the token answered: ${r}`),request_count:1}}}function Kk(e){let t=null;for(let r of Er){let n=e.pools[r];n!=null&&(t==null||n.fraction<t.fraction)&&(t=n)}return t}function Xp(e,t){let r=Kk(e);if(r==null)return qk(Yp).every_ms;let n=qk(r.fraction);if(r.remaining>0)return n.every_ms;let s=f$(t.now,r.reset_at);return s==null?n.every_ms:Math.max(zp,Math.min(n.every_ms,s))}function qk(e){for(let t of cc)if(e<=t.at_or_below_fraction)return t;return cc[cc.length-1]}function p$(e,t,r){if(!zk(r))return null;let n=ac(r.limit),s=ac(r.remaining),o=ac(r.used),i=ac(r.reset);return n==null||n<=0||s==null?null:{pool:e,resource:t,limit:n,remaining:s,used:o??0,reset_at:i==null?"":new Date(i*1e3).toISOString(),fraction:s/n}}function Zp(e){let t=e.origin??"https://api.github.com",r=e.fetchImpl??fetch;return async()=>{let n=await r(`${t}/${Hk}`,{method:"GET",headers:{authorization:`bearer ${e.token}`,accept:"application/vnd.github+json"}});if(!n.ok)throw new Error(`the balance ask was refused with HTTP ${n.status}`);return await n.json()}}function f$(e,t){let r=Date.parse(e),n=Date.parse(t);return!Number.isFinite(r)||!Number.isFinite(n)?null:Math.max(0,n-r)}function ac(e){return typeof e=="number"&&Number.isFinite(e)?Math.trunc(e):null}function Uk(e){return zk(e)?e:{}}function zk(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Hk,Wk,Er,zp,Yp,cc,v6,lc=E(()=>{Hk="rate_limit",Wk={rest:"core",graphql:"graphql",search:"search"},Er=["rest","graphql","search"];zp=15e3,Yp=.15,cc=[{at_or_below_fraction:0,every_ms:zp,why:"spent: the only event that still matters is the reset, so watch for it"},{at_or_below_fraction:Yp,every_ms:3e4,why:"inside the reserved band: the posture can change between two calls"},{at_or_below_fraction:.5,every_ms:12e4,why:"below half: tightening, because the band is now reachable inside one window"},{at_or_below_fraction:1,every_ms:6e5,why:"above half: rare, because nothing this balance decides is anywhere close"}],v6=60*6e4});var Yk=E(()=>{J();un();lc()});var Qk=E(()=>{un();J();J();lc()});var Xk=E(()=>{});var Zk=E(()=>{});var eS=E(()=>{});var uc=E(()=>{aE();gp();bp();bE();jk();Yk();Qk();lc();Xk();Zk();eS()});import{join as y$}from"node:path";function dc(e,t){let r=Zp({token:e,...t?{origin:t}:{},fetchImpl:vo({timeoutMs:1e4})}),n=null,s=0,o=null;return async()=>{let i=Date.now();if(i<s)return n;if(o!==null)return await tS(o);let a=new Date(i).toISOString();return o=Qp({transport:r,now:a}).then(c=>(n=c,s=Date.now()+Xp(c,{now:new Date().toISOString()}),n)).finally(()=>{o=null}),await tS(o)}}async function tS(e){try{return await os("balance ask",1e4,()=>e)}catch{return null}}function pc(e){let t=_p({path:y$(ae(e.rootDir),"github","spend.toonl")}),r=ic({token:e.token,attribution:t,...e.baseUrl?{baseUrl:e.baseUrl}:{},...e.fetchImpl?{fetchImpl:e.fetchImpl}:{},...e.balance?{balance:e.balance}:{},...e.retryCount===void 0?{}:{retryCount:e.retryCount},...e.throttle===void 0?{}:{throttle:e.throttle}});return b$(r)}function b$(e){return{async read(t){let r=fp(t.args);if(r.kind!=="read")return Io(r,"github-write-passthrough","writes are executed by the original gh command unchanged");if(t.actor.trim()==="")return Io(r,"github-actor-missing","retry through rsp so the caller can be attributed");if(r.budget==="search")return Io(r,"github-search-not-routable","search reads are never a fallback; narrow the read to a classified object");try{let n=w$(r,t);if(n){let o=await e.singleObject({cacheKey:nS(t.path,t.params),kind:n.kind,owner:n.owner,repo:n.repo,number:n.number,selection:n.selection,operation:r,actor:t.actor,project:n.project});return{status:0,stdout:JSON.stringify(o.data),stderr:"",surface:o.surface,pool:o.surface==="graphql"?"graphql":"rest",quotaFree:o.quotaFree}}if(r.surface==="graphql"){let o=E$(r,t);if(!o)return Io(r,"github-graphql-read-not-realized","use a classified rsp summary whose GraphQL projection is declared");let i=await e.graphql(o.query,o.variables,{operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(o.decode(i)),stderr:"",surface:r.surface,pool:r.budget,quotaFree:!1}}let s=await e.conditionalRest({cacheKey:nS(t.path,t.params),route:`GET /${t.path.replace(/^\/+/,"")}`,parameters:R$(t.params),operation:r,actor:t.actor});return{status:0,stdout:JSON.stringify(s.data),stderr:"",surface:r.surface,pool:r.budget,quotaFree:s.quotaFree}}catch(n){return Ao(n)?Io(r,"github-budget-refused","wait for the reported GitHub rate-limit reset, then retry"):{status:v$(n),stdout:"",stderr:n instanceof Error?n.message:String(n),surface:r.surface,pool:r.budget,quotaFree:!1}}}}}function w$(e,t){if(e.key!=="issue view"&&e.key!=="pr view")return null;let r=/^repos\/([^/]+)\/([^/]+)\/(issues|pulls)\/(\d+)\/?$/.exec(t.path.replace(/^\/+/,""));if(!r)return null;let n=Lo(t.params,"owner")||r[1],s=Lo(t.params,"repo")||r[2],o=Number(r[4]);return!Number.isSafeInteger(o)||o<=0||n.includes("{")||s.includes("{")?null:e.key==="issue view"?{kind:"issue",owner:n,repo:s,number:o,selection:"number title state body url updatedAt author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Lt(i)??{}:sS(i)}:{kind:"pr",owner:n,repo:s,number:o,selection:"number title state body url updatedAt isDraft baseRefName headRefName author { login } labels(first: 100) { nodes { name } }",project:(i,a)=>a==="rest"?Lt(i)??{}:_$(i)}}function sS(e){let t=Lt(e)??{};return{number:t.number,title:t.title,state:String(t.state??"").toLowerCase(),body:t.body,html_url:t.url,updated_at:t.updatedAt,user:Lt(t.author)??{},labels:ef(t.labels).map(r=>({name:r.name}))}}function _$(e){let t=Lt(e)??{};return{...sS(t),draft:t.isDraft===!0,base:{ref:t.baseRefName},head:{ref:t.headRefName}}}function E$(e,t){let r=Lo(t.params,"owner"),n=Lo(t.params,"repo");if(!r||!n)return null;let s=k$(t.params,"per_page",30),o=[String(t.params?.state??"open").toUpperCase()];return e.key==="issue list"?{query:`query RspIssueList($owner: String!, $repo: String!, $first: Int!, $states: [IssueState!], $labels: [String!]) {
77
77
  repository(owner: $owner, name: $repo) {
78
78
  issues(first: $first, states: $states, labels: $labels, orderBy: {field: UPDATED_AT, direction: DESC}) {
79
79
  nodes { number title body state url updatedAt author { login } labels(first: 100) { nodes { name } } }
80
80
  }
81
81
  }
82
- }`,variables:{owner:r,repo:n,first:s,states:o,labels:b$(t.params,"labels")},decode:i=>Xk(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:Zp(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
82
+ }`,variables:{owner:r,repo:n,first:s,states:o,labels:S$(t.params,"labels")},decode:i=>rS(i,"issues").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,user:a.author,labels:ef(a.labels)}))}:e.key==="pr list"?{query:`query RspPrList($owner: String!, $repo: String!, $first: Int!, $states: [PullRequestState!]) {
83
83
  repository(owner: $owner, name: $repo) {
84
84
  pullRequests(first: $first, states: $states, orderBy: {field: UPDATED_AT, direction: DESC}) {
85
85
  nodes { number title body state url updatedAt isDraft author { login } baseRefName headRefName labels(first: 100) { nodes { name } } }
86
86
  }
87
87
  }
88
- }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>Xk(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:Zp(a.labels)}))}:null}function Xk(e,t){let r=Lt(e.repository),n=Lt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Lt).filter(s=>s!==null):[]}function Zp(e){let t=Lt(e);return Array.isArray(t?.nodes)?t.nodes.map(Lt).filter(r=>r!==null):[]}function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Lo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function y$(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function b$(e,t){let r=Lo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Io(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function Zk(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function w$(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function _$(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var ef=E(()=>{"use strict";uc();Ke()});import{spawn as E$}from"node:child_process";async function kr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=tt(t).rootDir;if(Ie(n,r).enabled&&!rS.has(n)){let s=await st(e);if(!S$(s))return s;rS.add(n)}return await st({...e,residentRead:async s=>await(await k$(n,r,e.signal)).read(s)})}async function k$(e,t,r){let n=tS.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await tf(["auth","token"],e,r??AbortSignal.timeout(6e4));if(a.status!==0)throw new Error(a.stderr||"rsp wait could not obtain a GitHub credential");s=a.stdout.trim()}if(!s)throw new Error("rsp wait could not obtain a GitHub credential");let o=String(t.GITHUB_API_URL??"").trim()||void 0,i=pc({rootDir:e,token:s,balance:dc(s,o),...o?{baseUrl:o}:{}});return tS.set(e,i),i}function S$(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function pn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await nS(t,async r=>await tf(e,t.cwd,r)):await nS(t,async r=>{let n=await R$(e,t.cwd,r);return n||await tf(e,t.cwd,r)})}async function nS(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 tf(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=E$("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ga(u).then(d=>La(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],l=[];i.stdout.on("data",u=>c.push(Buffer.from(u))),i.stderr.on("data",u=>l.push(Buffer.from(u))),i.once("error",u=>o({status:1,stdout:"",stderr:u.message})),i.once("close",u=>{o({status:u??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(l).toString("utf8").trim()})})})}async function R$(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await v$(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await kr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"database_id")||ln(s,"id"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),workflowName:se(s,"workflow_name")||se(s,"name"),headBranch:se(s,"head_branch"),url:se(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await kr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"id"),name:se(s,"name"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),url:se(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ma(e,"--branch"),s=Ma(e,"--limit")??"20",o=await kr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=cn(nt(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:ln(a,"database_id")||ln(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ma(e,"--limit")??"20",s=await kr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=cn(JSON.parse(s.stdout)).map(i=>({tagName:se(i,"tag_name"),publishedAt:se(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await kr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=nt(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:se(o,"tag_name"),publishedAt:se(o,"published_at"),isDraft:o.draft===!0})}}return null}async function v$(e,t,r){let n=await kr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=se(nt(s.head),"sha"),[i,a]=o?await Promise.all([kr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),kr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?cn(nt(JSON.parse(i.stdout)).statuses):[],l=a.status===0?cn(nt(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
89
- `),stdout:JSON.stringify({number:ln(s,"number"),state:se(s,"state").toUpperCase(),mergeable:T$(s),statusCheckRollup:[...c.map(u=>({conclusion:se(u,"state").toUpperCase()})),...l.map(u=>({status:se(u,"status").toUpperCase(),conclusion:se(u,"conclusion").toUpperCase()}))],url:se(s,"html_url")})}}function T$(e){let t=se(e,"mergeable_state").toUpperCase();return t==="CLEAN"?"MERGEABLE":t==="DIRTY"?"CONFLICTING":t&&t!=="UNKNOWN"?t:e.mergeable===!0?"MERGEABLE":e.mergeable===!1?"CONFLICTING":"UNKNOWN"}var tS,rS,sS=E(()=>{"use strict";Ye();Ro();ef();gt();Ba();er();tS=new Map,rS=new Set});function iS(e,t,r){let n=Date.now();return()=>x$(e,t,r,n)}async function x$(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await pn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=wo(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(C$),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return rt("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return rt("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return rt("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return Zt(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?Zt(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):rt("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?Zt(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):rt("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function aS(e,t){if(!e)return ue("missing run id");let r=await pn(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ue(r.stderr||"gh run view failed");let n=wo(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?Zt(`run ${e} is ${s||"pending"}`):o==="success"?rt("success",`run ${e} succeeded`,oS(n)):rt("failure",`run ${e} concluded ${o||"unknown"}`,oS(n))}async function cS(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await pn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):O$(e,wo(r.stdout))}function O$(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return Zt(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?rt("success",`job ${e} succeeded`,s):rt("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function lS(e,t){let r=await pn(["run","list","--branch",e,"--limit","1","--json","databaseId"],t);if(r.status!==0)return"";let n=JSON.parse(r.stdout),s=Array.isArray(n)?n[0]:void 0;return Zn(s)&&s.databaseId!=null?String(s.databaseId):""}async function uS(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await pn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return Zt(`release ${e} is not published yet`);let c=wo(a.stdout);return c.isDraft===!0?Zt(`release ${e} is still a draft`):rt("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await pn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=cn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||A$(e,c))&&(n||l>=t)});return i?rt("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):Zt("no matching release is published yet")}function C$(e){let t=Zn(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 oS(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 A$(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var dS=E(()=>{"use strict";on();sS();Ba()});function Go(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
90
- `)}var rf=E(()=>{"use strict"});var pS=E(()=>{"use strict";V()});var fS=E(()=>{"use strict"});function P$(e){return Object.keys(e)}function ds(e){return{...e,fields:P$(e.fields)}}var mS,gS,hS,I$,L$,G$,yS,nf=E(()=>{"use strict";mS="red.castle.lane.v1",gS="red.castle.state.v1",hS="red.castle.history.v1",I$="red.castle.validation.v2",L$="red.castle.envelope.v1",G$="red.castle.hitl-card.v1",yS=[ds({schemaId:mS,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}}),ds({schemaId:gS,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}}),ds({schemaId:hS,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}}),ds({schemaId:I$,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}}),ds({schemaId:L$,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}}),ds({schemaId:G$,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 P5,fc=E(()=>{"use strict";un();V();nf();P5=new Map(yS.map(e=>[e.schemaId,new Set(e.fields)]))});var bS=E(()=>{"use strict";fS();fc()});var wS=E(()=>{"use strict"});var mc=E(()=>{"use strict"});var sf=E(()=>{"use strict";mc()});var gc=E(()=>{"use strict"});import{appendFile as $$,mkdir as F$,readFile as M$}from"node:fs/promises";import{dirname as B$,join as j$}from"node:path";function of(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function _S(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:of(t.at,"at"),singleton:of(t.singleton,"singleton"),kind:of(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function q$(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function U$(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function H$(e){if(e.length===0)return"";let t=Fe({trailer:!1});return e.map(r=>t.push(r)).join("")}function W$(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(H$(i))+t<=r?n=o:s=o-1}return n}function J$(e){return j$(e.castleStateRoot,"singleton-events.toonl")}function hc(e,t={}){let r=t.fs??{appendFile:$$,mkdir:F$,readFile:M$},n=t.clock??(()=>new Date().toISOString()),s=J$(e),o=wt["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=_S({at:a.at??n(),...a}),l=Fe().push(q$(c)),u=Buffer.byteLength(l);if(await r.mkdir(B$(s),{recursive:!0}),await os(s,u,i)){let d=i.maxBytes;if(u>d)throw new Error(`singleton event exceeds its ${d}-byte lane ceiling`);let p=await r.readFile(s,"utf8"),f=Te(p),m=Math.floor(d*o.targetRatio),h=Math.max(m,u),w=W$(f,u,h);await is(s,w)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){U$(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Te(c).map(_S);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var yc=E(()=>{"use strict";un();V()});var bc=E(()=>{"use strict";V();gc();yc()});var ES=E(()=>{"use strict";mc();sf();bc()});var kS=E(()=>{"use strict"});var hQ,SS=E(()=>{"use strict";V();hQ=24*60*60*1e3});var RS=E(()=>{"use strict";fc()});var _Q,EQ,vS=E(()=>{"use strict";_Q=15*6e4,EQ=30*6e4});var TS=E(()=>{"use strict"});var K$,z$,RQ,vQ,xS=E(()=>{"use strict";K$=["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"],z$={pre_worktree:["cargo","gradle"]},RQ=Object.values(z$).flat(),vQ=new Set(K$)});var OS=E(()=>{"use strict"});var CS=E(()=>{"use strict";bc()});var af=E(()=>{});var AS=E(()=>{"use strict";uc();af()});import{EventEmitter as Q$}from"node:events";import{spawn as X$}from"node:child_process";function Do(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function $o(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var ps,wc,Z$,eF,tF,rF,No,_c=E(()=>{ps="github-webhook",wc="github.webhook.delivery";Z$="pull_request,pull_request_review,check_run,check_suite,workflow_run",eF=3,tF=1e3,rF=/no extension matched|unknown command|command not found/i,No=class extends Q${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,tF).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Do(c,n):$o(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=X$(r,["webhook","forward",`--events=${Z$}`],{cwd:this.opts.cwd,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"})}catch{return}this.child=n;let s="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",i=>{s+=i;let a;for(;(a=s.indexOf(`
91
- `))>=0;){let c=s.slice(0,a).trim();s=s.slice(a+1),c&&this.onLine(c)}});let o=[];n.stderr?.on("data",i=>{o.push(Buffer.from(i))}),n.once("error",()=>{this.child===n&&(this.child=void 0),this.scheduleRestart()}),n.once("close",i=>{if(this.child===n&&(this.child=void 0),this._dead)return;let a=Buffer.concat(o).toString("utf8");rF.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>=eF)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as xe}from"node:path";function cf(e){let t=xe(e),r=xe(t,"state"),n=xe(r,"castle"),s=xe(t,"tmp"),o=xe(s,"supervisors"),i=xe(s,"workers"),a=xe(s,"monitors"),c=xe(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:xe(n,"history.toonl"),castleValidation:xe(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>xe(o,l),projectSupervisor:xe(o,nF),workersRoot:i,worker:l=>xe(i,l),workerSteerFile:l=>xe(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>xe(a,l),worktreesRoot:c,worktreeLane:l=>xe(c,l)}}var nF,lf=E(()=>{"use strict";nF="default"});import{mkdir as sF,readFile as oF,rename as iF,rm as aF,writeFile as cF}from"node:fs/promises";import{dirname as lF,join as uF}from"node:path";function pF(e){if(!dF.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function fF(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function mF(e){return e.code==="ENOENT"}function gF(e){return e.code==="EEXIST"}function hF(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 uf(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Ec(e,t){return pF(t),uF(e.castleStateRoot,"singletons",t,"lease.toon")}function df(e,t={}){let r=t.fs??{mkdir:sF,readFile:oF,rename:iF,rm:aF,writeFile:cF},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??fF;async function o(a){try{return hF(Z(await r.readFile(a,"utf8")))}catch(c){if(mF(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,B(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Ec(e,a))},async acquire(a,c){let l=Ec(e,a);await r.mkdir(lF(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,B(p),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:u,lease:p}}catch(m){if(!gF(m))throw m}let f=await o(l);if(f){if(uf(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Ec(e,a),u=await o(l);if(!u||!uf(u,c))throw new kc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Ec(e,a),u=await o(l);if(!u)return!1;if(!uf(u,c))throw new kc(a);return await r.rm(l,{force:!0}),!0}}}var kc,dF,pf=E(()=>{"use strict";V();kc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},dF=/^[a-z0-9][a-z0-9._-]{0,63}$/});var PS=E(()=>{"use strict";_c();af();Da();lf();yc();pf()});var IS=E(()=>{"use strict"});var LS=E(()=>{});var GS=E(()=>{"use strict";LS()});var NS=E(()=>{"use strict"});var DS=E(()=>{"use strict"});var ff=E(()=>{"use strict"});var $S=E(()=>{"use strict";V();ff()});var FS=E(()=>{"use strict";V()});var mf=E(()=>{"use strict"});var gf=E(()=>{"use strict"});var MS=E(()=>{"use strict";gc()});var BS=E(()=>{"use strict"});var jS=E(()=>{"use strict";mf();gf()});var hf=E(()=>{"use strict"});var qS=E(()=>{"use strict"});var yF,bF,wF,xX,US=E(()=>{"use strict";yF={refreshCadenceS:270,tolerance:3},bF=270,wF=2700,xX={...yF,claimGraceS:bF,recentCommitProtectionS:wF}});var HS=E(()=>{"use strict"});var WS=E(()=>{qa()});var JS=E(()=>{qa();WS()});import{execFile as SF,execFileSync as MX}from"node:child_process";import{promisify as RF}from"node:util";var HX,VS=E(()=>{"use strict";uc();JS();hf();HX=RF(SF)});var KS=E(()=>{"use strict";pS();bS();wS();mc();ES();kS();SS();RS();fc();vS();TS();xS();OS();sf();CS();AS();PS();IS();GS();NS();DS();bc();$S();FS();nf();mf();gf();lf();MS();BS();jS();gc();ff();yc();pf();hf();qS();US();HS();VS()});var Sc,zS=E(()=>{"use strict";_c();_c();er();Sc=class extends No{constructor(t){super(t,Kn)}}});import{EventEmitter as vF}from"node:events";import{join as TF}from"node:path";function bf(e){let t=ho(e.cwd),r=cf(TF(t,".red"));return new yf({...e,leases:e.leases??df(r),lane:e.lane??hc(r),makeForwarder:e.makeForwarder??((n,s)=>new Sc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>zn(n.pid,n.start_time))})}var yf,YS=E(()=>{"use strict";KS();zS();er();Da();yf=class extends vF{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(ps).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?Do(a,n):$o(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===ps&&o.kind===wc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(ps);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var wf={};ne(wf,{listWaits:()=>Fa,renderWaitHelp:()=>Go,runWait:()=>CF});import{randomUUID as QS}from"node:crypto";import{mkdir as xF,rm as OF}from"node:fs/promises";async function CF(e,t=process.cwd()){let r;try{r=await p_(e)}catch(n){return await GF(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Go()),0;if(r.kind==="ls"){let n={schema:s_,version:1,waits:await Fa(t)};return process.stdout.write(es(n,r.options.format)),0}return Yd(r.kind)?await AF({...r,kind:r.kind},t):(process.stdout.write(Go()),2)}async function AF(e,t){let r=e.kind,n=tp({id:QS(),kind:r,target:LF(e),reason:e.options.reason,pid:process.pid,pid_start_time:await fo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:Kd[r],status:"running",attempts:0}),s=w_(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 xF(Qn(t),{recursive:!0}),await Xn(s,n);let u=await PF(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await S_({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(es(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=_o(r,n,d,{status:"success"},new Date().toISOString());return await Eo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(es(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await OF(s,{force:!0}).catch(()=>{})}}async function PF(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await K_({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:h_(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=bf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:iS(i,o,{emptyChecksGraceMs:Yn("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:Yn("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 IF(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=bf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:()=>aS(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Yn("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await So({probe:()=>cS(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Yn("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await So({probe:()=>uS(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:Yn("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function IF(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 lS(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await Xn(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function LF(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 GF(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=Yd(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=tp({id:QS(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:Kd[o],status:"indeterminate",attempts:0}),c=_o(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Eo(s,c,r).catch(()=>{}),process.stdout.write(es(c,r)),2}var _f=E(()=>{"use strict";f_();v_();Y_();on();Xd();dS();er();bo();rf();YS();bo();rf()});var Ef,kf,Sf,je,qe,it,Et,Fo,Rc=E(()=>{"use strict";Ef="rsp-telemetry.spool.toonl",kf="rsp-telemetry.spool.jsonl",Sf="rsp-telemetry.spool.corrections.toonl",je="rsp_accounting_events_v1",qe="rsp_decisions_v1",it="rsp_telemetry_invocations_v1",Et="rsp_telemetry_degradations_v1",Fo="rsp_telemetry_index_v1"});function fs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return Sr(e)??0}function Sr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var Rf=E(()=>{"use strict"});import{randomUUID as Mo,createHash as MF}from"node:crypto";import{appendFileSync as BF,closeSync as jF,existsSync as qF,fstatSync as UF,mkdirSync as oR,openSync as HF,readFileSync as WF,statSync as JF,writeSync as VF}from"node:fs";import{mkdir as iR,readdir as KF,readFile as aR,rename as zF,rm as cR,writeFile as lR}from"node:fs/promises";import{basename as vf,dirname as Bo,join as ms,resolve as eR}from"node:path";function Tc(e){if(!e)return null;let t=eR(e);for(;;){if(qF(ms(t,".red")))return t;let r=eR(ms(t,".."));if(r===t)break;t=r}return null}function sr(e){return ms(ae(e),Ef)}function Of(e){return ms(ae(e),kf)}function Cf(e){return ms(ae(e),Sf)}async function fn(e,t,r=wt["rsp-telemetry-spool"]){Rr(e,t,r)}function Rr(e,t,r=wt["rsp-telemetry-spool"],n={}){try{let s=Tc(e);if(!s)return;let o=sr(s);oR(Bo(o),{recursive:!0});let i=nR({spool_id:Mo(),event:XF(t)}),a=fR(o,i,r,Pf,nR);QF(o,i,n),a>0&&pR(s,"telemetry spool retention",a)}catch{}}function QF(e,t,r){let n=0;for(;;){let s=HF(e,"a",384);try{VF(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=UF(s),i=JF(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{jF(s)}}}function XF(e){return tR(tR(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function tR(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=YF)return e;let o={...e};return delete o[t],at(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function ZF(e){let t=Tc(e);if(!t)return[];let r=sr(t);await iR(Bo(r),{recursive:!0}).catch(()=>{});let n=await mR(t),s=[...await gR(t),...await nM(n)];return await Promise.all(n.map(o=>cR(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Af(e,t){let r=Tc(e);if(!r)return;let n=sr(r);await iR(Bo(n),{recursive:!0}).catch(()=>{}),await rM(r);for(let s of await eM(r))await rR(r,s,t);for(let s of await gR(r))await uR(r,s,t,!0);for(let s of await mR(r))await rR(r,s,t)}async function eM(e){let t=[sr(e),Of(e)],r=Bo(t[0]);return(await KF(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${vf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${vf(c)}.`));if(!o)return!1;let i=`${vf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&tM(a))}).sort().map(s=>ms(r,s))}function tM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function rR(e,t,r){try{let n=await dR(t);for(let s of Pf(n))await uR(e,s,r,!1)}finally{await cR(t,{force:!0})}}async function uR(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&Tf(e,{correction_id:Mo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}Tf(e,{correction_id:Mo(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function dR(e){let t="";for(let r=0;r<5;r++){let n=await aR(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function gs(e){try{let t=JSON.parse(e);return!fs(t)||t.collection!==je&&t.collection!==qe&&t.collection!==it&&t.collection!==Et?null:t}catch{return null}}function nR(e){return Fe().push(oM(e))}function Tf(e,t,r=!0){try{let n=Tc(e);if(!n)return;let s=Cf(n);oR(Bo(s),{recursive:!0});let o=sR(t),i=fR(s,o,wt["rsp-telemetry-corrections"],hR,sR);BF(s,o,{encoding:"utf8",mode:384}),r&&i>0&&pR(n,"telemetry corrections retention",i,!1)}catch{}}function pR(e,t,r,n=!0){let s=Mo();Tf(e,{correction_id:Mo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Et,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function sR(e){return Fe().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function fR(e,t,r,n,s){let o=Buffer.byteLength(t);if(!uE(e,o,r))return 0;let i;try{i=WF(e,"utf8")}catch(f){if(f.code==="ENOENT")return 0;throw f}let a=r.maxBytes;if(a===void 0)return 0;let c=Math.max(0,Math.floor(a*(r.targetRatio??Qe))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),h=Buffer.byteLength(m);if(d+h>c)break;u.unshift(m),d+=h}let p=u.join("");return dE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function mR(e){let t=sr(e),r=[t,Of(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await zF(s,o),s===t&&await lR(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function rM(e){await lR(sr(e),"",{flag:"a"}).catch(()=>{})}async function nM(e){let t=[];for(let r of e)t.push(...Pf(await dR(r)));return t}async function gR(e){let t=await aR(Cf(e),"utf8").catch(()=>""),r=new Map;for(let n of hR(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:gs(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function Pf(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(fs(o)){let i=gs(JSON.stringify(o));t.push(i?{spool_id:vc(JSON.stringify(o)),event:i}:{spool_id:vc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:vc(s),raw_line:s});continue}try{for(let o of Te(`${r}
88
+ }`,variables:{owner:r,repo:n,first:s,states:o},decode:i=>rS(i,"pullRequests").map(a=>({number:a.number,title:a.title,body:a.body,state:String(a.state??"").toLowerCase(),html_url:a.url,updated_at:a.updatedAt,draft:a.isDraft===!0,user:a.author,base:{ref:a.baseRefName},head:{ref:a.headRefName},labels:ef(a.labels)}))}:null}function rS(e,t){let r=Lt(e.repository),n=Lt(r?.[t]);return Array.isArray(n?.nodes)?n.nodes.map(Lt).filter(s=>s!==null):[]}function ef(e){let t=Lt(e);return Array.isArray(t?.nodes)?t.nodes.map(Lt).filter(r=>r!==null):[]}function Lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function Lo(e,t){let r=e?.[t];return typeof r=="string"?r.trim():""}function k$(e,t,r){let n=Number(e?.[t]);return Number.isSafeInteger(n)&&n>0?n:r}function S$(e,t){let r=Lo(e,t);return r===""?null:r.split(",").map(n=>n.trim()).filter(Boolean)}function Io(e,t,r){return{status:75,stdout:"",stderr:JSON.stringify({refused:!0,reason:t,operation:e.key,pool:e.budget,repair:r}),surface:e.surface,pool:e.budget,quotaFree:!1,refused:!0}}function nS(e,t){return JSON.stringify({path:e,params:Object.entries(t??{}).filter(r=>r[1]!==void 0).sort(([r],[n])=>r.localeCompare(n))})}function R$(e){return Object.fromEntries(Object.entries(e??{}).filter(t=>t[1]!==void 0))}function v$(e){if(typeof e=="object"&&e!==null&&"status"in e){let t=e.status;if(typeof t=="number"&&Number.isInteger(t)&&t>0)return t}return 1}var tf=E(()=>{"use strict";uc();ze()});import{spawn as T$}from"node:child_process";async function kr(e){let t=e.cwd??process.cwd(),r=e.env??process.env,n=tt(t).rootDir;if(Ie(n,r).enabled&&!iS.has(n)){let s=await st(e);if(!O$(s))return s;iS.add(n)}return await st({...e,residentRead:async s=>await(await x$(n,r,e.signal)).read(s)})}async function x$(e,t,r){let n=oS.get(e);if(n)return n;let s=String(t.GH_TOKEN??t.GITHUB_TOKEN??"").trim();if(!s){let a=await rf(["auth","token"],e,r??AbortSignal.timeout(6e4));if(a.status!==0)throw new Error(a.stderr||"rsp wait could not obtain a GitHub credential");s=a.stdout.trim()}if(!s)throw new Error("rsp wait could not obtain a GitHub credential");let o=String(t.GITHUB_API_URL??"").trim()||void 0,i=pc({rootDir:e,token:s,balance:dc(s,o),...o?{baseUrl:o}:{}});return oS.set(e,i),i}function O$(e){if(e.status!==75)return!1;try{return JSON.parse(e.stderr).reason==="rsp-github-resident-unavailable"}catch{return!1}}async function pn(e,t){return process.env.RSP_WAIT_GITHUB_TEST_TRANSPORT==="gh"?await aS(t,async r=>await rf(e,t.cwd,r)):await aS(t,async r=>{let n=await C$(e,t.cwd,r);return n||await rf(e,t.cwd,r)})}async function aS(e,t){if(e.signal.aborted)return{status:1,stdout:"",stderr:"wait cancelled"};let r=new AbortController,n=setTimeout(()=>r.abort(),e.timeoutMs),s=AbortSignal.any([e.signal,r.signal]);try{let o=await t(s);return r.signal.aborted?{status:1,stdout:"",stderr:`GitHub probe exceeded ${e.timeoutMs}ms`}:o}finally{clearTimeout(n)}}async function rf(e,t,r){return r.aborted?{status:1,stdout:"",stderr:"gh call cancelled"}:await new Promise(n=>{let s=!1,o=u=>{s||(s=!0,r.removeEventListener("abort",a),n(u))},i=T$("gh",e,{cwd:t,stdio:["ignore","pipe","pipe"]});function a(){let u=i.pid;u&&Ga(u).then(d=>La(d,"SIGKILL"));try{i.kill("SIGKILL")}catch{}o({status:1,stdout:"",stderr:"gh call cancelled"})}r.addEventListener("abort",a,{once:!0});let c=[],l=[];i.stdout.on("data",u=>c.push(Buffer.from(u))),i.stderr.on("data",u=>l.push(Buffer.from(u))),i.once("error",u=>o({status:1,stdout:"",stderr:u.message})),i.once("close",u=>{o({status:u??1,stdout:Buffer.concat(c).toString("utf8"),stderr:Buffer.concat(l).toString("utf8").trim()})})})}async function C$(e,t,r){if(e[0]==="pr"&&e[1]==="view"&&e[2])return await A$(e[2],t,r);if(e[0]==="run"&&e[1]==="view"&&e[2]){let n=await kr({path:`repos/{owner}/{repo}/actions/runs/${e[2]}`,cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"database_id")||ln(s,"id"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),workflowName:se(s,"workflow_name")||se(s,"name"),headBranch:se(s,"head_branch"),url:se(s,"html_url")})}}if(e[0]==="job"&&e[1]==="view"&&e[2]){let n=await kr({path:`repos/{owner}/{repo}/actions/jobs/${e[2]}`,args:["run","view",e[2]],cwd:t,signal:r,command:`gh api repos/{owner}/{repo}/actions/jobs/${e[2]}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));return{status:0,stderr:n.stderr,stdout:JSON.stringify({databaseId:ln(s,"id"),name:se(s,"name"),status:se(s,"status").toUpperCase(),conclusion:se(s,"conclusion").toUpperCase(),url:se(s,"html_url")})}}if(e[0]==="run"&&e[1]==="list"){let n=Ma(e,"--branch"),s=Ma(e,"--limit")??"20",o=await kr({path:"repos/{owner}/{repo}/actions/runs",params:{branch:n,per_page:s},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(o.status!==0)return o;let i=cn(nt(JSON.parse(o.stdout)).workflow_runs).map(a=>({databaseId:ln(a,"database_id")||ln(a,"id")}));return{status:0,stdout:JSON.stringify(i),stderr:o.stderr}}if(e[0]==="release"&&e[1]==="list"){let n=Ma(e,"--limit")??"20",s=await kr({path:"repos/{owner}/{repo}/releases",params:{per_page:n},cwd:t,signal:r,command:`gh ${e.join(" ")}`});if(s.status!==0)return s;let o=cn(JSON.parse(s.stdout)).map(i=>({tagName:se(i,"tag_name"),publishedAt:se(i,"published_at"),isDraft:i.draft===!0}));return{status:0,stdout:JSON.stringify(o),stderr:s.stderr}}if(e[0]==="release"&&e[1]==="view"&&e[2]){let n=e[2],s=await kr({path:`repos/{owner}/{repo}/releases/tags/${encodeURIComponent(n)}`,args:["release","view",n],cwd:t,signal:r,command:`gh release view ${n}`});if(s.status!==0)return s;let o=nt(JSON.parse(s.stdout));return{status:0,stderr:s.stderr,stdout:JSON.stringify({tagName:se(o,"tag_name"),publishedAt:se(o,"published_at"),isDraft:o.draft===!0})}}return null}async function A$(e,t,r){let n=await kr({path:`repos/{owner}/{repo}/pulls/${e}`,cwd:t,signal:r,command:`gh pr view ${e}`});if(n.status!==0)return n;let s=nt(JSON.parse(n.stdout));if(Array.isArray(s.statusCheckRollup))return{status:0,stdout:n.stdout,stderr:n.stderr};let o=se(nt(s.head),"sha"),[i,a]=o?await Promise.all([kr({path:`repos/{owner}/{repo}/commits/${o}/status`,cwd:t,signal:r,command:`gh pr view ${e} status`}),kr({path:`repos/{owner}/{repo}/commits/${o}/check-runs`,cwd:t,signal:r,command:`gh pr view ${e} check-runs`})]):[{status:0,stdout:"{}",stderr:"",quotaFree:!1},{status:0,stdout:"{}",stderr:"",quotaFree:!1}],c=i.status===0?cn(nt(JSON.parse(i.stdout)).statuses):[],l=a.status===0?cn(nt(JSON.parse(a.stdout)).check_runs):[];return{status:0,stderr:[n.stderr,i.stderr,a.stderr].filter(Boolean).join(`
89
+ `),stdout:JSON.stringify({number:ln(s,"number"),state:se(s,"state").toUpperCase(),mergeable:P$(s),statusCheckRollup:[...c.map(u=>({conclusion:se(u,"state").toUpperCase()})),...l.map(u=>({status:se(u,"status").toUpperCase(),conclusion:se(u,"conclusion").toUpperCase()}))],url:se(s,"html_url")})}}function P$(e){let t=se(e,"mergeable_state").toUpperCase();return t==="CLEAN"?"MERGEABLE":t==="DIRTY"?"CONFLICTING":t&&t!=="UNKNOWN"?t:e.mergeable===!0?"MERGEABLE":e.mergeable===!1?"CONFLICTING":"UNKNOWN"}var oS,iS,cS=E(()=>{"use strict";Be();Ro();tf();gt();Ba();tr();oS=new Map,iS=new Set});function uS(e,t,r){let n=Date.now();return()=>I$(e,t,r,n)}async function I$(e,t,r,n){if(!/^[1-9][0-9]*$/.test(e))return ue("missing PR number");let s=await pn(["pr","view",e,"--json","number,state,mergeable,statusCheckRollup,url"],t);if(s.status!==0)return ue(s.stderr||"gh pr view failed");let o=wo(s.stdout),i=Array.isArray(o.statusCheckRollup)?o.statusCheckRollup:[],a=String(o.mergeable??""),c=i.map(G$),l=c.filter(d=>d==="failure").length,u=c.filter(d=>d==="pending").length;if(String(o.state)!=="OPEN")return rt("failure",`PR #${e} is ${String(o.state).toLowerCase()}`,{mergeable:a});if(a==="CONFLICTING")return rt("failure",`PR #${e} has merge conflicts`,{failing:l,pending:u,mergeable:a});if(l>0)return rt("failure",`PR #${e} has failing checks`,{failing:l,pending:u,mergeable:a});if(u>0)return er(`PR #${e} has ${u} pending checks`);if(i.length===0){let d=Date.now()-n;return a==="UNKNOWN"||a==="BLOCKED"||d<r.emptyChecksGraceMs?er(`PR #${e} has no registered checks yet`,{checks:0,mergeable:a,empty_checks_elapsed_ms:d}):rt("success",`PR #${e} has no checks configured`,{checks:0,mergeable:a})}return a==="UNKNOWN"?er(`PR #${e} mergeability is still unknown`,{checks:i.length,mergeable:a}):rt("success",`PR #${e} checks passed`,{checks:i.length,mergeable:a})}async function dS(e,t){if(!e)return ue("missing run id");let r=await pn(["run","view",e,"--json","databaseId,status,conclusion,workflowName,headBranch,url"],t);if(r.status!==0)return ue(r.stderr||"gh run view failed");let n=wo(r.stdout),s=String(n.status??"").toLowerCase(),o=String(n.conclusion??"").toLowerCase();return s!=="completed"?er(`run ${e} is ${s||"pending"}`):o==="success"?rt("success",`run ${e} succeeded`,lS(n)):rt("failure",`run ${e} concluded ${o||"unknown"}`,lS(n))}async function pS(e,t){if(!/^[1-9][0-9]*$/.test(e))return ue("missing job id");let r=await pn(["job","view",e],t);return r.status!==0?ue(r.stderr||"GitHub Actions job read failed"):L$(e,wo(r.stdout))}function L$(e,t){let r=String(t.status??"").toLowerCase(),n=String(t.conclusion??"").toLowerCase();if(r!=="completed")return er(`job ${e} is ${r||"pending"}`);let s={job_id:typeof t.databaseId=="number"?t.databaseId:e,conclusion:n,name:String(t.name??""),url:String(t.url??"")};return n==="success"?rt("success",`job ${e} succeeded`,s):rt("failure",`job ${e} concluded ${n||"unknown"}`,s)}async function fS(e,t){let r=await pn(["run","list","--branch",e,"--limit","1","--json","databaseId"],t);if(r.status!==0)return"";let n=JSON.parse(r.stdout),s=Array.isArray(n)?n[0]:void 0;return es(s)&&s.databaseId!=null?String(s.databaseId):""}async function mS(e,t,r,n=!1){if(n&&e&&!/[?*]/.test(e)){let a=await pn(["release","view",e,"--json","tagName,publishedAt,isDraft"],r);if(a.status!==0)return er(`release ${e} is not published yet`);let c=wo(a.stdout);return c.isDraft===!0?er(`release ${e} is still a draft`):rt("success",`release ${String(c.tagName||e)} published`,{tag:String(c.tagName||e),published_at:String(c.publishedAt??"")})}let s=await pn(["release","list","--limit","20","--json","tagName,publishedAt,isDraft"],r);if(s.status!==0)return ue(s.stderr||"gh release list failed");let i=cn(JSON.parse(s.stdout)).find(a=>{let c=String(a.tagName??""),l=new Date(String(a.publishedAt??""));return a.isDraft!==!0&&(!e||N$(e,c))&&(n||l>=t)});return i?rt("success",`release ${String(i.tagName)} published`,{tag:String(i.tagName),published_at:String(i.publishedAt??"")}):er("no matching release is published yet")}function G$(e){let t=es(e)?e:{},r=String(t.conclusion??t.state??t.status??"").toLowerCase();return["success","successful","passed","completed","neutral","skipped"].includes(r)?"success":["failure","failed","error","timed_out","cancelled","action_required"].includes(r)?"failure":"pending"}function lS(e){return{database_id:typeof e.databaseId=="number"?e.databaseId:String(e.databaseId??""),conclusion:String(e.conclusion??""),workflow:String(e.workflowName??""),branch:String(e.headBranch??""),url:String(e.url??"")}}function N$(e,t){let r=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${r}$`).test(t)}var gS=E(()=>{"use strict";on();cS();Ba()});function Go(){return["usage: rsp wait <subcommand> [options]","","Subcommands:"," rsp wait pr <number> [--timeout 45m] [--reason <text>]"," rsp wait run <id|--branch <branch> --latest> [--timeout 45m]"," rsp wait job <id> [--timeout 45m]"," rsp wait release [--tag <glob>] [--existing] [--timeout 2h]",' rsp wait cmd -- "<command line>" [--timeout 30m]'," rsp wait ls","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Doctrine: never hand-write sleep polling loops; run rsp wait in a background shell - process exit IS the signal.","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate.","Result: TOON by default; --json selects JSON; --result-file <path> is written atomically before any wake.","Command capture: --capture-bytes <n> (default 16384); elision handles recover larger stdout/stderr.",'Completion hooks: --signal-pid <pid> [--signal USR1] and --notify-cmd "<cmd>" run after the result is durable.',"Hook timeout: --notify-timeout 10s. Process termination: TERM, --terminate-grace 2s, then KILL.","GitHub bounds: --probe-timeout 60s caps one probe, so a hung gh call cannot outlive --timeout.",""].join(`
90
+ `)}var nf=E(()=>{"use strict"});var hS=E(()=>{"use strict";J()});var yS=E(()=>{"use strict"});function D$(e){return Object.keys(e)}function ps(e){return{...e,fields:D$(e.fields)}}var bS,wS,_S,$$,F$,M$,ES,sf=E(()=>{"use strict";bS="red.castle.lane.v1",wS="red.castle.state.v1",_S="red.castle.history.v1",$$="red.castle.validation.v2",F$="red.castle.envelope.v1",M$="red.castle.hitl-card.v1",ES=[ps({schemaId:bS,docPath:".red/contracts/red.castle.lane.v1.md",typeNames:["CastleLaneRecord","CastleLaneKind"],fields:{at:!0,kind:!0,worker_id:!0,supervisor_id:!0,issue:!0,attempt:!0,msg:!0,payload:!0}}),ps({schemaId:wS,docPath:".red/contracts/red.castle.state.v1.md",typeNames:["CastleStateSnapshot","CastleStateKind"],fields:{kind:!0,id:!0,version:!0,updated_at:!0,worker_id:!0,supervisor_id:!0,runner:!0,bundle_version:!0,pid:!0,started_at:!0,current:!0,queue:!0,completed:!0,envelope:!0}}),ps({schemaId:_S,docPath:".red/contracts/red.castle.history.v1.md",typeNames:["CastleHistoryRecord","CastleHistoryEvent"],fields:{ts:!0,epoch:!0,worker:!0,issue:!0,event:!0,duration_s:!0,runner:!0,merge_sha:!0,reason:!0}}),ps({schemaId:$$,docPath:".red/contracts/red.castle.validation.v2.md",typeNames:["CastleValidationRecord","CastleValidationStatus"],fields:{schema:!0,name:!0,status:!0,command:!0,exitCode:!0,durationMs:!0,summary:!0}}),ps({schemaId:F$,docPath:".red/contracts/red.castle.envelope.v1.md",typeNames:["CastleEnvelope","CastleEnvelopeSection","CastleAttemptStatus"],fields:{status:!0,worker:!0,duration:!0,diff:!0,attempt:!0,mergeSha:!0,sections:!0}}),ps({schemaId:M$,docPath:".red/contracts/red.castle.hitl-card.v1.md",typeNames:["CastleHitlCard","CastleHitlCardPrStatus","CastleHitlCardAction"],fields:{issueNumber:!0,issueTitle:!0,issueUrl:!0,pendingDecision:!0,prStatus:!0,updatedAt:!0}})]});var H5,fc=E(()=>{"use strict";un();J();sf();H5=new Map(ES.map(e=>[e.schemaId,new Set(e.fields)]))});var kS=E(()=>{"use strict";yS();fc()});var SS=E(()=>{"use strict"});var mc=E(()=>{"use strict"});var of=E(()=>{"use strict";mc()});var gc=E(()=>{"use strict"});import{appendFile as q$,mkdir as U$,readFile as H$}from"node:fs/promises";import{dirname as W$,join as J$}from"node:path";function af(e,t){if(typeof e!="string"||e.length===0)throw new Error(`singleton event ${t} must be a non-empty string`);return e}function RS(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton event must be a record");let t={...e},r=t.payload;if(typeof r=="string")try{t.payload=JSON.parse(r)}catch{throw new Error("singleton event payload is not valid JSON")}if(t.payload!==void 0&&(t.payload===null||typeof t.payload!="object"||Array.isArray(t.payload)))throw new Error("singleton event payload must be a record");return{at:af(t.at,"at"),singleton:af(t.singleton,"singleton"),kind:af(t.kind,"kind"),...t.payload===void 0?{}:{payload:t.payload}}}function V$(e){return{at:e.at,singleton:e.singleton,kind:e.kind,...e.payload===void 0?{}:{payload:JSON.stringify(e.payload)}}}function K$(e){if(e!==void 0&&(!Number.isSafeInteger(e)||e<0))throw new Error("singleton event tail must be a non-negative integer")}function z$(e){if(e.length===0)return"";let t=Fe({trailer:!1});return e.map(r=>t.push(r)).join("")}function Y$(e,t,r){let n=0,s=e.length;for(;n<s;){let o=Math.ceil((n+s)/2),i=e.slice(-o);Buffer.byteLength(z$(i))+t<=r?n=o:s=o-1}return n}function Q$(e){return J$(e.castleStateRoot,"singleton-events.toonl")}function hc(e,t={}){let r=t.fs??{appendFile:q$,mkdir:U$,readFile:H$},n=t.clock??(()=>new Date().toISOString()),s=Q$(e),o=wt["castle-singleton-events"],i={...o,...t.maxBytes===void 0?{}:{maxBytes:t.maxBytes}};return{path:s,async append(a){let c=RS({at:a.at??n(),...a}),l=Fe().push(V$(c)),u=Buffer.byteLength(l);if(await r.mkdir(W$(s),{recursive:!0}),await is(s,u,i)){let d=i.maxBytes;if(u>d)throw new Error(`singleton event exceeds its ${d}-byte lane ceiling`);let p=await r.readFile(s,"utf8"),f=Te(p),m=Math.floor(d*o.targetRatio),h=Math.max(m,u),w=Y$(f,u,h);await as(s,w)}return await r.appendFile(s,l,"utf8"),c},async read(a={}){K$(a.tail);let c;try{c=await r.readFile(s,"utf8")}catch(u){if(u.code==="ENOENT")return[];throw u}let l=Te(c).map(RS);return a.tail===void 0?l:a.tail===0?[]:l.slice(-a.tail)}}}var yc=E(()=>{"use strict";un();J()});var bc=E(()=>{"use strict";J();gc();yc()});var vS=E(()=>{"use strict";mc();of();bc()});var TS=E(()=>{"use strict"});var CQ,xS=E(()=>{"use strict";J();CQ=24*60*60*1e3});var OS=E(()=>{"use strict";fc()});var LQ,GQ,CS=E(()=>{"use strict";LQ=15*6e4,GQ=30*6e4});var AS=E(()=>{"use strict"});var Z$,eF,$Q,FQ,PS=E(()=>{"use strict";Z$=["supervisor_start","supervisor_exit","fleet_scaled","worker_start","worker_exit","worker_steered","worker_escalated","post_claim","pre_worktree","post_issue","pre_requeue","pre_merge","post_merge"],eF={pre_worktree:["cargo","gradle"]},$Q=Object.values(eF).flat(),FQ=new Set(Z$)});var IS=E(()=>{"use strict"});var LS=E(()=>{"use strict";bc()});var cf=E(()=>{});var GS=E(()=>{"use strict";uc();cf()});import{EventEmitter as rF}from"node:events";import{spawn as nF}from"node:child_process";function Do(e,t){let r=Number(t);return!Number.isSafeInteger(r)||r<=0?!1:!!(e.pull_request?.number===r||e.check_run?.pull_requests?.some(n=>n.number===r)||e.check_suite?.pull_requests?.some(n=>n.number===r))}function $o(e,t){return e.workflow_run!=null&&String(e.workflow_run.id)===t}var fs,wc,sF,oF,iF,aF,No,_c=E(()=>{fs="github-webhook",wc="github.webhook.delivery";sF="pull_request,pull_request_review,check_run,check_suite,workflow_run",oF=3,iF=1e3,aF=/no extension matched|unknown command|command not found/i,No=class extends rF{constructor(r,n){super();this.opts=r;this.terminate=n}child;_dead=!1;restarts=0;_mode="polling";stopping;get mode(){return this._mode}get dead(){return this._dead}start(){this._dead||this.opts.cancelSignal.aborted||(this.opts.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0}),this.spawnChild())}async stop(){if(this.stopping)return await this.stopping;this._dead=!0,this.emit("stopped");let r=this.child;this.child=void 0,r&&(this.stopping=this.terminate(r,iF).then(()=>{}),await this.stopping)}makeWakeSignalFor(r,n){return()=>{if(this._mode!=="webhook"||this._dead)return;let s=new AbortController,o=c=>{(r==="pr"?Do(c,n):$o(c,n))&&(a(),s.abort())},i=()=>{a()},a=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}spawnChild(){if(this._dead)return;let r=this.opts.ghBin??"gh",n;try{n=nF(r,["webhook","forward",`--events=${sF}`],{cwd:this.opts.cwd,stdio:["ignore","pipe","pipe"],detached:process.platform!=="win32"})}catch{return}this.child=n;let s="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",i=>{s+=i;let a;for(;(a=s.indexOf(`
91
+ `))>=0;){let c=s.slice(0,a).trim();s=s.slice(a+1),c&&this.onLine(c)}});let o=[];n.stderr?.on("data",i=>{o.push(Buffer.from(i))}),n.once("error",()=>{this.child===n&&(this.child=void 0),this.scheduleRestart()}),n.once("close",i=>{if(this.child===n&&(this.child=void 0),this._dead)return;let a=Buffer.concat(o).toString("utf8");aF.test(a)||this.restarts===0&&(i===1||i===127)||this.scheduleRestart()})}onLine(r){let n;try{n=JSON.parse(r)}catch{this.emit("malformed-delivery",r);return}this._mode!=="webhook"&&(this._mode="webhook",this.emit("mode-changed","webhook")),this.emit("delivery",n)}scheduleRestart(){if(this._dead||this.restarts>=oF)return;let r=Math.min(500*Math.pow(2,this.restarts),5e3);this.restarts++,setTimeout(()=>this.spawnChild(),r).unref()}}});import{resolve as xe}from"node:path";function lf(e){let t=xe(e),r=xe(t,"state"),n=xe(r,"castle"),s=xe(t,"tmp"),o=xe(s,"supervisors"),i=xe(s,"workers"),a=xe(s,"monitors"),c=xe(s,"worktrees");return{redRoot:t,stateRoot:r,castleStateRoot:n,castleHistory:xe(n,"history.toonl"),castleValidation:xe(n,"validation.toonl"),tmpRoot:s,supervisorsRoot:o,supervisor:l=>xe(o,l),projectSupervisor:xe(o,cF),workersRoot:i,worker:l=>xe(i,l),workerSteerFile:l=>xe(i,l,"steer.toon"),monitorsRoot:a,monitor:l=>xe(a,l),worktreesRoot:c,worktreeLane:l=>xe(c,l)}}var cF,uf=E(()=>{"use strict";cF="default"});import{mkdir as lF,readFile as uF,rename as dF,rm as pF,writeFile as fF}from"node:fs/promises";import{dirname as mF,join as gF}from"node:path";function yF(e){if(!hF.test(e)||e==="."||e==="..")throw new Error(`invalid singleton name ${JSON.stringify(e)}`)}function bF(e){try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function wF(e){return e.code==="ENOENT"}function _F(e){return e.code==="EEXIST"}function EF(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new Error("singleton lease must be a record");let t=e;if(!Number.isInteger(t.pid)||t.pid<=0)throw new Error("singleton lease pid must be a positive integer");for(let r of["start_time","acquired_at","renewed_at"])if(typeof t[r]!="string"||t[r].length===0)throw new Error(`singleton lease ${r} must be a non-empty string`);return t}function df(e,t){return e.pid===t.pid&&e.start_time===t.startTime}function Ec(e,t){return yF(t),gF(e.castleStateRoot,"singletons",t,"lease.toon")}function pf(e,t={}){let r=t.fs??{mkdir:lF,readFile:uF,rename:dF,rm:pF,writeFile:fF},n=t.clock??(()=>new Date().toISOString()),s=t.isPidAlive??bF;async function o(a){try{return EF(z(await r.readFile(a,"utf8")))}catch(c){if(wF(c))return;throw c}}async function i(a,c){let l=`${a}.tmp-${c.pid}-${crypto.randomUUID()}`;await r.writeFile(l,M(c),{encoding:"utf8"}),await r.rename(l,a)}return{read(a){return o(Ec(e,a))},async acquire(a,c){let l=Ec(e,a);await r.mkdir(mF(l),{recursive:!0});let u=!1;for(;;){let d=n(),p={pid:c.pid,start_time:c.startTime,acquired_at:d,renewed_at:d};try{return await r.writeFile(l,M(p),{encoding:"utf8",flag:"wx"}),{acquired:!0,reaped:u,lease:p}}catch(m){if(!_F(m))throw m}let f=await o(l);if(f){if(df(f,c))return{acquired:!0,reaped:u,lease:f};if(await s(f.pid))return{acquired:!1,lease:f};await r.rm(l,{force:!0}),u=!0}}},async renew(a,c){let l=Ec(e,a),u=await o(l);if(!u||!df(u,c))throw new kc(a);let d={...u,renewed_at:n()};return await i(l,d),d},async release(a,c){let l=Ec(e,a),u=await o(l);if(!u)return!1;if(!df(u,c))throw new kc(a);return await r.rm(l,{force:!0}),!0}}}var kc,hF,ff=E(()=>{"use strict";J();kc=class extends Error{constructor(t){super(`singleton lease ${JSON.stringify(t)} is held by another owner`),this.name="SingletonLeaseOwnershipError"}},hF=/^[a-z0-9][a-z0-9._-]{0,63}$/});var NS=E(()=>{"use strict";_c();cf();Da();uf();yc();ff()});var DS=E(()=>{"use strict"});var $S=E(()=>{});var FS=E(()=>{"use strict";$S()});var MS=E(()=>{"use strict"});var BS=E(()=>{"use strict"});var mf=E(()=>{"use strict"});var jS=E(()=>{"use strict";J();mf()});var qS=E(()=>{"use strict";J()});var gf=E(()=>{"use strict"});var hf=E(()=>{"use strict"});var US=E(()=>{"use strict";gc()});var HS=E(()=>{"use strict"});var WS=E(()=>{"use strict";gf();hf()});var yf=E(()=>{"use strict"});var JS=E(()=>{"use strict"});var kF,SF,RF,BX,VS=E(()=>{"use strict";kF={refreshCadenceS:270,tolerance:3},SF=270,RF=2700,BX={...kF,claimGraceS:SF,recentCommitProtectionS:RF}});var KS=E(()=>{"use strict"});var zS=E(()=>{qa()});var YS=E(()=>{qa();zS()});import{execFile as OF,execFileSync as XX}from"node:child_process";import{promisify as CF}from"node:util";var nZ,QS=E(()=>{"use strict";uc();YS();yf();nZ=CF(OF)});var XS=E(()=>{"use strict";hS();kS();SS();mc();vS();TS();xS();OS();fc();CS();AS();PS();IS();of();LS();GS();NS();DS();FS();MS();BS();bc();jS();qS();sf();gf();hf();uf();US();HS();WS();gc();mf();yc();ff();yf();JS();VS();KS();QS()});var Sc,ZS=E(()=>{"use strict";_c();_c();tr();Sc=class extends No{constructor(t){super(t,zn)}}});import{EventEmitter as AF}from"node:events";import{join as PF}from"node:path";function wf(e){let t=ho(e.cwd),r=lf(PF(t,".red"));return new bf({...e,leases:e.leases??pf(r),lane:e.lane??hc(r),makeForwarder:e.makeForwarder??((n,s)=>new Sc({cwd:n,cancelSignal:s})),isLeaseHolderLive:e.isLeaseHolderLive??(n=>Yn(n.pid,n.start_time))})}var bf,eR=E(()=>{"use strict";XS();ZS();tr();Da();bf=class extends AF{constructor(r){super();this.options=r}_mode="polling";cursor=0;timer;fallback;stopped=!1;syncing=!1;get mode(){return this.fallback?.mode??this._mode}async start(){let r=await this.options.leases.read(fs).catch(()=>{});if(!r||!await this.options.isLeaseHolderLive(r)){this.startFallback();return}let n=await this.options.lane.read().catch(()=>{});if(!n){this.degradeToFallback();return}this.cursor=n.length,this._mode="webhook",this.emit("mode-changed","webhook"),this.timer=setInterval(()=>void this.sync().catch(()=>this.degradeToFallback()),this.options.pollIntervalMs??100),this.timer.unref(),this.options.cancelSignal.addEventListener("abort",()=>void this.stop(),{once:!0})}async stop(){this.stopped||(this.stopped=!0,this.timer&&clearInterval(this.timer),await this.fallback?.stop(),this.emit("stopped"))}makeWakeSignalFor(r,n){return()=>{if(this.fallback)return this.fallback.makeWakeSignalFor(r,n)();if(this._mode!=="webhook"||this.stopped)return;let s=new AbortController,o=a=>{(r==="pr"?Do(a,n):$o(a,n))&&(i(),s.abort())},i=()=>{this.off("delivery",o),this.off("stopped",i)};return this.on("delivery",o),this.once("stopped",i),s.signal}}startFallback(){this.fallback||this.stopped||(this.fallback=this.options.makeForwarder(this.options.cwd,this.options.cancelSignal),this.fallback.on("mode-changed",r=>{this.emit("mode-changed",r)}),this.fallback.on("delivery",r=>{this.emit("delivery",r)}),this.fallback.start())}degradeToFallback(){this.timer&&clearInterval(this.timer),this.timer=void 0,this._mode="polling",this.startFallback()}async sync(){if(!(this.syncing||this.stopped)){this.syncing=!0;try{let r=await this.options.lane.read();r.length<this.cursor&&(this.cursor=0);let n=r.slice(this.cursor);this.cursor=r.length;for(let o of n)o.singleton===fs&&o.kind===wc&&o.payload&&this.emit("delivery",o.payload);let s=await this.options.leases.read(fs);(!s||!await this.options.isLeaseHolderLive(s))&&this.degradeToFallback()}finally{this.syncing=!1}}}}});var _f={};ne(_f,{listWaits:()=>Fa,renderWaitHelp:()=>Go,runWait:()=>GF});import{randomUUID as tR}from"node:crypto";import{mkdir as IF,rm as LF}from"node:fs/promises";async function GF(e,t=process.cwd()){let r;try{r=await y_(e)}catch(n){return await MF(e,n)}if(r.kind==="help"||e.includes("--help")||e.includes("-h"))return process.stdout.write(Go()),0;if(r.kind==="ls"){let n={schema:l_,version:1,waits:await Fa(t)};return process.stdout.write(ts(n,r.options.format)),0}return Yd(r.kind)?await NF({...r,kind:r.kind},t):(process.stdout.write(Go()),2)}async function NF(e,t){let r=e.kind,n=tp({id:tR(),kind:r,target:FF(e),reason:e.options.reason,pid:process.pid,pid_start_time:await fo(process.pid),started_at:new Date().toISOString(),deadline_at:new Date(Date.now()+e.options.timeoutMs).toISOString(),timeout_ms:e.options.timeoutMs,poll_tier:Kd[r],status:"running",attempts:0}),s=R_(t,n.id),o=new AbortController,i,a=u=>{i=u,o.abort()},c=()=>a("SIGINT"),l=()=>a("SIGTERM");process.once("SIGINT",c),process.once("SIGTERM",l);try{await IF(Xn(t),{recursive:!0}),await Zn(s,n);let u=await DF(e,t,s,n,o.signal);i&&(u={...u,verdict:ue(`wait interrupted by ${i}`,u.verdict.details)});let d=await O_({kind:r,entry:n,verdict:u.verdict,options:e.options,cwd:t,cleanupProven:u.cleanupProven,survivors:u.survivors});return process.stdout.write(ts(d.result,e.options.format)),d.exitCode}catch(u){let d=ue(u instanceof Error?u.message:String(u)),p=_o(r,n,d,{status:"success"},new Date().toISOString());return await Eo(e.options.resultFile,p,e.options.format).catch(()=>{}),process.stdout.write(ts(p,e.options.format)),2}finally{process.removeListener("SIGINT",c),process.removeListener("SIGTERM",l),await LF(s,{force:!0}).catch(()=>{})}}async function DF(e,t,r,n,s){let o={cwd:t,signal:s,timeoutMs:e.options.probeTimeoutMs};switch(e.kind){case"cmd":return await X_({commandLine:e.commandLine??"",options:e.options,cwd:t,spoolDir:E_(t),registryPath:r,entry:n,signal:s});case"pr":{let i=e.target??"";if(!/^[1-9][0-9]*$/.test(i))return{verdict:ue("missing PR number")};n.webhook_mode="polling";let a=wf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:uS(i,o,{emptyChecksGraceMs:Qn("RSP_WAIT_PR_EMPTY_CHECKS_GRACE_MS",3e4)}),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_PR_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("pr",i),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"run":{let i=await $F(e,o,r,n);if(!i.ok)return{verdict:ue(i.reason)};n.webhook_mode="polling";let a=wf({cwd:t,cancelSignal:s});a.once("mode-changed",()=>{n.webhook_mode="webhook"}),await a.start();try{return await So({probe:()=>dS(i.value,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_RUN_POLL_MS",15e3),makeWakeSignal:a.makeWakeSignalFor("run",i.value),registryPath:r,entry:n,signal:s})}finally{await a.stop()}}case"job":{let i=e.target??"";return/^[1-9][0-9]*$/.test(i)?await So({probe:()=>pS(i,o),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_JOB_POLL_MS",15e3),registryPath:r,entry:n,signal:s}):{verdict:ue("missing job id")}}case"release":return await So({probe:()=>mS(e.tagGlob,new Date(n.started_at),o,e.existing),timeoutMs:e.options.timeoutMs,baseSleepMs:Qn("RSP_WAIT_RELEASE_POLL_MS",6e4),registryPath:r,entry:n,signal:s})}}async function $F(e,t,r,n){if(e.target)return{ok:!0,value:e.target};if(!(e.latest&&e.branch))return{ok:!1,reason:"missing run id"};let s=await fS(e.branch,t);return s?(e.target=s,n.target=`run:${s}`,await Zn(r,n),{ok:!0,value:s}):{ok:!1,reason:`no run found for branch ${e.branch}`}}function FF(e){return e.kind==="cmd"?`cmd:${e.commandLine??""}`:e.kind==="run"&&e.branch&&e.latest?`run:${e.branch}:latest`:e.kind==="release"?`release:${e.tagGlob??"*"}`:`${e.kind}:${e.target??""}`}async function MF(e,t){let r=e.includes("--json")?"json":"toon",n=e.indexOf("--result-file"),s=n>=0?e[n+1]:void 0,o=Yd(e[1])?e[1]:"cmd",i=new Date().toISOString(),a=tp({id:tR(),kind:o,target:`${o}:`,reason:"",pid:process.pid,started_at:i,deadline_at:i,timeout_ms:0,poll_tier:Kd[o],status:"indeterminate",attempts:0}),c=_o(o,a,ue(t instanceof Error?t.message:String(t)),{status:"success"},i);return await Eo(s,c,r).catch(()=>{}),process.stdout.write(ts(c,r)),2}var Ef=E(()=>{"use strict";b_();A_();eE();on();Xd();gS();tr();bo();nf();eR();bo();nf()});var kf,Sf,Rf,qe,Ue,it,Et,Fo,Rc=E(()=>{"use strict";kf="rsp-telemetry.spool.toonl",Sf="rsp-telemetry.spool.jsonl",Rf="rsp-telemetry.spool.corrections.toonl",qe="rsp_accounting_events_v1",Ue="rsp_decisions_v1",it="rsp_telemetry_invocations_v1",Et="rsp_telemetry_degradations_v1",Fo="rsp_telemetry_index_v1"});function ms(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function at(e){return Sr(e)??0}function Sr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}var vf=E(()=>{"use strict"});import{randomUUID as Mo,createHash as HF}from"node:crypto";import{appendFileSync as WF,closeSync as JF,existsSync as VF,fstatSync as KF,mkdirSync as lR,openSync as zF,readFileSync as YF,statSync as QF,writeSync as XF}from"node:fs";import{mkdir as uR,readdir as ZF,readFile as dR,rename as eM,rm as pR,writeFile as fR}from"node:fs/promises";import{basename as Tf,dirname as Bo,join as gs,resolve as sR}from"node:path";function Tc(e){if(!e)return null;let t=sR(e);for(;;){if(VF(gs(t,".red")))return t;let r=sR(gs(t,".."));if(r===t)break;t=r}return null}function or(e){return gs(ae(e),kf)}function Cf(e){return gs(ae(e),Sf)}function Af(e){return gs(ae(e),Rf)}async function fn(e,t,r=wt["rsp-telemetry-spool"]){Rr(e,t,r)}function Rr(e,t,r=wt["rsp-telemetry-spool"],n={}){try{let s=Tc(e);if(!s)return;let o=or(s);lR(Bo(o),{recursive:!0});let i=aR({spool_id:Mo(),event:nM(t)}),a=yR(o,i,r,If,aR);rM(o,i,n),a>0&&hR(s,"telemetry spool retention",a)}catch{}}function rM(e,t,r){let n=0;for(;;){let s=zF(e,"a",384);try{XF(s,t,void 0,"utf8"),n+=1,r.afterWrite?.(e,n);let o=KF(s),i=QF(e);if(o.dev===i.dev&&o.ino===i.ino)return}catch(o){if(o.code!=="ENOENT")throw o}finally{JF(s)}}}function nM(e){return oR(oR(e,"raw_text","raw_bytes"),"emitted_text","emitted_bytes")}function oR(e,t,r){let n=e[t];if(typeof n!="string")return e;let s=Buffer.byteLength(n,"utf8");if(s<=tM)return e;let o={...e};return delete o[t],at(o[r])===0&&(o[r]=s),o.estimated=!0,o}async function sM(e){let t=Tc(e);if(!t)return[];let r=or(t);await uR(Bo(r),{recursive:!0}).catch(()=>{});let n=await bR(t),s=[...await wR(t),...await cM(n)];return await Promise.all(n.map(o=>pR(o,{force:!0}))),s.map(o=>JSON.stringify(o.event))}async function Pf(e,t){let r=Tc(e);if(!r)return;let n=or(r);await uR(Bo(n),{recursive:!0}).catch(()=>{}),await aM(r);for(let s of await oM(r))await iR(r,s,t);for(let s of await wR(r))await mR(r,s,t,!0);for(let s of await bR(r))await iR(r,s,t)}async function oM(e){let t=[or(e),Cf(e)],r=Bo(t[0]);return(await ZF(r).catch(()=>[])).filter(s=>t.some(o=>s.startsWith(`${Tf(o)}.`)&&s.endsWith(".drain"))).filter(s=>{let o=t.find(c=>s.startsWith(`${Tf(c)}.`));if(!o)return!1;let i=`${Tf(o)}.`,a=Number(s.slice(i.length).split(".")[0]);return!(Number.isInteger(a)&&a!==process.pid&&iM(a))}).sort().map(s=>gs(r,s))}function iM(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}async function iR(e,t,r){try{let n=await gR(t);for(let s of If(n))await mR(e,s,r,!1)}finally{await pR(t,{force:!0})}}async function mR(e,t,r,n){let s=t.event?JSON.stringify(t.event):t.raw_line??"";try{if(await r(s)){n&&xf(e,{correction_id:Mo(),target_spool_id:t.spool_id,action:"resolved",created_at:new Date().toISOString()});return}}catch{}xf(e,{correction_id:Mo(),target_spool_id:t.spool_id,action:"retry",created_at:new Date().toISOString(),event_json:t.event?JSON.stringify(t.event):void 0})}async function gR(e){let t="";for(let r=0;r<5;r++){let n=await dR(e,"utf8").catch(()=>"");if(n===t)return n;t=n,await new Promise(s=>setTimeout(s,2))}return t}function hs(e){try{let t=JSON.parse(e);return!ms(t)||t.collection!==qe&&t.collection!==Ue&&t.collection!==it&&t.collection!==Et?null:t}catch{return null}}function aR(e){return Fe().push(uM(e))}function xf(e,t,r=!0){try{let n=Tc(e);if(!n)return;let s=Af(n);lR(Bo(s),{recursive:!0});let o=cR(t),i=yR(s,o,wt["rsp-telemetry-corrections"],_R,cR);WF(s,o,{encoding:"utf8",mode:384}),r&&i>0&&hR(n,"telemetry corrections retention",i,!1)}catch{}}function hR(e,t,r,n=!0){let s=Mo();xf(e,{correction_id:Mo(),target_spool_id:s,action:"retry",created_at:new Date().toISOString(),event_json:JSON.stringify({collection:Et,id:s,created_at:new Date().toISOString(),reason:t,bytes:r})},n)}function cR(e){return Fe().push({correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??null})}function yR(e,t,r,n,s){let o=Buffer.byteLength(t);if(!mE(e,o,r))return 0;let i;try{i=YF(e,"utf8")}catch(f){if(f.code==="ENOENT")return 0;throw f}let a=r.maxBytes;if(a===void 0)return 0;let c=Math.max(0,Math.floor(a*(r.targetRatio??Qe))-o),l=n(i),u=[],d=0;for(let f=l.length-1;f>=0;f-=1){let m=s(l[f]),h=Buffer.byteLength(m);if(d+h>c)break;u.unshift(m),d+=h}let p=u.join("");return gE(e,p),Math.max(0,Buffer.byteLength(i)-Buffer.byteLength(p))}async function bR(e){let t=or(e),r=[t,Cf(e)],n=[];for(let s of r){let o=`${s}.${process.pid}.${Date.now()}.drain`;try{await eM(s,o),s===t&&await fR(s,"",{flag:"wx"}).catch(()=>{}),n.push(o)}catch(i){if(i.code!=="ENOENT")continue}}return n}async function aM(e){await fR(or(e),"",{flag:"a"}).catch(()=>{})}async function cM(e){let t=[];for(let r of e)t.push(...If(await gR(r)));return t}async function wR(e){let t=await dR(Af(e),"utf8").catch(()=>""),r=new Map;for(let n of _R(t))r.set(n.target_spool_id,n);return[...r.values()].filter(n=>n.action==="retry"&&n.event_json).map(n=>({spool_id:n.target_spool_id,event:hs(n.event_json)??void 0})).filter(n=>n.event!==void 0)}function If(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s){try{let o=JSON.parse(s);if(ms(o)){let i=hs(JSON.stringify(o));t.push(i?{spool_id:vc(JSON.stringify(o)),event:i}:{spool_id:vc(s),raw_line:s})}continue}catch{}if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r){t.push({spool_id:vc(s),raw_line:s});continue}try{for(let o of Te(`${r}
92
92
  ${s}
93
- `))xf(o)&&iM(o)&&t.push({spool_id:o.spool_id,event:yR(o)})}catch{s.startsWith("{")&&t.push({spool_id:vc(s),raw_line:s})}}}return t}function hR(e){return sM(e).map(aM).filter(t=>t!==null)}function sM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);xf(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Te(`${r}
93
+ `))Of(o)&&dM(o)&&t.push({spool_id:o.spool_id,event:ER(o)})}catch{s.startsWith("{")&&t.push({spool_id:vc(s),raw_line:s})}}}return t}function _R(e){return lM(e).map(pM).filter(t=>t!==null)}function lM(e){let t=[],r="";for(let n of e.split(/\r?\n/)){let s=n.trim();if(s)try{let o=JSON.parse(s);Of(o)&&t.push(o)}catch{if(/^\[(?:\d*)\]\{[^}]+\}:$/.test(s)){r=s;continue}if(!r)continue;try{for(let o of Te(`${r}
94
94
  ${s}
95
- `))xf(o)&&t.push(o)}catch{}}}return t}function vc(e){return`legacy:${MF("sha256").update(e).digest("hex").slice(0,24)}`}function oM(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 yR(e){let{spool_id:t,...r}=e;return gs(JSON.stringify(r))}function iM(e){return typeof e.spool_id=="string"&&yR(e)!==null}function aM(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 xf(e){return fs(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var YF,bR=E(()=>{"use strict";Ke();un();V();Rc();Rf();YF=64*1024});function xc(e){return e.trim().split(/\s+/).filter(Boolean)}function jo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function qo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function ct(e){let t=xc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:mn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:mn(t)&&t[1]?`gh ${t[1]} json-jq`:mn(t)?"gh json-jq":t[0]==="gh"&&t[1]&&t[2]?`gh ${t[1]} ${t[2]}`:t[0]==="gh"&&t[1]?`gh ${t[1]}`:t[0]==="cargo"&&t[1]?`cargo ${t[1]}`:t[0]==="vitest"?"vitest":t[0]}function mn(e){return e[0]==="gh"&&e.some(cM)}function cM(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function hs(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Uo=E(()=>{"use strict"});var we,Oc=E(()=>{"use strict";Ye();we="rsp_elisions_v1"});import{spawnSync as Jo}from"node:child_process";import{createHash as Gf}from"node:crypto";import{existsSync as lM}from"node:fs";import{mkdir as uM,readFile as dM,readdir as wR,rename as pM,writeFile as fM}from"node:fs/promises";import{homedir as mM}from"node:os";import{basename as gM,dirname as hM,join as Ho}from"node:path";import{fileURLToPath as yM}from"node:url";import{gunzipSync as bM,gzipSync as wM}from"node:zlib";function Vo(e,t){return`el:${Gf("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function vr(e){return`record:${e.slice(3)}`}function hn(e){return`expired:${e.slice(3)}`}function Pc(){return"index:v1"}function _M(e){return`blob:${e}`}function _R(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function or(e){let t=xc(e),r=t[0]??"";if(r==="cat")return"derivable";if(r==="git"){let n=t[1]??"";return n==="log"||n==="diff"||n==="blame"||n==="show"?"derivable":Ic(t)?"re-executable":"ephemeral"}return"ephemeral"}function Ko(e){return Dc(e.storage_class)?e.storage_class:or(e.command)}function ER(e){return Dc(e.storage_class)?e.storage_class:or(e.command)}function Nf(e){let t=SM(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=ER(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 Df(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:EM(o),storage_class:ER(s),recover:`rsp show ${s.handle}`}})}function EM(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 $f(e,t,r,n){let s=t==="ephemeral"?n*60*60*1e3:r*24*60*60*1e3;return new Date(e.getTime()+s).toISOString()}function yn(e){let t=0,r=new Set;for(let n of e){if(n.blob_key){if(r.has(n.blob_key))continue;r.add(n.blob_key)}t+=n.bytes}return t}function Ff(e,t){let r=process.cwd(),n=Jo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Jo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:kM(r),original_bytes:e.length}:null}function kM(e){let t=If(e,["rev-parse","HEAD"])||"unborn",r=If(e,["write-tree"])||"no-index",n=If(e,["status","--porcelain=v1","-z"])||"";return Gf("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function If(e,t){let r=Jo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function Mf(e,t){let r=xc(t);if(!Ic(r))return null;let n=vR(process.cwd(),r,e.length);return!n||gn(n)!==gn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:gn(e)}}function Ic(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function gn(e){return Gf("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function Bf(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 jf(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 qf(e,t,r){let n=wM(e);return{key:_M(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function kR(e){try{let t=bM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function SR(e){let t=e.object_ids[0];if(!t)return null;let r=Jo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function RR(e){if(!Ic(e.argv))return null;let t=vR(e.cwd,e.argv,e.original_bytes);return t?gn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
96
- `,"utf8"),t]):null}function vR(e,t,r){let n=t[0];if(!n)return null;let s=Jo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function SM(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function zo(e){return/^el:[a-f0-9]{12}$/.test(e)}function Ac(e){return/^blob:[a-f0-9]{64}$/.test(e)}function TR(e){if(!Wo(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Wo(e.scope)?e.scope:void 0,ranking:Wo(e.ranking)?e.ranking:void 0}}}function xR(e){if(!Wo(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Wo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function OR(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 wR(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Ho(i,c.name);c.isDirectory()?await o(l):c.isFile()&&/\.(md|mdx|txt|ts|tsx|js|jsx|json|yaml|yml|toml|rs|go|py|sql)$/i.test(c.name)&&n.push(l)}}return await o(e),n}function CR(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Wo(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Lc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Yo(e){if(!lt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=vM(e.derivation_recipe),n=TM(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Ac(s);return e.collection===we&&typeof e.handle=="string"&&zo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||Hf(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Ac(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&RM(e.loss)&&(e.storage_class===void 0||Dc(e.storage_class))}function Uf(e){return!lt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!lt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&zo(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||Dc(t.storage_class))&&(r===void 0||typeof r=="string"&&Ac(r))})}function Gc(e){return lt(e)&&typeof e.key=="string"&&Ac(e.key)&&Hf(e.content_hash)&&e.encoding==="gzip+base64"&&typeof e.bytes=="string"&&typeof e.original_bytes=="number"&&typeof e.stored_bytes=="number"&&typeof e.created_at=="string"}function Nc(e){return lt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function RM(e){return lt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Dc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function vM(e){return lt(e)&&e.kind==="git-blob"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.object_ids)&&e.object_ids.every(t=>typeof t=="string"&&/^[0-9a-f]{40,64}$/.test(t))&&typeof e.working_tree_fingerprint=="string"&&typeof e.original_bytes=="number"}function TM(e){return lt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&Ic(e.argv)&&typeof e.original_bytes=="number"&&Hf(e.content_hash)}function Hf(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function AR(e){try{let n=(await dM(e,"utf8")).trim();if(n==="")return Cc();let s;try{s=JSON.parse(n)}catch{s=Z(n)}if(xM(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Cc();return await ys(e,s),s}let n=Cc();return await ys(e,n),n}let t=Cc();return await ys(e,t),t}async function PR(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function IR(e){return gM(e)==="red-skills.rdb"}async function $c(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Ho(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Ho(mM(),".cache","red-skills","bundles")),t=Ho(e,"reddb"),r;try{r=await wR(t)}catch{return}r.sort().reverse();for(let n of r){let s=Ho(t,n,process.platform==="win32"?"red.exe":"red");if(lM(s)){process.env.REDDB_BIN=s;return}}}async function ys(e,t){await uM(hM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await fM(r,`${B(Lf(t))}
97
- `,"utf8"),await pM(r,e)}function Lf(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=>Lf(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=Lf(n));return t}return String(e)}function Cc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function xM(e){return lt(e)&&e.version===1&&lt(e.records)&&Object.values(e.records).every(Yo)&&(e.blobs===void 0||lt(e.blobs)&&Object.values(e.blobs).every(Gc))&&lt(e.tombstones)&&Object.values(e.tombstones).every(Nc)&&Uf(e.index)}function LR(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return yM(e)}var Fc=E(()=>{"use strict";V();Uo();Oc()});async function GR(e,t){return OM?PM(e,t):CM?LM(e,t):AM(e,t)}async function AM(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 PM(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:IM(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*IM(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 LM(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:GM(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*GM(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var OM,CM,NR=E(()=>{OM=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",CM=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as NM}from"node:fs";import{join as DM}from"node:path";function DR(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=DM(r,"bin",t);if(NM(o))return o;throw new Error(`reddb: binary "${t}" not found.
95
+ `))Of(o)&&t.push(o)}catch{}}}return t}function vc(e){return`legacy:${HF("sha256").update(e).digest("hex").slice(0,24)}`}function uM(e){let t={spool_id:e.spool_id};for(let[r,n]of Object.entries(e.event??{}))r!=="spool_id"&&(typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null?t[r]=n:n!==void 0&&(t[r]=JSON.stringify(n)));return t}function ER(e){let{spool_id:t,...r}=e;return hs(JSON.stringify(r))}function dM(e){return typeof e.spool_id=="string"&&ER(e)!==null}function pM(e){return typeof e.correction_id=="string"&&typeof e.target_spool_id=="string"&&(e.action==="retry"||e.action==="resolved")&&typeof e.created_at=="string"&&(e.event_json===null||typeof e.event_json=="string")?{correction_id:e.correction_id,target_spool_id:e.target_spool_id,action:e.action,created_at:e.created_at,event_json:e.event_json??void 0}:null}function Of(e){return ms(e)?Object.values(e).every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null):!1}var tM,kR=E(()=>{"use strict";ze();un();J();Rc();vf();tM=64*1024});function xc(e){return e.trim().split(/\s+/).filter(Boolean)}function jo(e){return e.split(/&&|[;|]/).map(t=>t.trim()).filter(Boolean)}function qo(e){return e.split(/[ \t]+/).filter(Boolean).map(t=>t.replace(/^env$/,""))}function ct(e){let t=xc(e);return t.length===0?"unknown":t[0]==="git"&&t[1]?`git ${t[1]}`:mn(t)&&t[1]&&t[2]?`gh ${t[1]} ${t[2]} json-jq`:mn(t)&&t[1]?`gh ${t[1]} json-jq`:mn(t)?"gh json-jq":t[0]==="gh"&&t[1]&&t[2]?`gh ${t[1]} ${t[2]}`:t[0]==="gh"&&t[1]?`gh ${t[1]}`:t[0]==="cargo"&&t[1]?`cargo ${t[1]}`:t[0]==="vitest"?"vitest":t[0]}function mn(e){return e[0]==="gh"&&e.some(fM)}function fM(e){return e==="--json"||e==="--jq"||e.startsWith("--json=")||e.startsWith("--jq=")}function ys(e){return/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e)}var Uo=E(()=>{"use strict"});var we,Oc=E(()=>{"use strict";Be();we="rsp_elisions_v1"});import{spawnSync as Jo}from"node:child_process";import{createHash as Nf}from"node:crypto";import{existsSync as mM}from"node:fs";import{mkdir as gM,readFile as hM,readdir as SR,rename as yM,writeFile as bM}from"node:fs/promises";import{homedir as wM}from"node:os";import{basename as _M,dirname as EM,join as Ho}from"node:path";import{fileURLToPath as kM}from"node:url";import{gunzipSync as SM,gzipSync as RM}from"node:zlib";function Vo(e,t){return`el:${Nf("sha256").update("rsp-elision-v1\0").update(e).update("\0").update(JSON.stringify({command:t.command,loss:t.loss})).digest("hex").slice(0,12)}`}function vr(e){return`record:${e.slice(3)}`}function hn(e){return`expired:${e.slice(3)}`}function Pc(){return"index:v1"}function vM(e){return`blob:${e}`}function RR(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid RedDB identifier: ${e}`);return e}function ir(e){let t=xc(e),r=t[0]??"";if(r==="cat")return"derivable";if(r==="git"){let n=t[1]??"";return n==="log"||n==="diff"||n==="blame"||n==="show"?"derivable":Ic(t)?"re-executable":"ephemeral"}return"ephemeral"}function Ko(e){return Dc(e.storage_class)?e.storage_class:ir(e.command)}function vR(e){return Dc(e.storage_class)?e.storage_class:ir(e.command)}function Df(e){let t=OM(),r={derivable:new Set,"re-executable":new Set,ephemeral:new Set};for(let n of e){let s=vR(n);if(t[s].records+=1,t[s].raw_bytes+=n.raw_bytes??n.bytes,n.blob_key){if(r[s].has(n.blob_key))continue;r[s].add(n.blob_key)}t[s].bytes+=n.bytes}return t}function $f(e,t,r){let n=t.getTime();return[...e].sort((s,o)=>o.created_at.localeCompare(s.created_at)).slice(0,Math.max(0,r)).map(s=>{let o=Math.max(0,Math.floor((n-Date.parse(s.created_at))/1e3));return{handle:s.handle,command:s.command,created_at:s.created_at,expires_at:s.expires_at,age_seconds:o,age_display:TM(o),storage_class:vR(s),recover:`rsp show ${s.handle}`}})}function TM(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function Ff(e,t,r,n){let s=t==="ephemeral"?n*60*60*1e3:r*24*60*60*1e3;return new Date(e.getTime()+s).toISOString()}function yn(e){let t=0,r=new Set;for(let n of e){if(n.blob_key){if(r.has(n.blob_key))continue;r.add(n.blob_key)}t+=n.bytes}return t}function Mf(e,t){let r=process.cwd(),n=Jo("git",["rev-parse","--is-inside-work-tree"],{cwd:r,encoding:"utf8"});if(n.status!==0||n.stdout.trim()!=="true")return null;let s=Jo("git",["hash-object","-w","--stdin"],{cwd:r,input:e,encoding:"buffer"});if(s.status!==0)return null;let o=s.stdout.toString("utf8").trim();return/^[0-9a-f]{40,64}$/.test(o)?{kind:"git-blob",command:t,cwd:r,object_ids:[o],working_tree_fingerprint:xM(r),original_bytes:e.length}:null}function xM(e){let t=Lf(e,["rev-parse","HEAD"])||"unborn",r=Lf(e,["write-tree"])||"no-index",n=Lf(e,["status","--porcelain=v1","-z"])||"";return Nf("sha256").update(t).update("\0").update(r).update("\0").update(n).digest("hex")}function Lf(e,t){let r=Jo("git",t,{cwd:e,encoding:"utf8"});return r.status===0?r.stdout.trim():null}function Bf(e,t){let r=xc(t);if(!Ic(r))return null;let n=CR(process.cwd(),r,e.length);return!n||gn(n)!==gn(e)?null:{kind:"command",command:t,cwd:process.cwd(),argv:r,original_bytes:e.length,content_hash:gn(e)}}function Ic(e){return e[0]==="git"?e[1]==="status"?!0:e[1]!=="branch"?!1:e.length===2||e.slice(2).every(t=>/^-[avvr]+$/.test(t)):!1}function gn(e){return Nf("sha256").update("rsp-reexecutable-content-v1\0").update(e).digest("hex")}function jf(e,t,r,n){return t?Buffer.byteLength(JSON.stringify(t),"utf8"):r?Buffer.byteLength(JSON.stringify(r),"utf8"):n?n.stored_bytes:e.length}function qf(e){return typeof e.stored_bytes=="number"?e.stored_bytes:e.derivation_recipe?Buffer.byteLength(JSON.stringify(e.derivation_recipe),"utf8"):e.reexecution_recipe?Buffer.byteLength(JSON.stringify(e.reexecution_recipe),"utf8"):e.blob_key?typeof e.stored_bytes=="number"?e.stored_bytes:0:e.original_bytes}function Uf(e,t,r){let n=RM(e);return{key:vM(t),content_hash:t,encoding:"gzip+base64",bytes:n.toString("base64"),original_bytes:e.length,stored_bytes:n.length,created_at:r}}function TR(e){try{let t=SM(Buffer.from(e.bytes,"base64"));return t.length===e.original_bytes?t:null}catch{return null}}function xR(e){let t=e.object_ids[0];if(!t)return null;let r=Jo("git",["cat-file","-p",t],{cwd:e.cwd,encoding:"buffer",maxBuffer:Math.max(e.original_bytes+1024,1024*1024)});return r.status!==0||r.stdout.length!==e.original_bytes?null:r.stdout}function OR(e){if(!Ic(e.argv))return null;let t=CR(e.cwd,e.argv,e.original_bytes);return t?gn(t)===e.content_hash?t:Buffer.concat([Buffer.from(`reconstructed after state moved - current snapshot follows
96
+ `,"utf8"),t]):null}function CR(e,t,r){let n=t[0];if(!n)return null;let s=Jo(n,t.slice(1),{cwd:e,encoding:"buffer",maxBuffer:Math.max(r+1024,1024*1024)});return s.status!==0||s.signal?null:s.stdout}function OM(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function zo(e){return/^el:[a-f0-9]{12}$/.test(e)}function Ac(e){return/^blob:[a-f0-9]{64}$/.test(e)}function AR(e){if(!Wo(e))throw new Error("memory recall payload must be an object");let t=e.query;if(typeof t!="string"||t.trim()==="")throw new Error("memory recall query is required");let r=typeof e.limit=="number"&&Number.isFinite(e.limit)?e.limit:10;return{query:t,limit:r,options:{includeSuperseded:e.includeSuperseded===!0,scope:Wo(e.scope)?e.scope:void 0,ranking:Wo(e.ranking)?e.ranking:void 0}}}function PR(e){if(!Wo(e))throw new Error("memory ingest payload must be an object");let t=e.cwd;if(typeof t!="string"||t.trim()==="")throw new Error("memory ingest cwd is required");let r=typeof e.maxFiles=="number"&&Number.isFinite(e.maxFiles)?e.maxFiles:void 0,n=Array.isArray(e.ignore)?e.ignore.filter(s=>typeof s=="string"):void 0;return{cwd:t,maxFiles:r,ignore:n}}function Wo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function IR(e,t,r){let n=[],s=new Set([".git","node_modules",".red",...r]);async function o(i){if(n.length>=t)return;let a=await SR(i,{withFileTypes:!0}).catch(()=>[]);for(let c of a){if(n.length>=t)return;if(s.has(c.name))continue;let l=Ho(i,c.name);c.isDirectory()?await o(l):c.isFile()&&/\.(md|mdx|txt|ts|tsx|js|jsx|json|yaml|yml|toml|rs|go|py|sql)$/i.test(c.name)&&n.push(l)}}return await o(e),n}function LR(e,t){let r=Number(e.red_entity_id??e.rid);if(!Number.isFinite(r))return null;let n=e.properties??e.PROPERTIES,s=Wo(n)?n:{},o=String(e.label??e.LABEL??s.title??`memory-${r}`),i=String(e.node_type??e.NODE_TYPE??"concept"),a=String(s.content??s.summary??s.title??o),c=`${o} ${a}`.toLowerCase(),l=t.filter(u=>c.includes(u));return l.length===0&&t.length>0?null:{id:String(r),rid:r,label:o,node_type:i,score:l.length||1,excerpt:a.slice(0,500)}}function Lc(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function Yo(e){if(!lt(e))return!1;let t=typeof e.original=="string"&&e.original_encoding==="base64",r=AM(e.derivation_recipe),n=PM(e.reexecution_recipe),s=e.blob_key,o=typeof s=="string"&&Ac(s);return e.collection===we&&typeof e.handle=="string"&&zo(e.handle)&&(t||r||n||o)&&typeof e.original_bytes=="number"&&(e.content_hash===void 0||Wf(e.content_hash))&&(e.stored_bytes===void 0||typeof e.stored_bytes=="number")&&(s===void 0||typeof s=="string"&&Ac(s))&&typeof e.command=="string"&&typeof e.created_at=="string"&&typeof e.expires_at=="string"&&CM(e.loss)&&(e.storage_class===void 0||Dc(e.storage_class))}function Hf(e){return!lt(e)||e.version!==1||!Array.isArray(e.records)?!1:e.records.every(t=>{if(!lt(t))return!1;let r=t.blob_key;return typeof t.handle=="string"&&zo(t.handle)&&typeof t.key=="string"&&typeof t.bytes=="number"&&(t.raw_bytes===void 0||typeof t.raw_bytes=="number")&&typeof t.command=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&(t.storage_class===void 0||Dc(t.storage_class))&&(r===void 0||typeof r=="string"&&Ac(r))})}function Gc(e){return lt(e)&&typeof e.key=="string"&&Ac(e.key)&&Wf(e.content_hash)&&e.encoding==="gzip+base64"&&typeof e.bytes=="string"&&typeof e.original_bytes=="number"&&typeof e.stored_bytes=="number"&&typeof e.created_at=="string"}function Nc(e){return lt(e)&&e.status==="expired"&&typeof e.expired_at=="string"&&typeof e.command=="string"}function CM(e){return lt(e)&&typeof e.level=="string"&&typeof e.bytes_elided=="number"}function Dc(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"}function AM(e){return lt(e)&&e.kind==="git-blob"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.object_ids)&&e.object_ids.every(t=>typeof t=="string"&&/^[0-9a-f]{40,64}$/.test(t))&&typeof e.working_tree_fingerprint=="string"&&typeof e.original_bytes=="number"}function PM(e){return lt(e)&&e.kind==="command"&&typeof e.command=="string"&&typeof e.cwd=="string"&&Array.isArray(e.argv)&&e.argv.every(t=>typeof t=="string")&&Ic(e.argv)&&typeof e.original_bytes=="number"&&Wf(e.content_hash)}function Wf(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function lt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function GR(e){try{let n=(await hM(e,"utf8")).trim();if(n==="")return Cc();let s;try{s=JSON.parse(n)}catch{s=z(n)}if(IM(s))return{...s,blobs:s.blobs??{}}}catch(r){if(r.code==="ENOENT"){let s=Cc();return await bs(e,s),s}let n=Cc();return await bs(e,n),n}let t=Cc();return await bs(e,t),t}async function NR(e){try{return e}catch(t){if(t.code==="ENOENT")return e;throw t}}function DR(e){return _M(e)==="red-skills.rdb"}async function $c(){if(process.env.REDDB_BIN)return;let e=process.env.RED_SKILLS_CACHE_DIR??(process.env.XDG_CACHE_HOME?Ho(process.env.XDG_CACHE_HOME,"red-skills","bundles"):Ho(wM(),".cache","red-skills","bundles")),t=Ho(e,"reddb"),r;try{r=await SR(t)}catch{return}r.sort().reverse();for(let n of r){let s=Ho(t,n,process.platform==="win32"?"red.exe":"red");if(mM(s)){process.env.REDDB_BIN=s;return}}}async function bs(e,t){await gM(EM(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;await bM(r,`${M(Gf(t))}
97
+ `,"utf8"),await yM(r,e)}function Gf(e){if(e==null)return null;if(typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e:null;if(Array.isArray(e))return e.map(t=>Gf(t));if(typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))n!==void 0&&(t[r]=Gf(n));return t}return String(e)}function Cc(){return{version:1,records:{},blobs:{},tombstones:{},index:{version:1,records:[]}}}function IM(e){return lt(e)&&e.version===1&&lt(e.records)&&Object.values(e.records).every(Yo)&&(e.blobs===void 0||lt(e.blobs)&&Object.values(e.blobs).every(Gc))&&lt(e.tombstones)&&Object.values(e.tombstones).every(Nc)&&Hf(e.index)}function $R(e){if(!e.startsWith("file://"))throw new Error("rsp elision store requires a file:// URI");return kM(e)}var Fc=E(()=>{"use strict";J();Uo();Oc()});async function FR(e,t){return LM?DM(e,t):GM?FM(e,t):NM(e,t)}async function NM(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(s){return new Promise((o,i)=>{n.stdin.write(s,a=>a?i(a):o())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(s=>{n.on("exit",o=>s(o??0))})}}}function DM(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(s){n?await n.write(s):(r.stdin.write(s),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:$M(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*$M(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function FM(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),s=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(o){await s.write(o)},end(){try{s.close()}catch{}}},stdout:MM(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*MM(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}var LM,GM,MR=E(()=>{LM=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",GM=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function"});import{existsSync as BM}from"node:fs";import{join as jM}from"node:path";function BR(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let s=process.env?.[n];if(typeof s=="string"&&s!=="")return s;let o=jM(r,"bin",t);if(BM(o))return o;throw new Error(`reddb: binary "${t}" not found.
98
98
  expected at: ${o}
99
99
  override: set ${n}=/path/to/${t}
100
100
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
101
- or check the postinstall log for a download error.`)}var $R=E(()=>{});import{fileURLToPath as $M}from"node:url";import{dirname as FM,resolve as MM,join as tee}from"node:path";function qM(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function FR(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:DR({name:qM(),packageRoot:jM,envVar:"REDDB_BIN"})}var BM,jM,MR=E(()=>{$R();BM=FM($M(import.meta.url)),jM=MM(BM,"..")});var UM,HM,j,Mc,Tr=E(()=>{UM=new TextEncoder,HM=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Mc=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new j("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(UM.encode(s+`
102
- `)).catch(a=>{this.pending.delete(n),i(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let s=0;for(let o=0;o<t.length;o++)if(t[o]===10){let i=t.subarray(s,o);this.#r(HM.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 Jf(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:/"?WM(e):JM(e)}function WM(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=VM(s),a=r.port?Number(r.port):Wf(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 JM(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):Wf(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):Wf(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 VM(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 Wf(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 Vf=E(()=>{Tr()});function zM(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return BR(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return BR(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function BR(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 YM(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 KM,Qo,Kf=E(()=>{Tr();KM=new Set(["embedded"]),Qo=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&KM.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:YM(n.value)}async put(t,r,n,s={}){this._guard("put");let o=zM(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 zf(e,t){return`${Yf(e)}.${QM(t)}`}function Yf(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 QM(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function XM(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 jR(e){return`'${String(e).replace(/'/g,"''")}'`}var bs,Qf=E(()=>{Tr();bs=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(jR).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${zf(s,t)} = ${XM(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 ${zf(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 ${zf(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 ${Yf(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(jR).join(", ")}] FROM ${Yf(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(`
101
+ or check the postinstall log for a download error.`)}var jR=E(()=>{});import{fileURLToPath as qM}from"node:url";import{dirname as UM,resolve as HM,join as mee}from"node:path";function VM(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function qR(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:BR({name:VM(),packageRoot:JM,envVar:"REDDB_BIN"})}var WM,JM,UR=E(()=>{jR();WM=UM(qM(import.meta.url)),JM=HM(WM,"..")});var KM,zM,j,Mc,Tr=E(()=>{KM=new TextEncoder,zM=new TextDecoder("utf-8"),j=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Mc=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new j("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,s=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((o,i)=>{this.pending.set(n,{resolve:o,reject:i}),this.child.stdin.write(KM.encode(s+`
102
+ `)).catch(a=>{this.pending.delete(n),i(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let s=0;for(let o=0;o<t.length;o++)if(t[o]===10){let i=t.subarray(s,o);this.#r(zM.decode(i)),s=o+1}s>0&&(t=t.subarray(s))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(o){this.#e(`malformed server response: ${o.message}`);return}let n=r.id;if(n==null)return;let s=this.pending.get(n);s&&(this.pending.delete(n),r.error?s.reject(new j(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):s.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new j("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}}});function Vf(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?YM(e):QM(e)}function YM(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(u){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,s=(n.get("proto")||"").toLowerCase(),o=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return o?{kind:"embedded",path:o,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let i=XM(s),a=r.port?Number(r.port):Jf(i),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:i,host:r.hostname,port:a,path:o||void 0,username:c,password:l,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function QM(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(o){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${o.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",s=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):Jf(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:s.get("token")??void 0,apiKey:s.get("apiKey")??s.get("api_key")??void 0,loginUrl:s.get("loginUrl")??s.get("login_url")??void 0,params:s,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new j("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Jf(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new j("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function XM(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new j("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Jf(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var Kf=E(()=>{Tr()});function e1(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return HR(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return HR(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function HR(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function t1(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var ZM,Qo,zf=E(()=>{Tr();ZM=new Set(["embedded"]),Qo=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&ZM.has(this._transport))throw new j("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:t1(n.value)}async put(t,r,n,s={}){this._guard("put");let o=e1(n);await this._client.call("cache.put",{namespace:t,key:r,value:o,...s})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}}});function Yf(e,t){return`${Qf(e)}.${r1(t)}`}function Qf(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new j("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function r1(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function n1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function WR(e){return`'${String(e).replace(/'/g,"''")}'`}var ws,Xf=E(()=>{Tr();ws=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(WR).join(", ")}]`:"",i=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Yf(s,t)} = ${n1(r)}${i}${o}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${Yf(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let s of t)n.push(await this.get(s,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`KV DELETE ${Yf(n,t)}`}),o=s.affected??s.affected_rows??0;return{affected:o,deleted:o>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new j("INVALID_ARGUMENT","kv.list limit must be a positive integer");let s=t.prefix==null?"":String(t.prefix),i=(await this.client.call("query",{sql:`SELECT key, value FROM ${Qf(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:s.length>0?i.filter(c=>String(c.key).startsWith(s)):i}}async invalidateTags(t,r={}){let n=r.collection??this.collection,s=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(WR).join(", ")}] FROM ${Qf(n)}`});return s.affected??s.affected_rows??s.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new j("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,s=new URLSearchParams;r.sinceLsn!=null&&s.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&s.set("limit",String(r.limit));let o=s.toString()?`?${s}`:"",i=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${o}`,a=await fetch(i,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new j("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
103
103
 
104
104
  `)){let u=l.split(`
105
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function ZM(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=ir(e),a=ir(t),c=s!=null?` GROUP ${ir(s)}`:"",l=o!=null?Zf(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function ir(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 Zf(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 e1(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function t1(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 ${e1(e.priority)}`),e.key!=null&&(t+=` KEY ${em(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${em(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function r1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?em(e):JSON.stringify(e)}function em(e){return`'${String(e).replace(/'/g,"''")}'`}function Xf(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var Xo,tm=E(()=>{Tr();Xo=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${ir(t)}`})}push(t,r,n={}){let s=t1(n);return this.client.call("query",{sql:`QUEUE PUSH ${ir(t)} ${r1(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${ir(t)}${Zf(r)}`});return Xf(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${ir(t)}${Zf(r)}`});return Xf(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${ir(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${ir(t)}`})}async readWait(t,r,n={}){let s=ZM(t,r,n),o=await this.client.call("query",{sql:s});return Xf(o)}}});function qR(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function n1(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function Bc(e){return String(e).split(".").map(UR).join(".")}function UR(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 s1(e){return HR(JSON.stringify(e))}function o1(e){return JSON.stringify(e)}function i1(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?s1(e):HR(e)}function HR(e){return`'${String(e).replace(/'/g,"''")}'`}var Zo,rm=E(()=>{Tr();Zo=class{constructor(t){this.db=t}async insert(t,r){qR(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Bc(t)} DOCUMENT VALUES (${o1(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=n1(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Bc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){qR(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])=>`${UR(c)} = ${i1(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Bc(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${Bc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function a1(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${xr(r)}.${xr(n)})`}return l1(e)}function c1(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function xr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function l1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):WR(e)}function WR(e){return`'${String(e).replace(/'/g,"''")}'`}var ei,nm=E(()=>{ei=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){c1(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(WR).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${xr(s)} ${xr(t)} = ${a1(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${xr(n)} ${xr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${xr(n)} ${xr(t)}`})}}});function u1(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 ws(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 d1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):JR(e)}function JR(e){return`'${String(e).replace(/'/g,"''")}'`}var ti,sm=E(()=>{ti=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){u1(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(JR).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${ws(s)}.${ws(t)} = ${d1(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${ws(n)}.${ws(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${ws(n)}.${ws(t)}`})}}});async function KR(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(p1)}async function zR(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${m1(t)}`)).rows??[]).some(n=>n.name===String(t))}function p1(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function VR(e){return String(e).split(".").map(f1).join(".")}function f1(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 m1(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,om=E(()=>{Tr();ri=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(VR).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${VR(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function Uc(e,t={}){let r=Jf(e);if(R1(r),r.kind==="embedded"){let n=S1(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=k1(r),o=t.binary??FR(),i=await GR(o,s),a=new Mc(i);return await a.call("version",{}),new am(a,{transport:"embedded"})}}function QR(e){return y1(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:w1(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&E1(e)?{$uuid:e}:e}function y1(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 b1(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(QR):e.map(QR)}function w1(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 _1(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 E1(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function jc(e){if(Array.isArray(e))return e.map(jc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return _1(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=jc(s);return r}return e}function k1(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function S1(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 R1(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",g1)}function cm(){return new j(YR,`${YR}: nested transactions are not supported on one connection`)}function ZR(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function v1(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${XR} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function T1(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 >= ${XR} 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 g1,h1,XR,YR,qc,im,am,ev=E(()=>{NR();MR();Tr();Vf();Kf();Qf();tm();rm();nm();sm();om();Kf();Qf();tm();rm();nm();sm();om();Vf();g1="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",h1="1.0",XR="1.0.9",YR="NESTED_TX_NOT_SUPPORTED";qc=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw cm()}},im=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw cm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new qc(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){ZR(r,n)}throw r}}},am=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=h1,this.cache=new Qo(t,this.transport),this.queue=new Xo(t),this.queues=this.queue,this.documents=new Zo(this);let n=new bs(t);this.kv=Object.assign((s="kv_default")=>new bs(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ei(t,s),this.vault=(s="red.vault")=>new ti(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=b1(r);return n==null?this.client.call("query",{sql:t}).then(jc):this.client.call("query",{sql:t,params:n}).then(jc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return v1(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 T1(n,r.length)}tx(){return new im(this)}async transaction(t){if(this.inTransaction)throw cm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new qc(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){ZR(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return zR(this,t)}list(){return KR(this)}from(t){return new ri(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as x1}from"node:crypto";import{existsSync as tv}from"node:fs";import{mkdir as O1,readFile as C1,rename as lm,rm as ni,stat as um}from"node:fs/promises";import{basename as A1,dirname as P1}from"node:path";async function rv(e){await(await bn.open({...e,allowResidentOpen:!0})).close()}var bn,nv=E(()=>{"use strict";ev();Oc();Fc();bn=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=LR(t.uri),n=await PR(r),s=new e(n,{uri:t.uri,ttlDays:Lc(t.ttlDays,ht),ephemeralTtlHours:Lc(t.ephemeralTtlHours,yt),byteBudget:Lc(t.byteBudget,bt),now:t.now??(()=>new Date)});return IR(n)?(await $c(),await O1(P1(n),{recursive:!0}),s.db=await Uc(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await AR(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Vo(n,r),a=vr(i),c=or(r.command),l=c==="derivable"?Ff(n,r.command):null,u=c==="re-executable"?Mf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=$f(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?qf(n,f,o):null,h=Bf(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};return delete this.document.tombstones[hn(i)],this.document.records[a]=w,this.upsertIndex({handle:i,key:a,bytes:h,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!zo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[vr(t)];if(!Yo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:vr(n.handle),bytes:jf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:yn(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:Nf(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),Df(this.readIndex().records,this.opts.now(),t))}readIndex(){return this.document.index}writeIndex(t){this.document.index=t}upsertIndex(t){let n=this.readIndex().records.filter(s=>s.handle!==t.handle);n.push(t),this.writeIndex({version:1,records:n}),this.dirty=!0}prune(){let t=this.opts.now().getTime(),r=new Date(t).toISOString(),n=this.readIndex(),s=[];for(let i of n.records)Date.parse(i.expires_at)<=t?this.expireEntry(i,i.expires_at):s.push(i);let o=yn(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=yn(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[hn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[hn(t)];return Nc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return SR(t.derivation_recipe);if(t.reexecution_recipe)return RR(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Gc(r)?kR(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 ys(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await um(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
106
- `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await ys(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(we)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===we);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${we}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${we}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${we}`),await this.db.query(`CREATE KV IF NOT EXISTS ${we}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Vo(n,r),a=vr(i),c=or(r.command),l=c==="derivable"?Ff(n,r.command):null,u=c==="re-executable"?Mf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=$f(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?qf(n,f,o):null,h=Bf(n,l,u,m);m&&!Gc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(hn(i)),await this.kv().put(a,w);let y=(await this.readRedDbIndex()).records.filter(_=>_.handle!==i);return y.push({handle:i,key:a,bytes:h,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:y},!0),await this.assertRedDbMintPersisted(i,h),i}async getRedDb(t){if(!zo(t))return null;let r=await this.kvGet(hn(t));if(Nc(r))return r;let n=await this.kvGet(vr(t));if(!Yo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:vr(n.handle),bytes:jf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:yn(t.records),oldest:t.records.reduce((r,n)=>r==null||n.created_at<r?n.created_at:r,null),budget:this.opts.byteBudget,storage_classes:Nf(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return Df(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=TR(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=xR(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 OR(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await C1(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=A1(s),c=x1("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=>CR(i,s)).filter(i=>i!=null).sort((i,a)=>a.score-i.score).slice(0,Math.max(1,Math.min(100,r)));return{hits:o,context_md:o.map(i=>`- memory_nodes:${i.rid} ${i.label}: ${i.excerpt}`).join(`
107
- `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Pc());return Uf(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Pc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=yn(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=yn(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await um(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await ni(o,{force:!0}),await ni(i,{force:!0});let a=await Uc(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${_R(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 um(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ni(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await lm(this.path,i),await lm(o,this.path),await ni(i,{force:!0})}catch(l){throw!tv(this.path)&&tv(i)&&await lm(i,this.path),await ni(o,{force:!0}),l}finally{this.db=await Uc(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===we){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Pc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:we,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(hn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(vr(t));if(!Yo(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var sv={};ne(sv,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_TTL_DAYS:()=>ht,RSP_ELISION_COLLECTION:()=>we,RspElisionStore:()=>bn,contentHandle:()=>Vo,ensureReddbBinaryFromWarmCache:()=>$c,provisionElisionStore:()=>rv,storageClassForCommand:()=>or});var Hc=E(()=>{"use strict";Oc();Fc();Fc();nv()});async function Wc(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await av(e,s),i=(await si(e,qe)).filter(G=>Es(G)>=s),a=o.filter(G=>H(G.event_type)!=="show"&&H(G.degradation_reason)===""),c=o.filter(G=>H(G.event_type)==="show"),l=o.filter(G=>H(G.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,h=new Map,w=new Map,b=[],y=0,_=0,k=0;for(let G of a){G.elided===!0&&u++;let U=at(G.raw_bytes),Ge=at(G.emitted_bytes),le=Math.max(0,U-Ge),xt=ks(G,"raw"),L=ks(G,"emitted"),q=Math.max(0,xt.tokens-L.tokens);m||=(G.estimated===!0||xt.estimated||L.estimated)&&q>0,d+=U,p+=Ge,f+=q;let qt=wn(G).slice(0,10);qt&&h.set(qt,(h.get(qt)??0)+q);let Ot=H(G.command)||"unknown",Ne=w.get(Ot)??{command:Ot,invocations:0,bytes_saved:0,tokens_saved:0};Ne.invocations++,Ne.bytes_saved+=le,Ne.tokens_saved+=q,w.set(Ot,Ne);let De=Sr(G.wrapper_ms);De!=null&&b.push(De),y+=at(G.store_open_count);let Ut=Sr(G.store_elapsed_ms);Ut!=null&&(_+=Ut,k++)}let v=new Map,O=new Map,A=[],C=null;for(let G of l){let U=H(G.degradation_reason)||H(G.reason)||"unknown",Ge=H(G.wrapper_family)||ct(H(G.command));v.set(U,(v.get(U)??0)+1),O.set(Ge,(O.get(Ge)??0)+1);let le=wn(G);A.push({timestamp:le,family:Ge,command:H(G.command)||"unknown",reason:U,exit_code:Sr(G.wrapper_exit_code),stderr_head:H(G.stderr_head)||null}),(!C||le>C.timestamp)&&(C={timestamp:le,reason:U,command:H(G.command)||"unknown"})}let D=a.length+l.length,J=c.filter(G=>G.hit===!0).length,z=Bd(f,m),Y=I1(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:z.tokens_saved_estimated,token_estimate_range_pct:z.token_estimate_range_pct,tokens_saved_low:z.tokens_saved_low,tokens_saved_high:z.tokens_saved_high,dollars_saved_estimate_usd:z.dollars_saved_estimate_usd,dollars_saved_low_usd:z.dollars_saved_low_usd,dollars_saved_high_usd:z.dollars_saved_high_usd,pricing_model_family:z.pricing_model_family,pricing_input_usd_per_million_tokens:z.pricing_input_usd_per_million_tokens,pricing_note:z.pricing_note,daily_tokens_saved:[...h.entries()].sort(([G],[U])=>G.localeCompare(U)).map(([G,U])=>({date:G,tokens_saved:U})),top_commands:[...w.values()].sort((G,U)=>U.bytes_saved-G.bytes_saved||U.tokens_saved-G.tokens_saved||G.command.localeCompare(U.command))},health:{degradations:l.length,degradation_rate:D===0?0:l.length/D,show_total:c.length,show_hits:J,show_misses:Math.max(0,c.length-J),show_hit_rate:c.length===0?0:Oe(J/c.length),by_reason:[...v.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({reason:G,count:U})),by_family:[...O.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({family:G,count:U})),recent_failures:A.sort((G,U)=>U.timestamp.localeCompare(G.timestamp)).slice(0,20),most_recent:C},latency:{wrapper_ms_p50:_s(b,.5),wrapper_ms_p95:_s(b,.95),store_open_count_sum:y,store_elapsed_ms_sum:Oe(_),store_elapsed_ms_avg:k===0?null:Oe(_/k)},decisions:Y}}function I1(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=H(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,at(a.saved_units))),c!=="contributed"){let d=H(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=H(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Oe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Oe(c.contributed/l)}})}}async function dm(e,t,r=new Date){let s=(await si(e,je)).filter(o=>Es(o)<=r.getTime()||wn(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=wn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:j1(s)}}async function pm(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 av(e,i),c=a.filter(L=>H(L.event_type)!=="show"&&H(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&H(L.degradation_reason)===""),l=a.filter(L=>H(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>H(L.event_type)==="show"),d=a.filter(L=>H(L.degradation_reason)!==""),p=[...c,...d].map(Es).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)/Y1()))),h=[],w=new Map,b=new Map,y=new Map,_=new Map,k=new Map,v=new Map,O=0,A=!1,C=0,D=null,J=0,z=0;for(let L of c){let q=wn(L),qt=q.slice(0,10),Ot=q.slice(0,16),Ne=ct(H(L.command)),De=Math.max(0,ks(L,"raw").tokens-ks(L,"emitted").tokens);O+=De,A||=L.estimated===!0&&De>0;let Ut=Math.max(0,at(L.raw_bytes)-at(L.emitted_bytes)),Gn=Sr(L.wrapper_ms);if(Gn!=null){h.push(Gn);let Hs=w.get(Ne)??[];Hs.push(Gn),w.set(Ne,Hs)}qt&&b.set(qt,(b.get(qt)??0)+1),Ot&&y.set(Ot,(y.get(Ot)??0)+1);let lr=W1(q);lr&&_.set(lr,(_.get(lr)??0)+1);let Us=K1(q);Us&&k.set(Us,(k.get(Us)??0)+De);let Jr=v.get(Ne)??{command_family:Ne,invocations:0,tokens_saved:0,bytes_saved:0};Jr.invocations++,Jr.tokens_saved+=De,Jr.bytes_saved+=Ut,v.set(Ne,Jr),L.elided===!0&&C++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(J++,at(L.store_open_count)>0&&z++),De>0&&(!D||De>D.tokens_saved||De===D.tokens_saved&&Ut>D.bytes_saved)&&(D={timestamp:q,command_family:Ne,tokens_saved:De,bytes_saved:Ut})}let Y=d.map(L=>({timestamp:wn(L),command_family:ct(H(L.command)),reason:H(L.degradation_reason)||H(L.reason)||"unknown"})).sort((L,q)=>L.timestamp.localeCompare(q.timestamp)),G=new Map;for(let L of Y)G.set(L.reason,(G.get(L.reason)??0)+1);let U=D1(Y),Ge=N1(u),le=F1([...v.values()],Ge,U),xt=[...y.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:iv(h),by_command_family:[...w.entries()].sort((L,q)=>q[1].length-L[1].length||L[0].localeCompare(q[0])).map(([L,q])=>({command_family:L,count:q.length,...iv(q)}))},throughput:{requests_per_day:[...b.entries()].sort(([L],[q])=>L.localeCompare(q)).map(([L,q])=>({date:L,requests:q})),active_minute_avg:y.size===0?null:Oe([...y.values()].reduce((L,q)=>L+q,0)/y.size),peak_minute:xt?{minute:xt[0],requests:xt[1]}:null,hour_weekday_heatmap:J1(_)},savings:{tokens:Bd(O,A),measured_control_holdout:L1(c,l),weekly_tokens_saved:z1(k),elision_rate:c.length===0?0:Oe(C/c.length),top_commands_by_tokens_saved:[...v.values()].sort((L,q)=>q.tokens_saved-L.tokens_saved||q.bytes_saved-L.bytes_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),top_commands_by_invocation_count:[...v.values()].sort((L,q)=>q.invocations-L.invocations||q.tokens_saved-L.tokens_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),single_biggest_elision:D},health:{degradation_timeline:Y,degradations_by_reason:[...G.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[0])).map(([L,q])=>({reason:L,count:q})),cold_boots:J===0?null:z,warm_hits:J===0?null:Math.max(0,J-z)},mining:{recovery_usage_by_family:Ge,degradation_clusters:U,threshold_tuning_suggestions:le}}}async function av(e,t){let r=(await si(e,je)).filter(i=>Es(i)>=t),n=r.some(i=>H(i.event_type)!=="show"||H(i.degradation_reason)!==""),s=(await si(e,it)).filter(i=>Es(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:H(i.event_type)||"invocation"})),o=(await si(e,Et)).filter(i=>Es(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:H(i.reason)||"unknown"}));return[...r,...s,...o]}function ks(e,t){let r=Sr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=at(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function L1(e,t){let r=B1(t.map(a=>Sr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(ov).filter(a=>a!=null),s=t.map(ov).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Oe(M1(o));return{enabled:!0,holdout_share:Oe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:G1(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function ov(e){let t=ks(e,"raw").tokens;if(t<=0)return null;let r=ks(e,"emitted").tokens;return Math.max(0,t-r)/t}function G1(e,t){if(e.length<=1)return{low:Oe(Math.max(0,t)),high:Oe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Oe(Math.max(0,t-n)),high:Oe(Math.min(1,t+n))}}function N1(e){let t=new Map;for(let r of e){let n=ct(H(r.recovered_command)||H(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Oe(r.show_hits/r.show_total)}))}function D1(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:$1(r)}))}function $1(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 F1(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 M1(e){return e.reduce((t,r)=>t+r,0)/e.length}function B1(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function j1(e){let t=U1();for(let r of e){if(H(r.event_type)==="show"||H(r.degradation_reason)!==""||r.elided!==!0)continue;let n=q1(r.storage_class)??or(H(r.command));t[n].records+=1;let s=at(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function q1(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function U1(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}async function si(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>H1(n.value)).filter(n=>fs(n))}function H1(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function Es(e){let t=Date.parse(wn(e));return Number.isFinite(t)?t:0}function wn(e){return H(e.created_at)||H(e.ts)||""}function H(e){return typeof e=="string"?e:""}function _s(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Oe(r[n])}function iv(e){return{wrapper_ms_p50:_s(e,.5),wrapper_ms_p90:_s(e,.9),wrapper_ms_p95:_s(e,.95),wrapper_ms_p99:_s(e,.99)}}function Oe(e){return Math.round(e*100)/100}function W1(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${V1(t.getUTCDay())}:${t.getUTCHours()}`:null}function J1(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 V1(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function K1(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 z1(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Oe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function Y1(){return 24*60*60*1e3}var cv=E(()=>{"use strict";Uo();Hc();jd();Rc();Rf()});var oi={};ne(oi,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>je,RSP_DECISIONS_COLLECTION:()=>qe,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Et,RSP_TELEMETRY_INDEX_COLLECTION:()=>Fo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>it,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>kf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Sf,RSP_TELEMETRY_SPOOL_FILE:()=>Ef,appendTelemetryEvent:()=>fn,appendTelemetryEventSync:()=>Rr,drainTelemetrySpool:()=>Af,parseTelemetryEvent:()=>gs,readAccountingLaneStats:()=>dm,readTelemetryGainsReport:()=>pm,readTelemetryStats:()=>Wc,takeTelemetrySpool:()=>ZF,telemetryLegacySpoolPath:()=>Of,telemetrySpoolCorrectionsPath:()=>Cf,telemetrySpoolPath:()=>sr});var Gt=E(()=>{"use strict";Rc();bR();cv()});import{isUtf8 as Q1}from"node:buffer";async function lv(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&&Q1(l))try{u=await t(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(n)),c){process.kill(process.pid,c),s(128);return}s(a??0)};e.once("error",a=>{n.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
108
- `)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var uv=E(()=>{"use strict"});import{existsSync as X1}from"node:fs";import{join as Z1}from"node:path";function eB(){for(let e of(process.env.PATH??"").split(":"))if(e&&X1(Z1(e,"rsp")))return!0;return!1}function ii(){return eB()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var fm=E(()=>{"use strict"});var W=I(_e=>{"use strict";var mm=Symbol.for("yaml.alias"),dv=Symbol.for("yaml.document"),Jc=Symbol.for("yaml.map"),pv=Symbol.for("yaml.pair"),gm=Symbol.for("yaml.scalar"),Vc=Symbol.for("yaml.seq"),ar=Symbol.for("yaml.node.type"),tB=e=>!!e&&typeof e=="object"&&e[ar]===mm,rB=e=>!!e&&typeof e=="object"&&e[ar]===dv,nB=e=>!!e&&typeof e=="object"&&e[ar]===Jc,sB=e=>!!e&&typeof e=="object"&&e[ar]===pv,fv=e=>!!e&&typeof e=="object"&&e[ar]===gm,oB=e=>!!e&&typeof e=="object"&&e[ar]===Vc;function mv(e){if(e&&typeof e=="object")switch(e[ar]){case Jc:case Vc:return!0}return!1}function iB(e){if(e&&typeof e=="object")switch(e[ar]){case mm:case Jc:case gm:case Vc:return!0}return!1}var aB=e=>(fv(e)||mv(e))&&!!e.anchor;_e.ALIAS=mm;_e.DOC=dv;_e.MAP=Jc;_e.NODE_TYPE=ar;_e.PAIR=pv;_e.SCALAR=gm;_e.SEQ=Vc;_e.hasAnchor=aB;_e.isAlias=tB;_e.isCollection=mv;_e.isDocument=rB;_e.isMap=nB;_e.isNode=iB;_e.isPair=sB;_e.isScalar=fv;_e.isSeq=oB});var ai=I(hm=>{"use strict";var pe=W(),Ue=Symbol("break visit"),gv=Symbol("skip children"),Nt=Symbol("remove node");function Kc(e,t){let r=hv(t);pe.isDocument(e)?Ss(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):Ss(null,e,r,Object.freeze([]))}Kc.BREAK=Ue;Kc.SKIP=gv;Kc.REMOVE=Nt;function Ss(e,t,r,n){let s=yv(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return bv(e,n,s),Ss(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=Ss(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ue)return Ue;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=Ss("key",t.key,r,n);if(o===Ue)return Ue;o===Nt&&(t.key=null);let i=Ss("value",t.value,r,n);if(i===Ue)return Ue;i===Nt&&(t.value=null)}}return s}async function zc(e,t){let r=hv(t);pe.isDocument(e)?await Rs(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):await Rs(null,e,r,Object.freeze([]))}zc.BREAK=Ue;zc.SKIP=gv;zc.REMOVE=Nt;async function Rs(e,t,r,n){let s=await yv(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return bv(e,n,s),Rs(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=await Rs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===Ue)return Ue;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await Rs("key",t.key,r,n);if(o===Ue)return Ue;o===Nt&&(t.key=null);let i=await Rs("value",t.value,r,n);if(i===Ue)return Ue;i===Nt&&(t.value=null)}}return s}function hv(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 yv(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 bv(e,t,r){let n=t[t.length-1];if(pe.isCollection(n))n.items[e]=r;else if(pe.isPair(n))e==="key"?n.key=r:n.value=r;else if(pe.isDocument(n))n.contents=r;else{let s=pe.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}hm.visit=Kc;hm.visitAsync=zc});var ym=I(_v=>{"use strict";var wv=W(),cB=ai(),lB={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},uB=e=>e.replace(/[!,[\]{}]/g,t=>lB[t]),ci=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+uB(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&&wv.isNode(t.contents)){let o={};cB.visit(t.contents,(i,a)=>{wv.isNode(a)&&a.tag&&(o[a.tag]=!0)}),s=Object.keys(o)}else s=[];for(let[o,i]of n)o==="!!"&&i==="tag:yaml.org,2002:"||(!t||s.some(a=>a.startsWith(i)))&&r.push(`%TAG ${o} ${i}`);return r.join(`
109
- `)}};ci.defaultYaml={explicit:!1,version:"1.2"};ci.defaultTags={"!!":"tag:yaml.org,2002:"};_v.Directives=ci});var Yc=I(li=>{"use strict";var Ev=W(),dB=ai();function pB(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 kv(e){let t=new Set;return dB.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function Sv(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function fB(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=kv(e));let i=Sv(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(Ev.isScalar(i.node)||Ev.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}}li.anchorIsValid=pB;li.anchorNames=kv;li.createNodeAnchors=fB;li.findNewAnchor=Sv});var bm=I(Rv=>{"use strict";function ui(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=ui(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=ui(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=ui(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=ui(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}Rv.applyReviver=ui});var Or=I(Tv=>{"use strict";var mB=W();function vv(e,t,r){if(Array.isArray(e))return e.map((n,s)=>vv(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!mB.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}Tv.toJS=vv});var Qc=I(Ov=>{"use strict";var gB=bm(),xv=W(),hB=Or(),wm=class{constructor(t){Object.defineProperty(this,xv.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(!xv.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=hB.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?gB.applyReviver(o,{"":a},"",a):a}};Ov.NodeBase=wm});var di=I(Cv=>{"use strict";var yB=Yc(),bB=ai(),vs=W(),wB=Qc(),_B=Or(),_m=class extends wB.NodeBase{constructor(t){super(vs.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=[],bB.visit(t,{Node:(o,i)=>{(vs.isAlias(i)||vs.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||(_B.toJS(i,null,r),a=n.get(i)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Xc(s,i,n)),a.count*a.aliasCount>o)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(t,r,n){let s=`*${this.source}`;if(t){if(yB.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function Xc(e,t,r){if(vs.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(vs.isCollection(t)){let n=0;for(let s of t.items){let o=Xc(e,s,r);o>n&&(n=o)}return n}else if(vs.isPair(t)){let n=Xc(e,t.key,r),s=Xc(e,t.value,r);return Math.max(n,s)}return 1}Cv.Alias=_m});var ce=I(Em=>{"use strict";var EB=W(),kB=Qc(),SB=Or(),RB=e=>!e||typeof e!="function"&&typeof e!="object",Cr=class extends kB.NodeBase{constructor(t){super(EB.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:SB.toJS(this.value,t,r)}toString(){return String(this.value)}};Cr.BLOCK_FOLDED="BLOCK_FOLDED";Cr.BLOCK_LITERAL="BLOCK_LITERAL";Cr.PLAIN="PLAIN";Cr.QUOTE_DOUBLE="QUOTE_DOUBLE";Cr.QUOTE_SINGLE="QUOTE_SINGLE";Em.Scalar=Cr;Em.isScalarValue=RB});var pi=I(Pv=>{"use strict";var vB=di(),_n=W(),Av=ce(),TB="tag:yaml.org,2002:";function xB(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 OB(e,t,r){if(_n.isDocument(e)&&(e=e.contents),_n.isNode(e))return e;if(_n.isPair(e)){let d=r.schema[_n.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:o,schema:i,sourceObjects:a}=r,c;if(n&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=s(e)),new vB.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=TB+t.slice(2));let l=xB(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new Av.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[_n.MAP]:Symbol.iterator in Object(e)?i[_n.SEQ]:i[_n.MAP]}o&&(o(l),delete r.onTagObj);let u=l?.createNode?l.createNode(r.schema,e,r):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(r.schema,e,r):new Av.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}Pv.createNode=OB});var el=I(Zc=>{"use strict";var CB=pi(),Dt=W(),AB=Qc();function km(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return CB.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 Iv=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Sm=class extends AB.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Dt.isNode(n)||Dt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(Iv(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Dt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(Dt.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...s]=t,o=this.get(n,!0);return s.length===0?!r&&Dt.isScalar(o)?o.value:o:Dt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Dt.isPair(r))return!1;let n=r.value;return n==null||t&&Dt.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let s=this.get(r,!0);return Dt.isCollection(s)?s.hasIn(n):!1}setIn(t,r){let[n,...s]=t;if(s.length===0)this.set(n,r);else{let o=this.get(n,!0);if(Dt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};Zc.Collection=Sm;Zc.collectionFromPath=km;Zc.isEmptyPath=Iv});var fi=I(tl=>{"use strict";var PB=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Rm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var IB=(e,t,r)=>e.endsWith(`
105
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}}});function s1(e,t,r){let{waitMs:n,group:s=null,count:o=null}=r??{};if(!Number.isInteger(n)||n<0)throw new j("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let i=ar(e),a=ar(t),c=s!=null?` GROUP ${ar(s)}`:"",l=o!=null?em(o):"";return`QUEUE READ ${i}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function ar(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function em(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new j("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function o1(e){if(!Number.isInteger(e))throw new j("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function i1(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new j("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${o1(e.priority)}`),e.key!=null&&(t+=` KEY ${tm(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${tm(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function a1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?tm(e):JSON.stringify(e)}function tm(e){return`'${String(e).replace(/'/g,"''")}'`}function Zf(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var Xo,rm=E(()=>{Tr();Xo=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${ar(t)}`})}push(t,r,n={}){let s=i1(n);return this.client.call("query",{sql:`QUEUE PUSH ${ar(t)} ${a1(r)}${s}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${ar(t)}${em(r)}`});return Zf(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${ar(t)}${em(r)}`});return Zf(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${ar(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${ar(t)}`})}async readWait(t,r,n={}){let s=s1(t,r,n),o=await this.client.call("query",{sql:s});return Zf(o)}}});function JR(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new j("INVALID_ARGUMENT",`${t} must be an object`)}function c1(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new j("INVALID_ARGUMENT","limit must be a positive integer");return e}function Bc(e){return String(e).split(".").map(VR).join(".")}function VR(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function l1(e){return KR(JSON.stringify(e))}function u1(e){return JSON.stringify(e)}function d1(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?l1(e):KR(e)}function KR(e){return`'${String(e).replace(/'/g,"''")}'`}var Zo,nm=E(()=>{Tr();Zo=class{constructor(t){this.db=t}async insert(t,r){JR(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${Bc(t)} DOCUMENT VALUES (${u1(r)}) RETURNING *`),s=n.rows?.[0];if(!s||s.rid==null)throw new j("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:s.rid,item:s}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=c1(r.limit),s=r.orderBy??r.order_by??"rid ASC",o=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${Bc(t)}${o} ORDER BY ${s} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){JR(n,"documents.patch patch");let s=Object.entries(n);if(s.length===0)throw new j("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of s)if(c.includes("/"))throw new j("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let o=s.map(([c,l])=>`${VR(c)} = ${d1(l)}`).join(", "),a=(await this.db.query(`UPDATE ${Bc(t)} SET ${o} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new j("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let s=(await this.db.delete(t,r)).affected??0;return{affected:s,deleted:s>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${Bc(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}}});function p1(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${xr(r)}.${xr(n)})`}return m1(e)}function f1(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function xr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function m1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):zR(e)}function zR(e){return`'${String(e).replace(/'/g,"''")}'`}var ei,sm=E(()=>{ei=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){f1(n,"config");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(zR).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${xr(s)} ${xr(t)} = ${p1(r,n)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${xr(n)} ${xr(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${xr(n)} ${xr(t)}`})}}});function g1(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function _s(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function h1(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):YR(e)}function YR(e){return`'${String(e).replace(/'/g,"''")}'`}var ti,om=E(()=>{ti=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){g1(n,"vault");let s=n.collection??this.collection,o=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(YR).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${_s(s)}.${_s(t)} = ${h1(r)}${o}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${_s(n)}.${_s(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${_s(n)}.${_s(t)}`})}}});async function XR(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(y1)}async function ZR(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${w1(t)}`)).rows??[]).some(n=>n.name===String(t))}function y1(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function QR(e){return String(e).split(".").map(b1).join(".")}function b1(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new j("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function w1(e){return`'${String(e).replace(/'/g,"''")}'`}var ri,im=E(()=>{Tr();ri=class e{constructor(t,r,n=null,s=[],o=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=s,this.params=o}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new j("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(QR).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(i=>`(${i})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${QR(this.collection)}${r}`,o=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?o:o.map(i=>{let a={};for(let c of this.columns)a[c]=i[c];return a})}}});async function Uc(e,t={}){let r=Vf(e);if(C1(r),r.kind==="embedded"){let n=O1(r,t.auth);if(n.token||n.username)throw new j("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let s=x1(r),o=t.binary??qR(),i=await FR(o,s),a=new Mc(i);return await a.call("version",{}),new cm(a,{transport:"embedded"})}}function tv(e){return k1(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:R1(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&T1(e)?{$uuid:e}:e}function k1(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new j("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new j("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new j("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function S1(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(tv):e.map(tv)}function R1(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function v1(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function T1(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function jc(e){if(Array.isArray(e))return e.map(jc);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return v1(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,s]of Object.entries(e))r[n]=jc(s);return r}return e}function x1(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function O1(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function C1(e){if(e.kind!=="embedded")throw new j("EMBEDDED_ONLY",_1)}function lm(){return new j(ev,`${ev}: nested transactions are not supported on one connection`)}function nv(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function A1(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new j("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${rv} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function P1(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new j("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${rv} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new j("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}var _1,E1,rv,ev,qc,am,cm,sv=E(()=>{MR();UR();Tr();Kf();zf();Xf();rm();nm();sm();om();im();zf();Xf();rm();nm();sm();om();im();Kf();_1="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",E1="1.0",rv="1.0.9",ev="NESTED_TX_NOT_SUPPORTED";qc=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw lm()}},am=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw lm();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new j("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new j("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new qc(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){nv(r,n)}throw r}}},cm=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=E1,this.cache=new Qo(t,this.transport),this.queue=new Xo(t),this.queues=this.queue,this.documents=new Zo(this);let n=new ws(t);this.kv=Object.assign((s="kv_default")=>new ws(t,s),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(s="red.config")=>new ei(t,s),this.vault=(s="red.vault")=>new ti(t,s),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new j("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=S1(r);return n==null?this.client.call("query",{sql:t}).then(jc):this.client.call("query",{sql:t,params:n}).then(jc)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return A1(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return P1(n,r.length)}tx(){return new am(this)}async transaction(t){if(this.inTransaction)throw lm();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new qc(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(s){nv(n,s)}throw n}finally{this.inTransaction=!1}}exists(t){return ZR(this,t)}list(){return XR(this)}from(t){return new ri(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}}});import{createHash as I1}from"node:crypto";import{existsSync as ov}from"node:fs";import{mkdir as L1,readFile as G1,rename as um,rm as ni,stat as dm}from"node:fs/promises";import{basename as N1,dirname as D1}from"node:path";async function iv(e){await(await bn.open({...e,allowResidentOpen:!0})).close()}var bn,av=E(()=>{"use strict";sv();Oc();Fc();bn=class e{constructor(t,r){this.opts=r;this.path=t}document;db;path;dirty=!1;static async open(t){if(process.env.RSP_FAIL_IF_STORE_OPEN==="1"&&!t.allowResidentOpen)throw new Error("RSP_FAIL_IF_STORE_OPEN blocked store open");let r=$R(t.uri),n=await NR(r),s=new e(n,{uri:t.uri,ttlDays:Lc(t.ttlDays,ht),ephemeralTtlHours:Lc(t.ephemeralTtlHours,yt),byteBudget:Lc(t.byteBudget,bt),now:t.now??(()=>new Date)});return DR(n)?(await $c(),await L1(D1(n),{recursive:!0}),s.db=await Uc(`file://${n}`),await s.ensureRedDbCollections(),await s.ensureRedDbStore()):s.document=await GR(s.path),s}async close(){await this.db?.close()}redDb(){return this.db}async mint(t,r){if(this.db)return await this.mintRedDb(t,r);let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Vo(n,r),a=vr(i),c=ir(r.command),l=c==="derivable"?Mf(n,r.command):null,u=c==="re-executable"?Bf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=Ff(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?Uf(n,f,o):null,h=jf(n,l,u,m);m&&!this.document.blobs[m.key]&&(this.document.blobs[m.key]=m,this.dirty=!0);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};return delete this.document.tombstones[hn(i)],this.document.records[a]=w,this.upsertIndex({handle:i,key:a,bytes:h,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),this.prune(),await this.flush(),i}async get(t){if(this.db)return await this.getRedDb(t);if(!zo(t))return null;let r=this.tombstone(t);if(r)return r;let n=this.document.records[vr(t)];if(!Yo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return this.expireEntry({handle:n.handle,key:vr(n.handle),bytes:qf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(n),blob_key:n.blob_key},n.expires_at),await this.flush(),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(n)}:null}async stats(){if(this.db)return await this.statsRedDb();this.prune(),await this.flush();let r=this.readIndex().records;return{records:r.length,bytes:yn(r),oldest:r.reduce((n,s)=>n==null||s.created_at<n?s.created_at:n,null),budget:this.opts.byteBudget,storage_classes:Df(r)}}async recoveryHandles(t=5){return this.db?await this.recoveryHandlesRedDb(t):(this.prune(),await this.flush(),$f(this.readIndex().records,this.opts.now(),t))}readIndex(){return this.document.index}writeIndex(t){this.document.index=t}upsertIndex(t){let n=this.readIndex().records.filter(s=>s.handle!==t.handle);n.push(t),this.writeIndex({version:1,records:n}),this.dirty=!0}prune(){let t=this.opts.now().getTime(),r=new Date(t).toISOString(),n=this.readIndex(),s=[];for(let i of n.records)Date.parse(i.expires_at)<=t?this.expireEntry(i,i.expires_at):s.push(i);let o=yn(s);for(s.sort((i,a)=>i.created_at.localeCompare(a.created_at));o>this.opts.byteBudget&&s.length>0;){let i=s.shift();this.expireEntry(i,r),o=yn(s)}s.length<n.records.length&&this.writeIndex({version:1,records:s}),this.deleteUnreferencedLocalBlobs(s)}expireEntry(t,r){delete this.document.records[t.key],this.document.tombstones[hn(t.handle)]={status:"expired",expired_at:r,command:t.command},this.dirty=!0}tombstone(t){let r=this.document.tombstones[hn(t)];return Nc(r)?r:null}async readOriginal(t){if(t.original)return Buffer.from(t.original,"base64");if(t.derivation_recipe)return xR(t.derivation_recipe);if(t.reexecution_recipe)return OR(t.reexecution_recipe);if(t.blob_key){let r=this.db?await this.kvGet(t.blob_key):this.document.blobs[t.blob_key];return Gc(r)?TR(r):null}return null}deleteUnreferencedLocalBlobs(t){let r=new Set(t.map(n=>n.blob_key).filter(n=>typeof n=="string"));for(let n of Object.keys(this.document.blobs))r.has(n)||(delete this.document.blobs[n],this.dirty=!0)}async flush(){this.dirty&&(await bs(this.path,this.document),this.dirty=!1),await this.rotateLocalGenerationIfOversized()}async rotateLocalGenerationIfOversized(){let t=await dm(this.path).then(a=>a.size,()=>0);if(t<=this.opts.byteBudget)return;let r=this.readIndex().records,n=new Set(r.map(a=>a.key)),s=new Set(r.map(a=>a.blob_key).filter(a=>typeof a=="string")),o={version:1,records:Object.fromEntries(Object.entries(this.document.records).filter(([a])=>n.has(a))),blobs:Object.fromEntries(Object.entries(this.document.blobs).filter(([a])=>s.has(a))),tombstones:{},index:{version:1,records:r}},i=Buffer.byteLength(`${JSON.stringify(o)}
106
+ `,"utf8");i>this.opts.byteBudget||i>=t||(this.document=o,await bs(this.path,this.document))}kv(){if(!this.db)throw new Error("rsp RedDB store is not open");return this.db.kv(we)}async kvGet(t){let r=await this.kv().get(t);if(typeof r!="string")return r;try{return JSON.parse(r)}catch{return r}}async ensureRedDbStore(){let t=await this.readRedDbIndex();await this.writeRedDbIndex(t)}async ensureRedDbCollections(){if(!this.db)throw new Error("rsp RedDB store is not open");let t=(await this.db.list()).find(r=>r.name===we);if(!t){await this.db.query(`CREATE KV IF NOT EXISTS ${we}`);return}if(t.model!=="kv"){if(t.model!=="table")throw new Error(`cannot self-heal elision collection ${we}: unsupported model ${t.model}`);await this.db.query(`DROP TABLE ${we}`),await this.db.query(`CREATE KV IF NOT EXISTS ${we}`)}}async mintRedDb(t,r){let n=Buffer.from(t),s=this.opts.now(),o=s.toISOString(),i=Vo(n,r),a=vr(i),c=ir(r.command),l=c==="derivable"?Mf(n,r.command):null,u=c==="re-executable"?Bf(n,r.command):null,d=c==="derivable"&&!l||c==="re-executable"&&!u?"ephemeral":c,p=Ff(s,d,this.opts.ttlDays,this.opts.ephemeralTtlHours),f=gn(n),m=d==="ephemeral"?Uf(n,f,o):null,h=jf(n,l,u,m);m&&!Gc(await this.kvGet(m.key))&&await this.kv().put(m.key,m);let w={collection:we,handle:i,original_bytes:n.length,stored_bytes:h,command:r.command,created_at:o,expires_at:p,loss:r.loss,storage_class:d,content_hash:f,...l?{derivation_recipe:l}:u?{reexecution_recipe:u}:{blob_key:m?.key}};await this.kv().delete(hn(i)),await this.kv().put(a,w);let y=(await this.readRedDbIndex()).records.filter(_=>_.handle!==i);return y.push({handle:i,key:a,bytes:h,raw_bytes:n.length,command:r.command,created_at:o,expires_at:p,storage_class:d,blob_key:m?.key}),await this.pruneRedDb({version:1,records:y},!0),await this.assertRedDbMintPersisted(i,h),i}async getRedDb(t){if(!zo(t))return null;let r=await this.kvGet(hn(t));if(Nc(r))return r;let n=await this.kvGet(vr(t));if(!Yo(n))return null;if(Date.parse(n.expires_at)<=this.opts.now().getTime()){let o={status:"expired",expired_at:n.expires_at,command:n.command};return await this.expireRedDbEntry({handle:n.handle,key:vr(n.handle),bytes:qf(n),raw_bytes:n.original_bytes,command:n.command,created_at:n.created_at,expires_at:n.expires_at,storage_class:Ko(n),blob_key:n.blob_key},n.expires_at),o}let s=await this.readOriginal(n);return!s&&(n.derivation_recipe||n.reexecution_recipe)?{status:"expired",expired_at:n.expires_at,command:n.command}:s?{collection:we,handle:n.handle,original:s,command:n.command,created_at:n.created_at,loss:n.loss,storage_class:Ko(n)}:null}async statsRedDb(){let t=await this.pruneRedDb(await this.readRedDbIndex());return{records:t.records.length,bytes:yn(t.records),oldest:t.records.reduce((r,n)=>r==null||n.created_at<r?n.created_at:r,null),budget:this.opts.byteBudget,storage_classes:Df(t.records)}}async recoveryHandlesRedDb(t){let r=await this.pruneRedDb(await this.readRedDbIndex());return $f(r.records,this.opts.now(),t)}async memory(t,r){if(!this.db)throw new Error("resident memory operations require the shared RedDB store");if(await this.ensureMemoryGraphStore(),t==="recall"){let n=AR(r);return await this.memoryRecallRedDb(n.query,n.limit)}if(t==="ingest"){let n=PR(r);return await this.memoryIngestRedDb(n)}throw new Error(`unsupported memory action: ${t}`)}async ensureMemoryGraphStore(){if(!this.db)throw new Error("rsp RedDB store is not open");await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_nodes"),await this.db.execute("CREATE GRAPH IF NOT EXISTS memory_edges")}async memoryIngestRedDb(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await IR(t.cwd,t.maxFiles??200,t.ignore??[]),n=0;for(let s of r){let i=(await G1(s,"utf8").catch(()=>"")).trim();if(!i)continue;let a=N1(s),c=I1("sha256").update("resident-memory-v1\0").update(s).update("\0").update(i).digest("hex");if(await this.db.kv("memory_kv").get(`resident-node-hash:${c}`)!=null)continue;let l=Date.now(),u={title:a,content:i,source:s,confidence:"EXTRACTED",hash:c,project:"default",scope:"project",importance:1,tier:"durable",provenance_tier:"oracle",created_at:l,updated_at:l,accessed_at:l,access_count:0,provenance:{source_kind:"system",writer:"rsp-resident",confidence:"EXTRACTED",evidence:[s],created_at:l,updated_at:l}},d=await this.db.query("INSERT INTO memory_nodes NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *",a,"concept",c,u),p=Number(d.rows[0]?.red_entity_id??d.rows[0]?.rid);Number.isFinite(p)&&await this.db.kv("memory_kv").put(`resident-node-hash:${c}`,p),n+=1}return{files:r.length,nodes:n,edges:0,docs:r.length,added:n,updated:0,skipped:r.length-n,stale:0,semantic:{enabled:!1,nodes:0,edges:0,token_cost:{input:0,output:0}},durationMs:0}}async memoryRecallRedDb(t,r){if(!this.db)throw new Error("rsp RedDB store is not open");let n=await this.db.query("SELECT * FROM memory_nodes"),s=t.toLowerCase().split(/\s+/).filter(Boolean),o=n.rows.map(i=>LR(i,s)).filter(i=>i!=null).sort((i,a)=>a.score-i.score).slice(0,Math.max(1,Math.min(100,r)));return{hits:o,context_md:o.map(i=>`- memory_nodes:${i.rid} ${i.label}: ${i.excerpt}`).join(`
107
+ `),diagnostics:{vector:{status:"unavailable",candidates:0,contributed:0,reason:"resident-basic-recall"}}}}async readRedDbIndex(){let t=await this.kvGet(Pc());return Hf(t)?t:{version:1,records:[]}}async writeRedDbIndex(t){await this.kv().put(Pc(),t)}async pruneRedDb(t,r=!1){let n=this.opts.now().getTime(),s=new Date(n).toISOString(),o=[];for(let c of t.records)Date.parse(c.expires_at)<=n?await this.expireRedDbEntry(c,c.expires_at):o.push(c);let i=yn(o);for(o.sort((c,l)=>c.created_at.localeCompare(l.created_at));i>this.opts.byteBudget&&o.length>0;){let c=o.shift();await this.expireRedDbEntry(c,s),i=yn(o)}let a={version:1,records:o};return(r||o.length<t.records.length)&&await this.writeRedDbIndex(a),await this.deleteUnreferencedRedDbBlobs(o),await this.rotateRedDbGenerationIfOversized(a),a}async rotateRedDbGenerationIfOversized(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await dm(this.path).then(l=>l.size,()=>0);if(r<=this.opts.byteBudget)return;let n=await this.snapshotRedDbKvCollections(t);if(!n)return;let s=`${process.pid}.${Date.now()}`,o=`${this.path}.${s}.compact`,i=`${this.path}.${s}.old`;await ni(o,{force:!0}),await ni(i,{force:!0});let a=await Uc(`file://${o}`);try{for(let l of n){await a.query(`CREATE KV IF NOT EXISTS ${RR(l.name)}`);let u=a.kv(l.name);for(let d of l.items)await u.put(d.key,d.value)}}finally{await a.close()}let c=await dm(o).then(l=>l.size,()=>0);if(c===0||c>this.opts.byteBudget||c>=r){await ni(o,{force:!0});return}await this.db.close(),this.db=void 0;try{await um(this.path,i),await um(o,this.path),await ni(i,{force:!0})}catch(l){throw!ov(this.path)&&ov(i)&&await um(i,this.path),await ni(o,{force:!0}),l}finally{this.db=await Uc(`file://${this.path}`)}}async snapshotRedDbKvCollections(t){if(!this.db)throw new Error("rsp RedDB store is not open");let r=await this.db.list();if(r.some(o=>o.model!=="kv"))return null;let n=[],s=!1;for(let o of r){let i=String(o.name??"").trim();if(i===we){n.push(await this.snapshotRedDbElisions(t)),s=!0;continue}let a=await this.db.kv(i).list({limit:1e4});if(a.items.length>=1e4)return null;n.push({name:i,items:a.items})}return s||n.push(await this.snapshotRedDbElisions(t)),n}async snapshotRedDbElisions(t){let r=[{key:Pc(),value:t}],n=new Set;for(let s of t.records)n.add(s.key),s.blob_key&&n.add(s.blob_key);for(let s of n){let o=await this.kvGet(s);o!=null&&r.push({key:s,value:o})}return{name:we,items:r}}async expireRedDbEntry(t,r){await this.kv().delete(t.key),await this.kv().put(hn(t.handle),{status:"expired",expired_at:r,command:t.command})}async deleteUnreferencedRedDbBlobs(t){let r=new Set(t.map(s=>s.blob_key).filter(s=>typeof s=="string")),n=await this.kv().list({limit:1e4}).catch(()=>({items:[]}));for(let s of n.items)s.key.startsWith("blob:")&&!r.has(s.key)&&await this.kv().delete(s.key)}async assertRedDbMintPersisted(t,r){let n=await this.kvGet(vr(t));if(!Yo(n))throw new Error(`rsp resident failed to persist elision record ${t}`);let o=(await this.readRedDbIndex()).records.find(i=>i.handle===t);if(!o||o.bytes!==r)throw new Error(`rsp resident failed to persist elision index ${t}`)}}});var cv={};ne(cv,{DEFAULT_RSP_BYTE_BUDGET:()=>bt,DEFAULT_RSP_EPHEMERAL_TTL_HOURS:()=>yt,DEFAULT_RSP_TTL_DAYS:()=>ht,RSP_ELISION_COLLECTION:()=>we,RspElisionStore:()=>bn,contentHandle:()=>Vo,ensureReddbBinaryFromWarmCache:()=>$c,provisionElisionStore:()=>iv,storageClassForCommand:()=>ir});var Hc=E(()=>{"use strict";Oc();Fc();Fc();av()});async function Wc(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:30,s=r.getTime()-n*24*60*60*1e3,o=await dv(e,s),i=(await si(e,Ue)).filter(G=>ks(G)>=s),a=o.filter(G=>H(G.event_type)!=="show"&&H(G.degradation_reason)===""),c=o.filter(G=>H(G.event_type)==="show"),l=o.filter(G=>H(G.degradation_reason)!==""),u=0,d=0,p=0,f=0,m=!1,h=new Map,w=new Map,b=[],y=0,_=0,k=0;for(let G of a){G.elided===!0&&u++;let U=at(G.raw_bytes),Ge=at(G.emitted_bytes),le=Math.max(0,U-Ge),xt=Ss(G,"raw"),L=Ss(G,"emitted"),q=Math.max(0,xt.tokens-L.tokens);m||=(G.estimated===!0||xt.estimated||L.estimated)&&q>0,d+=U,p+=Ge,f+=q;let qt=wn(G).slice(0,10);qt&&h.set(qt,(h.get(qt)??0)+q);let Ot=H(G.command)||"unknown",Ne=w.get(Ot)??{command:Ot,invocations:0,bytes_saved:0,tokens_saved:0};Ne.invocations++,Ne.bytes_saved+=le,Ne.tokens_saved+=q,w.set(Ot,Ne);let De=Sr(G.wrapper_ms);De!=null&&b.push(De),y+=at(G.store_open_count);let Ut=Sr(G.store_elapsed_ms);Ut!=null&&(_+=Ut,k++)}let v=new Map,x=new Map,A=[],C=null;for(let G of l){let U=H(G.degradation_reason)||H(G.reason)||"unknown",Ge=H(G.wrapper_family)||ct(H(G.command));v.set(U,(v.get(U)??0)+1),x.set(Ge,(x.get(Ge)??0)+1);let le=wn(G);A.push({timestamp:le,family:Ge,command:H(G.command)||"unknown",reason:U,exit_code:Sr(G.wrapper_exit_code),stderr_head:H(G.stderr_head)||null}),(!C||le>C.timestamp)&&(C={timestamp:le,reason:U,command:H(G.command)||"unknown"})}let D=a.length+l.length,V=c.filter(G=>G.hit===!0).length,Y=Bd(f,m),Q=$1(i);return{window_days:n,empty:o.length===0,savings:{invocations:a.length,elided:u,raw_bytes:d,emitted_bytes:p,bytes_saved:Math.max(0,d-p),tokens_saved:f,tokens_saved_estimated:Y.tokens_saved_estimated,token_estimate_range_pct:Y.token_estimate_range_pct,tokens_saved_low:Y.tokens_saved_low,tokens_saved_high:Y.tokens_saved_high,dollars_saved_estimate_usd:Y.dollars_saved_estimate_usd,dollars_saved_low_usd:Y.dollars_saved_low_usd,dollars_saved_high_usd:Y.dollars_saved_high_usd,pricing_model_family:Y.pricing_model_family,pricing_input_usd_per_million_tokens:Y.pricing_input_usd_per_million_tokens,pricing_note:Y.pricing_note,daily_tokens_saved:[...h.entries()].sort(([G],[U])=>G.localeCompare(U)).map(([G,U])=>({date:G,tokens_saved:U})),top_commands:[...w.values()].sort((G,U)=>U.bytes_saved-G.bytes_saved||U.tokens_saved-G.tokens_saved||G.command.localeCompare(U.command))},health:{degradations:l.length,degradation_rate:D===0?0:l.length/D,show_total:c.length,show_hits:V,show_misses:Math.max(0,c.length-V),show_hit_rate:c.length===0?0:Oe(V/c.length),by_reason:[...v.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({reason:G,count:U})),by_family:[...x.entries()].sort((G,U)=>U[1]-G[1]||G[0].localeCompare(U[0])).map(([G,U])=>({family:G,count:U})),recent_failures:A.sort((G,U)=>U.timestamp.localeCompare(G.timestamp)).slice(0,20),most_recent:C},latency:{wrapper_ms_p50:Es(b,.5),wrapper_ms_p95:Es(b,.95),store_open_count_sum:y,store_elapsed_ms_sum:Oe(_),store_elapsed_ms_avg:k===0?null:Oe(_/k)},decisions:Q}}function $1(e){let t=0,r=0,n=0,s=0,o=new Map,i=new Map;for(let a of e){let c=H(a.decision);if(c==="contributed"?t++:c==="failed-open"?n++:r++,a.quota_free===!0&&(s+=Math.max(1,at(a.saved_units))),c!=="contributed"){let d=H(a.reason)||"unknown";o.set(d,(o.get(d)??0)+1)}let l=H(a.command_family)||"unknown",u=i.get(l)??{contributed:0,passed:0,failed_open:0};c==="contributed"?u.contributed++:c==="failed-open"?u.failed_open++:u.passed++,i.set(l,u)}return{seen:e.length,contributed:t,passed:r,failed_open:n,quota_free_saved_units:s,contribution_rate:e.length===0?0:Oe(t/e.length),top_pass_reasons:[...o.entries()].sort((a,c)=>c[1]-a[1]||a[0].localeCompare(c[0])).map(([a,c])=>({reason:a,count:c})),by_command_family:[...i.entries()].sort((a,c)=>{let l=a[1].contributed+a[1].passed+a[1].failed_open;return c[1].contributed+c[1].passed+c[1].failed_open-l||a[0].localeCompare(c[0])}).map(([a,c])=>{let l=c.contributed+c.passed+c.failed_open;return{command_family:a,contributed:c.contributed,passed:c.passed,failed_open:c.failed_open,contribution_rate:l===0?0:Oe(c.contributed/l)}})}}async function pm(e,t,r=new Date){let s=(await si(e,qe)).filter(o=>ks(o)<=r.getTime()||wn(o)==="");return{records:s.length,bytes:s.reduce((o,i)=>o+Buffer.byteLength(JSON.stringify(i),"utf8"),0),oldest:s.reduce((o,i)=>{let a=wn(i);return a&&(o==null||a<o)?a:o},null),budget:t,storage_classes:J1(s)}}async function fm(e,t,r=new Date){let n=Number.isFinite(t)&&t>0?t:28,s=r.toISOString(),o=new Date(r.getTime()-n*24*60*60*1e3).toISOString(),i=Date.parse(o),a=await dv(e,i),c=a.filter(L=>H(L.event_type)!=="show"&&H(L.event_type)!=="control_holdout"&&L.control_holdout!==!0&&H(L.degradation_reason)===""),l=a.filter(L=>H(L.event_type)==="control_holdout"||L.control_holdout===!0),u=a.filter(L=>H(L.event_type)==="show"),d=a.filter(L=>H(L.degradation_reason)!==""),p=[...c,...d].map(ks).filter(L=>Number.isFinite(L)&&L>0),f=p.length===0?null:Math.min(...p),m=f==null?0:Math.max(1,Math.min(n,Math.ceil((r.getTime()-f)/tB()))),h=[],w=new Map,b=new Map,y=new Map,_=new Map,k=new Map,v=new Map,x=0,A=!1,C=0,D=null,V=0,Y=0;for(let L of c){let q=wn(L),qt=q.slice(0,10),Ot=q.slice(0,16),Ne=ct(H(L.command)),De=Math.max(0,Ss(L,"raw").tokens-Ss(L,"emitted").tokens);x+=De,A||=L.estimated===!0&&De>0;let Ut=Math.max(0,at(L.raw_bytes)-at(L.emitted_bytes)),Gn=Sr(L.wrapper_ms);if(Gn!=null){h.push(Gn);let Ws=w.get(Ne)??[];Ws.push(Gn),w.set(Ne,Ws)}qt&&b.set(qt,(b.get(qt)??0)+1),Ot&&y.set(Ot,(y.get(Ot)??0)+1);let ur=Y1(q);ur&&_.set(ur,(_.get(ur)??0)+1);let Hs=Z1(q);Hs&&k.set(Hs,(k.get(Hs)??0)+De);let Jr=v.get(Ne)??{command_family:Ne,invocations:0,tokens_saved:0,bytes_saved:0};Jr.invocations++,Jr.tokens_saved+=De,Jr.bytes_saved+=Ut,v.set(Ne,Jr),L.elided===!0&&C++,(L.store_open_count!=null||L.store_elapsed_ms!=null)&&(V++,at(L.store_open_count)>0&&Y++),De>0&&(!D||De>D.tokens_saved||De===D.tokens_saved&&Ut>D.bytes_saved)&&(D={timestamp:q,command_family:Ne,tokens_saved:De,bytes_saved:Ut})}let Q=d.map(L=>({timestamp:wn(L),command_family:ct(H(L.command)),reason:H(L.degradation_reason)||H(L.reason)||"unknown"})).sort((L,q)=>L.timestamp.localeCompare(q.timestamp)),G=new Map;for(let L of Q)G.set(L.reason,(G.get(L.reason)??0)+1);let U=j1(Q),Ge=B1(u),le=U1([...v.values()],Ge,U),xt=[...y.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[0]))[0];return{schema_version:"red.rsp.gains.v1",window:{requested_days:n,data_days:m,since:o,until:s,label:`window: ${n}d, data: ${m}d`,empty:c.length===0&&d.length===0,invocations:c.length,degradations:d.length},latency:{global:uv(h),by_command_family:[...w.entries()].sort((L,q)=>q[1].length-L[1].length||L[0].localeCompare(q[0])).map(([L,q])=>({command_family:L,count:q.length,...uv(q)}))},throughput:{requests_per_day:[...b.entries()].sort(([L],[q])=>L.localeCompare(q)).map(([L,q])=>({date:L,requests:q})),active_minute_avg:y.size===0?null:Oe([...y.values()].reduce((L,q)=>L+q,0)/y.size),peak_minute:xt?{minute:xt[0],requests:xt[1]}:null,hour_weekday_heatmap:Q1(_)},savings:{tokens:Bd(x,A),measured_control_holdout:F1(c,l),weekly_tokens_saved:eB(k),elision_rate:c.length===0?0:Oe(C/c.length),top_commands_by_tokens_saved:[...v.values()].sort((L,q)=>q.tokens_saved-L.tokens_saved||q.bytes_saved-L.bytes_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),top_commands_by_invocation_count:[...v.values()].sort((L,q)=>q.invocations-L.invocations||q.tokens_saved-L.tokens_saved||L.command_family.localeCompare(q.command_family)).slice(0,10),single_biggest_elision:D},health:{degradation_timeline:Q,degradations_by_reason:[...G.entries()].sort((L,q)=>q[1]-L[1]||L[0].localeCompare(q[0])).map(([L,q])=>({reason:L,count:q})),cold_boots:V===0?null:Y,warm_hits:V===0?null:Math.max(0,V-Y)},mining:{recovery_usage_by_family:Ge,degradation_clusters:U,threshold_tuning_suggestions:le}}}async function dv(e,t){let r=(await si(e,qe)).filter(i=>ks(i)>=t),n=r.some(i=>H(i.event_type)!=="show"||H(i.degradation_reason)!==""),s=(await si(e,it)).filter(i=>ks(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:H(i.event_type)||"invocation"})),o=(await si(e,Et)).filter(i=>ks(i)>=t).filter(i=>!n&&i.accounting_recorded!==!0).map(i=>({...i,event_type:"invocation",degradation_reason:H(i.reason)||"unknown"}));return[...r,...s,...o]}function Ss(e,t){let r=Sr(e[t==="raw"?"tokens_raw":"tokens_emitted"]);if(r!=null)return{tokens:r,estimated:!1};let n=at(e[t==="raw"?"raw_bytes":"emitted_bytes"]);return{tokens:Math.ceil(n/4),estimated:n>0}}function F1(e,t){let r=W1(t.map(a=>Sr(a.holdout_share)))??0;if(t.length===0)return{enabled:!1,holdout_share:r,holdout_invocations:0,compressed_invocations:e.length,savings_rate:null,confidence_interval_95:null,note:"control holdout disabled or no holdout samples in window"};let n=e.map(lv).filter(a=>a!=null),s=t.map(lv).filter(a=>a!=null),o=n.length>0?n:s,i=o.length===0?null:Oe(H1(o));return{enabled:!0,holdout_share:Oe(r),holdout_invocations:t.length,compressed_invocations:e.length,savings_rate:i,confidence_interval_95:i==null?null:M1(o,i),note:"measured from opt-in uncompressed control holdout; report proposes, it does not tune automatically"}}function lv(e){let t=Ss(e,"raw").tokens;if(t<=0)return null;let r=Ss(e,"emitted").tokens;return Math.max(0,t-r)/t}function M1(e,t){if(e.length<=1)return{low:Oe(Math.max(0,t)),high:Oe(Math.min(1,t))};let r=e.reduce((s,o)=>s+(o-t)**2,0)/(e.length-1),n=1.96*Math.sqrt(r/e.length);return{low:Oe(Math.max(0,t-n)),high:Oe(Math.min(1,t+n))}}function B1(e){let t=new Map;for(let r of e){let n=ct(H(r.recovered_command)||H(r.command)),s=t.get(n)??{command_family:n,show_total:0,show_hits:0,show_misses:0};s.show_total++,r.hit===!0?s.show_hits++:s.show_misses++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.show_total-r.show_total||r.command_family.localeCompare(n.command_family)).map(r=>({...r,show_hit_rate:r.show_total===0?0:Oe(r.show_hits/r.show_total)}))}function j1(e){let t=new Map;for(let r of e){let n=`${r.command_family}\0${r.reason}`,s=t.get(n)??{command_family:r.command_family,reason:r.reason,count:0};s.count++,t.set(n,s)}return[...t.values()].sort((r,n)=>n.count-r.count||r.command_family.localeCompare(n.command_family)||r.reason.localeCompare(n.reason)).map(r=>({...r,suggestion:q1(r)}))}function q1(e){return/unavailable|not provisioned|missing/i.test(e.reason)?`Investigate ${e.command_family} wrapper availability before changing thresholds`:/timeout|large|limit/i.test(e.reason)?`Review ${e.command_family} byte thresholds and timeout caps for ${e.count} matching degradations`:`Investigate ${e.command_family} ${e.reason} cluster before tuning compression thresholds`}function U1(e,t,r){let n=[];for(let s of t.filter(o=>o.show_total>0))n.push({command_family:s.command_family,signal:`recovery_show_rate=${s.show_total}`,suggestion:s.show_hit_rate>=.5?"Consider preserving more context or raising terse thresholds for frequently recovered outputs":"Recovery misses dominate; inspect handle lifetime before threshold changes"});for(let s of r.filter(o=>o.count>1))n.push({command_family:s.command_family,signal:`degradation_cluster=${s.reason}:${s.count}`,suggestion:"Fix the repeated degradation before tightening compression"});for(let s of e.filter(o=>o.invocations>0&&o.tokens_saved===0))n.push({command_family:s.command_family,signal:"zero_token_savings",suggestion:"Consider bypassing or raising admission thresholds for this family"});return n.slice(0,10)}function H1(e){return e.reduce((t,r)=>t+r,0)/e.length}function W1(e){let t=e.filter(r=>r!=null);return t.length===0?null:Math.max(...t)}function J1(e){let t=K1();for(let r of e){if(H(r.event_type)==="show"||H(r.degradation_reason)!==""||r.elided!==!0)continue;let n=V1(r.storage_class)??ir(H(r.command));t[n].records+=1;let s=at(r.raw_bytes);t[n].bytes+=s,t[n].raw_bytes+=s}return t}function V1(e){return e==="derivable"||e==="re-executable"||e==="ephemeral"?e:null}function K1(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}async function si(e,t){return(await e.kv(t).list({limit:1e4}).catch(n=>{if(n instanceof Error&&/\bnot found\b/i.test(n.message))return{items:[]};throw n})).items.map(n=>z1(n.value)).filter(n=>ms(n))}function z1(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function ks(e){let t=Date.parse(wn(e));return Number.isFinite(t)?t:0}function wn(e){return H(e.created_at)||H(e.ts)||""}function H(e){return typeof e=="string"?e:""}function Es(e,t){if(e.length===0)return null;let r=[...e].sort((s,o)=>s-o),n=Math.min(r.length-1,Math.max(0,Math.ceil(r.length*t)-1));return Oe(r[n])}function uv(e){return{wrapper_ms_p50:Es(e,.5),wrapper_ms_p90:Es(e,.9),wrapper_ms_p95:Es(e,.95),wrapper_ms_p99:Es(e,.99)}}function Oe(e){return Math.round(e*100)/100}function Y1(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${X1(t.getUTCDay())}:${t.getUTCHours()}`:null}function Q1(e){let t=[];for(let r of["sun","mon","tue","wed","thu","fri","sat"])for(let n=0;n<24;n++){let s=e.get(`${r}:${n}`)??0;s>0&&t.push({weekday:r,hour:n,requests:s})}return t}function X1(e){return["sun","mon","tue","wed","thu","fri","sat"][e]??"unknown"}function Z1(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return null;let r=t.getUTCDay(),n=r===0?-6:1-r;return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+n)).toISOString().slice(0,10)}function eB(e){let t=null;return[...e.entries()].sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>{let s=t==null||t===0?null:Oe((n-t)/t*100);return t=n,{week_start:r,tokens_saved:n,wow_delta_pct:s}})}function tB(){return 24*60*60*1e3}var pv=E(()=>{"use strict";Uo();Hc();jd();Rc();vf()});var oi={};ne(oi,{RSP_ACCOUNTING_EVENTS_COLLECTION:()=>qe,RSP_DECISIONS_COLLECTION:()=>Ue,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:()=>Et,RSP_TELEMETRY_INDEX_COLLECTION:()=>Fo,RSP_TELEMETRY_INVOCATIONS_COLLECTION:()=>it,RSP_TELEMETRY_LEGACY_SPOOL_FILE:()=>Sf,RSP_TELEMETRY_SPOOL_CORRECTIONS_FILE:()=>Rf,RSP_TELEMETRY_SPOOL_FILE:()=>kf,appendTelemetryEvent:()=>fn,appendTelemetryEventSync:()=>Rr,drainTelemetrySpool:()=>Pf,parseTelemetryEvent:()=>hs,readAccountingLaneStats:()=>pm,readTelemetryGainsReport:()=>fm,readTelemetryStats:()=>Wc,takeTelemetrySpool:()=>sM,telemetryLegacySpoolPath:()=>Cf,telemetrySpoolCorrectionsPath:()=>Af,telemetrySpoolPath:()=>or});var Gt=E(()=>{"use strict";Rc();kR();pv()});import{isUtf8 as rB}from"node:buffer";async function fv(e,t=r=>r){let r=[],n=[];return e.stdout?.on("data",s=>r.push(Buffer.from(s))),e.stderr?.on("data",s=>n.push(Buffer.from(s))),await new Promise(s=>{let o=!1,i=async(a,c)=>{if(o)return;o=!0;let l=Buffer.concat(r),u=l;if(l.length>0&&rB(l))try{u=await t(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(n)),c){process.kill(process.pid,c),s(128);return}s(a??0)};e.once("error",a=>{n.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
108
+ `)),i(127,null)}),e.once("close",(a,c)=>void i(a,c))})}var mv=E(()=>{"use strict"});var W=I(_e=>{"use strict";var mm=Symbol.for("yaml.alias"),gv=Symbol.for("yaml.document"),Jc=Symbol.for("yaml.map"),hv=Symbol.for("yaml.pair"),gm=Symbol.for("yaml.scalar"),Vc=Symbol.for("yaml.seq"),cr=Symbol.for("yaml.node.type"),nB=e=>!!e&&typeof e=="object"&&e[cr]===mm,sB=e=>!!e&&typeof e=="object"&&e[cr]===gv,oB=e=>!!e&&typeof e=="object"&&e[cr]===Jc,iB=e=>!!e&&typeof e=="object"&&e[cr]===hv,yv=e=>!!e&&typeof e=="object"&&e[cr]===gm,aB=e=>!!e&&typeof e=="object"&&e[cr]===Vc;function bv(e){if(e&&typeof e=="object")switch(e[cr]){case Jc:case Vc:return!0}return!1}function cB(e){if(e&&typeof e=="object")switch(e[cr]){case mm:case Jc:case gm:case Vc:return!0}return!1}var lB=e=>(yv(e)||bv(e))&&!!e.anchor;_e.ALIAS=mm;_e.DOC=gv;_e.MAP=Jc;_e.NODE_TYPE=cr;_e.PAIR=hv;_e.SCALAR=gm;_e.SEQ=Vc;_e.hasAnchor=lB;_e.isAlias=nB;_e.isCollection=bv;_e.isDocument=sB;_e.isMap=oB;_e.isNode=cB;_e.isPair=iB;_e.isScalar=yv;_e.isSeq=aB});var ii=I(hm=>{"use strict";var pe=W(),He=Symbol("break visit"),wv=Symbol("skip children"),Nt=Symbol("remove node");function Kc(e,t){let r=_v(t);pe.isDocument(e)?Rs(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):Rs(null,e,r,Object.freeze([]))}Kc.BREAK=He;Kc.SKIP=wv;Kc.REMOVE=Nt;function Rs(e,t,r,n){let s=Ev(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return kv(e,n,s),Rs(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=Rs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===He)return He;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=Rs("key",t.key,r,n);if(o===He)return He;o===Nt&&(t.key=null);let i=Rs("value",t.value,r,n);if(i===He)return He;i===Nt&&(t.value=null)}}return s}async function zc(e,t){let r=_v(t);pe.isDocument(e)?await vs(null,e.contents,r,Object.freeze([e]))===Nt&&(e.contents=null):await vs(null,e,r,Object.freeze([]))}zc.BREAK=He;zc.SKIP=wv;zc.REMOVE=Nt;async function vs(e,t,r,n){let s=await Ev(e,t,r,n);if(pe.isNode(s)||pe.isPair(s))return kv(e,n,s),vs(e,s,r,n);if(typeof s!="symbol"){if(pe.isCollection(t)){n=Object.freeze(n.concat(t));for(let o=0;o<t.items.length;++o){let i=await vs(o,t.items[o],r,n);if(typeof i=="number")o=i-1;else{if(i===He)return He;i===Nt&&(t.items.splice(o,1),o-=1)}}}else if(pe.isPair(t)){n=Object.freeze(n.concat(t));let o=await vs("key",t.key,r,n);if(o===He)return He;o===Nt&&(t.key=null);let i=await vs("value",t.value,r,n);if(i===He)return He;i===Nt&&(t.value=null)}}return s}function _v(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function Ev(e,t,r,n){if(typeof r=="function")return r(e,t,n);if(pe.isMap(t))return r.Map?.(e,t,n);if(pe.isSeq(t))return r.Seq?.(e,t,n);if(pe.isPair(t))return r.Pair?.(e,t,n);if(pe.isScalar(t))return r.Scalar?.(e,t,n);if(pe.isAlias(t))return r.Alias?.(e,t,n)}function kv(e,t,r){let n=t[t.length-1];if(pe.isCollection(n))n.items[e]=r;else if(pe.isPair(n))e==="key"?n.key=r:n.value=r;else if(pe.isDocument(n))n.contents=r;else{let s=pe.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}hm.visit=Kc;hm.visitAsync=zc});var ym=I(Rv=>{"use strict";var Sv=W(),uB=ii(),dB={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},pB=e=>e.replace(/[!,[\]{}]/g,t=>dB[t]),ai=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[o,i]=n;return this.tags[o]=i,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[o]=n;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;{let i=/^\d+\.\d+$/.test(o);return r(6,`Unsupported YAML version ${o}`,i),!1}}default:return r(0,`Unknown directive ${s}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let i=t.slice(2,-1);return i==="!"||i==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),i)}let[,n,s]=t.match(/^(.*!)([^!]*)$/s);s||r(`The ${t} tag has no suffix`);let o=this.tags[n];if(o)try{return o+decodeURIComponent(s)}catch(i){return r(String(i)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+pB(t.substring(n.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),s;if(t&&n.length>0&&Sv.isNode(t.contents)){let o={};uB.visit(t.contents,(i,a)=>{Sv.isNode(a)&&a.tag&&(o[a.tag]=!0)}),s=Object.keys(o)}else s=[];for(let[o,i]of n)o==="!!"&&i==="tag:yaml.org,2002:"||(!t||s.some(a=>a.startsWith(i)))&&r.push(`%TAG ${o} ${i}`);return r.join(`
109
+ `)}};ai.defaultYaml={explicit:!1,version:"1.2"};ai.defaultTags={"!!":"tag:yaml.org,2002:"};Rv.Directives=ai});var Yc=I(ci=>{"use strict";var vv=W(),fB=ii();function mB(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(r)}return!0}function Tv(e){let t=new Set;return fB.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function xv(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function gB(e,t){let r=[],n=new Map,s=null;return{onAnchor:o=>{r.push(o),s??(s=Tv(e));let i=xv(t,s);return s.add(i),i},setAnchors:()=>{for(let o of r){let i=n.get(o);if(typeof i=="object"&&i.anchor&&(vv.isScalar(i.node)||vv.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=o,a}}},sourceObjects:n}}ci.anchorIsValid=mB;ci.anchorNames=Tv;ci.createNodeAnchors=gB;ci.findNewAnchor=xv});var bm=I(Ov=>{"use strict";function li(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,o=n.length;s<o;++s){let i=n[s],a=li(e,n,String(s),i);a===void 0?delete n[s]:a!==i&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let o=n.get(s),i=li(e,n,s,o);i===void 0?n.delete(s):i!==o&&n.set(s,i)}else if(n instanceof Set)for(let s of Array.from(n)){let o=li(e,n,s,s);o===void 0?n.delete(s):o!==s&&(n.delete(s),n.add(o))}else for(let[s,o]of Object.entries(n)){let i=li(e,n,s,o);i===void 0?delete n[s]:i!==o&&(n[s]=i)}return e.call(t,r,n)}Ov.applyReviver=li});var Or=I(Av=>{"use strict";var hB=W();function Cv(e,t,r){if(Array.isArray(e))return e.map((n,s)=>Cv(n,String(s),r));if(e&&typeof e.toJSON=="function"){if(!r||!hB.hasAnchor(e))return e.toJSON(t,r);let n={aliasCount:0,count:1,res:void 0};r.anchors.set(e,n),r.onCreate=o=>{n.res=o,delete r.onCreate};let s=e.toJSON(t,r);return r.onCreate&&r.onCreate(s),s}return typeof e=="bigint"&&!r?.keep?Number(e):e}Av.toJS=Cv});var Qc=I(Iv=>{"use strict";var yB=bm(),Pv=W(),bB=Or(),wm=class{constructor(t){Object.defineProperty(this,Pv.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:r,maxAliasCount:n,onAnchor:s,reviver:o}={}){if(!Pv.isDocument(t))throw new TypeError("A document argument is required");let i={anchors:new Map,doc:t,keep:!0,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=bB.toJS(this,"",i);if(typeof s=="function")for(let{count:c,res:l}of i.anchors.values())s(l,c);return typeof o=="function"?yB.applyReviver(o,{"":a},"",a):a}};Iv.NodeBase=wm});var ui=I(Lv=>{"use strict";var wB=Yc(),_B=ii(),Ts=W(),EB=Qc(),kB=Or(),_m=class extends EB.NodeBase{constructor(t){super(Ts.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,r){if(r?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;r?.aliasResolveCache?n=r.aliasResolveCache:(n=[],_B.visit(t,{Node:(o,i)=>{(Ts.isAlias(i)||Ts.hasAnchor(i))&&n.push(i)}}),r&&(r.aliasResolveCache=n));let s;for(let o of n){if(o===this)break;o.anchor===this.source&&(s=o)}return s}toJSON(t,r){if(!r)return{source:this.source};let{anchors:n,doc:s,maxAliasCount:o}=r,i=this.resolve(s,r);if(!i){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=n.get(i);if(a||(kB.toJS(i,null,r),a=n.get(i)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(o>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Xc(s,i,n)),a.count*a.aliasCount>o)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(t,r,n){let s=`*${this.source}`;if(t){if(wB.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(o)}if(t.implicitKey)return`${s} `}return s}};function Xc(e,t,r){if(Ts.isAlias(t)){let n=t.resolve(e),s=r&&n&&r.get(n);return s?s.count*s.aliasCount:0}else if(Ts.isCollection(t)){let n=0;for(let s of t.items){let o=Xc(e,s,r);o>n&&(n=o)}return n}else if(Ts.isPair(t)){let n=Xc(e,t.key,r),s=Xc(e,t.value,r);return Math.max(n,s)}return 1}Lv.Alias=_m});var ce=I(Em=>{"use strict";var SB=W(),RB=Qc(),vB=Or(),TB=e=>!e||typeof e!="function"&&typeof e!="object",Cr=class extends RB.NodeBase{constructor(t){super(SB.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:vB.toJS(this.value,t,r)}toString(){return String(this.value)}};Cr.BLOCK_FOLDED="BLOCK_FOLDED";Cr.BLOCK_LITERAL="BLOCK_LITERAL";Cr.PLAIN="PLAIN";Cr.QUOTE_DOUBLE="QUOTE_DOUBLE";Cr.QUOTE_SINGLE="QUOTE_SINGLE";Em.Scalar=Cr;Em.isScalarValue=TB});var di=I(Nv=>{"use strict";var xB=ui(),_n=W(),Gv=ce(),OB="tag:yaml.org,2002:";function CB(e,t,r){if(t){let n=r.filter(o=>o.tag===t),s=n.find(o=>!o.format)??n[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return r.find(n=>n.identify?.(e)&&!n.format)}function AB(e,t,r){if(_n.isDocument(e)&&(e=e.contents),_n.isNode(e))return e;if(_n.isPair(e)){let d=r.schema[_n.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:o,schema:i,sourceObjects:a}=r,c;if(n&&e&&typeof e=="object"){if(c=a.get(e),c)return c.anchor??(c.anchor=s(e)),new xB.Alias(c.anchor);c={anchor:null,node:null},a.set(e,c)}t?.startsWith("!!")&&(t=OB+t.slice(2));let l=CB(e,t,i.tags);if(!l){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let d=new Gv.Scalar(e);return c&&(c.node=d),d}l=e instanceof Map?i[_n.MAP]:Symbol.iterator in Object(e)?i[_n.SEQ]:i[_n.MAP]}o&&(o(l),delete r.onTagObj);let u=l?.createNode?l.createNode(r.schema,e,r):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(r.schema,e,r):new Gv.Scalar(e);return t?u.tag=t:l.default||(u.tag=l.tag),c&&(c.node=u),u}Nv.createNode=AB});var el=I(Zc=>{"use strict";var PB=di(),Dt=W(),IB=Qc();function km(e,t,r){let n=r;for(let s=t.length-1;s>=0;--s){let o=t[s];if(typeof o=="number"&&Number.isInteger(o)&&o>=0){let i=[];i[o]=n,n=i}else n=new Map([[o,n]])}return PB.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var Dv=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,Sm=class extends IB.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Dt.isNode(n)||Dt.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(Dv(t))this.add(r);else{let[n,...s]=t,o=this.get(n,!0);if(Dt.isCollection(o))o.addIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let s=this.get(r,!0);if(Dt.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...s]=t,o=this.get(n,!0);return s.length===0?!r&&Dt.isScalar(o)?o.value:o:Dt.isCollection(o)?o.getIn(s,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Dt.isPair(r))return!1;let n=r.value;return n==null||t&&Dt.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let s=this.get(r,!0);return Dt.isCollection(s)?s.hasIn(n):!1}setIn(t,r){let[n,...s]=t;if(s.length===0)this.set(n,r);else{let o=this.get(n,!0);if(Dt.isCollection(o))o.setIn(s,r);else if(o===void 0&&this.schema)this.set(n,km(this.schema,s,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};Zc.Collection=Sm;Zc.collectionFromPath=km;Zc.isEmptyPath=Dv});var pi=I(tl=>{"use strict";var LB=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Rm(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var GB=(e,t,r)=>e.endsWith(`
110
110
  `)?Rm(r,t):r.includes(`
111
111
  `)?`
112
- `+Rm(r,t):(e.endsWith(" ")?"":" ")+r;tl.indentComment=Rm;tl.lineComment=IB;tl.stringifyComment=PB});var Gv=I(mi=>{"use strict";var LB="flow",vm="block",rl="quoted";function GB(e,t,r="flow",{indentAtStart:n,lineWidth:s=80,minContentWidth:o=20,onFold:i,onOverflow:a}={}){if(!s||s<0)return e;s<o&&(o=0);let c=Math.max(1+o,1+s-t.length);if(e.length<=c)return e;let l=[],u={},d=s-t.length;typeof n=="number"&&(n>s-Math.max(2,o)?l.push(0):d=s-n);let p,f,m=!1,h=-1,w=-1,b=-1;r===vm&&(h=Lv(e,h,t.length),h!==-1&&(d=h+c));for(let _;_=e[h+=1];){if(r===rl&&_==="\\"){switch(w=h,e[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}b=h}if(_===`
113
- `)r===vm&&(h=Lv(e,h,t.length)),d=h+t.length+c,p=void 0;else{if(_===" "&&f&&f!==" "&&f!==`
112
+ `+Rm(r,t):(e.endsWith(" ")?"":" ")+r;tl.indentComment=Rm;tl.lineComment=GB;tl.stringifyComment=LB});var Fv=I(fi=>{"use strict";var NB="flow",vm="block",rl="quoted";function DB(e,t,r="flow",{indentAtStart:n,lineWidth:s=80,minContentWidth:o=20,onFold:i,onOverflow:a}={}){if(!s||s<0)return e;s<o&&(o=0);let c=Math.max(1+o,1+s-t.length);if(e.length<=c)return e;let l=[],u={},d=s-t.length;typeof n=="number"&&(n>s-Math.max(2,o)?l.push(0):d=s-n);let p,f,m=!1,h=-1,w=-1,b=-1;r===vm&&(h=$v(e,h,t.length),h!==-1&&(d=h+c));for(let _;_=e[h+=1];){if(r===rl&&_==="\\"){switch(w=h,e[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}b=h}if(_===`
113
+ `)r===vm&&(h=$v(e,h,t.length)),d=h+t.length+c,p=void 0;else{if(_===" "&&f&&f!==" "&&f!==`
114
114
  `&&f!==" "){let k=e[h+1];k&&k!==" "&&k!==`
115
115
  `&&k!==" "&&(p=h)}if(h>=d)if(p)l.push(p),d=p+c,p=void 0;else if(r===rl){for(;f===" "||f===" ";)f=_,_=e[h+=1],m=!0;let k=h>b+1?h-2:w-1;if(u[k])return e;l.push(k),u[k]=!0,d=k+c,p=void 0}else m=!0}f=_}if(m&&a&&a(),l.length===0)return e;i&&i();let y=e.slice(0,l[0]);for(let _=0;_<l.length;++_){let k=l[_],v=l[_+1]||e.length;k===0?y=`
116
116
  ${t}${e.slice(0,v)}`:(r===rl&&u[k]&&(y+=`${e[k]}\\`),y+=`
117
- ${t}${e.slice(k+1,v)}`)}return y}function Lv(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
118
- `);n=t,s=t+1,o=e[s]}return n}mi.FOLD_BLOCK=vm;mi.FOLD_FLOW=LB;mi.FOLD_QUOTED=rl;mi.foldFlowLines=GB});var hi=I(Nv=>{"use strict";var kt=ce(),Ar=Gv(),sl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),ol=e=>/^(%|---|\.\.\.)/m.test(e);function NB(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
119
- `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function gi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(ol(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
117
+ ${t}${e.slice(k+1,v)}`)}return y}function $v(e,t,r){let n=t,s=t+1,o=e[s];for(;o===" "||o===" ";)if(t<s+r)o=e[++t];else{do o=e[++t];while(o&&o!==`
118
+ `);n=t,s=t+1,o=e[s]}return n}fi.FOLD_BLOCK=vm;fi.FOLD_FLOW=NB;fi.FOLD_QUOTED=rl;fi.foldFlowLines=DB});var gi=I(Mv=>{"use strict";var kt=ce(),Ar=Fv(),sl=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),ol=e=>/^(%|---|\.\.\.)/m.test(e);function $B(e,t,r){if(!t||t<0)return!1;let n=t-r,s=e.length;if(s<=n)return!1;for(let o=0,i=0;o<s;++o)if(e[o]===`
119
+ `){if(o-i>n)return!0;if(i=o+1,s-i<=n)return!1}return!0}function mi(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,s=t.options.doubleQuotedMinMultiLineLength,o=t.indent||(ol(e)?" ":""),i="",a=0;for(let c=0,l=r[c];l;l=r[++c])if(l===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(i+=r.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let u=r.substr(c+2,4);switch(u){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:u.substr(0,2)==="00"?i+="\\x"+u.substr(2):i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<s)c+=1;else{for(i+=r.slice(a,c)+`
120
120
 
121
121
  `;r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"';)i+=`
122
122
  `,c+=2;i+=o,r[c+2]===" "&&(i+="\\"),c+=1,a=c+1}break;default:c+=1}return i=a?i+r.slice(a):r,n?i:Ar.foldFlowLines(i,o,Ar.FOLD_QUOTED,sl(t,!1))}function Tm(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
123
- `)||/[ \t]\n|\n[ \t]/.test(e))return gi(e,t);let r=t.indent||(ol(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
124
- ${r}`)+"'";return t.implicitKey?n:Ar.foldFlowLines(n,r,Ar.FOLD_FLOW,sl(t,!1))}function Ts(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=gi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Tm:o&&!s?n=gi:n=r?Tm:gi}return n(e,t)}var xm;try{xm=new RegExp(`(^|(?<!
123
+ `)||/[ \t]\n|\n[ \t]/.test(e))return mi(e,t);let r=t.indent||(ol(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
124
+ ${r}`)+"'";return t.implicitKey?n:Ar.foldFlowLines(n,r,Ar.FOLD_FLOW,sl(t,!1))}function xs(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=mi;else{let s=e.includes('"'),o=e.includes("'");s&&!o?n=Tm:o&&!s?n=mi:n=r?Tm:mi}return n(e,t)}var xm;try{xm=new RegExp(`(^|(?<!
125
125
  ))
126
126
  +(?!
127
- |$)`,"g")}catch{xm=/\n+(?!\n|$)/g}function nl({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Ts(r,n);let l=n.indent||(n.forceBlockIndent||ol(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===kt.Scalar.BLOCK_FOLDED?!1:t===kt.Scalar.BLOCK_LITERAL?!0:!NB(r,c,l.length);if(!r)return u?`|
127
+ |$)`,"g")}catch{xm=/\n+(?!\n|$)/g}function nl({comment:e,type:t,value:r},n,s,o){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return xs(r,n);let l=n.indent||(n.forceBlockIndent||ol(r)?" ":""),u=i==="literal"?!0:i==="folded"||t===kt.Scalar.BLOCK_FOLDED?!1:t===kt.Scalar.BLOCK_LITERAL?!0:!$B(r,c,l.length);if(!r)return u?`|
128
128
  `:`>
129
129
  `;let d,p;for(p=r.length;p>0;--p){let v=r[p-1];if(v!==`
130
130
  `&&v!==" "&&v!==" ")break}let f=r.substring(p),m=f.indexOf(`
131
131
  `);m===-1?d="-":r===f||m!==f.length-1?(d="+",o&&o()):d="",f&&(r=r.slice(0,-f.length),f[f.length-1]===`
132
132
  `&&(f=f.slice(0,-1)),f=f.replace(xm,`$&${l}`));let h=!1,w,b=-1;for(w=0;w<r.length;++w){let v=r[w];if(v===" ")h=!0;else if(v===`
133
133
  `)b=w;else break}let y=r.substring(0,b<w?b+1:w);y&&(r=r.substring(y.length),y=y.replace(/\n+/g,`$&${l}`));let k=(h?l?"2":"1":"")+d;if(e&&(k+=" "+a(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!u){let v=r.replace(/\n+/g,`
134
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),O=!1,A=sl(n,!0);i!=="folded"&&t!==kt.Scalar.BLOCK_FOLDED&&(A.onOverflow=()=>{O=!0});let C=Ar.foldFlowLines(`${y}${v}${f}`,l,Ar.FOLD_BLOCK,A);if(!O)return`>${k}
134
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),x=!1,A=sl(n,!0);i!=="folded"&&t!==kt.Scalar.BLOCK_FOLDED&&(A.onOverflow=()=>{x=!0});let C=Ar.foldFlowLines(`${y}${v}${f}`,l,Ar.FOLD_BLOCK,A);if(!x)return`>${k}
135
135
  ${l}${C}`}return r=r.replace(/\n+/g,`$&${l}`),`|${k}
136
- ${l}${y}${r}${f}`}function DB(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
137
- `)||u&&/[[\]{},]/.test(o))return Ts(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
138
- `)?Ts(o,t):nl(e,t,r,n);if(!a&&!u&&s!==kt.Scalar.PLAIN&&o.includes(`
139
- `))return nl(e,t,r,n);if(ol(o)){if(c==="")return t.forceBlockIndent=!0,nl(e,t,r,n);if(a&&c===l)return Ts(o,t)}let d=o.replace(/\n+/g,`$&
140
- ${c}`);if(i){let p=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return Ts(o,t)}return a?d:Ar.foldFlowLines(d,c,Ar.FOLD_FLOW,sl(t,!1))}function $B(e,t,r,n){let{implicitKey:s,inFlow:o}=t,i=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==kt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=kt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case kt.Scalar.BLOCK_FOLDED:case kt.Scalar.BLOCK_LITERAL:return s||o?Ts(i.value,t):nl(i,t,r,n);case kt.Scalar.QUOTE_DOUBLE:return gi(i.value,t);case kt.Scalar.QUOTE_SINGLE:return Tm(i.value,t);case kt.Scalar.PLAIN:return DB(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}Nv.stringifyString=$B});var yi=I(Om=>{"use strict";var FB=Yc(),Pr=W(),MB=fi(),BB=hi();function jB(e,t){let r=Object.assign({blockQuote:!0,commentString:MB.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 qB(e,t){if(t.tag){let s=e.filter(o=>o.tag===t.tag);if(s.length>0)return s.find(o=>o.format===t.format)??s[0]}let r,n;if(Pr.isScalar(t)){n=t.value;let s=e.filter(o=>o.identify?.(n));if(s.length>1){let o=s.filter(i=>i.test);o.length>0&&(s=o)}r=s.find(o=>o.format===t.format)??s.find(o=>!o.format)}else n=t,r=e.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!r){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return r}function UB(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Pr.isScalar(e)||Pr.isCollection(e))&&e.anchor;o&&FB.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 HB(e,t,r,n){if(Pr.isPair(e))return e.toString(t,r,n);if(Pr.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s,o=Pr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=qB(t.doc.schema.tags,o));let i=UB(o,s,t);i.length>0&&(t.indentAtStart=(t.indentAtStart??0)+i.length+1);let a=typeof s.stringify=="function"?s.stringify(o,t,r,n):Pr.isScalar(o)?BB.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Pr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
141
- ${t.indent}${a}`:a}Om.createStringifyContext=jB;Om.stringify=HB});var Mv=I(Fv=>{"use strict";var cr=W(),Dv=ce(),$v=yi(),bi=fi();function WB({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=cr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(cr.isCollection(e)||!cr.isNode(e)&&typeof e=="object"){let A="With simple keys, collection cannot be used as a key value";throw new Error(A)}}let f=!d&&(!e||p&&t==null&&!r.inFlow||cr.isCollection(e)||(cr.isScalar(e)?e.type===Dv.Scalar.BLOCK_FOLDED||e.type===Dv.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!f&&(d||!o),indent:a+c});let m=!1,h=!1,w=$v.stringify(e,r,()=>m=!0,()=>h=!0);if(!f&&!r.inFlow&&w.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),w===""?"?":f?`? ${w}`:w}else if(o&&!d||t==null&&f)return w=`? ${w}`,p&&!m?w+=bi.lineComment(w,r.indent,l(p)):h&&s&&s(),w;m&&(p=null),f?(p&&(w+=bi.lineComment(w,r.indent,l(p))),w=`? ${w}
142
- ${a}:`):(w=`${w}:`,p&&(w+=bi.lineComment(w,r.indent,l(p))));let b,y,_;cr.isNode(t)?(b=!!t.spaceBefore,y=t.commentBefore,_=t.comment):(b=!1,y=null,_=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&cr.isScalar(t)&&(r.indentAtStart=w.length+1),h=!1,!u&&c.length>=2&&!r.inFlow&&!f&&cr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,v=$v.stringify(t,r,()=>k=!0,()=>h=!0),O=" ";if(p||b||y){if(O=b?`
143
- `:"",y){let A=l(y);O+=`
144
- ${bi.indentComment(A,r.indent)}`}v===""&&!r.inFlow?O===`
145
- `&&_&&(O=`
136
+ ${l}${y}${r}${f}`}function FB(e,t,r,n){let{type:s,value:o}=e,{actualString:i,implicitKey:a,indent:c,indentStep:l,inFlow:u}=t;if(a&&o.includes(`
137
+ `)||u&&/[[\]{},]/.test(o))return xs(o,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(o))return a||u||!o.includes(`
138
+ `)?xs(o,t):nl(e,t,r,n);if(!a&&!u&&s!==kt.Scalar.PLAIN&&o.includes(`
139
+ `))return nl(e,t,r,n);if(ol(o)){if(c==="")return t.forceBlockIndent=!0,nl(e,t,r,n);if(a&&c===l)return xs(o,t)}let d=o.replace(/\n+/g,`$&
140
+ ${c}`);if(i){let p=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(d),{compat:f,tags:m}=t.doc.schema;if(m.some(p)||f?.some(p))return xs(o,t)}return a?d:Ar.foldFlowLines(d,c,Ar.FOLD_FLOW,sl(t,!1))}function MB(e,t,r,n){let{implicitKey:s,inFlow:o}=t,i=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;a!==kt.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value)&&(a=kt.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case kt.Scalar.BLOCK_FOLDED:case kt.Scalar.BLOCK_LITERAL:return s||o?xs(i.value,t):nl(i,t,r,n);case kt.Scalar.QUOTE_DOUBLE:return mi(i.value,t);case kt.Scalar.QUOTE_SINGLE:return Tm(i.value,t);case kt.Scalar.PLAIN:return FB(i,t,r,n);default:return null}},l=c(a);if(l===null){let{defaultKeyType:u,defaultStringType:d}=t.options,p=s&&u||d;if(l=c(p),l===null)throw new Error(`Unsupported default string type ${p}`)}return l}Mv.stringifyString=MB});var hi=I(Om=>{"use strict";var BB=Yc(),Pr=W(),jB=pi(),qB=gi();function UB(e,t){let r=Object.assign({blockQuote:!0,commentString:jB.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent=="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function HB(e,t){if(t.tag){let s=e.filter(o=>o.tag===t.tag);if(s.length>0)return s.find(o=>o.format===t.format)??s[0]}let r,n;if(Pr.isScalar(t)){n=t.value;let s=e.filter(o=>o.identify?.(n));if(s.length>1){let o=s.filter(i=>i.test);o.length>0&&(s=o)}r=s.find(o=>o.format===t.format)??s.find(o=>!o.format)}else n=t,r=e.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!r){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return r}function WB(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let s=[],o=(Pr.isScalar(e)||Pr.isCollection(e))&&e.anchor;o&&BB.anchorIsValid(o)&&(r.add(o),s.push(`&${o}`));let i=e.tag??(t.default?null:t.tag);return i&&s.push(n.directives.tagString(i)),s.join(" ")}function JB(e,t,r,n){if(Pr.isPair(e))return e.toString(t,r,n);if(Pr.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s,o=Pr.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>s=c});s??(s=HB(t.doc.schema.tags,o));let i=WB(o,s,t);i.length>0&&(t.indentAtStart=(t.indentAtStart??0)+i.length+1);let a=typeof s.stringify=="function"?s.stringify(o,t,r,n):Pr.isScalar(o)?qB.stringifyString(o,t,r,n):o.toString(t,r,n);return i?Pr.isScalar(o)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
141
+ ${t.indent}${a}`:a}Om.createStringifyContext=UB;Om.stringify=JB});var Uv=I(qv=>{"use strict";var lr=W(),Bv=ce(),jv=hi(),yi=pi();function VB({key:e,value:t},r,n,s){let{allNullValues:o,doc:i,indent:a,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:d}}=r,p=lr.isNode(e)&&e.comment||null;if(d){if(p)throw new Error("With simple keys, key nodes cannot have comments");if(lr.isCollection(e)||!lr.isNode(e)&&typeof e=="object"){let A="With simple keys, collection cannot be used as a key value";throw new Error(A)}}let f=!d&&(!e||p&&t==null&&!r.inFlow||lr.isCollection(e)||(lr.isScalar(e)?e.type===Bv.Scalar.BLOCK_FOLDED||e.type===Bv.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!f&&(d||!o),indent:a+c});let m=!1,h=!1,w=jv.stringify(e,r,()=>m=!0,()=>h=!0);if(!f&&!r.inFlow&&w.length>1024){if(d)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");f=!0}if(r.inFlow){if(o||t==null)return m&&n&&n(),w===""?"?":f?`? ${w}`:w}else if(o&&!d||t==null&&f)return w=`? ${w}`,p&&!m?w+=yi.lineComment(w,r.indent,l(p)):h&&s&&s(),w;m&&(p=null),f?(p&&(w+=yi.lineComment(w,r.indent,l(p))),w=`? ${w}
142
+ ${a}:`):(w=`${w}:`,p&&(w+=yi.lineComment(w,r.indent,l(p))));let b,y,_;lr.isNode(t)?(b=!!t.spaceBefore,y=t.commentBefore,_=t.comment):(b=!1,y=null,_=null,t&&typeof t=="object"&&(t=i.createNode(t))),r.implicitKey=!1,!f&&!p&&lr.isScalar(t)&&(r.indentAtStart=w.length+1),h=!1,!u&&c.length>=2&&!r.inFlow&&!f&&lr.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let k=!1,v=jv.stringify(t,r,()=>k=!0,()=>h=!0),x=" ";if(p||b||y){if(x=b?`
143
+ `:"",y){let A=l(y);x+=`
144
+ ${yi.indentComment(A,r.indent)}`}v===""&&!r.inFlow?x===`
145
+ `&&_&&(x=`
146
146
 
147
- `):O+=`
148
- ${r.indent}`}else if(!f&&cr.isCollection(t)){let A=v[0],C=v.indexOf(`
149
- `),D=C!==-1,J=r.inFlow??t.flow??t.items.length===0;if(D||!J){let z=!1;if(D&&(A==="&"||A==="!")){let Y=v.indexOf(" ");A==="&"&&Y!==-1&&Y<C&&v[Y+1]==="!"&&(Y=v.indexOf(" ",Y+1)),(Y===-1||C<Y)&&(z=!0)}z||(O=`
147
+ `):x+=`
148
+ ${r.indent}`}else if(!f&&lr.isCollection(t)){let A=v[0],C=v.indexOf(`
149
+ `),D=C!==-1,V=r.inFlow??t.flow??t.items.length===0;if(D||!V){let Y=!1;if(D&&(A==="&"||A==="!")){let Q=v.indexOf(" ");A==="&"&&Q!==-1&&Q<C&&v[Q+1]==="!"&&(Q=v.indexOf(" ",Q+1)),(Q===-1||C<Q)&&(Y=!0)}Y||(x=`
150
150
  ${r.indent}`)}}else(v===""||v[0]===`
151
- `)&&(O="");return w+=O+v,r.inFlow?k&&n&&n():_&&!k?w+=bi.lineComment(w,r.indent,l(_)):h&&s&&s(),w}Fv.stringifyPair=WB});var Am=I(Cm=>{"use strict";var Bv=Xi("process");function JB(e,...t){e==="debug"&&console.log(...t)}function VB(e,t){(e==="debug"||e==="warn")&&(typeof Bv.emitWarning=="function"?Bv.emitWarning(t):console.warn(t))}Cm.debug=JB;Cm.warn=VB});var ul=I(ll=>{"use strict";var cl=W(),jv=ce(),il="<<",al={identify:e=>e===il||typeof e=="symbol"&&e.description===il,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new jv.Scalar(Symbol(il)),{addToJSMap:qv}),stringify:()=>il},KB=(e,t)=>(al.identify(t)||cl.isScalar(t)&&(!t.type||t.type===jv.Scalar.PLAIN)&&al.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===al.tag&&r.default);function qv(e,t,r){let n=Uv(e,r);if(cl.isSeq(n))for(let s of n.items)Pm(e,t,s);else if(Array.isArray(n))for(let s of n)Pm(e,t,s);else Pm(e,t,n)}function Pm(e,t,r){let n=Uv(e,r);if(!cl.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,e,Map);for(let[o,i]of s)t instanceof Map?t.has(o)||t.set(o,i):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function Uv(e,t){return e&&cl.isAlias(t)?t.resolve(e.doc,e):t}ll.addMergeToJSMap=qv;ll.isMergeKey=KB;ll.merge=al});var Lm=I(Jv=>{"use strict";var zB=Am(),Hv=ul(),YB=yi(),Wv=W(),Im=Or();function QB(e,t,{key:r,value:n}){if(Wv.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(Hv.isMergeKey(e,r))Hv.addMergeToJSMap(e,t,n);else{let s=Im.toJS(r,"",e);if(t instanceof Map)t.set(s,Im.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=XB(r,s,e),i=Im.toJS(n,o,e);o in t?Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0}):t[o]=i}}return t}function XB(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(Wv.isNode(e)&&r?.doc){let n=YB.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)+'..."'),zB.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)}Jv.addPairToJSMap=QB});var Ir=I(Gm=>{"use strict";var Vv=pi(),ZB=Mv(),ej=Lm(),dl=W();function tj(e,t,r){let n=Vv.createNode(e,void 0,r),s=Vv.createNode(t,void 0,r);return new pl(n,s)}var pl=class e{constructor(t,r=null){Object.defineProperty(this,dl.NODE_TYPE,{value:dl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return dl.isNode(r)&&(r=r.clone(t)),dl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return ej.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?ZB.stringifyPair(this,t,r,n):JSON.stringify(this)}};Gm.Pair=pl;Gm.createPair=tj});var Nm=I(zv=>{"use strict";var En=W(),Kv=yi(),fl=fi();function rj(e,t,r){return(t.inFlow??e.flow?sj:nj)(e,t,r)}function nj({comment:e,items:t},r,{blockItemPrefix:n,flowChars:s,itemIndent:o,onChompKeep:i,onComment:a}){let{indent:c,options:{commentString:l}}=r,u=Object.assign({},r,{indent:o,type:null}),d=!1,p=[];for(let m=0;m<t.length;++m){let h=t[m],w=null;if(En.isNode(h))!d&&h.spaceBefore&&p.push(""),ml(r,p,h.commentBefore,d),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(!d&&y.spaceBefore&&p.push(""),ml(r,p,y.commentBefore,d))}d=!1;let b=Kv.stringify(h,u,()=>w=null,()=>d=!0);w&&(b+=fl.lineComment(b,o,l(w))),d&&w&&(d=!1),p.push(n+b)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let h=p[m];f+=h?`
151
+ `)&&(x="");return w+=x+v,r.inFlow?k&&n&&n():_&&!k?w+=yi.lineComment(w,r.indent,l(_)):h&&s&&s(),w}qv.stringifyPair=VB});var Am=I(Cm=>{"use strict";var Hv=Xi("process");function KB(e,...t){e==="debug"&&console.log(...t)}function zB(e,t){(e==="debug"||e==="warn")&&(typeof Hv.emitWarning=="function"?Hv.emitWarning(t):console.warn(t))}Cm.debug=KB;Cm.warn=zB});var ul=I(ll=>{"use strict";var cl=W(),Wv=ce(),il="<<",al={identify:e=>e===il||typeof e=="symbol"&&e.description===il,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Wv.Scalar(Symbol(il)),{addToJSMap:Jv}),stringify:()=>il},YB=(e,t)=>(al.identify(t)||cl.isScalar(t)&&(!t.type||t.type===Wv.Scalar.PLAIN)&&al.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===al.tag&&r.default);function Jv(e,t,r){let n=Vv(e,r);if(cl.isSeq(n))for(let s of n.items)Pm(e,t,s);else if(Array.isArray(n))for(let s of n)Pm(e,t,s);else Pm(e,t,n)}function Pm(e,t,r){let n=Vv(e,r);if(!cl.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,e,Map);for(let[o,i]of s)t instanceof Map?t.has(o)||t.set(o,i):t instanceof Set?t.add(o):Object.prototype.hasOwnProperty.call(t,o)||Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function Vv(e,t){return e&&cl.isAlias(t)?t.resolve(e.doc,e):t}ll.addMergeToJSMap=Jv;ll.isMergeKey=YB;ll.merge=al});var Lm=I(Yv=>{"use strict";var QB=Am(),Kv=ul(),XB=hi(),zv=W(),Im=Or();function ZB(e,t,{key:r,value:n}){if(zv.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(Kv.isMergeKey(e,r))Kv.addMergeToJSMap(e,t,n);else{let s=Im.toJS(r,"",e);if(t instanceof Map)t.set(s,Im.toJS(n,s,e));else if(t instanceof Set)t.add(s);else{let o=ej(r,s,e),i=Im.toJS(n,o,e);o in t?Object.defineProperty(t,o,{value:i,writable:!0,enumerable:!0,configurable:!0}):t[o]=i}}return t}function ej(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(zv.isNode(e)&&r?.doc){let n=XB.createStringifyContext(r.doc,{});n.anchors=new Set;for(let o of r.anchors.keys())n.anchors.add(o.anchor);n.inFlow=!0,n.inStringifyKey=!0;let s=e.toString(n);if(!r.mapKeyWarned){let o=JSON.stringify(s);o.length>40&&(o=o.substring(0,36)+'..."'),QB.warn(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${o}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return s}return JSON.stringify(t)}Yv.addPairToJSMap=ZB});var Ir=I(Gm=>{"use strict";var Qv=di(),tj=Uv(),rj=Lm(),dl=W();function nj(e,t,r){let n=Qv.createNode(e,void 0,r),s=Qv.createNode(t,void 0,r);return new pl(n,s)}var pl=class e{constructor(t,r=null){Object.defineProperty(this,dl.NODE_TYPE,{value:dl.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return dl.isNode(r)&&(r=r.clone(t)),dl.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return rj.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?tj.stringifyPair(this,t,r,n):JSON.stringify(this)}};Gm.Pair=pl;Gm.createPair=nj});var Nm=I(Zv=>{"use strict";var En=W(),Xv=hi(),fl=pi();function sj(e,t,r){return(t.inFlow??e.flow?ij:oj)(e,t,r)}function oj({comment:e,items:t},r,{blockItemPrefix:n,flowChars:s,itemIndent:o,onChompKeep:i,onComment:a}){let{indent:c,options:{commentString:l}}=r,u=Object.assign({},r,{indent:o,type:null}),d=!1,p=[];for(let m=0;m<t.length;++m){let h=t[m],w=null;if(En.isNode(h))!d&&h.spaceBefore&&p.push(""),ml(r,p,h.commentBefore,d),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(!d&&y.spaceBefore&&p.push(""),ml(r,p,y.commentBefore,d))}d=!1;let b=Xv.stringify(h,u,()=>w=null,()=>d=!0);w&&(b+=fl.lineComment(b,o,l(w))),d&&w&&(d=!1),p.push(n+b)}let f;if(p.length===0)f=s.start+s.end;else{f=p[0];for(let m=1;m<p.length;++m){let h=p[m];f+=h?`
152
152
  ${c}${h}`:`
153
153
  `}}return e?(f+=`
154
- `+fl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function sj({items:e},t,{flowChars:r,itemIndent:n}){let{indent:s,indentStep:o,flowCollectionPadding:i,options:{commentString:a}}=t;n+=o;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let m=0;m<e.length;++m){let h=e[m],w=null;if(En.isNode(h))h.spaceBefore&&d.push(""),ml(t,d,h.commentBefore,!1),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(y.spaceBefore&&d.push(""),ml(t,d,y.commentBefore,!1),y.comment&&(l=!0));let _=En.isNode(h.value)?h.value:null;_?(_.comment&&(w=_.comment),_.commentBefore&&(l=!0)):h.value==null&&y?.comment&&(w=y.comment)}w&&(l=!0);let b=Kv.stringify(h,c,()=>w=null);l||(l=d.length>u||b.includes(`
154
+ `+fl.indentComment(l(e),c),a&&a()):d&&i&&i(),f}function ij({items:e},t,{flowChars:r,itemIndent:n}){let{indent:s,indentStep:o,flowCollectionPadding:i,options:{commentString:a}}=t;n+=o;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),l=!1,u=0,d=[];for(let m=0;m<e.length;++m){let h=e[m],w=null;if(En.isNode(h))h.spaceBefore&&d.push(""),ml(t,d,h.commentBefore,!1),h.comment&&(w=h.comment);else if(En.isPair(h)){let y=En.isNode(h.key)?h.key:null;y&&(y.spaceBefore&&d.push(""),ml(t,d,y.commentBefore,!1),y.comment&&(l=!0));let _=En.isNode(h.value)?h.value:null;_?(_.comment&&(w=_.comment),_.commentBefore&&(l=!0)):h.value==null&&y?.comment&&(w=y.comment)}w&&(l=!0);let b=Xv.stringify(h,c,()=>w=null);l||(l=d.length>u||b.includes(`
155
155
  `)),m<e.length-1?b+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(l||(l=d.reduce((y,_)=>y+_.length+2,2)+(b.length+2)>t.options.lineWidth)),l&&(b+=",")),w&&(b+=fl.lineComment(b,n,a(w))),d.push(b),u=d.length}let{start:p,end:f}=r;if(d.length===0)return p+f;if(!l){let m=d.reduce((h,w)=>h+w.length+2,2);l=t.options.lineWidth>0&&m>t.options.lineWidth}if(l){let m=p;for(let h of d)m+=h?`
156
156
  ${o}${s}${h}`:`
157
157
  `;return`${m}
158
- ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function ml({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=fl.indentComment(t(n),e);r.push(o.trimStart())}}zv.stringifyCollection=rj});var Gr=I($m=>{"use strict";var oj=Nm(),ij=Lm(),aj=el(),Lr=W(),gl=Ir(),cj=ce();function wi(e,t){let r=Lr.isScalar(t)?t.value:t;for(let n of e)if(Lr.isPair(n)&&(n.key===t||n.key===r||Lr.isScalar(n.key)&&n.key.value===r))return n}var Dm=class extends aj.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Lr.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:s,replacer:o}=n,i=new this(t),a=(c,l)=>{if(typeof o=="function")l=o.call(r,c,l);else if(Array.isArray(o)&&!o.includes(c))return;(l!==void 0||s)&&i.items.push(gl.createPair(c,l,n))};if(r instanceof Map)for(let[c,l]of r)a(c,l);else if(r&&typeof r=="object")for(let c of Object.keys(r))a(c,r[c]);return typeof t.sortMapEntries=="function"&&i.items.sort(t.sortMapEntries),i}add(t,r){let n;Lr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new gl.Pair(t,t?.value):n=new gl.Pair(t.key,t.value);let s=wi(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Lr.isScalar(s.value)&&cj.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=wi(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=wi(this.items,t)?.value;return(!r&&Lr.isScalar(s)?s.value:s)??void 0}has(t){return!!wi(this.items,t)}set(t,r){this.add(new gl.Pair(t,r),!0)}toJSON(t,r,n){let s=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(s);for(let o of this.items)ij.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Lr.isPair(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),oj.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};$m.YAMLMap=Dm;$m.findPair=wi});var xs=I(Qv=>{"use strict";var lj=W(),Yv=Gr(),uj={collection:"map",default:!0,nodeClass:Yv.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return lj.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>Yv.YAMLMap.from(e,t,r)};Qv.map=uj});var Nr=I(Xv=>{"use strict";var dj=pi(),pj=Nm(),fj=el(),yl=W(),mj=ce(),gj=Or(),Fm=class extends fj.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(yl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=hl(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=hl(t);if(typeof n!="number")return;let s=this.items[n];return!r&&yl.isScalar(s)?s.value:s}has(t){let r=hl(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=hl(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];yl.isScalar(s)&&mj.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(gj.toJS(o,String(s++),r));return n}toString(t,r,n){return t?pj.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(dj.createNode(a,void 0,n))}}return o}};function hl(e){let t=yl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}Xv.YAMLSeq=Fm});var Os=I(eT=>{"use strict";var hj=W(),Zv=Nr(),yj={collection:"seq",default:!0,nodeClass:Zv.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return hj.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>Zv.YAMLSeq.from(e,t,r)};eT.seq=yj});var _i=I(tT=>{"use strict";var bj=hi(),wj={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),bj.stringifyString(e,t,r,n)}};tT.string=wj});var bl=I(sT=>{"use strict";var rT=ce(),nT={identify:e=>e==null,createNode:()=>new rT.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new rT.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&nT.test.test(e)?e:t.options.nullStr};sT.nullTag=nT});var Mm=I(iT=>{"use strict";var _j=ce(),oT={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new _j.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&oT.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};iT.boolTag=oT});var Cs=I(aT=>{"use strict";function Ej({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}aT.stringifyNumber=Ej});var jm=I(wl=>{"use strict";var kj=ce(),Bm=Cs(),Sj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Bm.stringifyNumber},Rj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Bm.stringifyNumber(e)}},vj={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 kj.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:Bm.stringifyNumber};wl.float=vj;wl.floatExp=Rj;wl.floatNaN=Sj});var Um=I(El=>{"use strict";var cT=Cs(),_l=e=>typeof e=="bigint"||Number.isInteger(e),qm=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function lT(e,t,r){let{value:n}=e;return _l(n)&&n>=0?r+n.toString(t):cT.stringifyNumber(e)}var Tj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>qm(e,2,8,r),stringify:e=>lT(e,8,"0o")},xj={identify:_l,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>qm(e,0,10,r),stringify:cT.stringifyNumber},Oj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>qm(e,2,16,r),stringify:e=>lT(e,16,"0x")};El.int=xj;El.intHex=Oj;El.intOct=Tj});var dT=I(uT=>{"use strict";var Cj=xs(),Aj=bl(),Pj=Os(),Ij=_i(),Lj=Mm(),Hm=jm(),Wm=Um(),Gj=[Cj.map,Pj.seq,Ij.string,Aj.nullTag,Lj.boolTag,Wm.intOct,Wm.int,Wm.intHex,Hm.floatNaN,Hm.floatExp,Hm.float];uT.schema=Gj});var mT=I(fT=>{"use strict";var Nj=ce(),Dj=xs(),$j=Os();function pT(e){return typeof e=="bigint"||Number.isInteger(e)}var kl=({value:e})=>JSON.stringify(e),Fj=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:kl},{identify:e=>e==null,createNode:()=>new Nj.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:kl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:kl},{identify:pT,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})=>pT(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:kl}],Mj={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},Bj=[Dj.map,$j.seq].concat(Fj,Mj);fT.schema=Bj});var Vm=I(gT=>{"use strict";var Ei=Xi("buffer"),Jm=ce(),jj=hi(),qj={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Ei.Buffer=="function")return Ei.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 Ei.Buffer=="function")a=i instanceof Ei.Buffer?i.toString("base64"):Ei.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=Jm.Scalar.BLOCK_LITERAL),t!==Jm.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(a.length/c),u=new Array(l);for(let d=0,p=0;d<l;++d,p+=c)u[d]=a.substr(p,c);a=u.join(t===Jm.Scalar.BLOCK_LITERAL?`
159
- `:" ")}return jj.stringifyString({comment:e,type:t,value:a},n,s,o)}};gT.binary=qj});var vl=I(Rl=>{"use strict";var Sl=W(),Km=Ir(),Uj=ce(),Hj=Nr();function hT(e,t){if(Sl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Sl.isPair(n)){if(Sl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new Km.Pair(new Uj.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
158
+ ${s}${f}`}else return`${p}${i}${d.join(" ")}${i}${f}`}function ml({indent:e,options:{commentString:t}},r,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let o=fl.indentComment(t(n),e);r.push(o.trimStart())}}Zv.stringifyCollection=sj});var Gr=I($m=>{"use strict";var aj=Nm(),cj=Lm(),lj=el(),Lr=W(),gl=Ir(),uj=ce();function bi(e,t){let r=Lr.isScalar(t)?t.value:t;for(let n of e)if(Lr.isPair(n)&&(n.key===t||n.key===r||Lr.isScalar(n.key)&&n.key.value===r))return n}var Dm=class extends lj.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Lr.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:s,replacer:o}=n,i=new this(t),a=(c,l)=>{if(typeof o=="function")l=o.call(r,c,l);else if(Array.isArray(o)&&!o.includes(c))return;(l!==void 0||s)&&i.items.push(gl.createPair(c,l,n))};if(r instanceof Map)for(let[c,l]of r)a(c,l);else if(r&&typeof r=="object")for(let c of Object.keys(r))a(c,r[c]);return typeof t.sortMapEntries=="function"&&i.items.sort(t.sortMapEntries),i}add(t,r){let n;Lr.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new gl.Pair(t,t?.value):n=new gl.Pair(t.key,t.value);let s=bi(this.items,n.key),o=this.schema?.sortMapEntries;if(s){if(!r)throw new Error(`Key ${n.key} already set`);Lr.isScalar(s.value)&&uj.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(o){let i=this.items.findIndex(a=>o(n,a)<0);i===-1?this.items.push(n):this.items.splice(i,0,n)}else this.items.push(n)}delete(t){let r=bi(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let s=bi(this.items,t)?.value;return(!r&&Lr.isScalar(s)?s.value:s)??void 0}has(t){return!!bi(this.items,t)}set(t,r){this.add(new gl.Pair(t,r),!0)}toJSON(t,r,n){let s=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(s);for(let o of this.items)cj.addPairToJSMap(r,s,o);return s}toString(t,r,n){if(!t)return JSON.stringify(this);for(let s of this.items)if(!Lr.isPair(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),aj.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};$m.YAMLMap=Dm;$m.findPair=bi});var Os=I(tT=>{"use strict";var dj=W(),eT=Gr(),pj={collection:"map",default:!0,nodeClass:eT.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return dj.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>eT.YAMLMap.from(e,t,r)};tT.map=pj});var Nr=I(rT=>{"use strict";var fj=di(),mj=Nm(),gj=el(),yl=W(),hj=ce(),yj=Or(),Fm=class extends gj.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(yl.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=hl(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=hl(t);if(typeof n!="number")return;let s=this.items[n];return!r&&yl.isScalar(s)?s.value:s}has(t){let r=hl(t);return typeof r=="number"&&r<this.items.length}set(t,r){let n=hl(t);if(typeof n!="number")throw new Error(`Expected a valid index, not ${t}.`);let s=this.items[n];yl.isScalar(s)&&hj.isScalarValue(r)?s.value=r:this.items[n]=r}toJSON(t,r){let n=[];r?.onCreate&&r.onCreate(n);let s=0;for(let o of this.items)n.push(yj.toJS(o,String(s++),r));return n}toString(t,r,n){return t?mj.stringifyCollection(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:n,onComment:r}):JSON.stringify(this)}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r)){let i=0;for(let a of r){if(typeof s=="function"){let c=r instanceof Set?a:String(i++);a=s.call(r,c,a)}o.items.push(fj.createNode(a,void 0,n))}}return o}};function hl(e){let t=yl.isScalar(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}rT.YAMLSeq=Fm});var Cs=I(sT=>{"use strict";var bj=W(),nT=Nr(),wj={collection:"seq",default:!0,nodeClass:nT.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return bj.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>nT.YAMLSeq.from(e,t,r)};sT.seq=wj});var wi=I(oT=>{"use strict";var _j=gi(),Ej={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,r,n){return t=Object.assign({actualString:!0},t),_j.stringifyString(e,t,r,n)}};oT.string=Ej});var bl=I(cT=>{"use strict";var iT=ce(),aT={identify:e=>e==null,createNode:()=>new iT.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new iT.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&aT.test.test(e)?e:t.options.nullStr};cT.nullTag=aT});var Mm=I(uT=>{"use strict";var kj=ce(),lT={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new kj.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&lT.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};uT.boolTag=lT});var As=I(dT=>{"use strict";function Sj({format:e,minFractionDigits:t,tag:r,value:n}){if(typeof n=="bigint")return String(n);let s=typeof n=="number"?n:Number(n);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let o=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!r||r==="tag:yaml.org,2002:float")&&/^-?\d/.test(o)&&!o.includes("e")){let i=o.indexOf(".");i<0&&(i=o.length,o+=".");let a=t-(o.length-i-1);for(;a-- >0;)o+="0"}return o}dT.stringifyNumber=Sj});var jm=I(wl=>{"use strict";var Rj=ce(),Bm=As(),vj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Bm.stringifyNumber},Tj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Bm.stringifyNumber(e)}},xj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new Rj.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:Bm.stringifyNumber};wl.float=xj;wl.floatExp=Tj;wl.floatNaN=vj});var Um=I(El=>{"use strict";var pT=As(),_l=e=>typeof e=="bigint"||Number.isInteger(e),qm=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function fT(e,t,r){let{value:n}=e;return _l(n)&&n>=0?r+n.toString(t):pT.stringifyNumber(e)}var Oj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>qm(e,2,8,r),stringify:e=>fT(e,8,"0o")},Cj={identify:_l,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>qm(e,0,10,r),stringify:pT.stringifyNumber},Aj={identify:e=>_l(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>qm(e,2,16,r),stringify:e=>fT(e,16,"0x")};El.int=Cj;El.intHex=Aj;El.intOct=Oj});var gT=I(mT=>{"use strict";var Pj=Os(),Ij=bl(),Lj=Cs(),Gj=wi(),Nj=Mm(),Hm=jm(),Wm=Um(),Dj=[Pj.map,Lj.seq,Gj.string,Ij.nullTag,Nj.boolTag,Wm.intOct,Wm.int,Wm.intHex,Hm.floatNaN,Hm.floatExp,Hm.float];mT.schema=Dj});var bT=I(yT=>{"use strict";var $j=ce(),Fj=Os(),Mj=Cs();function hT(e){return typeof e=="bigint"||Number.isInteger(e)}var kl=({value:e})=>JSON.stringify(e),Bj=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:kl},{identify:e=>e==null,createNode:()=>new $j.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:kl},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:kl},{identify:hT,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:r})=>r?BigInt(e):parseInt(e,10),stringify:({value:e})=>hT(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:kl}],jj={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},qj=[Fj.map,Mj.seq].concat(Bj,jj);yT.schema=qj});var Vm=I(wT=>{"use strict";var _i=Xi("buffer"),Jm=ce(),Uj=gi(),Hj={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof _i.Buffer=="function")return _i.Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let s=0;s<r.length;++s)n[s]=r.charCodeAt(s);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:r},n,s,o){if(!r)return"";let i=r,a;if(typeof _i.Buffer=="function")a=i instanceof _i.Buffer?i.toString("base64"):_i.Buffer.from(i.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<i.length;++l)c+=String.fromCharCode(i[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=Jm.Scalar.BLOCK_LITERAL),t!==Jm.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(a.length/c),u=new Array(l);for(let d=0,p=0;d<l;++d,p+=c)u[d]=a.substr(p,c);a=u.join(t===Jm.Scalar.BLOCK_LITERAL?`
159
+ `:" ")}return Uj.stringifyString({comment:e,type:t,value:a},n,s,o)}};wT.binary=Hj});var vl=I(Rl=>{"use strict";var Sl=W(),Km=Ir(),Wj=ce(),Jj=Nr();function _T(e,t){if(Sl.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(!Sl.isPair(n)){if(Sl.isMap(n)){n.items.length>1&&t("Each pair must have its own sequence indicator");let s=n.items[0]||new Km.Pair(new Wj.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
160
160
  ${s.key.commentBefore}`:n.commentBefore),n.comment){let o=s.value??s.key;o.comment=o.comment?`${n.comment}
161
- ${o.comment}`:n.comment}n=s}e.items[r]=Sl.isPair(n)?n:new Km.Pair(n)}}else t("Expected a sequence for this tag");return e}function yT(e,t,r){let{replacer:n}=r,s=new Hj.YAMLSeq(e);s.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let i of t){typeof n=="function"&&(i=n.call(t,String(o++),i));let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let l=Object.keys(i);if(l.length===1)a=l[0],c=i[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=i;s.items.push(Km.createPair(a,c,r))}return s}var Wj={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:hT,createNode:yT};Rl.createPairs=yT;Rl.pairs=Wj;Rl.resolvePairs=hT});var Qm=I(Ym=>{"use strict";var bT=W(),zm=Or(),ki=Gr(),Jj=Nr(),wT=vl(),kn=class e extends Jj.YAMLSeq{constructor(){super(),this.add=ki.YAMLMap.prototype.add.bind(this),this.delete=ki.YAMLMap.prototype.delete.bind(this),this.get=ki.YAMLMap.prototype.get.bind(this),this.has=ki.YAMLMap.prototype.has.bind(this),this.set=ki.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(bT.isPair(s)?(o=zm.toJS(s.key,"",r),i=zm.toJS(s.value,o,r)):o=zm.toJS(s,"",r),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,i)}return n}static from(t,r,n){let s=wT.createPairs(t,r,n),o=new this;return o.items=s.items,o}};kn.tag="tag:yaml.org,2002:omap";var Vj={collection:"seq",identify:e=>e instanceof Map,nodeClass:kn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=wT.resolvePairs(e,t),n=[];for(let{key:s}of r.items)bT.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new kn,r)},createNode:(e,t,r)=>kn.from(e,t,r)};Ym.YAMLOMap=kn;Ym.omap=Vj});var RT=I(Xm=>{"use strict";var _T=ce();function ET({value:e,source:t},r){return t&&(e?kT:ST).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var kT={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 _T.Scalar(!0),stringify:ET},ST={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 _T.Scalar(!1),stringify:ET};Xm.falseTag=ST;Xm.trueTag=kT});var vT=I(Tl=>{"use strict";var Kj=ce(),Zm=Cs(),zj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Zm.stringifyNumber},Yj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Zm.stringifyNumber(e)}},Qj={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 Kj.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:Zm.stringifyNumber};Tl.float=Qj;Tl.floatExp=Yj;Tl.floatNaN=zj});var xT=I(Ri=>{"use strict";var TT=Cs(),Si=e=>typeof e=="bigint"||Number.isInteger(e);function xl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function eg(e,t,r){let{value:n}=e;if(Si(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return TT.stringifyNumber(e)}var Xj={identify:Si,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>xl(e,2,2,r),stringify:e=>eg(e,2,"0b")},Zj={identify:Si,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>xl(e,1,8,r),stringify:e=>eg(e,8,"0")},eq={identify:Si,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>xl(e,0,10,r),stringify:TT.stringifyNumber},tq={identify:Si,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>xl(e,2,16,r),stringify:e=>eg(e,16,"0x")};Ri.int=eq;Ri.intBin=Xj;Ri.intHex=tq;Ri.intOct=Zj});var rg=I(tg=>{"use strict";var Al=W(),Ol=Ir(),Cl=Gr(),Sn=class e extends Cl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Al.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Ol.Pair(t.key,null):r=new Ol.Pair(t,null),Cl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Cl.findPair(this.items,t);return!r&&Al.isPair(n)?Al.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=Cl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Ol.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Ol.createPair(i,null,n));return o}};Sn.tag="tag:yaml.org,2002:set";var rq={collection:"map",identify:e=>e instanceof Set,nodeClass:Sn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Sn.from(e,t,r),resolve(e,t){if(Al.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Sn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};tg.YAMLSet=Sn;tg.set=rq});var sg=I(Pl=>{"use strict";var nq=Cs();function ng(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,s=i=>t?BigInt(i):Number(i),o=n.replace(/_/g,"").split(":").reduce((i,a)=>i*s(60)+s(a),s(0));return r==="-"?s(-1)*o:o}function OT(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return nq.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 sq={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>ng(e,r),stringify:OT},oq={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>ng(e,!1),stringify:OT},CT={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(CT.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,s,o,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,l=Date.UTC(r,n-1,s,o||0,i||0,a||0,c),u=t[8];if(u&&u!=="Z"){let d=ng(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Pl.floatTime=oq;Pl.intTime=sq;Pl.timestamp=CT});var IT=I(PT=>{"use strict";var iq=xs(),aq=bl(),cq=Os(),lq=_i(),uq=Vm(),AT=RT(),og=vT(),Il=xT(),dq=ul(),pq=Qm(),fq=vl(),mq=rg(),ig=sg(),gq=[iq.map,cq.seq,lq.string,aq.nullTag,AT.trueTag,AT.falseTag,Il.intBin,Il.intOct,Il.int,Il.intHex,og.floatNaN,og.floatExp,og.float,uq.binary,dq.merge,pq.omap,fq.pairs,mq.set,ig.intTime,ig.floatTime,ig.timestamp];PT.schema=gq});var qT=I(lg=>{"use strict";var DT=xs(),hq=bl(),$T=Os(),yq=_i(),bq=Mm(),ag=jm(),cg=Um(),wq=dT(),_q=mT(),FT=Vm(),vi=ul(),MT=Qm(),BT=vl(),LT=IT(),jT=rg(),Ll=sg(),GT=new Map([["core",wq.schema],["failsafe",[DT.map,$T.seq,yq.string]],["json",_q.schema],["yaml11",LT.schema],["yaml-1.1",LT.schema]]),NT={binary:FT.binary,bool:bq.boolTag,float:ag.float,floatExp:ag.floatExp,floatNaN:ag.floatNaN,floatTime:Ll.floatTime,int:cg.int,intHex:cg.intHex,intOct:cg.intOct,intTime:Ll.intTime,map:DT.map,merge:vi.merge,null:hq.nullTag,omap:MT.omap,pairs:BT.pairs,seq:$T.seq,set:jT.set,timestamp:Ll.timestamp},Eq={"tag:yaml.org,2002:binary":FT.binary,"tag:yaml.org,2002:merge":vi.merge,"tag:yaml.org,2002:omap":MT.omap,"tag:yaml.org,2002:pairs":BT.pairs,"tag:yaml.org,2002:set":jT.set,"tag:yaml.org,2002:timestamp":Ll.timestamp};function kq(e,t,r){let n=GT.get(t);if(n&&!e)return r&&!n.includes(vi.merge)?n.concat(vi.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(GT.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(vi.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?NT[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(NT).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}lg.coreKnownTags=Eq;lg.getTags=kq});var pg=I(UT=>{"use strict";var ug=W(),Sq=xs(),Rq=Os(),vq=_i(),Gl=qT(),Tq=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,dg=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Gl.getTags(t,"compat"):t?Gl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Gl.coreKnownTags:{},this.tags=Gl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,ug.MAP,{value:Sq.map}),Object.defineProperty(this,ug.SCALAR,{value:vq.string}),Object.defineProperty(this,ug.SEQ,{value:Rq.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?Tq:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};UT.Schema=dg});var WT=I(HT=>{"use strict";var xq=W(),fg=yi(),Ti=fi();function Oq(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=fg.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(Ti.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(xq.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(Ti.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=fg.stringify(e.contents,s,()=>a=null,c);a&&(l+=Ti.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(fg.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
162
- `)?(r.push("..."),r.push(Ti.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(Ti.indentComment(o(c),"")))}return r.join(`
161
+ ${o.comment}`:n.comment}n=s}e.items[r]=Sl.isPair(n)?n:new Km.Pair(n)}}else t("Expected a sequence for this tag");return e}function ET(e,t,r){let{replacer:n}=r,s=new Jj.YAMLSeq(e);s.tag="tag:yaml.org,2002:pairs";let o=0;if(t&&Symbol.iterator in Object(t))for(let i of t){typeof n=="function"&&(i=n.call(t,String(o++),i));let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw new TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let l=Object.keys(i);if(l.length===1)a=l[0],c=i[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=i;s.items.push(Km.createPair(a,c,r))}return s}var Vj={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:_T,createNode:ET};Rl.createPairs=ET;Rl.pairs=Vj;Rl.resolvePairs=_T});var Qm=I(Ym=>{"use strict";var kT=W(),zm=Or(),Ei=Gr(),Kj=Nr(),ST=vl(),kn=class e extends Kj.YAMLSeq{constructor(){super(),this.add=Ei.YAMLMap.prototype.add.bind(this),this.delete=Ei.YAMLMap.prototype.delete.bind(this),this.get=Ei.YAMLMap.prototype.get.bind(this),this.has=Ei.YAMLMap.prototype.has.bind(this),this.set=Ei.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let s of this.items){let o,i;if(kT.isPair(s)?(o=zm.toJS(s.key,"",r),i=zm.toJS(s.value,o,r)):o=zm.toJS(s,"",r),n.has(o))throw new Error("Ordered maps must not include duplicate keys");n.set(o,i)}return n}static from(t,r,n){let s=ST.createPairs(t,r,n),o=new this;return o.items=s.items,o}};kn.tag="tag:yaml.org,2002:omap";var zj={collection:"seq",identify:e=>e instanceof Map,nodeClass:kn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=ST.resolvePairs(e,t),n=[];for(let{key:s}of r.items)kT.isScalar(s)&&(n.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new kn,r)},createNode:(e,t,r)=>kn.from(e,t,r)};Ym.YAMLOMap=kn;Ym.omap=zj});var OT=I(Xm=>{"use strict";var RT=ce();function vT({value:e,source:t},r){return t&&(e?TT:xT).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var TT={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new RT.Scalar(!0),stringify:vT},xT={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new RT.Scalar(!1),stringify:vT};Xm.falseTag=xT;Xm.trueTag=TT});var CT=I(Tl=>{"use strict";var Yj=ce(),Zm=As(),Qj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Zm.stringifyNumber},Xj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():Zm.stringifyNumber(e)}},Zj={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new Yj.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:Zm.stringifyNumber};Tl.float=Zj;Tl.floatExp=Xj;Tl.floatNaN=Qj});var PT=I(Si=>{"use strict";var AT=As(),ki=e=>typeof e=="bigint"||Number.isInteger(e);function xl(e,t,r,{intAsBigInt:n}){let s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return s==="-"?BigInt(-1)*i:i}let o=parseInt(e,r);return s==="-"?-1*o:o}function eg(e,t,r){let{value:n}=e;if(ki(n)){let s=n.toString(t);return n<0?"-"+r+s.substr(1):r+s}return AT.stringifyNumber(e)}var eq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>xl(e,2,2,r),stringify:e=>eg(e,2,"0b")},tq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>xl(e,1,8,r),stringify:e=>eg(e,8,"0")},rq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>xl(e,0,10,r),stringify:AT.stringifyNumber},nq={identify:ki,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>xl(e,2,16,r),stringify:e=>eg(e,16,"0x")};Si.int=rq;Si.intBin=eq;Si.intHex=nq;Si.intOct=tq});var rg=I(tg=>{"use strict";var Al=W(),Ol=Ir(),Cl=Gr(),Sn=class e extends Cl.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;Al.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new Ol.Pair(t.key,null):r=new Ol.Pair(t,null),Cl.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=Cl.findPair(this.items,t);return!r&&Al.isPair(n)?Al.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=Cl.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new Ol.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:s}=n,o=new this(t);if(r&&Symbol.iterator in Object(r))for(let i of r)typeof s=="function"&&(i=s.call(r,i,i)),o.items.push(Ol.createPair(i,null,n));return o}};Sn.tag="tag:yaml.org,2002:set";var sq={collection:"map",identify:e=>e instanceof Set,nodeClass:Sn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Sn.from(e,t,r),resolve(e,t){if(Al.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Sn,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};tg.YAMLSet=Sn;tg.set=sq});var sg=I(Pl=>{"use strict";var oq=As();function ng(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,s=i=>t?BigInt(i):Number(i),o=n.replace(/_/g,"").split(":").reduce((i,a)=>i*s(60)+s(a),s(0));return r==="-"?s(-1)*o:o}function IT(e){let{value:t}=e,r=i=>i;if(typeof t=="bigint")r=i=>BigInt(i);else if(isNaN(t)||!isFinite(t))return oq.stringifyNumber(e);let n="";t<0&&(n="-",t*=r(-1));let s=r(60),o=[t%s];return t<60?o.unshift(0):(t=(t-o[0])/s,o.unshift(t%s),t>=60&&(t=(t-o[0])/s,o.unshift(t))),n+o.map(i=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var iq={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>ng(e,r),stringify:IT},aq={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>ng(e,!1),stringify:IT},LT={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(LT.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,s,o,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,l=Date.UTC(r,n-1,s,o||0,i||0,a||0,c),u=t[8];if(u&&u!=="Z"){let d=ng(u,!1);Math.abs(d)<30&&(d*=60),l-=6e4*d}return new Date(l)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Pl.floatTime=aq;Pl.intTime=iq;Pl.timestamp=LT});var DT=I(NT=>{"use strict";var cq=Os(),lq=bl(),uq=Cs(),dq=wi(),pq=Vm(),GT=OT(),og=CT(),Il=PT(),fq=ul(),mq=Qm(),gq=vl(),hq=rg(),ig=sg(),yq=[cq.map,uq.seq,dq.string,lq.nullTag,GT.trueTag,GT.falseTag,Il.intBin,Il.intOct,Il.int,Il.intHex,og.floatNaN,og.floatExp,og.float,pq.binary,fq.merge,mq.omap,gq.pairs,hq.set,ig.intTime,ig.floatTime,ig.timestamp];NT.schema=yq});var JT=I(lg=>{"use strict";var BT=Os(),bq=bl(),jT=Cs(),wq=wi(),_q=Mm(),ag=jm(),cg=Um(),Eq=gT(),kq=bT(),qT=Vm(),Ri=ul(),UT=Qm(),HT=vl(),$T=DT(),WT=rg(),Ll=sg(),FT=new Map([["core",Eq.schema],["failsafe",[BT.map,jT.seq,wq.string]],["json",kq.schema],["yaml11",$T.schema],["yaml-1.1",$T.schema]]),MT={binary:qT.binary,bool:_q.boolTag,float:ag.float,floatExp:ag.floatExp,floatNaN:ag.floatNaN,floatTime:Ll.floatTime,int:cg.int,intHex:cg.intHex,intOct:cg.intOct,intTime:Ll.intTime,map:BT.map,merge:Ri.merge,null:bq.nullTag,omap:UT.omap,pairs:HT.pairs,seq:jT.seq,set:WT.set,timestamp:Ll.timestamp},Sq={"tag:yaml.org,2002:binary":qT.binary,"tag:yaml.org,2002:merge":Ri.merge,"tag:yaml.org,2002:omap":UT.omap,"tag:yaml.org,2002:pairs":HT.pairs,"tag:yaml.org,2002:set":WT.set,"tag:yaml.org,2002:timestamp":Ll.timestamp};function Rq(e,t,r){let n=FT.get(t);if(n&&!e)return r&&!n.includes(Ri.merge)?n.concat(Ri.merge):n.slice();let s=n;if(!s)if(Array.isArray(e))s=[];else{let o=Array.from(FT.keys()).filter(i=>i!=="yaml11").map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${o} or define customTags array`)}if(Array.isArray(e))for(let o of e)s=s.concat(o);else typeof e=="function"&&(s=e(s.slice()));return r&&(s=s.concat(Ri.merge)),s.reduce((o,i)=>{let a=typeof i=="string"?MT[i]:i;if(!a){let c=JSON.stringify(i),l=Object.keys(MT).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return o.includes(a)||o.push(a),o},[])}lg.coreKnownTags=Sq;lg.getTags=Rq});var pg=I(VT=>{"use strict";var ug=W(),vq=Os(),Tq=Cs(),xq=wi(),Gl=JT(),Oq=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0,dg=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:s,schema:o,sortMapEntries:i,toStringDefaults:a}){this.compat=Array.isArray(t)?Gl.getTags(t,"compat"):t?Gl.getTags(null,t):null,this.name=typeof o=="string"&&o||"core",this.knownTags=s?Gl.coreKnownTags:{},this.tags=Gl.getTags(r,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,ug.MAP,{value:vq.map}),Object.defineProperty(this,ug.SCALAR,{value:xq.string}),Object.defineProperty(this,ug.SEQ,{value:Tq.seq}),this.sortMapEntries=typeof i=="function"?i:i===!0?Oq:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};VT.Schema=dg});var zT=I(KT=>{"use strict";var Cq=W(),fg=hi(),vi=pi();function Aq(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let s=fg.createStringifyContext(e,t),{commentString:o}=s.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=o(e.commentBefore);r.unshift(vi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(Cq.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let u=o(e.contents.commentBefore);r.push(vi.indentComment(u,""))}s.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,l=fg.stringify(e.contents,s,()=>a=null,c);a&&(l+=vi.lineComment(l,"",o(a))),(l[0]==="|"||l[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${l}`:r.push(l)}else r.push(fg.stringify(e.contents,s));if(e.directives?.docEnd)if(e.comment){let c=o(e.comment);c.includes(`
162
+ `)?(r.push("..."),r.push(vi.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&i&&(c=c.replace(/^\n+/,"")),c&&((!i||a)&&r[r.length-1]!==""&&r.push(""),r.push(vi.indentComment(o(c),"")))}return r.join(`
163
163
  `)+`
164
- `}HT.stringifyDocument=Oq});var xi=I(JT=>{"use strict";var Cq=di(),As=el(),ut=W(),Aq=Ir(),Pq=Or(),Iq=pg(),Lq=WT(),mg=Yc(),Gq=bm(),Nq=pi(),gg=ym(),hg=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ut.NODE_TYPE,{value:ut.DOC});let s=null;typeof r=="function"||Array.isArray(r)?s=r:n===void 0&&r&&(n=r,r=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=o;let{version:i}=o;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new gg.Directives({version:i}),this.setSchema(i,n),this.contents=t===void 0?null:this.createNode(t,s,n)}clone(){let t=Object.create(e.prototype,{[ut.NODE_TYPE]:{value:ut.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=ut.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Ps(this.contents)&&this.contents.add(t)}addIn(t,r){Ps(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=mg.anchorNames(this);t.anchor=!r||n.has(r)?mg.findNewAnchor(r||"a",n):r}return new Cq.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let w=y=>typeof y=="number"||y instanceof String||y instanceof Number,b=r.filter(w).map(String);b.length>0&&(r=r.concat(b)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=mg.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},h=Nq.createNode(t,u,m);return a&&ut.isCollection(h)&&(h.flow=!0),p(),h}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new Aq.Pair(s,o)}delete(t){return Ps(this.contents)?this.contents.delete(t):!1}deleteIn(t){return As.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):Ps(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ut.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return As.isEmptyPath(t)?!r&&ut.isScalar(this.contents)?this.contents.value:this.contents:ut.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ut.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return As.isEmptyPath(t)?this.contents!==void 0:ut.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=As.collectionFromPath(this.schema,[t],r):Ps(this.contents)&&this.contents.set(t,r)}setIn(t,r){As.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=As.collectionFromPath(this.schema,Array.from(t),r):Ps(this.contents)&&this.contents.setIn(t,r)}setSchema(t,r={}){typeof t=="number"&&(t=String(t));let n;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new gg.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new gg.Directives({version:t}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(r.schema instanceof Object)this.schema=r.schema;else if(n)this.schema=new Iq.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=Pq.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"?Gq.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 Lq.stringifyDocument(this,t)}};function Ps(e){if(ut.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}JT.Document=hg});var Ai=I(Ci=>{"use strict";var Oi=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},yg=class extends Oi{constructor(t,r,n){super("YAMLParseError",t,r,n)}},bg=class extends Oi{constructor(t,r,n){super("YAMLWarning",t,r,n)}},Dq=(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
164
+ `}KT.stringifyDocument=Aq});var Ti=I(YT=>{"use strict";var Pq=ui(),Ps=el(),ut=W(),Iq=Ir(),Lq=Or(),Gq=pg(),Nq=zT(),mg=Yc(),Dq=bm(),$q=di(),gg=ym(),hg=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ut.NODE_TYPE,{value:ut.DOC});let s=null;typeof r=="function"||Array.isArray(r)?s=r:n===void 0&&r&&(n=r,r=void 0);let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=o;let{version:i}=o;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(i=this.directives.yaml.version)):this.directives=new gg.Directives({version:i}),this.setSchema(i,n),this.contents=t===void 0?null:this.createNode(t,s,n)}clone(){let t=Object.create(e.prototype,{[ut.NODE_TYPE]:{value:ut.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=ut.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){Is(this.contents)&&this.contents.add(t)}addIn(t,r){Is(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=mg.anchorNames(this);t.anchor=!r||n.has(r)?mg.findNewAnchor(r||"a",n):r}return new Pq.Alias(t.anchor)}createNode(t,r,n){let s;if(typeof r=="function")t=r.call({"":t},"",t),s=r;else if(Array.isArray(r)){let w=y=>typeof y=="number"||y instanceof String||y instanceof Number,b=r.filter(w).map(String);b.length>0&&(r=r.concat(b)),s=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:o,anchorPrefix:i,flow:a,keepUndefined:c,onTagObj:l,tag:u}=n??{},{onAnchor:d,setAnchors:p,sourceObjects:f}=mg.createNodeAnchors(this,i||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:c??!1,onAnchor:d,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:f},h=$q.createNode(t,u,m);return a&&ut.isCollection(h)&&(h.flow=!0),p(),h}createPair(t,r,n={}){let s=this.createNode(t,null,n),o=this.createNode(r,null,n);return new Iq.Pair(s,o)}delete(t){return Is(this.contents)?this.contents.delete(t):!1}deleteIn(t){return Ps.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):Is(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return ut.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return Ps.isEmptyPath(t)?!r&&ut.isScalar(this.contents)?this.contents.value:this.contents:ut.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return ut.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return Ps.isEmptyPath(t)?this.contents!==void 0:ut.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=Ps.collectionFromPath(this.schema,[t],r):Is(this.contents)&&this.contents.set(t,r)}setIn(t,r){Ps.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=Ps.collectionFromPath(this.schema,Array.from(t),r):Is(this.contents)&&this.contents.setIn(t,r)}setSchema(t,r={}){typeof t=="number"&&(t=String(t));let n;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new gg.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new gg.Directives({version:t}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(r.schema instanceof Object)this.schema=r.schema;else if(n)this.schema=new Gq.Schema(Object.assign(n,r));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:r,mapAsMap:n,maxAliasCount:s,onAnchor:o,reviver:i}={}){let a={anchors:new Map,doc:this,keep:!t,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},c=Lq.toJS(this.contents,r??"",a);if(typeof o=="function")for(let{count:l,res:u}of a.anchors.values())o(u,l);return typeof i=="function"?Dq.applyReviver(i,{"":c},"",c):c}toJSON(t,r){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:r})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let r=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${r}`)}return Nq.stringifyDocument(this,t)}};function Is(e){if(ut.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}YT.Document=hg});var Ci=I(Oi=>{"use strict";var xi=class extends Error{constructor(t,r,n,s){super(),this.name=t,this.code=n,this.message=s,this.pos=r}},yg=class extends xi{constructor(t,r,n){super("YAMLParseError",t,r,n)}},bg=class extends xi{constructor(t,r,n){super("YAMLWarning",t,r,n)}},Fq=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(a=>t.linePos(a));let{line:n,col:s}=r.linePos[0];r.message+=` at line ${n}, column ${s}`;let o=s-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(o>=60&&i.length>80){let a=Math.min(o-39,i.length-79);i="\u2026"+i.substring(a),o-=a-1}if(i.length>80&&(i=i.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(i.substring(0,o))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
165
165
  `),i=a+i}if(/[^ ]/.test(i)){let a=1,c=r.linePos[1];c?.line===n&&c.col>s&&(a=Math.max(1,Math.min(c.col-s,80-o)));let l=" ".repeat(o)+"^".repeat(a);r.message+=`:
166
166
 
167
167
  ${i}
168
168
  ${l}
169
- `}};Ci.YAMLError=Oi;Ci.YAMLParseError=yg;Ci.YAMLWarning=bg;Ci.prettifyError=Dq});var Pi=I(VT=>{"use strict";function $q(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,h=null,w=null,b=null,y=null,_=null,k=null,v=null;for(let C of e)switch(m&&(C.type!=="space"&&C.type!=="newline"&&C.type!=="comma"&&o(C.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),h&&(l&&C.type!=="comment"&&C.type!=="newline"&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),C.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&C.source.includes(" ")&&(h=C),u=!0;break;case"comment":{u||o(C,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let D=C.source.substring(1)||" ";d?d+=p+D:d=D,p="",l=!1;break}case"newline":l?d?d+=C.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=C.source,l=!0,f=!0,(w||b)&&(y=C),u=!0;break;case"anchor":w&&o(C,"MULTIPLE_ANCHORS","A node can have at most one anchor"),C.source.endsWith(":")&&o(C.offset+C.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=C,v??(v=C.offset),l=!1,u=!1,m=!0;break;case"tag":{b&&o(C,"MULTIPLE_TAGS","A node can have at most one tag"),b=C,v??(v=C.offset),l=!1,u=!1,m=!0;break}case r:(w||b)&&o(C,"BAD_PROP_ORDER",`Anchors and tags must be after the ${C.source} indicator`),k&&o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.source} in ${t??"collection"}`),k=C,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){_&&o(C,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=C,l=!1,u=!1;break}default:o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.type} token`),l=!1,u=!1}let O=e[e.length-1],A=O?O.offset+O.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(l&&h.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:_,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:w,tag:b,newlineAfterProp:y,end:A,start:v??A}}VT.resolveProps=$q});var Nl=I(KT=>{"use strict";function wg(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
170
- `))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(wg(t.key)||wg(t.value))return!0}return!1;default:return!0}}KT.containsNewline=wg});var _g=I(zT=>{"use strict";var Fq=Nl();function Mq(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&Fq.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}zT.flowIndentCheck=Mq});var Eg=I(QT=>{"use strict";var YT=W();function Bq(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||YT.isScalar(o)&&YT.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}QT.mapIncludes=Bq});var nx=I(rx=>{"use strict";var XT=Ir(),jq=Gr(),ZT=Pi(),qq=Nl(),ex=_g(),Uq=Eg(),tx="All mapping items must start at the same column";function Hq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??jq.YAMLMap,a=new i(r.schema);r.atRoot&&(r.atRoot=!1);let c=n.offset,l=null;for(let u of n.items){let{start:d,key:p,sep:f,value:m}=u,h=ZT.resolveProps(d,{indicator:"explicit-key-ind",next:p??f?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),w=!h.found;if(w){if(p&&(p.type==="block-seq"?s(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==n.indent&&s(c,"BAD_INDENT",tx)),!h.anchor&&!h.tag&&!f){l=h.end,h.comment&&(a.comment?a.comment+=`
171
- `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||qq.containsNewline(p))&&s(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==n.indent&&s(c,"BAD_INDENT",tx);r.atKey=!0;let b=h.end,y=p?e(r,p,h,s):t(r,b,d,null,h,s);r.schema.compat&&ex.flowIndentCheck(n.indent,p,s),r.atKey=!1,Uq.mapIncludes(r,a.items,y)&&s(b,"DUPLICATE_KEY","Map keys must be unique");let _=ZT.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:y.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=_.end,_.found){w&&(m?.type==="block-map"&&!_.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&h.start<_.found.offset-1024&&s(y.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,_,s):t(r,c,f,null,_,s);r.schema.compat&&ex.flowIndentCheck(n.indent,m,s),c=k.range[2];let v=new XT.Pair(y,k);r.options.keepSourceTokens&&(v.srcToken=u),a.items.push(v)}else{w&&s(y.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),_.comment&&(y.comment?y.comment+=`
172
- `+_.comment:y.comment=_.comment);let k=new XT.Pair(y);r.options.keepSourceTokens&&(k.srcToken=u),a.items.push(k)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}rx.resolveBlockMap=Hq});var ox=I(sx=>{"use strict";var Wq=Nr(),Jq=Pi(),Vq=_g();function Kq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??Wq.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=Jq.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&&Vq.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}sx.resolveBlockSeq=Kq});var Is=I(ix=>{"use strict";function zq(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}}ix.resolveEnd=zq});var ux=I(lx=>{"use strict";var Yq=W(),Qq=Ir(),ax=Gr(),Xq=Nr(),Zq=Is(),cx=Pi(),eU=Nl(),tU=Eg(),kg="Block collections are not allowed within flow collections",Sg=e=>e&&(e.type==="block-map"||e.type==="block-seq");function rU({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?ax.YAMLMap:Xq.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let w=0;w<n.items.length;++w){let b=n.items[w],{start:y,key:_,sep:k,value:v}=b,O=cx.resolveProps(y,{flow:a,indicator:"explicit-key-ind",next:_??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!O.found){if(!O.anchor&&!O.tag&&!k&&!v){w===0&&O.comma?s(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):w<n.items.length-1&&s(O.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),O.comment&&(l.comment?l.comment+=`
173
- `+O.comment:l.comment=O.comment),d=O.end;continue}!i&&r.options.strict&&eU.containsNewline(_)&&s(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(w===0)O.comma&&s(O.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(O.comma||s(O.start,"MISSING_CHAR",`Missing , between ${a} items`),O.comment){let A="";e:for(let C of y)switch(C.type){case"comma":case"space":break;case"comment":A=C.source.substring(1);break e;default:break e}if(A){let C=l.items[l.items.length-1];Yq.isPair(C)&&(C=C.value??C.key),C.comment?C.comment+=`
174
- `+A:C.comment=A,O.comment=O.comment.substring(A.length+1)}}if(!i&&!k&&!O.found){let A=v?e(r,v,O,s):t(r,O.end,k,null,O,s);l.items.push(A),d=A.range[2],Sg(v)&&s(A.range,"BLOCK_IN_FLOW",kg)}else{r.atKey=!0;let A=O.end,C=_?e(r,_,O,s):t(r,A,y,null,O,s);Sg(_)&&s(C.range,"BLOCK_IN_FLOW",kg),r.atKey=!1;let D=cx.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:v,offset:C.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(D.found){if(!i&&!O.found&&r.options.strict){if(k)for(let Y of k){if(Y===D.found)break;if(Y.type==="newline"){s(Y,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}O.start<D.found.offset-1024&&s(D.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else v&&("source"in v&&v.source?.[0]===":"?s(v,"MISSING_CHAR",`Missing space after : in ${a}`):s(D.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let J=v?e(r,v,D,s):D.found?t(r,D.end,k,null,D,s):null;J?Sg(v)&&s(J.range,"BLOCK_IN_FLOW",kg):D.comment&&(C.comment?C.comment+=`
175
- `+D.comment:C.comment=D.comment);let z=new Qq.Pair(C,J);if(r.options.keepSourceTokens&&(z.srcToken=b),i){let Y=l;tU.mapIncludes(r,Y.items,C)&&s(A,"DUPLICATE_KEY","Map keys must be unique"),Y.items.push(z)}else{let Y=new ax.YAMLMap(r.schema);Y.flow=!0,Y.items.push(z);let G=(J??C).range;Y.range=[C.range[0],G[1],G[2]],l.items.push(Y)}d=J?J.range[2]:D.end}}let p=i?"}":"]",[f,...m]=n.end,h=d;if(f?.source===p)h=f.offset+f.source.length;else{let w=a[0].toUpperCase()+a.substring(1),b=u?`${w} must end with a ${p}`:`${w} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",b),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let w=Zq.resolveEnd(m,h,r.options.strict,s);w.comment&&(l.comment?l.comment+=`
176
- `+w.comment:l.comment=w.comment),l.range=[n.offset,h,w.offset]}else l.range=[n.offset,h,h];return l}lx.resolveFlowCollection=rU});var px=I(dx=>{"use strict";var nU=W(),sU=ce(),oU=Gr(),iU=Nr(),aU=nx(),cU=ox(),lU=ux();function Rg(e,t,r,n,s,o){let i=r.type==="block-map"?aU.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?cU.resolveBlockSeq(e,t,r,n,o):lU.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 uU(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===oU.YAMLMap.tagName&&a==="map"||i===iU.YAMLSeq.tagName&&a==="seq")return Rg(e,t,r,s,i);let c=t.schema.tags.find(p=>p.tag===i&&p.collection===a);if(!c){let p=t.schema.knownTags[i];if(p?.collection===a)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?s(o,"BAD_COLLECTION_TYPE",`${p.tag} used for ${a} collection, but expects ${p.collection??"scalar"}`,!0):s(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0),Rg(e,t,r,s,i)}let l=Rg(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=nU.isNode(u)?u:new sU.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}dx.composeCollection=uU});var Tg=I(fx=>{"use strict";var vg=ce();function dU(e,t,r){let n=t.offset,s=pU(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?vg.Scalar.BLOCK_FOLDED:vg.Scalar.BLOCK_LITERAL,i=t.source?fU(t.source):[],a=i.length;for(let h=i.length-1;h>=0;--h){let w=i[h][1];if(w===""||w==="\r")a=h;else break}if(a===0){let h=s.chomp==="+"&&i.length>0?`
169
+ `}};Oi.YAMLError=xi;Oi.YAMLParseError=yg;Oi.YAMLWarning=bg;Oi.prettifyError=Fq});var Ai=I(QT=>{"use strict";function Mq(e,{flow:t,indicator:r,next:n,offset:s,onError:o,parentIndent:i,startOnNewline:a}){let c=!1,l=a,u=a,d="",p="",f=!1,m=!1,h=null,w=null,b=null,y=null,_=null,k=null,v=null;for(let C of e)switch(m&&(C.type!=="space"&&C.type!=="newline"&&C.type!=="comma"&&o(C.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m=!1),h&&(l&&C.type!=="comment"&&C.type!=="newline"&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),C.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&C.source.includes(" ")&&(h=C),u=!0;break;case"comment":{u||o(C,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let D=C.source.substring(1)||" ";d?d+=p+D:d=D,p="",l=!1;break}case"newline":l?d?d+=C.source:(!k||r!=="seq-item-ind")&&(c=!0):p+=C.source,l=!0,f=!0,(w||b)&&(y=C),u=!0;break;case"anchor":w&&o(C,"MULTIPLE_ANCHORS","A node can have at most one anchor"),C.source.endsWith(":")&&o(C.offset+C.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),w=C,v??(v=C.offset),l=!1,u=!1,m=!0;break;case"tag":{b&&o(C,"MULTIPLE_TAGS","A node can have at most one tag"),b=C,v??(v=C.offset),l=!1,u=!1,m=!0;break}case r:(w||b)&&o(C,"BAD_PROP_ORDER",`Anchors and tags must be after the ${C.source} indicator`),k&&o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.source} in ${t??"collection"}`),k=C,l=r==="seq-item-ind"||r==="explicit-key-ind",u=!1;break;case"comma":if(t){_&&o(C,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),_=C,l=!1,u=!1;break}default:o(C,"UNEXPECTED_TOKEN",`Unexpected ${C.type} token`),l=!1,u=!1}let x=e[e.length-1],A=x?x.offset+x.source.length:s;return m&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&o(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(l&&h.indent<=i||n?.type==="block-map"||n?.type==="block-seq")&&o(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:_,found:k,spaceBefore:c,comment:d,hasNewline:f,anchor:w,tag:b,newlineAfterProp:y,end:A,start:v??A}}QT.resolveProps=Mq});var Nl=I(XT=>{"use strict";function wg(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
170
+ `))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(wg(t.key)||wg(t.value))return!0}return!1;default:return!0}}XT.containsNewline=wg});var _g=I(ZT=>{"use strict";var Bq=Nl();function jq(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&Bq.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}ZT.flowIndentCheck=jq});var Eg=I(tx=>{"use strict";var ex=W();function qq(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let s=typeof n=="function"?n:(o,i)=>o===i||ex.isScalar(o)&&ex.isScalar(i)&&o.value===i.value;return t.some(o=>s(o.key,r))}tx.mapIncludes=qq});var ax=I(ix=>{"use strict";var rx=Ir(),Uq=Gr(),nx=Ai(),Hq=Nl(),sx=_g(),Wq=Eg(),ox="All mapping items must start at the same column";function Jq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??Uq.YAMLMap,a=new i(r.schema);r.atRoot&&(r.atRoot=!1);let c=n.offset,l=null;for(let u of n.items){let{start:d,key:p,sep:f,value:m}=u,h=nx.resolveProps(d,{indicator:"explicit-key-ind",next:p??f?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),w=!h.found;if(w){if(p&&(p.type==="block-seq"?s(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in p&&p.indent!==n.indent&&s(c,"BAD_INDENT",ox)),!h.anchor&&!h.tag&&!f){l=h.end,h.comment&&(a.comment?a.comment+=`
171
+ `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||Hq.containsNewline(p))&&s(p??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==n.indent&&s(c,"BAD_INDENT",ox);r.atKey=!0;let b=h.end,y=p?e(r,p,h,s):t(r,b,d,null,h,s);r.schema.compat&&sx.flowIndentCheck(n.indent,p,s),r.atKey=!1,Wq.mapIncludes(r,a.items,y)&&s(b,"DUPLICATE_KEY","Map keys must be unique");let _=nx.resolveProps(f??[],{indicator:"map-value-ind",next:m,offset:y.range[2],onError:s,parentIndent:n.indent,startOnNewline:!p||p.type==="block-scalar"});if(c=_.end,_.found){w&&(m?.type==="block-map"&&!_.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&h.start<_.found.offset-1024&&s(y.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let k=m?e(r,m,_,s):t(r,c,f,null,_,s);r.schema.compat&&sx.flowIndentCheck(n.indent,m,s),c=k.range[2];let v=new rx.Pair(y,k);r.options.keepSourceTokens&&(v.srcToken=u),a.items.push(v)}else{w&&s(y.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),_.comment&&(y.comment?y.comment+=`
172
+ `+_.comment:y.comment=_.comment);let k=new rx.Pair(y);r.options.keepSourceTokens&&(k.srcToken=u),a.items.push(k)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}ix.resolveBlockMap=Jq});var lx=I(cx=>{"use strict";var Vq=Nr(),Kq=Ai(),zq=_g();function Yq({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=o?.nodeClass??Vq.YAMLSeq,a=new i(r.schema);r.atRoot&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let c=n.offset,l=null;for(let{start:u,value:d}of n.items){let p=Kq.resolveProps(u,{indicator:"seq-item-ind",next:d,offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0});if(!p.found)if(p.anchor||p.tag||d)d?.type==="block-seq"?s(p.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{l=p.end,p.comment&&(a.comment=p.comment);continue}let f=d?e(r,d,p,s):t(r,p.end,u,null,p,s);r.schema.compat&&zq.flowIndentCheck(n.indent,d,s),c=f.range[2],a.items.push(f)}return a.range=[n.offset,c,l??c],a}cx.resolveBlockSeq=Yq});var Ls=I(ux=>{"use strict";function Qq(e,t,r,n){let s="";if(e){let o=!1,i="";for(let a of e){let{source:c,type:l}=a;switch(l){case"space":o=!0;break;case"comment":{r&&!o&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let u=c.substring(1)||" ";s?s+=i+u:s=u,i="";break}case"newline":s&&(i+=c),o=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}t+=c.length}}return{comment:s,offset:t}}ux.resolveEnd=Qq});var mx=I(fx=>{"use strict";var Xq=W(),Zq=Ir(),dx=Gr(),eU=Nr(),tU=Ls(),px=Ai(),rU=Nl(),nU=Eg(),kg="Block collections are not allowed within flow collections",Sg=e=>e&&(e.type==="block-map"||e.type==="block-seq");function sU({composeNode:e,composeEmptyNode:t},r,n,s,o){let i=n.start.source==="{",a=i?"flow map":"flow sequence",c=o?.nodeClass??(i?dx.YAMLMap:eU.YAMLSeq),l=new c(r.schema);l.flow=!0;let u=r.atRoot;u&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let d=n.offset+n.start.source.length;for(let w=0;w<n.items.length;++w){let b=n.items[w],{start:y,key:_,sep:k,value:v}=b,x=px.resolveProps(y,{flow:a,indicator:"explicit-key-ind",next:_??k?.[0],offset:d,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!k&&!v){w===0&&x.comma?s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):w<n.items.length-1&&s(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),x.comment&&(l.comment?l.comment+=`
173
+ `+x.comment:l.comment=x.comment),d=x.end;continue}!i&&r.options.strict&&rU.containsNewline(_)&&s(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(w===0)x.comma&&s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(x.comma||s(x.start,"MISSING_CHAR",`Missing , between ${a} items`),x.comment){let A="";e:for(let C of y)switch(C.type){case"comma":case"space":break;case"comment":A=C.source.substring(1);break e;default:break e}if(A){let C=l.items[l.items.length-1];Xq.isPair(C)&&(C=C.value??C.key),C.comment?C.comment+=`
174
+ `+A:C.comment=A,x.comment=x.comment.substring(A.length+1)}}if(!i&&!k&&!x.found){let A=v?e(r,v,x,s):t(r,x.end,k,null,x,s);l.items.push(A),d=A.range[2],Sg(v)&&s(A.range,"BLOCK_IN_FLOW",kg)}else{r.atKey=!0;let A=x.end,C=_?e(r,_,x,s):t(r,A,y,null,x,s);Sg(_)&&s(C.range,"BLOCK_IN_FLOW",kg),r.atKey=!1;let D=px.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:v,offset:C.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(D.found){if(!i&&!x.found&&r.options.strict){if(k)for(let Q of k){if(Q===D.found)break;if(Q.type==="newline"){s(Q,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<D.found.offset-1024&&s(D.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else v&&("source"in v&&v.source?.[0]===":"?s(v,"MISSING_CHAR",`Missing space after : in ${a}`):s(D.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let V=v?e(r,v,D,s):D.found?t(r,D.end,k,null,D,s):null;V?Sg(v)&&s(V.range,"BLOCK_IN_FLOW",kg):D.comment&&(C.comment?C.comment+=`
175
+ `+D.comment:C.comment=D.comment);let Y=new Zq.Pair(C,V);if(r.options.keepSourceTokens&&(Y.srcToken=b),i){let Q=l;nU.mapIncludes(r,Q.items,C)&&s(A,"DUPLICATE_KEY","Map keys must be unique"),Q.items.push(Y)}else{let Q=new dx.YAMLMap(r.schema);Q.flow=!0,Q.items.push(Y);let G=(V??C).range;Q.range=[C.range[0],G[1],G[2]],l.items.push(Q)}d=V?V.range[2]:D.end}}let p=i?"}":"]",[f,...m]=n.end,h=d;if(f?.source===p)h=f.offset+f.source.length;else{let w=a[0].toUpperCase()+a.substring(1),b=u?`${w} must end with a ${p}`:`${w} in block collection must be sufficiently indented and end with a ${p}`;s(d,u?"MISSING_CHAR":"BAD_INDENT",b),f&&f.source.length!==1&&m.unshift(f)}if(m.length>0){let w=tU.resolveEnd(m,h,r.options.strict,s);w.comment&&(l.comment?l.comment+=`
176
+ `+w.comment:l.comment=w.comment),l.range=[n.offset,h,w.offset]}else l.range=[n.offset,h,h];return l}fx.resolveFlowCollection=sU});var hx=I(gx=>{"use strict";var oU=W(),iU=ce(),aU=Gr(),cU=Nr(),lU=ax(),uU=lx(),dU=mx();function Rg(e,t,r,n,s,o){let i=r.type==="block-map"?lU.resolveBlockMap(e,t,r,n,o):r.type==="block-seq"?uU.resolveBlockSeq(e,t,r,n,o):dU.resolveFlowCollection(e,t,r,n,o),a=i.constructor;return s==="!"||s===a.tagName?(i.tag=a.tagName,i):(s&&(i.tag=s),i)}function pU(e,t,r,n,s){let o=n.tag,i=o?t.directives.tagName(o.source,p=>s(o,"TAG_RESOLVE_FAILED",p)):null;if(r.type==="block-seq"){let{anchor:p,newlineAfterProp:f}=n,m=p&&o?p.offset>o.offset?p:o:p??o;m&&(!f||f.offset<m.offset)&&s(m,"MISSING_CHAR","Missing newline after block sequence props")}let a=r.type==="block-map"?"map":r.type==="block-seq"?"seq":r.start.source==="{"?"map":"seq";if(!o||!i||i==="!"||i===aU.YAMLMap.tagName&&a==="map"||i===cU.YAMLSeq.tagName&&a==="seq")return Rg(e,t,r,s,i);let c=t.schema.tags.find(p=>p.tag===i&&p.collection===a);if(!c){let p=t.schema.knownTags[i];if(p?.collection===a)t.schema.tags.push(Object.assign({},p,{default:!1})),c=p;else return p?s(o,"BAD_COLLECTION_TYPE",`${p.tag} used for ${a} collection, but expects ${p.collection??"scalar"}`,!0):s(o,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0),Rg(e,t,r,s,i)}let l=Rg(e,t,r,s,i,c),u=c.resolve?.(l,p=>s(o,"TAG_RESOLVE_FAILED",p),t.options)??l,d=oU.isNode(u)?u:new iU.Scalar(u);return d.range=l.range,d.tag=i,c?.format&&(d.format=c.format),d}gx.composeCollection=pU});var Tg=I(yx=>{"use strict";var vg=ce();function fU(e,t,r){let n=t.offset,s=mU(t,e.options.strict,r);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let o=s.mode===">"?vg.Scalar.BLOCK_FOLDED:vg.Scalar.BLOCK_LITERAL,i=t.source?gU(t.source):[],a=i.length;for(let h=i.length-1;h>=0;--h){let w=i[h][1];if(w===""||w==="\r")a=h;else break}if(a===0){let h=s.chomp==="+"&&i.length>0?`
177
177
  `.repeat(Math.max(1,i.length-1)):"",w=n+s.length;return t.source&&(w+=t.source.length),{value:h,type:o,comment:s.comment,range:[n,w,w]}}let c=t.indent+s.indent,l=t.offset+s.length,u=0;for(let h=0;h<a;++h){let[w,b]=i[h];if(b===""||b==="\r")s.indent===0&&w.length>c&&(c=w.length);else{w.length<c&&r(l+w.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=w.length),u=h,c===0&&!e.atRoot&&r(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=w.length+b.length+1}for(let h=i.length-1;h>=a;--h)i[h][0].length>c&&(a=h+1);let d="",p="",f=!1;for(let h=0;h<u;++h)d+=i[h][0].slice(c)+`
178
178
  `;for(let h=u;h<a;++h){let[w,b]=i[h];l+=w.length+b.length+1;let y=b[b.length-1]==="\r";if(y&&(b=b.slice(0,-1)),b&&w.length<c){let k=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;r(l-b.length-(y?2:1),"BAD_INDENT",k),w=""}o===vg.Scalar.BLOCK_LITERAL?(d+=p+w.slice(c)+b,p=`
179
179
  `):w.length>c||b[0]===" "?(p===" "?p=`
@@ -188,130 +188,132 @@ ${l}
188
188
  `+i[h][0].slice(c);d[d.length-1]!==`
189
189
  `&&(d+=`
190
190
  `);break;default:d+=`
191
- `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function pU({offset:e,props:t},r,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:s}=t[0],o=s[0],i=0,a="",c=-1;for(let p=1;p<s.length;++p){let f=s[p];if(!a&&(f==="-"||f==="+"))a=f;else{let m=Number(f);!i&&m?i=m:c===-1&&(c=e+p)}}c!==-1&&n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let l=!1,u="",d=s.length;for(let p=1;p<t.length;++p){let f=t[p];switch(f.type){case"space":l=!0;case"newline":d+=f.source.length;break;case"comment":r&&!l&&n(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=f.source.length,u=f.source.substring(1);break;case"error":n(f,"UNEXPECTED_TOKEN",f.message),d+=f.source.length;break;default:{let m=`Unexpected token in block scalar header: ${f.type}`;n(f,"UNEXPECTED_TOKEN",m);let h=f.source;h&&typeof h=="string"&&(d+=h.length)}}}return{mode:o,indent:i,chomp:a,comment:u,length:d}}function fU(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}fx.resolveBlockScalar=dU});var Og=I(gx=>{"use strict";var xg=ce(),mU=Is();function gU(e,t,r){let{offset:n,type:s,source:o,end:i}=e,a,c,l=(p,f,m)=>r(n+p,f,m);switch(s){case"scalar":a=xg.Scalar.PLAIN,c=hU(o,l);break;case"single-quoted-scalar":a=xg.Scalar.QUOTE_SINGLE,c=yU(o,l);break;case"double-quoted-scalar":a=xg.Scalar.QUOTE_DOUBLE,c=bU(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=mU.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function hU(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}`),mx(e)}function yU(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),mx(e.slice(1,-1)).replace(/''/g,"'")}function mx(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
191
+ `}let m=n+s.length+t.source.length;return{value:d,type:o,comment:s.comment,range:[n,m,m]}}function mU({offset:e,props:t},r,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:s}=t[0],o=s[0],i=0,a="",c=-1;for(let p=1;p<s.length;++p){let f=s[p];if(!a&&(f==="-"||f==="+"))a=f;else{let m=Number(f);!i&&m?i=m:c===-1&&(c=e+p)}}c!==-1&&n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let l=!1,u="",d=s.length;for(let p=1;p<t.length;++p){let f=t[p];switch(f.type){case"space":l=!0;case"newline":d+=f.source.length;break;case"comment":r&&!l&&n(f,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),d+=f.source.length,u=f.source.substring(1);break;case"error":n(f,"UNEXPECTED_TOKEN",f.message),d+=f.source.length;break;default:{let m=`Unexpected token in block scalar header: ${f.type}`;n(f,"UNEXPECTED_TOKEN",m);let h=f.source;h&&typeof h=="string"&&(d+=h.length)}}}return{mode:o,indent:i,chomp:a,comment:u,length:d}}function gU(e){let t=e.split(/\n( *)/),r=t[0],n=r.match(/^( *)/),o=[n?.[1]?[n[1],r.slice(n[1].length)]:["",r]];for(let i=1;i<t.length;i+=2)o.push([t[i],t[i+1]]);return o}yx.resolveBlockScalar=fU});var Og=I(wx=>{"use strict";var xg=ce(),hU=Ls();function yU(e,t,r){let{offset:n,type:s,source:o,end:i}=e,a,c,l=(p,f,m)=>r(n+p,f,m);switch(s){case"scalar":a=xg.Scalar.PLAIN,c=bU(o,l);break;case"single-quoted-scalar":a=xg.Scalar.QUOTE_SINGLE,c=wU(o,l);break;case"double-quoted-scalar":a=xg.Scalar.QUOTE_DOUBLE,c=_U(o,l);break;default:return r(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[n,n+o.length,n+o.length]}}let u=n+o.length,d=hU.resolveEnd(i,u,t,r);return{value:c,type:a,comment:d.comment,range:[n,u,d.offset]}}function bU(e,t){let r="";switch(e[0]){case" ":r="a tab character";break;case",":r="flow indicator character ,";break;case"%":r="directive indicator character %";break;case"|":case">":{r=`block scalar indicator ${e[0]}`;break}case"@":case"`":{r=`reserved character ${e[0]}`;break}}return r&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${r}`),bx(e)}function wU(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),bx(e.slice(1,-1)).replace(/''/g,"'")}function bx(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
192
192
  `,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
193
193
  `,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let s=n[1],o=" ",i=t.lastIndex;for(r.lastIndex=i;n=r.exec(e);)n[1]===""?o===`
194
194
  `?s+=o:o=`
195
- `:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function bU(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
195
+ `:(s+=o+n[1],o=" "),i=r.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),s+o+(n?.[1]??"")}function _U(e,t){let r="";for(let n=1;n<e.length-1;++n){let s=e[n];if(!(s==="\r"&&e[n+1]===`
196
196
  `))if(s===`
197
- `){let{fold:o,offset:i}=wU(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=_U[o];if(i)r+=i;else if(o===`
197
+ `){let{fold:o,offset:i}=EU(e,n);r+=o,n=i}else if(s==="\\"){let o=e[++n],i=kU[o];if(i)r+=i;else if(o===`
198
198
  `)for(o=e[n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="\r"&&e[n+1]===`
199
- `)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=EU(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!==`
199
+ `)for(o=e[++n+1];o===" "||o===" ";)o=e[++n+1];else if(o==="x"||o==="u"||o==="U"){let a=o==="x"?2:o==="u"?4:8;r+=SU(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(s===" "||s===" "){let o=n,i=e[n+1];for(;i===" "||i===" ";)i=e[++n+1];i!==`
200
200
  `&&!(i==="\r"&&e[n+2]===`
201
- `)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function wU(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
201
+ `)&&(r+=n>o?e.slice(o,n+1):s)}else r+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function EU(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===`
202
202
  `||n==="\r")&&!(n==="\r"&&e[t+2]!==`
203
203
  `);)n===`
204
204
  `&&(r+=`
205
- `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var _U={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
206
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function EU(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}}gx.resolveFlowScalar=gU});var bx=I(yx=>{"use strict";var Rn=W(),hx=ce(),kU=Tg(),SU=Og();function RU(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?kU.resolveBlockScalar(e,t,n):SU.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,d=>n(r,"TAG_RESOLVE_FAILED",d)):null,l;e.options.stringKeys&&e.atKey?l=e.schema[Rn.SCALAR]:c?l=vU(e.schema,s,c,r,n):t.type==="scalar"?l=TU(e,s,t,n):l=e.schema[Rn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=Rn.isScalar(d)?d:new hx.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new hx.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 vU(e,t,r,n,s){if(r==="!")return e[Rn.SCALAR];let o=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)o.push(a);else return a;for(let a of o)if(a.test?.test(t))return a;let i=e.knownTags[r];return i&&!i.collection?(e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[Rn.SCALAR])}function TU({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[Rn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[Rn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),l=t.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;o(s,"TAG_RESOLVE_FAILED",u,!0)}}return i}yx.composeScalar=RU});var _x=I(wx=>{"use strict";function xU(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}wx.emptyScalarPosition=xU});var Sx=I(Ag=>{"use strict";var OU=di(),CU=W(),AU=px(),Ex=bx(),PU=Is(),IU=_x(),LU={composeNode:kx,composeEmptyNode:Cg};function kx(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=GU(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=Ex.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=AU.composeCollection(LU,e,t,r,n),a&&(l.anchor=a.source.substring(1))}catch(d){let p=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",p)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),u=!1}}return l??(l=Cg(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!CU.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function Cg(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:IU.emptyScalarPosition(t,r,n),indent:-1,source:""},d=Ex.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 GU({options:e},{offset:t,source:r,end:n},s){let o=new OU.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=PU.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Ag.composeEmptyNode=Cg;Ag.composeNode=kx});var Tx=I(vx=>{"use strict";var NU=xi(),Rx=Sx(),DU=Is(),$U=Pi();function FU(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new NU.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=$U.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?Rx.composeNode(l,s,u,i):Rx.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=DU.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}vx.composeDoc=FU});var Ig=I(Cx=>{"use strict";var MU=Xi("process"),BU=ym(),jU=xi(),Ii=Ai(),xx=W(),qU=Tx(),UU=Is();function Li(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 Ox(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?`
205
+ `),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var kU={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
206
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function SU(e,t,r,n){let s=e.substr(t,r),i=s.length===r&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;try{return String.fromCodePoint(i)}catch{let a=e.substr(t-2,r+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}wx.resolveFlowScalar=yU});var kx=I(Ex=>{"use strict";var Rn=W(),_x=ce(),RU=Tg(),vU=Og();function TU(e,t,r,n){let{value:s,type:o,comment:i,range:a}=t.type==="block-scalar"?RU.resolveBlockScalar(e,t,n):vU.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,d=>n(r,"TAG_RESOLVE_FAILED",d)):null,l;e.options.stringKeys&&e.atKey?l=e.schema[Rn.SCALAR]:c?l=xU(e.schema,s,c,r,n):t.type==="scalar"?l=OU(e,s,t,n):l=e.schema[Rn.SCALAR];let u;try{let d=l.resolve(s,p=>n(r??t,"TAG_RESOLVE_FAILED",p),e.options);u=Rn.isScalar(d)?d:new _x.Scalar(d)}catch(d){let p=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",p),u=new _x.Scalar(s)}return u.range=a,u.source=s,o&&(u.type=o),c&&(u.tag=c),l.format&&(u.format=l.format),i&&(u.comment=i),u}function xU(e,t,r,n,s){if(r==="!")return e[Rn.SCALAR];let o=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)o.push(a);else return a;for(let a of o)if(a.test?.test(t))return a;let i=e.knownTags[r];return i&&!i.collection?(e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[Rn.SCALAR])}function OU({atKey:e,directives:t,schema:r},n,s,o){let i=r.tags.find(a=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[Rn.SCALAR];if(r.compat){let a=r.compat.find(c=>c.default&&c.test?.test(n))??r[Rn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),l=t.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;o(s,"TAG_RESOLVE_FAILED",u,!0)}}return i}Ex.composeScalar=TU});var Rx=I(Sx=>{"use strict";function CU(e,t,r){if(t){r??(r=t.length);for(let n=r-1;n>=0;--n){let s=t[n];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++n];s?.type==="space";)e+=s.source.length,s=t[++n];break}}return e}Sx.emptyScalarPosition=CU});var xx=I(Ag=>{"use strict";var AU=ui(),PU=W(),IU=hx(),vx=kx(),LU=Ls(),GU=Rx(),NU={composeNode:Tx,composeEmptyNode:Cg};function Tx(e,t,r,n){let s=e.atKey,{spaceBefore:o,comment:i,anchor:a,tag:c}=r,l,u=!0;switch(t.type){case"alias":l=DU(e,t,n),(a||c)&&n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=vx.composeScalar(e,t,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=IU.composeCollection(NU,e,t,r,n),a&&(l.anchor=a.source.substring(1))}catch(d){let p=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",p)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),u=!1}}return l??(l=Cg(e,t.offset,void 0,null,r,n)),a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!PU.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),o&&(l.spaceBefore=!0),i&&(t.type==="scalar"&&t.source===""?l.comment=i:l.commentBefore=i),e.options.keepSourceTokens&&u&&(l.srcToken=t),l}function Cg(e,t,r,n,{spaceBefore:s,comment:o,anchor:i,tag:a,end:c},l){let u={type:"scalar",offset:GU.emptyScalarPosition(t,r,n),indent:-1,source:""},d=vx.composeScalar(e,u,a,l);return i&&(d.anchor=i.source.substring(1),d.anchor===""&&l(i,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(d.spaceBefore=!0),o&&(d.comment=o,d.range[2]=c),d}function DU({options:e},{offset:t,source:r,end:n},s){let o=new AU.Alias(r.substring(1));o.source===""&&s(t,"BAD_ALIAS","Alias cannot be an empty string"),o.source.endsWith(":")&&s(t+r.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=t+r.length,a=LU.resolveEnd(n,i,e.strict,s);return o.range=[t,i,a.offset],a.comment&&(o.comment=a.comment),o}Ag.composeEmptyNode=Cg;Ag.composeNode=Tx});var Ax=I(Cx=>{"use strict";var $U=Ti(),Ox=xx(),FU=Ls(),MU=Ai();function BU(e,t,{offset:r,start:n,value:s,end:o},i){let a=Object.assign({_directives:t},e),c=new $U.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=MU.resolveProps(n,{indicator:"doc-start",next:s??o?.[0],offset:r,onError:i,parentIndent:0,startOnNewline:!0});u.found&&(c.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!u.hasNewline&&i(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=s?Ox.composeNode(l,s,u,i):Ox.composeEmptyNode(l,u.end,n,null,u,i);let d=c.contents.range[2],p=FU.resolveEnd(o,d,!1,i);return p.comment&&(c.comment=p.comment),c.range=[r,d,p.offset],c}Cx.composeDoc=BU});var Ig=I(Lx=>{"use strict";var jU=Xi("process"),qU=ym(),UU=Ti(),Pi=Ci(),Px=W(),HU=Ax(),WU=Ls();function Ii(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function Ix(e){let t="",r=!1,n=!1;for(let s=0;s<e.length;++s){let o=e[s];switch(o[0]){case"#":t+=(t===""?"":n?`
207
207
 
208
208
  `:`
209
- `)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var Pg=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Li(r);o?this.warnings.push(new Ii.YAMLWarning(i,n,s)):this.errors.push(new Ii.YAMLParseError(i,n,s))},this.directives=new BU.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=Ox(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
210
- ${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(xx.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];xx.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
209
+ `)+(o.substring(1)||" "),r=!0,n=!1;break;case"%":e[s+1]?.[0]!=="#"&&(s+=1),r=!1;break;default:r||(n=!0),r=!1}}return{comment:t,afterEmptyLine:n}}var Pg=class{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(r,n,s,o)=>{let i=Ii(r);o?this.warnings.push(new Pi.YAMLWarning(i,n,s)):this.errors.push(new Pi.YAMLParseError(i,n,s))},this.directives=new qU.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:s}=Ix(this.prelude);if(n){let o=t.contents;if(r)t.comment=t.comment?`${t.comment}
210
+ ${n}`:n;else if(s||t.directives.docStart||!o)t.commentBefore=n;else if(Px.isCollection(o)&&!o.flow&&o.items.length>0){let i=o.items[0];Px.isPair(i)&&(i=i.key);let a=i.commentBefore;i.commentBefore=a?`${n}
211
211
  ${a}`:n}else{let i=o.commentBefore;o.commentBefore=i?`${n}
212
- ${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ox(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(MU.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Li(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=qU.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 Ii.YAMLParseError(Li(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 Ii.YAMLParseError(Li(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=UU.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),r.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
213
- ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Ii.YAMLParseError(Li(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 jU.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}}};Cx.Composer=Pg});var Ix=I(Dl=>{"use strict";var HU=Tg(),WU=Og(),JU=Ai(),Ax=hi();function VU(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 JU.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return WU.resolveFlowScalar(e,t,n);case"block-scalar":return HU.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function KU(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=Ax.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:`
212
+ ${i}`:n}}if(r){for(let o=0;o<this.errors.length;++o)t.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)t.warnings.push(this.warnings[o])}else t.errors=this.errors,t.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ix(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,r=!1,n=-1){for(let s of t)yield*this.next(s);yield*this.end(r,n)}*next(t){switch(jU.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,s)=>{let o=Ii(t);o[0]+=r,this.onError(o,"BAD_DIRECTIVE",n,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=HU.composeDoc(this.options,this.directives,t,this.onError);this.atDirectives&&!r.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(r,!1),this.doc&&(yield this.doc),this.doc=r,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let r=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,n=new Pi.YAMLParseError(Ii(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new Pi.YAMLParseError(Ii(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=WU.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),r.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
213
+ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new Pi.YAMLParseError(Ii(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),s=new UU.Document(void 0,n);this.atDirectives&&this.onError(r,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,r,r],this.decorate(s,!1),yield s}}};Lx.Composer=Pg});var Dx=I(Dl=>{"use strict";var JU=Tg(),VU=Og(),KU=Ci(),Gx=gi();function zU(e,t=!0,r){if(e){let n=(s,o,i)=>{let a=typeof s=="number"?s:Array.isArray(s)?s[0]:s.offset;if(r)r(a,o,i);else throw new KU.YAMLParseError([a,a+1],o,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return VU.resolveFlowScalar(e,t,n);case"block-scalar":return JU.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function YU(e,t){let{implicitKey:r=!1,indent:n,inFlow:s=!1,offset:o=-1,type:i="PLAIN"}=t,a=Gx.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
214
214
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
215
215
  `),u=a.substring(0,l),d=a.substring(l+1)+`
216
- `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return Px(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
217
- `}),{type:"block-scalar",offset:o,indent:n,props:p,source:d}}case'"':return{type:"double-quoted-scalar",offset:o,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:o,indent:n,source:a,end:c};default:return{type:"scalar",offset:o,indent:n,source:a,end:c}}}function zU(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=Ax.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">":YU(e,c);break;case'"':Lg(e,c,"double-quoted-scalar");break;case"'":Lg(e,c,"single-quoted-scalar");break;default:Lg(e,c,"scalar")}}function YU(e,t){let r=t.indexOf(`
216
+ `,p=[{type:"block-scalar-header",offset:o,indent:n,source:u}];return Nx(p,c)||p.push({type:"newline",offset:-1,indent:n,source:`
217
+ `}),{type:"block-scalar",offset:o,indent:n,props:p,source:d}}case'"':return{type:"double-quoted-scalar",offset:o,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:o,indent:n,source:a,end:c};default:return{type:"scalar",offset:o,indent:n,source:a,end:c}}}function QU(e,t,r={}){let{afterKey:n=!1,implicitKey:s=!1,inFlow:o=!1,type:i}=r,a="indent"in e?e.indent:null;if(n&&typeof a=="number"&&(a+=2),!i)switch(e.type){case"single-quoted-scalar":i="QUOTE_SINGLE";break;case"double-quoted-scalar":i="QUOTE_DOUBLE";break;case"block-scalar":{let l=e.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");i=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:i="PLAIN"}let c=Gx.stringifyString({type:i,value:t},{implicitKey:s||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":XU(e,c);break;case'"':Lg(e,c,"double-quoted-scalar");break;case"'":Lg(e,c,"single-quoted-scalar");break;default:Lg(e,c,"scalar")}}function XU(e,t){let r=t.indexOf(`
218
218
  `),n=t.substring(0,r),s=t.substring(r+1)+`
219
- `;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];Px(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
220
- `});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:s})}}function Px(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function Lg(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(let o of n)o.offset+=s;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
221
- `};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}Dl.createScalarToken=KU;Dl.resolveAsScalar=VU;Dl.setScalarValue=zU});var Gx=I(Lx=>{"use strict";var QU=e=>"type"in e?Fl(e):$l(e);function Fl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Fl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=$l(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=$l(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=$l(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function $l({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Fl(t)),r)for(let o of r)s+=o.source;return n&&(s+=Fl(n)),s}Lx.stringify=QU});var Fx=I($x=>{"use strict";var Gg=Symbol("break visit"),XU=Symbol("skip children"),Nx=Symbol("remove item");function vn(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),Dx(Object.freeze([]),e,t)}vn.BREAK=Gg;vn.SKIP=XU;vn.REMOVE=Nx;vn.itemAtPath=(e,t)=>{let r=e;for(let[n,s]of t){let o=r?.[n];if(o&&"items"in o)r=o.items[s];else return}return r};vn.parentCollection=(e,t)=>{let r=vn.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],s=r?.[n];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function Dx(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=Dx(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===Gg)return Gg;a===Nx&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}$x.visit=vn});var Ml=I(He=>{"use strict";var Ng=Ix(),ZU=Gx(),eH=Fx(),Dg="\uFEFF",$g="",Fg="",Mg="",tH=e=>!!e&&"items"in e,rH=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function nH(e){switch(e){case Dg:return"<BOM>";case $g:return"<DOC>";case Fg:return"<FLOW_END>";case Mg:return"<SCALAR>";default:return JSON.stringify(e)}}function sH(e){switch(e){case Dg:return"byte-order-mark";case $g:return"doc-mode";case Fg:return"flow-error-end";case Mg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
219
+ `;if(e.type==="block-scalar"){let o=e.props[0];if(o.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o.source=n,e.source=s}else{let{offset:o}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:o,indent:i,source:n}];Nx(a,"end"in e?e.end:void 0)||a.push({type:"newline",offset:-1,indent:i,source:`
220
+ `});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:s})}}function Nx(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function Lg(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(let o of n)o.offset+=s;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
221
+ `};delete e.items,Object.assign(e,{type:r,source:t,end:[s]});break}default:{let n="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(o=>o.type==="space"||o.type==="comment"||o.type==="newline"):[];for(let o of Object.keys(e))o!=="type"&&o!=="offset"&&delete e[o];Object.assign(e,{type:r,indent:n,source:t,end:s})}}}Dl.createScalarToken=YU;Dl.resolveAsScalar=zU;Dl.setScalarValue=QU});var Fx=I($x=>{"use strict";var ZU=e=>"type"in e?Fl(e):$l(e);function Fl(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Fl(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=$l(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=$l(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=$l(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function $l({start:e,key:t,sep:r,value:n}){let s="";for(let o of e)s+=o.source;if(t&&(s+=Fl(t)),r)for(let o of r)s+=o.source;return n&&(s+=Fl(n)),s}$x.stringify=ZU});var qx=I(jx=>{"use strict";var Gg=Symbol("break visit"),eH=Symbol("skip children"),Mx=Symbol("remove item");function vn(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),Bx(Object.freeze([]),e,t)}vn.BREAK=Gg;vn.SKIP=eH;vn.REMOVE=Mx;vn.itemAtPath=(e,t)=>{let r=e;for(let[n,s]of t){let o=r?.[n];if(o&&"items"in o)r=o.items[s];else return}return r};vn.parentCollection=(e,t)=>{let r=vn.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],s=r?.[n];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function Bx(e,t,r){let n=r(t,e);if(typeof n=="symbol")return n;for(let s of["key","value"]){let o=t[s];if(o&&"items"in o){for(let i=0;i<o.items.length;++i){let a=Bx(Object.freeze(e.concat([[s,i]])),o.items[i],r);if(typeof a=="number")i=a-1;else{if(a===Gg)return Gg;a===Mx&&(o.items.splice(i,1),i-=1)}}typeof n=="function"&&s==="key"&&(n=n(t,e))}}return typeof n=="function"?n(t,e):n}jx.visit=vn});var Ml=I(We=>{"use strict";var Ng=Dx(),tH=Fx(),rH=qx(),Dg="\uFEFF",$g="",Fg="",Mg="",nH=e=>!!e&&"items"in e,sH=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function oH(e){switch(e){case Dg:return"<BOM>";case $g:return"<DOC>";case Fg:return"<FLOW_END>";case Mg:return"<SCALAR>";default:return JSON.stringify(e)}}function iH(e){switch(e){case Dg:return"byte-order-mark";case $g:return"doc-mode";case Fg:return"flow-error-end";case Mg:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
222
222
  `:case`\r
223
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}He.createScalarToken=Ng.createScalarToken;He.resolveAsScalar=Ng.resolveAsScalar;He.setScalarValue=Ng.setScalarValue;He.stringify=ZU.stringify;He.visit=eH.visit;He.BOM=Dg;He.DOCUMENT=$g;He.FLOW_END=Fg;He.SCALAR=Mg;He.isCollection=tH;He.isScalar=rH;He.prettyToken=nH;He.tokenType=sH});var qg=I(Bx=>{"use strict";var Gi=Ml();function St(e){switch(e){case void 0:case" ":case`
224
- `:case"\r":case" ":return!0;default:return!1}}var Mx=new Set("0123456789ABCDEFabcdef"),oH=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Bl=new Set(",[]{}"),iH=new Set(` ,[]{}
225
- \r `),Bg=e=>!e||iH.has(e),jg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
223
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}We.createScalarToken=Ng.createScalarToken;We.resolveAsScalar=Ng.resolveAsScalar;We.setScalarValue=Ng.setScalarValue;We.stringify=tH.stringify;We.visit=rH.visit;We.BOM=Dg;We.DOCUMENT=$g;We.FLOW_END=Fg;We.SCALAR=Mg;We.isCollection=nH;We.isScalar=sH;We.prettyToken=oH;We.tokenType=iH});var qg=I(Hx=>{"use strict";var Li=Ml();function St(e){switch(e){case void 0:case" ":case`
224
+ `:case"\r":case" ":return!0;default:return!1}}var Ux=new Set("0123456789ABCDEFabcdef"),aH=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Bl=new Set(",[]{}"),cH=new Set(` ,[]{}
225
+ \r `),Bg=e=>!e||cH.has(e),jg=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===`
226
226
  `?!0:r==="\r"?this.buffer[t+1]===`
227
227
  `:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let r=this.buffer[t];if(this.indentNext>0){let n=0;for(;r===" ";)r=this.buffer[++n+t];if(r==="\r"){let s=this.buffer[n+t+1];if(s===`
228
228
  `||!s&&!this.atEnd)return t+n+1}return r===`
229
229
  `||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&St(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&t<this.pos)&&(t=this.buffer.indexOf(`
230
- `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Gi.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 Gi.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&St(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!St(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&St(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Bg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&St(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Gi.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Bg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||St(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
230
+ `,this.pos),this.lineEndPos=t),t===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[t-1]==="\r"&&(t-=1),this.buffer.substring(this.pos,t))}hasChars(t){return this.pos+t<=this.buffer.length}setNext(t){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=t,null}peek(t){return this.buffer.substr(this.pos,t)}*parseNext(t){switch(t){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let t=this.getLine();if(t===null)return this.setNext("stream");if(t[0]===Li.BOM&&(yield*this.pushCount(1),t=t.substring(1)),t[0]==="%"){let r=t.length,n=t.indexOf("#");for(;n!==-1;){let o=t[n-1];if(o===" "||o===" "){r=n-1;break}else n=t.indexOf("#",n+1)}for(;;){let o=t[r-1];if(o===" "||o===" ")r-=1;else break}let s=(yield*this.pushCount(r))+(yield*this.pushSpaces(!0));return yield*this.pushCount(t.length-s),this.pushNewline(),"stream"}if(this.atLineEnd()){let r=yield*this.pushSpaces(!0);return yield*this.pushCount(t.length-r),yield*this.pushNewline(),"stream"}return yield Li.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let t=this.charAt(0);if(!t&&!this.atEnd)return this.setNext("line-start");if(t==="-"||t==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let r=this.peek(3);if((r==="---"||r==="...")&&St(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,r==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!St(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&St(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Bg),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let s=this.getLine();if(s===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&s[0]!=="#"||n===0&&(s.startsWith("---")||s.startsWith("..."))&&St(s[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(s[0]==="]"||s[0]==="}")))return this.flowLevel=0,yield Li.FLOW_END,yield*this.parseLineStart();let o=0;for(;s[o]===",";)o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),s[o]){case void 0:return"flow";case"#":return yield*this.pushCount(s.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Bg),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let i=this.charAt(1);if(this.flowKey||St(i)||i===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let t=this.charAt(0),r=this.buffer.indexOf(t,this.pos+1);if(t==="'")for(;r!==-1&&this.buffer[r+1]==="'";)r=this.buffer.indexOf("'",r+2);else for(;r!==-1;){let o=0;for(;this.buffer[r-1-o]==="\\";)o+=1;if(o%2===0)break;r=this.buffer.indexOf('"',r+1)}let n=this.buffer.substring(0,r),s=n.indexOf(`
231
231
  `,this.pos);if(s!==-1){for(;s!==-1;){let o=this.continueScalar(s+1);if(o===-1)break;s=n.indexOf(`
232
232
  `,o)}s!==-1&&(r=s-(n[s-1]==="\r"?2:1))}if(r===-1){if(!this.atEnd)return this.setNext("quoted-scalar");r=this.buffer.length}return yield*this.pushToIndex(r+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let t=this.pos;for(;;){let r=this.buffer[++t];if(r==="+")this.blockScalarKeep=!0;else if(r>"0"&&r<="9")this.blockScalarIndent=Number(r)-1;else if(r!=="-")break}return yield*this.pushUntil(r=>St(r)||r==="#")}*parseBlockScalar(){let t=this.pos-1,r=0,n;e:for(let o=this.pos;n=this.buffer[o];++o)switch(n){case" ":r+=1;break;case`
233
233
  `:t=o,r=0;break;case"\r":{let i=this.buffer[o+1];if(!i&&!this.atEnd)return this.setNext("block-scalar");if(i===`
234
234
  `)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(r>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=r:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let o=this.continueScalar(t+1);if(o===-1)break;t=this.buffer.indexOf(`
235
235
  `,o)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let s=t+1;for(n=this.buffer[s];n===" ";)n=this.buffer[++s];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
236
236
  `;)n=this.buffer[++s];t=s-1}else if(!this.blockScalarKeep)do{let o=t-1,i=this.buffer[o];i==="\r"&&(i=this.buffer[--o]);let a=o;for(;i===" ";)i=this.buffer[--o];if(i===`
237
- `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Gi.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(St(o)||t&&Bl.has(o))break;r=n}else if(St(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
237
+ `&&o>=this.pos&&o+1+r>a)t=o;else break}while(!0);return yield Li.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,s;for(;s=this.buffer[++n];)if(s===":"){let o=this.buffer[n+1];if(St(o)||t&&Bl.has(o))break;r=n}else if(St(s)){let o=this.buffer[n+1];if(s==="\r"&&(o===`
238
238
  `?(n+=1,s=`
239
239
  `,o=this.buffer[n+1]):r=n),o==="#"||t&&Bl.has(o))break;if(s===`
240
- `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&Bl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Gi.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(Bg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(St(n)||r&&Bl.has(n)){r?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!St(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(oH.has(r))r=this.buffer[++t];else if(r==="%"&&Mx.has(this.buffer[t+1])&&Mx.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===`
240
+ `){let i=this.continueScalar(n+1);if(i===-1)break;n=Math.max(n,i-2)}}else{if(t&&Bl.has(s))break;r=n}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Li.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){let t=0;e:for(;;){switch(this.charAt(0)){case"!":t+=yield*this.pushTag(),t+=yield*this.pushSpaces(!0);continue e;case"&":t+=yield*this.pushUntil(Bg),t+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(St(n)||r&&Bl.has(n)){r?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,t+=yield*this.pushCount(1),t+=yield*this.pushSpaces(!0);continue e}}}break e}return t}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!St(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(aH.has(r))r=this.buffer[++t];else if(r==="%"&&Ux.has(this.buffer[t+1])&&Ux.has(this.buffer[t+2]))r=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===`
241
241
  `?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
242
- `?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};Bx.Lexer=jg});var Hg=I(jx=>{"use strict";var Ug=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let r=0,n=this.lineStarts.length;for(;r<n;){let o=r+n>>1;this.lineStarts[o]<t?r=o+1:n=o}if(this.lineStarts[r]===t)return{line:r+1,col:1};if(r===0)return{line:0,col:t};let s=this.lineStarts[r-1];return{line:r,col:t-s+1}}}};jx.LineCounter=Ug});var Jg=I(Jx=>{"use strict";var aH=Xi("process"),qx=Ml(),cH=qg();function Dr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function Ux(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 Wx(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function jl(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Ls(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function ql(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function Hx(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Dr(t.start,"explicit-key-ind")&&!Dr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,Wx(t.value)?t.value.end?ql(t.value.end,t.sep):t.value.end=t.sep:ql(t.start,t.sep),delete t.sep)}var Wg=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new cH.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,aH.env.LOG_TOKENS&&console.log("|",qx.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=qx.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"&&Hx(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&&Ux(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":{Ux(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=jl(this.peek(2)),n=Ls(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(`
242
+ `?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let s=r-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=r),s}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};Hx.Lexer=jg});var Hg=I(Wx=>{"use strict";var Ug=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let r=0,n=this.lineStarts.length;for(;r<n;){let o=r+n>>1;this.lineStarts[o]<t?r=o+1:n=o}if(this.lineStarts[r]===t)return{line:r+1,col:1};if(r===0)return{line:0,col:t};let s=this.lineStarts[r-1];return{line:r,col:t-s+1}}}};Wx.LineCounter=Ug});var Jg=I(Yx=>{"use strict";var lH=Xi("process"),Jx=Ml(),uH=qg();function Dr(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function Vx(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function zx(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function jl(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function Gs(e){if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function ql(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function Kx(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!Dr(t.start,"explicit-key-ind")&&!Dr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,zx(t.value)?t.value.end?ql(t.value.end,t.sep):t.value.end=t.sep:ql(t.start,t.sep),delete t.sep)}var Wg=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new uH.Lexer,this.onNewLine=t}*parse(t,r=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(t,r))yield*this.next(n);r||(yield*this.end())}*next(t){if(this.source=t,lH.env.LOG_TOKENS&&console.log("|",Jx.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=Jx.tokenType(t);if(r)if(r==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=r,yield*this.step(),r){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let n=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&t?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let r=t??this.stack.pop();if(!r)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield r;else{let n=this.peek(1);switch(r.type==="block-scalar"?r.indent="indent"in n?n.indent:0:r.type==="flow-collection"&&n.type==="document"&&(r.indent=0),r.type==="flow-collection"&&Kx(r),n.type){case"document":n.value=r;break;case"block-scalar":n.props.push(r);break;case"block-map":{let s=n.items[n.items.length-1];if(s.value){n.items.push({start:[],key:r,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=r;else{Object.assign(s,{key:r,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{let s=n.items[n.items.length-1];s.value?n.items.push({start:[],value:r}):s.value=r;break}case"flow-collection":{let s=n.items[n.items.length-1];!s||s.value?n.items.push({start:[],key:r,sep:[]}):s.sep?s.value=r:Object.assign(s,{key:r,sep:[]});return}default:yield*this.pop(),yield*this.pop(r)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(r.type==="block-map"||r.type==="block-seq")){let s=r.items[r.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&Vx(s.start)===-1&&(r.indent===0||s.start.every(o=>o.type!=="comment"||o.indent<r.indent))&&(n.type==="document"?n.end=s.start:n.items.push({start:s.start}),r.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{Vx(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}let r=this.startBlockValue(t);r?this.stack.push(r):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){let r=jl(this.peek(2)),n=Gs(r),s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];let o={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:n,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let r=this.source.indexOf(`
243
243
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
244
- `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ql(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Dr(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(Wx(r.key)&&!Dr(r.sep,"newline")){let i=Ls(r.start),a=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:a,sep:c}]})}else o.length>0?r.sep=r.sep.concat(o,this.sourceToken):r.sep.push(this.sourceToken);else if(Dr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Ls(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:o,key:null,sep:[this.sourceToken]}):Dr(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);s||r.value?(t.items.push({start:o,key:i,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(i):(Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{let i=this.startBlockValue(t);if(i){if(i.type==="block-seq"){if(!r.explicitKey&&r.sep&&!Dr(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ql(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||Dr(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=jl(n),o=Ls(s);Hx(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(`
244
+ `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ql(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,s=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",o=[];if(s&&r.sep&&!r.value){let i=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":i.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(i.length=0);break;default:i.length=0}}i.length>=2&&(o=r.sep.splice(i[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(o.push(this.sourceToken),t.items.push({start:o}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):s||r.value?(o.push(this.sourceToken),t.items.push({start:o,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Dr(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(zx(r.key)&&!Dr(r.sep,"newline")){let i=Gs(r.start),a=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:a,sep:c}]})}else o.length>0?r.sep=r.sep.concat(o,this.sourceToken):r.sep.push(this.sourceToken);else if(Dr(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let i=Gs(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:o,key:null,sep:[this.sourceToken]}):Dr(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);s||r.value?(t.items.push({start:o,key:i,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(i):(Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!0);return}default:{let i=this.startBlockValue(t);if(i){if(i.type==="block-seq"){if(!r.explicitKey&&r.sep&&!Dr(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else n&&t.items.push({start:o});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let s=t.items[t.items.length-2]?.value?.end;if(Array.isArray(s)){ql(s,r.start),s.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||Dr(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:s,sep:[]}):r.sep?this.stack.push(s):Object.assign(r,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let s=jl(n),o=Gs(s);Kx(t);let i=t.end.splice(1,t.end.length);i.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:o,key:t,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let r=this.source.indexOf(`
245
245
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
246
- `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=jl(t),n=Ls(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=jl(t),n=Ls(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())}}};Jx.Parser=Wg});var Qx=I(Di=>{"use strict";var Vx=Ig(),lH=xi(),Ni=Ai(),uH=Am(),dH=W(),pH=Hg(),Kx=Jg();function zx(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new pH.LineCounter||null,prettyErrors:t}}function fH(e,t={}){let{lineCounter:r,prettyErrors:n}=zx(t),s=new Kx.Parser(r?.addNewLine),o=new Vx.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Ni.prettifyError(e,r)),a.warnings.forEach(Ni.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function Yx(e,t={}){let{lineCounter:r,prettyErrors:n}=zx(t),s=new Kx.Parser(r?.addNewLine),o=new Vx.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Ni.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Ni.prettifyError(e,r)),i.warnings.forEach(Ni.prettifyError(e,r))),i}function mH(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=Yx(e,r);if(!s)return null;if(s.warnings.forEach(o=>uH.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 gH(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 dH.isDocument(e)&&!n?e.toString(r):new lH.Document(e,n,r).toString(r)}Di.parse=mH;Di.parseAllDocuments=fH;Di.parseDocument=Yx;Di.stringify=gH});var Zx=I(Q=>{"use strict";var hH=Ig(),yH=xi(),bH=pg(),Vg=Ai(),wH=di(),$r=W(),_H=Ir(),EH=ce(),kH=Gr(),SH=Nr(),RH=Ml(),vH=qg(),TH=Hg(),xH=Jg(),Ul=Qx(),Xx=ai();Q.Composer=hH.Composer;Q.Document=yH.Document;Q.Schema=bH.Schema;Q.YAMLError=Vg.YAMLError;Q.YAMLParseError=Vg.YAMLParseError;Q.YAMLWarning=Vg.YAMLWarning;Q.Alias=wH.Alias;Q.isAlias=$r.isAlias;Q.isCollection=$r.isCollection;Q.isDocument=$r.isDocument;Q.isMap=$r.isMap;Q.isNode=$r.isNode;Q.isPair=$r.isPair;Q.isScalar=$r.isScalar;Q.isSeq=$r.isSeq;Q.Pair=_H.Pair;Q.Scalar=EH.Scalar;Q.YAMLMap=kH.YAMLMap;Q.YAMLSeq=SH.YAMLSeq;Q.CST=RH;Q.Lexer=vH.Lexer;Q.LineCounter=TH.LineCounter;Q.Parser=xH.Parser;Q.parse=Ul.parse;Q.parseAllDocuments=Ul.parseAllDocuments;Q.parseDocument=Ul.parseDocument;Q.stringify=Ul.stringify;Q.visit=Xx.visit;Q.visitAsync=Xx.visitAsync});import{isUtf8 as OH}from"node:buffer";import{spawnSync as CH}from"node:child_process";import{isDeepStrictEqual as e0}from"node:util";function Kg(e,t={}){if(e.length===0||!OH(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=AH(n,t.decode??Z,t.runTq??PH)??IH(n,t.decode??Z);if(!s)return e;let{value:o}=s;try{let i=(t.encode??B)(o),a=(t.decode??Z)(i);return!e0(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function AH(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 e0(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function PH(e,t,r){let n=CH("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 IH(e,t){try{return{value:JSON.parse(e),source:"json"}}catch{}if(e.startsWith("{")&&!e.endsWith("}")||/^["']/.test(e)&&e.at(-1)!==e[0])return;if(/^\s*\[(?:~|\t|\|)?\]\{[^}]+\}:/.test(e))try{return{value:Te(e),source:"toonl"}}catch{return}let r=e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||/^["']/.test(e)&&e.at(-1)===e[0],n=/(?:^|\n)\s*(?:[^\s:#][^\n:]*:|\[(?:\d+)?\](?:\{[^}]+\})?:)/.test(e);if(n&&!r)try{return{value:t(e),source:"toon"}}catch{}if(e.startsWith("---")||n||r||/(?:^|\n)\s*-\s+\S/.test(e))try{let s=(0,t0.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 t0,zg=E(()=>{"use strict";V();t0=Zi(Zx(),1)});var Hl={};ne(Hl,{parseProxyCommandLine:()=>s0,rewriteProxyCommandLine:()=>n0,runProxy:()=>NH});import{spawn as LH}from"node:child_process";function GH(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function NH(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=s0(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=n0(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await DH(t.telemetryRoot,r,c),await r0(r);throw c}for(let c of s)await $H(t.telemetryRoot,c);let i=await r0(n||r),a=Number(process.hrtime.bigint()-o)/1e6;return await fn(t.telemetryRoot,{collection:it,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function n0(e,t="lossless",r=ii()){let n=UH(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||qH(n,a)==="|")return i.text;let c=FH(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function s0(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 DH(e,t,r){await fn(e,{collection:qe,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:ct(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function $H(e,t){await fn(e,{collection:qe,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 r0(e){let t=LH(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=ze();return t.once("close",r),t.once("error",r),await lv(t,Kg)}function FH(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=WH(o);if(!i)return null;let a=jH(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(mn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=MH(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(GH),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function MH(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}:BH(t,r)}function BH(e,t){return e[0]==="cat"&&e.length===2&&Yg(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&Yg(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])&&Yg(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function Yg(e){return!!e&&!e.startsWith("-")}function jH(e){let t=0;for(;t<e.length&&hs(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&hs(e[t].value);)t+=1;return t}function qH(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function UH(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=HH(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 HH(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 WH(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var Wl=E(()=>{"use strict";ye();uv();Uo();fm();zg();Gt()});function a0(e,t={}){let r=JH(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=Qg(o),l=Qg(i),u=Qg(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>XH(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:Xg(p.length,c)+Xg(p.tokens.length,l)+Xg(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+YH(p.tokens,n,r.length)+QH(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 JH(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(o0(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(o0(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function o0(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:VH(n),tokens:KH(n),numbers:zH(n),length:n.length}}function VH(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 KH(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function zH(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function YH(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 QH(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function Qg(e){let t=i0(e),r=i0(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function Xg(e,t){return Math.abs(e-t.median)/t.mad}function i0(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 XH(e,t,r,n){return e<n&&r<t}var c0=E(()=>{"use strict"});var Zg={};ne(Zg,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>tr,GIT_LOG_MACHINE_FIELDS:()=>u0,StructuredUsageError:()=>Jl,cleanStatusPayload:()=>m0,recoveryInstruction:()=>Rt,renderGitContract:()=>d0,runGitWrapper:()=>eW});import{spawn as ZH}from"node:child_process";async function eW(e,t){let r=p0(e),n=f0(r.argv),s=await sW(n,r.argv.slice(1));return d0(e,s,t)}async function d0(e,t,r){let n=p0(e);if((t.status??0)!==0||t.signal){let d=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=f0(n.argv),o;try{o=oW(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof Vl)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=B(o);if(tW(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=SW(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${Rt(l)}
247
- `;return{stdout:Buffer.from(`${B(a.payload)}
248
- ${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function Rt(e){return e.startsWith("el:")?`rsp show ${e}`:e}function p0(e){let{argv:t,query:r,full:n}=Zb(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new Jl(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function tW(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!rW(e)||n.level!=="lossless")return!0;let s=kW(n.heavyGitByteThreshold,tr);return Buffer.byteLength(t)<=s}function rW(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function f0(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 nW(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${u0.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 sW(e,t){let r=ZH("git",nW(e,t),{stdio:["ignore","pipe","pipe"]}),n=ze();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function oW(e,t,r,n){switch(e){case"status":return iW(t,r,n);case"log":return mW(t,r,n);case"diff":return gW(t,r,n);case"commit":return Fr(hW(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return Fr(yW(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return bW(t,r,n);case"branch":return wW(t,r,n);case"show":return _W(t,r,n)}}function iW(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of aW(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=uW(l),o=!0;continue}let u=cW(l);if(u){o=!0,s.push(u);continue}let d=lW(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return m0(e.join(" "),n);throw new Vl("git-status-unparseable")}let a=Ae(s,r),c=g0(a,"state");return Fr({command:e.join(" "),branch:n,rows:a,summary:fW(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function aW(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function cW(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return $i(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(10).join(" "),r)}return e.startsWith("? ")?$i(e.slice(2),"??"):null}function lW(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?$i(dW(e.slice(3),t),t):null}function $i(e,t){let r=l0(t[0]??"."),n=l0(t[1]??".");return{path:pW(e),index:r,worktree:n,state:EW(`${r}${n}`)}}function l0(e){return e===" "?".":e}function uW(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function dW(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function pW(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function fW(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 m0(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 mW(e,t,r){let n=t.split("\0").filter(Boolean).map(o=>{let i=o.replace(/^\x1e/,"").split("");return{short:i[0]??"",author:i[1]??"",date:i[2]??"",subject:i[3]??""}}),s=Ae(n,r);return Fr({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function gW(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Ae(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return Fr({command:e.join(" "),files:o,summary:`${r?`${o.length}/${s.length}`:o.length} files, +${i.added} -${i.deleted}`},r,["rsp git status --query <path>","rsp git log --query <subject>"])}function hW(e,t){let r=t.split(`
249
- `)[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 yW(e,t){let r=t.split(`
250
- `).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 bW(e,t,r){let n=t.split(`
251
- `),s=[],o=null;for(let c of n){let l=/^([0-9a-f]{8,40}) \d+ (\d+)(?: \d+)?$/.exec(c);if(l){o={commit:l[1]??"",finalLine:Number(l[2]??0),author:"",path:""};continue}if(!o)continue;if(c.startsWith("author ")){o.author=c.slice(7);continue}if(c.startsWith("filename ")){o.path=c.slice(9);continue}if(!c.startsWith(" "))continue;let u=s.at(-1),d=o.commit.slice(0,12);u&&u.commit===d&&u.author===o.author&&u.path===o.path&&u.line_end+1===o.finalLine?u.line_end=o.finalLine:s.push({line_start:o.finalLine,line_end:o.finalLine,author:o.author,commit:d,path:o.path}),o=null}let i=Ae(s,r),a=g0(i,"author");return Fr({command:e.join(" "),ranges:i,authors:a,summary:`${r?`${i.length}/${s.length}`:i.length} ranges, ${Object.keys(a).length} authors`},r,["rsp git show --query <commit>","rsp git log --query <author>"])}function wW(e,t,r){let n=t.split(`
252
- `).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Ae(n,r),o=s.find(i=>i.current)?.name??"";return Fr({command:e.join(" "),branches:s,summary:`${r?`${s.length}/${n.length}`:s.length} branches${o?`, current ${o}`:""}`},r,["rsp git log --query <branch>","rsp gh pr list --query <branch>"])}function _W(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let y of i.split(`
246
+ `,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=jl(t),n=Gs(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=jl(t),n=Gs(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,r){return this.type!=="comment"||this.indent<=r?!1:t.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};Yx.Parser=Wg});var t0=I(Ni=>{"use strict";var Qx=Ig(),dH=Ti(),Gi=Ci(),pH=Am(),fH=W(),mH=Hg(),Xx=Jg();function Zx(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new mH.LineCounter||null,prettyErrors:t}}function gH(e,t={}){let{lineCounter:r,prettyErrors:n}=Zx(t),s=new Xx.Parser(r?.addNewLine),o=new Qx.Composer(t),i=Array.from(o.compose(s.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Gi.prettifyError(e,r)),a.warnings.forEach(Gi.prettifyError(e,r));return i.length>0?i:Object.assign([],{empty:!0},o.streamInfo())}function e0(e,t={}){let{lineCounter:r,prettyErrors:n}=Zx(t),s=new Xx.Parser(r?.addNewLine),o=new Qx.Composer(t),i=null;for(let a of o.compose(s.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Gi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(i.errors.forEach(Gi.prettifyError(e,r)),i.warnings.forEach(Gi.prettifyError(e,r))),i}function hH(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=e0(e,r);if(!s)return null;if(s.warnings.forEach(o=>pH.warn(s.options.logLevel,o)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},r))}function yH(e,t,r){let n=null;if(typeof t=="function"||Array.isArray(t)?n=t:r===void 0&&t&&(r=t),typeof r=="string"&&(r=r.length),typeof r=="number"){let s=Math.round(r);r=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){let{keepUndefined:s}=r??t??{};if(!s)return}return fH.isDocument(e)&&!n?e.toString(r):new dH.Document(e,n,r).toString(r)}Ni.parse=hH;Ni.parseAllDocuments=gH;Ni.parseDocument=e0;Ni.stringify=yH});var n0=I(X=>{"use strict";var bH=Ig(),wH=Ti(),_H=pg(),Vg=Ci(),EH=ui(),$r=W(),kH=Ir(),SH=ce(),RH=Gr(),vH=Nr(),TH=Ml(),xH=qg(),OH=Hg(),CH=Jg(),Ul=t0(),r0=ii();X.Composer=bH.Composer;X.Document=wH.Document;X.Schema=_H.Schema;X.YAMLError=Vg.YAMLError;X.YAMLParseError=Vg.YAMLParseError;X.YAMLWarning=Vg.YAMLWarning;X.Alias=EH.Alias;X.isAlias=$r.isAlias;X.isCollection=$r.isCollection;X.isDocument=$r.isDocument;X.isMap=$r.isMap;X.isNode=$r.isNode;X.isPair=$r.isPair;X.isScalar=$r.isScalar;X.isSeq=$r.isSeq;X.Pair=kH.Pair;X.Scalar=SH.Scalar;X.YAMLMap=RH.YAMLMap;X.YAMLSeq=vH.YAMLSeq;X.CST=TH;X.Lexer=xH.Lexer;X.LineCounter=OH.LineCounter;X.Parser=CH.Parser;X.parse=Ul.parse;X.parseAllDocuments=Ul.parseAllDocuments;X.parseDocument=Ul.parseDocument;X.stringify=Ul.stringify;X.visit=r0.visit;X.visitAsync=r0.visitAsync});import{isUtf8 as AH}from"node:buffer";import{spawnSync as PH}from"node:child_process";import{isDeepStrictEqual as s0}from"node:util";function Kg(e,t={}){if(e.length===0||!AH(e))return e;let n=e.toString("utf8").trim();if(n==="")return e;let s=IH(n,t.decode??z,t.runTq??LH)??GH(n,t.decode??z);if(!s)return e;let{value:o}=s;try{let i=(t.encode??M)(o),a=(t.decode??z)(i);return!s0(o,a)||s.source==="toon"&&n!==i||n===i?e:Buffer.from(i)}catch{return e}}function IH(e,t,r){if(!e.startsWith("<"))return;let n=r(e,"xml","toon");if(n===void 0)return;let s=r(n,"toon","xml");if(s===void 0)return;let o=r(s,"xml","toon");if(o!==void 0)try{let i=t(n);return s0(i,t(o))?{value:i,source:"xml"}:void 0}catch{return}}function LH(e,t,r){let n=PH("tq",["-p",t,"-o",r,"."],{input:e,encoding:"utf8",maxBuffer:Math.max(16777216,e.length*32),timeout:5e3});if(!(n.error||n.status!==0||n.signal||n.stdout===""))return n.stdout}function GH(e,t){try{return{value:JSON.parse(e),source:"json"}}catch{}if(e.startsWith("{")&&!e.endsWith("}")||/^["']/.test(e)&&e.at(-1)!==e[0])return;if(/^\s*\[(?:~|\t|\|)?\]\{[^}]+\}:/.test(e))try{return{value:Te(e),source:"toonl"}}catch{return}let r=e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||/^["']/.test(e)&&e.at(-1)===e[0],n=/(?:^|\n)\s*(?:[^\s:#][^\n:]*:|\[(?:\d+)?\](?:\{[^}]+\})?:)/.test(e);if(n&&!r)try{return{value:t(e),source:"toon"}}catch{}if(e.startsWith("---")||n||r||/(?:^|\n)\s*-\s+\S/.test(e))try{let s=(0,o0.parseAllDocuments)(e,{prettyErrors:!1,strict:!0,uniqueKeys:!0});return s.length!==1||s[0].errors.length>0||s[0].warnings.length>0?void 0:{value:s[0].toJS({maxAliasCount:100}),source:"yaml"}}catch{return}}var o0,zg=E(()=>{"use strict";J();o0=Zi(n0(),1)});async function Xg(e,t,r="automatic"){let n,s={mint:async(o,i)=>{let[{resolveRspConfig:a},{residentElisionStore:c}]=await Promise.all([Promise.resolve().then(()=>(Be(),up)),Promise.resolve().then(()=>(Zt(),Vn))]),l=a(process.cwd(),process.env);return l.enabled?(n??=c(process.cwd(),l),await n.mint(o,i)):""}};try{return(await NH(e,{command:t,level:r,store:s})).stdout}finally{await n?.close()}}async function NH(e,t){let r=DH(t.command)?e:Kg(e);if(t.level==="full"||t.level==="lossless")return{stdout:r,lossy:!1};let n=Qg(t.sizeThresholdBytes,8*1024),s=Qg(t.repetitionThresholdRows,20),o=Qg(t.topRows,t.level==="terse"?5:12),i=$H(e);if(i){if(!(i.length>o&&(t.level==="terse"||e.length>n&&i.length>=s)))return{stdout:r,lossy:!1};let b=await i0(e,t);if(!b)return{stdout:r,lossy:!1};let y=[...i].sort((x,A)=>A.size_kib-x.size_kib||x.path.localeCompare(A.path)),_=Math.min(o,y.length),k=y.length-_,v={family:"automatic-output",content:"disk-census",reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",rows_total:y.length,rows_kept:_,rows_omitted:k,changes:[`rows sorted by size_kib descending; capped to top ${_}; ${k} omitted`]},summary:{total_size_kib:y.reduce((x,A)=>x+A.size_kib,0),largest_size_kib:y[0]?.size_kib??0},rows:y.slice(0,_),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${b}`}};return{stdout:Buffer.from(`${M(v)}
247
+ `),lossy:!0,handle:b,bytesElided:e.length}}let a=MH(FH(r));if(!a)return{stdout:r,lossy:!1};let{rows:c}=a,l=BH(c),u=e.length>n&&l>=s&&l/c.length>=.8;if(!(c.length>o&&(t.level==="terse"||u)))return{stdout:r,lossy:!1};let p=await i0(e,t);if(!p)return{stdout:r,lossy:!1};let f=Math.min(o,c.length),m=c.length-f,h={family:"automatic-output",content:"structured-array",...a.sourcePath?{source_path:a.sourcePath,context:a.context}:{},reduction:{reason:t.level==="terse"?"explicit-terse":"size-and-repetition-threshold",input_bytes:e.length,size_threshold_bytes:n,repeated_shape_rows:l,repetition_threshold_rows:s,rows_total:c.length,rows_kept:f,rows_omitted:m,changes:[a.sourcePath?`rows at ${a.sourcePath} capped to first ${f}; ${m} omitted`:`rows capped to first ${f}; ${m} omitted`]},summary:{numeric:jH(c)},rows:c.slice(0,f),next_steps:["Recover exact bytes with rsp show <handle>","Repeat the same rsp invocation with --full to suppress reduction"],recovery:{original:`rsp show ${p}`}};return{stdout:Buffer.from(`${M(h)}
248
+ `),lossy:!0,handle:p,bytesElided:e.length}}function DH(e){return/(?:^|\s)(?:--help|-h)(?:\s|$)/.test(e)}async function i0(e,t){try{let r=await t.store?.mint(e,{command:t.command,loss:{level:t.level==="automatic"?"brief":t.level,bytes_elided:e.length}})??"";return r.startsWith("el:")?r:""}catch{return""}}function $H(e){let t=e.toString("utf8").split(/\r?\n/).filter(Boolean);if(t.length===0)return;let r=[];for(let n of t){let s=/^(\d+)\s+(.+)$/.exec(n);if(!s||!s[2]?.includes("target"))return;r.push({size_kib:Number(s[1]),path:s[2]})}return r}function FH(e){try{return z(e.toString("utf8"))}catch{return}}function Yg(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function MH(e){if(Array.isArray(e)&&e.every(Yg))return{rows:e};if(!Yg(e))return;let r=Object.entries(e).filter(i=>Array.isArray(i[1])&&i[1].every(Yg)).sort((i,a)=>a[1].length-i[1].length||i[0].localeCompare(a[0]))[0];if(!r)return;let[n,s]=r,o=Object.fromEntries(Object.entries(e).filter(([i])=>i!==n));return{rows:s,sourcePath:n,context:o}}function BH(e){let t=new Map;for(let r of e){let n=Object.keys(r).sort((s,o)=>s.localeCompare(o)).join("\0");t.set(n,(t.get(n)??0)+1)}return Math.max(0,...t.values())}function jH(e){let t=[...new Set(e.flatMap(n=>Object.keys(n)))].sort((n,s)=>n.localeCompare(s)),r={};for(let n of t){let s=e.map(o=>o[n]).filter(o=>typeof o=="number"&&Number.isFinite(o));s.length===e.length&&(r[n]={min:Math.min(...s),max:Math.max(...s),sum:qH(s.reduce((o,i)=>o+i,0))})}return r}function qH(e){return Number(e.toPrecision(15))}function Qg(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?Math.floor(e):t}var Zg=E(()=>{"use strict";J();zg()});import{existsSync as UH}from"node:fs";import{join as HH}from"node:path";function WH(){for(let e of(process.env.PATH??"").split(":"))if(e&&UH(HH(e,"rsp")))return!0;return!1}function Di(){return WH()?["rsp"]:[process.execPath,...process.execArgv,process.argv[1]]}var eh=E(()=>{"use strict"});var Hl={};ne(Hl,{parseProxyCommandLine:()=>l0,rewriteProxyCommandLine:()=>c0,runProxy:()=>KH});import{spawn as JH}from"node:child_process";function VH(e){return/[^\w@%+=:,./-]/.test(e)?`'${e.replace(/'/g,"'\\''")}'`:e}async function KH(e,t){let r="",n="",s=[],o=process.hrtime.bigint();try{if(r=l0(e),process.env.RSP_PROXY_FAIL_INTERNAL==="1")throw new Error("forced proxy failure");let c=c0(r,t.level??"lossless");n=c.commandLine,s=c.matches}catch(c){if(r)return await zH(t.telemetryRoot,r,c),await a0(r,t.level??"lossless");throw c}for(let c of s)await YH(t.telemetryRoot,c);let i=await a0(n||r,t.level??"lossless",r),a=Number(process.hrtime.bigint()-o)/1e6;return await fn(t.telemetryRoot,{collection:it,ts:new Date().toISOString(),command:r,wrapper:"proxy",loss:"lossless",elided:!1,raw_bytes:0,emitted_bytes:0,wrapper_ms:a,accounting_recorded:!1}),i}function c0(e,t="lossless",r=Di()){let n=rW(e),s=[];return{commandLine:n.map((i,a)=>{if(i.kind==="operator"||tW(n,a)==="|")return i.text;let c=QH(i.text,t,r);return c?(s.push(c.match),c.text):i.text}).join(""),matches:s}}function l0(e){if(e[0]!=="proxy")throw new Error("expected rsp proxy -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp proxy -- <command line>");return n}async function zH(e,t,r){await fn(e,{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t,command_family:ct(t),decision:"failed-open",reason:"proxy-internal-error",error:r instanceof Error?r.name:typeof r})}async function YH(e,t){await fn(e,{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:"proxy",command:t.command,command_family:t.commandFamily,decision:t.decision,reason:t.reason,capability_id:t.capabilityId})}async function a0(e,t,r=e){let n=JH(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),s=Ye();n.once("close",s),n.once("error",s);let o=t==="lossless"?"automatic":t;return await fv(n,i=>Xg(i,r,o))}function QH(e,t,r){let n=e.match(/^\s*/)?.[0]??"",s=e.match(/\s*$/)?.[0]??"",o=e.trim();if(!o)return null;let i=sW(o);if(!i)return null;let a=eW(i);if(a>=i.length)return null;let c=i.slice(a),l=c.map(m=>m.value);if(mn(l))return{text:e,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"passed",reason:"lossless-gh-json-jq"}};let u=XH(c);if(!u)return null;let d=i.slice(0,a).map(m=>m.raw),p=t==="lossless"?[]:[`--${t}`],f=[...d,...r.map(VH),...p,...u.wrapperWords].join(" ");return{text:`${n}${f}${s}`,match:{command:c.map(m=>m.raw).join(" "),commandFamily:ct(l.join(" ")),decision:"contributed",reason:"proxy-segment",capabilityId:u.capabilityId}}}function XH(e){let t=e.map(n=>n.value),r=e.map(n=>n.raw);return t[0]==="git"&&["status","log","diff","show","blame"].includes(t[1]??"")?{capabilityId:`git:${t[1]}`,wrapperWords:r}:t[0]==="git"&&t[1]==="branch"&&t[2]==="-av"?{capabilityId:"git:branch:av",wrapperWords:r}:t[0]==="gh"&&["pr","issue","run"].includes(t[1]??"")&&["list","view"].includes(t[2]??"")?{capabilityId:`gh:${t[1]}:${t[2]}`,wrapperWords:r}:t[0]==="vitest"?{capabilityId:t[1]==="run"?"vitest:run":"vitest",wrapperWords:r}:t[0]==="cargo"&&t[1]==="test"?{capabilityId:"cargo:test",wrapperWords:r}:ZH(t,r)}function ZH(e,t){return e[0]==="cat"&&e.length===2&&th(e[1])?{capabilityId:"cat:file",wrapperWords:["cat",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===2&&th(e[1])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,"10",t[1]]}:(e[0]==="head"||e[0]==="tail")&&e.length===4&&e[1]==="-n"&&/^[1-9][0-9]*$/.test(e[2])&&th(e[3])?{capabilityId:`cat:${e[0]}`,wrapperWords:["cat",`--${e[0]}`,e[2],t[3]]}:null}function th(e){return!!e&&!e.startsWith("-")}function eW(e){let t=0;for(;t<e.length&&ys(e[t].value);)t+=1;if(e[t]?.value!=="env")return t;for(t+=1;t<e.length&&ys(e[t].value);)t+=1;return t}function tW(e,t){for(let r=t+1;r<e.length;r+=1)if(e[r].kind==="operator")return e[r].text}function rW(e){let t=[],r=0,n,s=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(s){s=!1;continue}if(i==="\\"){s=!0;continue}if(n){i===n&&(n=void 0);continue}if(i==="'"||i==='"'){n=i;continue}let a=nW(e,o);a&&(o>r&&t.push({kind:"segment",text:e.slice(r,o)}),t.push({kind:"operator",text:a}),o+=a.length-1,r=o+1)}return r<e.length&&t.push({kind:"segment",text:e.slice(r)}),t}function nW(e,t){let r=e.slice(t,t+2);if(r==="&&"||r==="||")return r;let n=e[t];return n===";"||n==="|"?n:void 0}function sW(e){let t=[],r="",n="",s,o=!1,i=!1,a=()=>{i&&(t.push({raw:r,value:n}),r="",n="",i=!1)};for(let c=0;c<e.length;c+=1){let l=e[c];if(o){r+=l,n+=l,o=!1,i=!0;continue}if(l==="\\"){r+=l,o=!0,i=!0;continue}if(s){r+=l,l===s?s=void 0:n+=l,i=!0;continue}if(l==="'"||l==='"'){r+=l,s=l,i=!0;continue}if(/[ \t]/.test(l)){a();continue}if(/[()`]/.test(l))return null;r+=l,n+=l,i=!0}return s||o?null:(a(),t)}var Wl=E(()=>{"use strict";ye();mv();Zg();Uo();eh();Gt()});function p0(e,t={}){let r=oW(e);if(r.length<12)return[];let n=new Map,s=new Map;for(let p of r){s.set(p.signature,(s.get(p.signature)??0)+1);for(let f of new Set(p.tokens))n.set(f,(n.get(f)??0)+1)}let o=r.map(p=>p.length),i=r.map(p=>p.tokens.length),a=r.map(p=>p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs))),c=rh(o),l=rh(i),u=rh(a),d=t.excludedByteRanges??[];return r.filter(p=>p.text.trim().length>0).filter(p=>!d.some(f=>dW(p.start,p.end,f.start,f.end))).map(p=>({line:p,score:nh(p.length,c)+nh(p.tokens.length,l)+nh(p.numbers.length===0?0:Math.max(...p.numbers.map(Math.abs)),u)+lW(p.tokens,n,r.length)+uW(p.signature,s,r.length)})).filter(p=>p.score>=(t.minScore??7)).sort((p,f)=>f.score-p.score||p.line.index-f.line.index).slice(0,t.maxOutliers??3).sort((p,f)=>p.line.index-f.line.index).map(p=>({lineNumber:p.line.index+1,score:Math.round(p.score*100)/100,text:p.line.text}))}function oW(e){let t=[],r=0,n=0;for(let s of e.matchAll(/\n/g)){let o=s.index??e.length;t.push(u0(n++,r,o,e.slice(r,o).replace(/\r$/,""))),r=o+1}return(r<e.length||e.length===0)&&t.push(u0(n,r,e.length,e.slice(r).replace(/\r$/,""))),t}function u0(e,t,r,n){return{index:e,start:t,end:r,text:n,signature:iW(n),tokens:aW(n),numbers:cW(n),length:n.length}}function iW(e){return e.replace(/[A-Z]+/g,"A").replace(/[a-z]+/g,"a").replace(/\d+(?:\.\d+)?/g,"0").replace(/\s+/g," ").slice(0,160)}function aW(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function cW(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function lW(e,t,r){let n=[...new Set(e)];if(n.length===0)return 0;let s=n.map(o=>Math.log2(r/Math.max(1,t.get(o)??r))).sort((o,i)=>i-o).slice(0,6);return s.reduce((o,i)=>o+i,0)/Math.max(1,s.length)}function uW(e,t,r){return Math.log2(r/Math.max(1,t.get(e)??r))}function rh(e){let t=d0(e),r=d0(e.map(n=>Math.abs(n-t)))||1;return{median:t,mad:r}}function nh(e,t){return Math.abs(e-t.median)/t.mad}function d0(e){let t=[...e].sort((n,s)=>n-s),r=Math.floor(t.length/2);return t.length===0?0:t.length%2===1?t[r]:((t[r-1]??0)+(t[r]??0))/2}function dW(e,t,r,n){return e<n&&r<t}var f0=E(()=>{"use strict"});var sh={};ne(sh,{DEFAULT_RSP_HEAVY_GIT_BYTE_THRESHOLD:()=>rr,GIT_LOG_MACHINE_FIELDS:()=>g0,StructuredUsageError:()=>Jl,cleanStatusPayload:()=>w0,recoveryInstruction:()=>Rt,renderGitContract:()=>h0,runGitWrapper:()=>fW});import{spawn as pW}from"node:child_process";async function fW(e,t){let r=y0(e),n=b0(r.argv),s=await yW(n,r.argv.slice(1));return h0(e,s,t)}async function h0(e,t,r){let n=y0(e);if((t.status??0)!==0||t.signal){let d=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(d),stderr:Buffer.from(t.stderr),status:d.exitCode??1,signal:t.signal}}let s=b0(n.argv),o;try{o=bW(s,n.argv,t.stdout,n.query)}catch(d){if(d instanceof Vl)return{stdout:Buffer.from(t.stdout),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:Buffer.from(t.stdout),degradation:{reason:d.reason,family:"git status",stderrHead:d.message}};throw d}let i=M(o);if(mW(s,i,n.full,r))return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let a=DW(o);if(!a)return{stdout:Buffer.from(i),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o};let c=Buffer.byteLength(i),l=await r.store?.mint(Buffer.from(i),{command:e.join(" "),loss:{level:"terse",bytes_elided:c}});if(!l)throw new Error("terse git output requires an elision store");let u=`\u2026 elided ${a.rowsElided} rows (+${c}) \u2014 ${Rt(l)}
249
+ `;return{stdout:Buffer.from(`${M(a.payload)}
250
+ ${u}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:a.payload,mintedHandle:l,bytesElided:c,rowsElided:a.rowsElided,rawOutput:Buffer.from(i)}}function Rt(e){return e.startsWith("el:")?`rsp show ${e}`:e}function y0(e){let{argv:t,query:r,full:n}=sw(e),s=t.slice(2).find(o=>o.startsWith("--rsp-"));if(s)throw new Jl(e.join(" "),s,["--full","--brief","--terse","--query"]);return{argv:t,query:r,full:n}}function mW(e,t,r,n){if(n.level==="terse")return!1;if(r||n.level==="full"||!gW(e)||n.level!=="lossless")return!0;let s=NW(n.heavyGitByteThreshold,rr);return Buffer.byteLength(t)<=s}function gW(e){return e==="diff"||e==="log"||e==="blame"||e==="show"}function b0(e){if(e[0]!=="git")throw new Error("expected rsp git <subcommand>");let t=e[1];if(t==="status"||t==="log"||t==="diff"||t==="commit"||t==="push"||t==="blame"||t==="branch"||t==="show")return t;throw new Error(`unsupported git subcommand: ${t??""}`)}function hW(e,t){let r=t.slice(1);switch(e){case"status":return["status","--porcelain=v2","-z","-b",...r];case"log":return["log",`--format=%x1e${g0.join("%x1f")}`,"-z",...r];case"diff":return["diff","--numstat","-z",...r];case"commit":return["commit",...r];case"push":return["push","--porcelain",...r];case"blame":return["blame","--line-porcelain",...r];case"branch":return["branch","--format=%(HEAD)%00%(refname:short)%00%(objectname:short)%00%(upstream:short)%00%(worktreepath)%00%(contents:subject)",...r];case"show":return["show","--format=%x1e%H%x1f%h%x1f%an%x1f%aI%x1f%s%x1f%b%x1e","--stat",...r]}}async function yW(e,t){let r=pW("git",hW(e,t),{stdio:["ignore","pipe","pipe"]}),n=Ye();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function bW(e,t,r,n){switch(e){case"status":return wW(t,r,n);case"log":return xW(t,r,n);case"diff":return OW(t,r,n);case"commit":return Fr(CW(t,r),n,["rsp git status --query <path-or-state>"]);case"push":return Fr(AW(t,r),n,["rsp gh pr list --query <branch>"]);case"blame":return PW(t,r,n);case"branch":return IW(t,r,n);case"show":return LW(t,r,n)}}function wW(e,t,r){let n="",s=[],o=!1,i=!1;for(let l of _W(t)){if(!l)continue;if(i=!0,l.startsWith("# branch.head ")){n=l.slice(14),o=!0;continue}if(l.startsWith("# ")){o=!0;continue}if(l.startsWith("## ")){n=SW(l),o=!0;continue}let u=EW(l);if(u){o=!0,s.push(u);continue}let d=kW(l);d&&(o=!0,s.push(d))}if(s.length===0){if(!i||o)return w0(e.join(" "),n);throw new Vl("git-status-unparseable")}let a=Ae(s,r),c=_0(a,"state");return Fr({command:e.join(" "),branch:n,rows:a,summary:TW(a.length,s.length,c,r)},r,["rsp git diff --query <path>","rsp git log --query <subject>"])}function _W(e){return e.includes("\0")?e.split("\0"):e.split(/\r?\n/)}function EW(e){if(e.startsWith("1 ")){let t=e.split(" "),r=t[1]??"..",n=t.slice(8).join(" ");return $i(n,r)}if(e.startsWith("2 ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(9).join(" "),r)}if(e.startsWith("u ")){let t=e.split(" "),r=t[1]??"..";return $i(t.slice(10).join(" "),r)}return e.startsWith("? ")?$i(e.slice(2),"??"):null}function kW(e){if(e.length<4||e[2]!==" ")return null;let t=e.slice(0,2);return/^[ MADRCU?!][ MADRCU?!?]$/.test(t)?$i(RW(e.slice(3),t),t):null}function $i(e,t){let r=m0(t[0]??"."),n=m0(t[1]??".");return{path:vW(e),index:r,worktree:n,state:GW(`${r}${n}`)}}function m0(e){return e===" "?".":e}function SW(e){let t=e.slice(3).split("...")[0]?.trim()??"";return t==="HEAD (no branch)"?"HEAD":t}function RW(e,t){if(!t.includes("R")&&!t.includes("C"))return e;let r=e.lastIndexOf(" -> ");return r>=0?e.slice(r+4):e}function vW(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;try{return JSON.parse(t)}catch{return t.slice(1,-1)}}function TW(e,t,r,n){let s=[];return r.renamed&&s.push(`${r.renamed} renamed`),r.untracked&&s.push(`${r.untracked} untracked`),r.changed&&s.push(`${r.changed} changed`),`${n?`${e}/${t}`:e} changes: ${r.added??0} added, ${r.modified??0} modified, ${r.deleted??0} deleted${s.length?`, ${s.join(", ")}`:""}`}function w0(e="git status",t=""){return{command:e,category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:t,rows:[],summary:"git status clean: 0 changes"}}function xW(e,t,r){let n=t.split("\0").filter(Boolean).map(o=>{let i=o.replace(/^\x1e/,"").split("");return{short:i[0]??"",author:i[1]??"",date:i[2]??"",subject:i[3]??""}}),s=Ae(n,r);return Fr({command:e.join(" "),commits:s,summary:`${r?`${s.length}/${n.length}`:s.length} commits`},r,["rsp git diff --query <path>","rsp gh pr list --query <branch>"])}function OW(e,t,r){let s=t.split("\0").filter(Boolean).map(a=>{let[c,l,u]=a.split(" ");return{path:u??"",added:c==="-"?null:Number(c??0),deleted:l==="-"?null:Number(l??0)}}),o=Ae(s,r),i=o.reduce((a,c)=>(a.added+=typeof c.added=="number"?c.added:0,a.deleted+=typeof c.deleted=="number"?c.deleted:0,a),{added:0,deleted:0});return Fr({command:e.join(" "),files:o,summary:`${r?`${o.length}/${s.length}`:o.length} files, +${i.added} -${i.deleted}`},r,["rsp git status --query <path>","rsp git log --query <subject>"])}function CW(e,t){let r=t.split(`
251
+ `)[0]??"",n=/^\[([^ ]+) ([0-9a-f]+)\] (.+)$/.exec(r),s=/(\d+) files? changed/.exec(t),o=/(\d+) insertions?\(\+\)/.exec(t),i=/(\d+) deletions?\(-\)/.exec(t),a=n?.[1]??"",c=n?.[2]??"",l=Number(s?.[1]??0),u=Number(o?.[1]??0),d=Number(i?.[1]??0);return{command:e.join(" "),branch:a,commit:c,subject:n?.[3]??"",files_changed:l,insertions:u,deletions:d,summary:`commit ${c} on ${a}: ${l} files, +${u} -${d}`}}function AW(e,t){let r=t.split(`
252
+ `).filter(Boolean),n=r.find(c=>c.startsWith("To "))?.slice(3)??"",s=r.filter(c=>c.includes(" ")).map(c=>{let[l,u,d=""]=c.split(" "),[p,f]=(u??"").split(":");return{flag:l??"",from:p??"",to:f??"",summary:d}}),o=s.find(c=>c.flag!=="=")??s[0],i=o?.to.startsWith("refs/heads/")?o.to.slice(11):o?.to??"",a=o?.summary.includes("..")?1:0;return s.length>0&&s.every(c=>c.flag==="=")?{command:e.join(" "),category:"no-op",exit_code:0,noop:!0,remote:n,refs:s,summary:`push already satisfied for ${i} -> ${n}`,help:["rsp gh pr list --query <branch>"]}:{command:e.join(" "),remote:n,refs:s,summary:`pushed ${i} -> ${n} +${a} commits`}}function PW(e,t,r){let n=t.split(`
253
+ `),s=[],o=null;for(let c of n){let l=/^([0-9a-f]{8,40}) \d+ (\d+)(?: \d+)?$/.exec(c);if(l){o={commit:l[1]??"",finalLine:Number(l[2]??0),author:"",path:""};continue}if(!o)continue;if(c.startsWith("author ")){o.author=c.slice(7);continue}if(c.startsWith("filename ")){o.path=c.slice(9);continue}if(!c.startsWith(" "))continue;let u=s.at(-1),d=o.commit.slice(0,12);u&&u.commit===d&&u.author===o.author&&u.path===o.path&&u.line_end+1===o.finalLine?u.line_end=o.finalLine:s.push({line_start:o.finalLine,line_end:o.finalLine,author:o.author,commit:d,path:o.path}),o=null}let i=Ae(s,r),a=_0(i,"author");return Fr({command:e.join(" "),ranges:i,authors:a,summary:`${r?`${i.length}/${s.length}`:i.length} ranges, ${Object.keys(a).length} authors`},r,["rsp git show --query <commit>","rsp git log --query <author>"])}function IW(e,t,r){let n=t.split(`
254
+ `).filter(Boolean).map(i=>{let[a,c,l,u,d,p]=i.split("\0");return{current:a==="*",name:c??"",commit:l??"",upstream:u||null,worktree:d||null,subject:p??""}}),s=Ae(n,r),o=s.find(i=>i.current)?.name??"";return Fr({command:e.join(" "),branches:s,summary:`${r?`${s.length}/${n.length}`:s.length} branches${o?`, current ${o}`:""}`},r,["rsp git log --query <branch>","rsp gh pr list --query <branch>"])}function LW(e,t,r){let n=t.indexOf(""),s=n>=0?t.indexOf("",n+1):-1,o=n>=0&&s>=0?t.slice(n+1,s):"",i=s>=0?t.slice(s+1):t,[a,c,l,u,d,p=""]=o.split(""),f=[];for(let y of i.split(`
253
255
  `)){let _=/^\s*(.+?)\s+\|\s+(\d+)\s+([+\-]+|Bin.*)$/.exec(y);if(!_)continue;let k=_[3]??"";f.push({path:(_[1]??"").trim(),changed:Number(_[2]??0),added:[...k].filter(v=>v==="+").length,deleted:[...k].filter(v=>v==="-").length,binary:k.startsWith("Bin")})}let m=Ae(f,r),h=0,w=0,b=0;for(let y of m)h+=typeof y.changed=="number"?y.changed:0,w+=typeof y.added=="number"?y.added:0,b+=typeof y.deleted=="number"?y.deleted:0;return Fr({command:e.join(" "),commit:a??"",short:c??"",author:l??"",date:u??"",subject:d??"",body_lines:p.trim()?p.trim().split(`
254
- `).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${h} changed, +${w} -${b}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function Fr(e,t,r){return t?Kt(e,r):e}function EW(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function g0(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function kW(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function SW(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 u0,Jl,Vl,Tn=E(()=>{"use strict";ye();V();Ye();ro();mt();Ye();u0=["%h","%an","%as","%s"];Jl=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return Ib(this.command,this.flag,this.validFlags,`${this.command} --help`)}},Vl=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var nh={};ne(nh,{NORMALIZATION_ALLOWLIST:()=>k0,NORMALIZE_ANSI:()=>zl,NORMALIZE_BLANK_LINES:()=>Xl,NORMALIZE_CR_PROGRESS:()=>Yl,NORMALIZE_JSON_TOON:()=>E0,NORMALIZE_TRAILING_WHITESPACE:()=>Ql,crushJsonArrayItems:()=>Fi,formatCodexNormalizeDecision:()=>x0,formatNormalizeDecision:()=>T0,hookDecisionFromClaudePostExecJson:()=>S0,hookDecisionFromCodexPostExecJson:()=>R0,normalizeOutput:()=>Zl,renderGenericJsonLane:()=>th,runClaudePostExecHook:()=>TW,runCodexPostExecHook:()=>xW,transcodeJsonToToon:()=>_0});import{readFileSync as Kl}from"node:fs";function _0(e,t){let r=t?.encode??B,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 eh(o,a)?i.trimEnd():e}async function th(e,t={}){let r=PW(e);if(!r)return{output:e,detected:!1,lossy:!1};let n=r.value;if(!Array.isArray(n))return{output:B(n).trimEnd(),detected:!0,lossy:!1};let s=n.length,o=w0(t.minTokens,RW),i=w0(t.maxItems,vW);if(!(s>i&&DW(e)>=o))return{output:B(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Fi)(n,i)}catch(h){return{output:B(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:$W(h)}}}let l=c.items,u={items:l},d=`items: ${c.kept} kept, ${c.dropped} dropped (shape outliers: ${c.shapeOutliers}, value outliers: ${c.valueOutliers})`,p;t.level&&t.level!=="lossless"&&(p=await t.store?.mint(Buffer.from(e),{command:t.command??"rsp json",loss:{level:t.level,bytes_elided:Buffer.byteLength(e)}}));let f=p?`original: rsp show ${p}`:`original: unavailable - re-run: ${t.command??"command"}`,m=B(u).trimEnd();return{output:[d,f,m].filter(Boolean).join(`
255
- `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Fi(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=IW(e),s=new Set;n&&e.forEach((a,c)=>{rh(a)!==n&&s.add(c)});let o=LW(e,n);for(let a of s)r.add(a);for(let a of o)r.add(a);let i=[...r].sort((a,c)=>a-c).slice(0,Math.max(2,t));return{items:i.map(a=>e[a]),total:e.length,kept:i.length,dropped:e.length-i.length,shapeOutliers:[...s].filter(a=>i.includes(a)).length,valueOutliers:[...o].filter(a=>i.includes(a)).length}}function Zl(e){let t=e;for(let r of k0)t=r.apply(t);return t}async function S0(e,t){return await v0(e,t)}async function R0(e,t){return await v0(e,t)}async function v0(e,t){let r=AW(e),n=FW(r,["cwd"])||t.cwd;if(!await(t.isEnabled??CW)(n))return{kind:"passthrough",reason:"disabled"};let o=MW(r,"tool_response");if(!o)return{kind:"passthrough",reason:"missing-output"};if(typeof o.output!="string")return{kind:"passthrough",reason:"missing-output"};let i=o.output,c=(t.normalize??Zl)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function T0(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function x0(e){return{stdout:"",status:0}}async function TW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await S0(t,{cwd:process.cwd()}),n=T0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function xW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await R0(t,{cwd:process.cwd()}),n=x0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function OW(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&&h0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&h0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function h0(e){return e>=32&&e<=63}function CW(e){return Ie(e,process.env).enabled}function AW(e){try{let t=JSON.parse(e);return Gs(t)?t:{}}catch{return{}}}function PW(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Gs(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 IW(e){let t=new Map;for(let s of e){let o=rh(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 rh(e){return Array.isArray(e)?"array":Gs(e)?Object.keys(e).sort().map(t=>`${t}:${y0(e[t])}`).join("|"):y0(e)}function LW(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&rh(s)!==t))for(let[i,a]of O0(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 GW(s))r.add(o);for(let o of NW(s))r.add(o)}return r}function GW(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=b0(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=b0(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 NW(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 O0(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Gs(e)?Object.entries(e).flatMap(([r,n])=>O0(n,t?`${t}.${r}`:r)):[]}function y0(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function b0(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 DW(e){return Math.ceil(e.length/4)}function w0(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function $W(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 FW(e,t){let r=e;for(let n of t){if(!Gs(r))return"";r=r[n]}return typeof r=="string"?r:""}function MW(e,t){let r=e[t];return Gs(r)?r:null}function Gs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function eh(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)=>eh(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)&&eh(r[i],n[i]))}var zl,Yl,Ql,Xl,E0,RW,vW,k0,Mi=E(()=>{"use strict";V();Ye();zl={id:"ansi",apply:OW},Yl={id:"cr-progress",apply:e=>e.split(`
256
+ `).length:0,files:m,summary:`${r?`${m.length}/${f.length}`:m.length} files, ${h} changed, +${w} -${b}`},r,["rsp git blame --query <author-or-path>","rsp git diff --query <path>"])}function Fr(e,t,r){return t?Kt(e,r):e}function GW(e){return e==="??"?"untracked":e.includes("A")?"added":e.includes("D")?"deleted":e.includes("R")?"renamed":e.includes("M")?"modified":"changed"}function _0(e,t){let r={};for(let n of e){let s=String(n[t]??"");r[s]=(r[s]??0)+1}return r}function NW(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function DW(e){for(let t of["rows","commits","files","refs","ranges","branches"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}var g0,Jl,Vl,Tn=E(()=>{"use strict";ye();J();Be();no();mt();Be();g0=["%h","%an","%as","%s"];Jl=class extends Error{constructor(r,n,s){super(`unknown flag: ${n}`);this.command=r;this.flag=n;this.validFlags=s}render(){return $b(this.command,this.flag,this.validFlags,`${this.command} --help`)}},Vl=class extends Error{constructor(r){super("git status output was not recognized; passing raw stdout through");this.reason=r}}});var ch={};ne(ch,{NORMALIZATION_ALLOWLIST:()=>x0,NORMALIZE_ANSI:()=>zl,NORMALIZE_BLANK_LINES:()=>Xl,NORMALIZE_CR_PROGRESS:()=>Yl,NORMALIZE_JSON_TOON:()=>T0,NORMALIZE_TRAILING_WHITESPACE:()=>Ql,crushJsonArrayItems:()=>Fi,formatCodexNormalizeDecision:()=>I0,formatNormalizeDecision:()=>P0,hookDecisionFromClaudePostExecJson:()=>O0,hookDecisionFromCodexPostExecJson:()=>C0,normalizeOutput:()=>Zl,renderGenericJsonLane:()=>ih,runClaudePostExecHook:()=>MW,runCodexPostExecHook:()=>BW,transcodeJsonToToon:()=>v0});import{readFileSync as Kl}from"node:fs";function v0(e,t){let r=t?.encode??M,n=t?.decode??z,s=e.trimEnd();if(!s)return e;let o;try{o=JSON.parse(s)}catch{return e}let i;try{i=r(o)}catch{return e}let a;try{a=n(i)}catch{return e}return oh(o,a)?i.trimEnd():e}async function ih(e,t={}){let r=HW(e);if(!r)return{output:e,detected:!1,lossy:!1};let n=r.value;if(!Array.isArray(n))return{output:M(n).trimEnd(),detected:!0,lossy:!1};let s=n.length,o=R0(t.minTokens,$W),i=R0(t.maxItems,FW);if(!(s>i&&zW(e)>=o))return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s};let c;try{c=(t.crusher??Fi)(n,i)}catch(h){return{output:M(n).trimEnd(),detected:!0,lossy:!1,totalItems:s,keptItems:s,degradation:{reason:"json-array-crusher-failed",family:"json",stderrHead:YW(h)}}}let l=c.items,u={items:l},d=`items: ${c.kept} kept, ${c.dropped} dropped (shape outliers: ${c.shapeOutliers}, value outliers: ${c.valueOutliers})`,p;t.level&&t.level!=="lossless"&&(p=await t.store?.mint(Buffer.from(e),{command:t.command??"rsp json",loss:{level:t.level,bytes_elided:Buffer.byteLength(e)}}));let f=p?`original: rsp show ${p}`:`original: unavailable - re-run: ${t.command??"command"}`,m=M(u).trimEnd();return{output:[d,f,m].filter(Boolean).join(`
257
+ `),detected:!0,lossy:!0,totalItems:s,keptItems:l.length,handle:p}}function Fi(e,t){if(e.length<=t)return{items:[...e],total:e.length,kept:e.length,dropped:0,shapeOutliers:0,valueOutliers:0};let r=new Set([0,e.length-1]),n=WW(e),s=new Set;n&&e.forEach((a,c)=>{ah(a)!==n&&s.add(c)});let o=JW(e,n);for(let a of s)r.add(a);for(let a of o)r.add(a);let i=[...r].sort((a,c)=>a-c).slice(0,Math.max(2,t));return{items:i.map(a=>e[a]),total:e.length,kept:i.length,dropped:e.length-i.length,shapeOutliers:[...s].filter(a=>i.includes(a)).length,valueOutliers:[...o].filter(a=>i.includes(a)).length}}function Zl(e){let t=e;for(let r of x0)t=r.apply(t);return t}async function O0(e,t){return await A0(e,t)}async function C0(e,t){return await A0(e,t)}async function A0(e,t){let r=UW(e),n=QW(r,["cwd"])||t.cwd;if(!await(t.isEnabled??qW)(n))return{kind:"passthrough",reason:"disabled"};let o=XW(r,"tool_response");if(!o)return{kind:"passthrough",reason:"missing-output"};if(typeof o.output!="string")return{kind:"passthrough",reason:"missing-output"};let i=o.output,c=(t.normalize??Zl)(i);return c===i?{kind:"passthrough",reason:"no-change"}:{kind:"normalized",output:c}}function P0(e){return e.kind==="normalized"?{stdout:JSON.stringify({tool_response:{output:e.output}}),status:0}:{stdout:"",status:0}}function I0(e){return{stdout:"",status:0}}async function MW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await O0(t,{cwd:process.cwd()}),n=P0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}async function BW(e){let t=e?Kl(e,"utf8"):Kl(0,"utf8"),r=await C0(t,{cwd:process.cwd()}),n=I0(r);return n.stdout&&process.stdout.write(n.stdout),n.status}function jW(e){let t="",r=0;for(;r<e.length;){let n=e.charCodeAt(r);if(n===27){let s=e.charCodeAt(r+1);if(s===93){for(r+=2;r<e.length;){let o=e.charCodeAt(r);if(o===7){r++;break}if(o===27&&e.charCodeAt(r+1)===92){r+=2;break}r++}continue}if(s===91){for(r+=2;r<e.length&&E0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}r+=s>=32?2:1;continue}if(n===155){for(r++;r<e.length&&E0(e.charCodeAt(r));)r++;r<e.length&&r++;continue}t+=e[r++]}return t}function E0(e){return e>=32&&e<=63}function qW(e){return Ie(e,process.env).enabled}function UW(e){try{let t=JSON.parse(e);return Ns(t)?t:{}}catch{return{}}}function HW(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return Ns(n)||Array.isArray(n)?{value:n}:null}catch{}let r=[];for(let n of e.split(/\r?\n/))if(n.trim())try{r.push(JSON.parse(n))}catch{return null}return r.length>0?{value:r}:null}function WW(e){let t=new Map;for(let s of e){let o=ah(s);t.set(o,(t.get(o)??0)+1)}let[r,n]=[...t.entries()].sort((s,o)=>o[1]-s[1]||s[0].localeCompare(o[0]))[0]??[];return typeof r=="string"&&typeof n=="number"&&n>e.length/2?r:null}function ah(e){return Array.isArray(e)?"array":Ns(e)?Object.keys(e).sort().map(t=>`${t}:${k0(e[t])}`).join("|"):k0(e)}function JW(e,t){let r=new Set,n=new Map;e.forEach((s,o)=>{if(!(t&&ah(s)!==t))for(let[i,a]of L0(s)){let c=n.get(i)??[];c.push({index:o,value:a}),n.set(i,c)}});for(let s of n.values()){for(let o of VW(s))r.add(o);for(let o of KW(s))r.add(o)}return r}function VW(e){let t=e.filter(a=>typeof a.value=="number"&&Number.isFinite(a.value));if(t.length<5||t.length!==e.length)return[];let r=t.map(a=>a.value).sort((a,c)=>a-c),n=S0(r),s=r.map(a=>Math.abs(a-n)).sort((a,c)=>a-c),o=S0(s);if(o===0)return t.filter(c=>c.value===n).length/t.length<.8?[]:t.filter(c=>c.value!==n).map(c=>c.index);let i=o*8;return t.filter(a=>Math.abs(a.value-n)>i).map(a=>a.index)}function KW(e){if(e.length<5)return[];if(!e.every(s=>typeof s.value=="string"||typeof s.value=="boolean"||s.value===null))return[];let t=new Map;for(let s of e)t.set(String(s.value),(t.get(String(s.value))??0)+1);if(Math.max(...t.values())/e.length<.8)return[];let n=Math.max(2,Math.floor(e.length*.05));return e.filter(s=>(t.get(String(s.value))??0)<=n).map(s=>s.index)}function L0(e,t=""){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?[[t||"$",e]]:Array.isArray(e)?[]:Ns(e)?Object.entries(e).flatMap(([r,n])=>L0(n,t?`${t}.${r}`:r)):[]}function k0(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function S0(e){let t=Math.floor(e.length/2);return e.length%2===1?e[t]??0:((e[t-1]??0)+(e[t]??0))/2}function zW(e){return Math.ceil(e.length/4)}function R0(e,t){return e==null?t:Number.isFinite(e)&&e>0?Math.floor(e):t}function YW(e){let r=(e instanceof Error?e.message:String(e??"unknown crusher failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown crusher failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function QW(e,t){let r=e;for(let n of t){if(!Ns(r))return"";r=r[n]}return typeof r=="string"?r:""}function XW(e,t){let r=e[t];return Ns(r)?r:null}function Ns(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function oh(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>oh(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&oh(r[i],n[i]))}var zl,Yl,Ql,Xl,T0,$W,FW,x0,Mi=E(()=>{"use strict";J();Be();zl={id:"ansi",apply:jW},Yl={id:"cr-progress",apply:e=>e.split(`
256
258
  `).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(`
257
259
  `)},Ql={id:"trailing-whitespace",apply:e=>e.split(`
258
260
  `).map(t=>t.replace(/[ \t]+$/,"")).join(`
259
261
  `)},Xl={id:"blank-lines",apply:e=>e.replace(/\n{3,}/g,`
260
262
 
261
- `)};E0={id:"json-to-toon",apply:e=>_0(e)},RW=200,vW=15;k0=[zl,Yl,Ql,Xl,E0]});var qi={};ne(qi,{parseExecCommandLine:()=>G0,renderExecContract:()=>L0,runExecWrapper:()=>HW});import{isUtf8 as BW}from"node:buffer";import{spawn as jW}from"node:child_process";async function HW(e,t){let r=G0(e),n=await WW(r);return await L0(r,n,t)}async function L0(e,t,r){let n=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let p=Me(e,t.stdout,t.stderr);return{stdout:ee(p),stderr:s,status:p.exitCode??1,signal:t.signal,rawOutput:n}}if(n.length===0)return{stdout:n,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let o=JW(n),i=o.kind==="text"?Buffer.from(o.text):n,a=pJ(r.heavyByteThreshold,qW);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"?KW(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):zW(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 G0(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 WW(e){let t=jW(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("binary"),stderr:Buffer.concat(s).toString("binary"),status:a,signal:c})})})}function JW(e){return BW(e)?{kind:"text",text:VW(e.toString("utf8"))}:{kind:"bytes"}}function VW(e){let t=e;for(let r of[zl,Yl,Ql,Xl])t=r.apply(t);return t}function KW(e,t,r,n,s,o=oJ,i=Fi){let c=Math.max(1,Math.floor((n==="terse"?I0:UW)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=sJ(e,c,u,o),p=YW(e),f=QW(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=N0(s,p,t,dJ(l),r,f.summary),h=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:j0(d.error)}:f.degradation;return{text:B0(m),degradation:h}}function zW(e,t,r,n){let s=Math.max(1,Math.floor(I0/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:B0(N0(n,"bytes",t,0,r,o))}}function N0(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:Rt(s)}}}function YW(e){let t=e.trim();return t?$0(t)?"json":F0(e)?"jsonl":iJ(e)?"unified-diff":M0(e)?"tabular":aJ(e)?"log-like":cJ(e)?"prose":"untyped":"untyped"}function QW(e,t,r,n,s,o,i=Fi){switch(e){case"json":return XW(t,i);case"jsonl":return{summary:ZW(t)};case"unified-diff":return{summary:eJ(t)};case"tabular":return{summary:tJ(t)};case"log-like":return{summary:rJ(t,o)};case"prose":return{summary:nJ(t)};case"bytes":return{summary:{}};case"untyped":return{summary:D0(r,n,s,o)}}}function XW(e,t){let r=$0(e);if(Array.isArray(r)){if(r.length>15)try{let n=t(r,15);return{summary:{root_type:"array",total:n.total,kept:n.kept,dropped:n.dropped,shape_outliers:n.shapeOutliers,value_outliers:n.valueOutliers,items:n.items.map(Mr),item_keys:oh(r)}}}catch(n){return{summary:A0(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:j0(n)}}}return{summary:A0(r)}}if(ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Mr(o)]))}}}return{summary:{root_type:typeof r,value:Mr(r)}}}function A0(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Mr),item_keys:oh(e)}}function ZW(e){let t=F0(e)??[],r=lJ(t,"level");return{records:t.length,keys:oh(t),levels:r,first:Mr(t[0]),last:Mr(t.at(-1))}}function eJ(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 tJ(e){let t=M0(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:D0(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function rJ(e,t){let r=Bi(e);return{entries:r.length,levels:uJ(r),first:xn(r[0]??""),last:xn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:xn(n.text)}))}}function nJ(e){let t=e.trim().split(/\n\s*\n/).filter(n=>n.trim()),r=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:r.length,opening:xn(t[0]??""),closing:xn(t.at(-1)??"")}}function D0(e,t,r,n){let s=P0(e.subarray(0,t)),o=P0(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:xn(i.text)}))}}function sJ(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function oJ(e,t){return a0(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function $0(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 F0(e){let t=Bi(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function iJ(e){let t=Bi(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function M0(e){let t=Bi(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function aJ(e){let t=Bi(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function cJ(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Bi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function oh(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 lJ(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 uJ(e){let t=new Map;for(let r of e){let n=/\blevel=([A-Za-z]+)\b/.exec(r)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(r);if(!n)continue;let s=(n[1]??n[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}function Mr(e){return typeof e=="string"?xn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Mr):ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Mr(r)])):String(e)}function xn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=C0?t:`${t.slice(0,C0-1)}\u2026`}function B0(e){let t=B(e).trimEnd(),r=Z(t);if(!sh(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
262
- `}function sh(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)=>sh(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)&&sh(r[i],n[i]))}function ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function j0(e){let r=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function P0(e){return e.toString("utf8").replace(/�$/g,"")}function dJ(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 pJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var qW,UW,I0,C0,Ui=E(()=>{"use strict";ye();V();c0();Tn();Mi();mt();qW=8*1024,UW=2*1024,I0=1024,C0=240});var uu={};ne(uu,{RSP_WRAPPER_CAPABILITIES:()=>Ji,_testOnlyResetBinaryState:()=>SJ,formatCodexHookDecision:()=>eO,formatHookDecision:()=>Z0,hookDecisionFromClaudePreExecJson:()=>PJ,hookDecisionFromCodexPreExecJson:()=>IJ,rewriteCommand:()=>Q0,rewriteTableFromCapabilities:()=>Y0,runClaudePreExecHook:()=>LJ,runCodexPreExecHook:()=>GJ});import{accessSync as wJ,constants as _J,existsSync as EJ,readFileSync as au}from"node:fs";import{fileURLToPath as kJ}from"node:url";function SJ(){iu=void 0,ih=!1}function RJ(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return wJ(`${t}/rsp`,_J.X_OK),!0}catch{}return!1}function vJ(e){return iu===void 0&&(iu=e()),iu}function TJ(){ih||(ih=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function Y0(e){let t=new Map;for(let r of e)t.set(XJ(r.command),["rsp",...r.wrapper]);return t}function Q0(e,t=ii()){let r=CJ(e,t);if(r)return r;let n=UJ(e);if(n)return n;let s=jJ(e);if(!s)return ou(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&hs(o[0]))return ou(e,t);let i=AJ(s,t);if(i)return i;let a=OJ(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return ou(e,t);let c=[...Ji].sort((d,p)=>p.command.length-d.command.length).find(d=>qJ(o,d.command));if(!c)return ou(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=oO(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Tt),...u].join(" "),capabilityId:c.id}}function OJ(e,t){let r=e.tokens.map(s=>s.text);if(r[0]!=="gh"||r[1]!=="api"||!r[2]||r.some(s=>["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(s)))return null;let n=r.findIndex(s=>s==="--method"||s==="-X");return n>=0&&(r[n+1]??"").toUpperCase()!=="GET"||r[2]==="graphql"?null:{kind:"rewrite",command:[...t,...r].map(Tt).join(" "),capabilityId:"gh:api:read"}}function CJ(e,t){let r=t.map(Tt).join(" "),n=lu(e.trim()).map(a=>a.text);if(n[0]==="gh"&&n[1]==="run"&&n[2]==="watch"&&/^[1-9][0-9]*$/.test(n[3]??""))return{kind:"rewrite",command:`${r} wait run ${n[3]}`,capabilityId:"wait:github-run"};if(!/\b(?:for|while)\b/.test(e)||!/\bsleep\b/.test(e))return null;let s=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/jobs\/([1-9][0-9]*)/.exec(e);if(s)return{kind:"rewrite",command:`${r} wait job ${s[1]}`,capabilityId:"wait:github-job"};let o=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/runs\/([1-9][0-9]*)/.exec(e);if(o)return{kind:"rewrite",command:`${r} wait run ${o[1]}`,capabilityId:"wait:github-run"};let i=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/releases\/tags\/([^\s'";|]+)/.exec(e);return i?{kind:"rewrite",command:`${r} wait release --tag ${Tt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function AJ(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=oO(e.redirectSuffix),o=t.map(Tt);return n==="cat"&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",Tt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Tt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&su(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Tt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&su(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Tt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function su(e){return!!e&&!e.startsWith("-")}async function PJ(e,t){return await X0(e,t)}async function IJ(e,t){return await X0(e,t)}async function X0(e,t){return(await ch(e,t,"pre-exec")).decision}async function ch(e,t,r){let n=lO(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Ns({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=vt(s,["cwd"])||vt(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??NJ)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ns({hook:r,command:ah(s),decision:m,reason:"disabled"})}}let a=ah(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Ns({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??ii();if(!vJ(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||RJ()))){TJ();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Ns({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=Ie(o,process.env).proxyEnabled?HJ(a,c):(t.rewrite??(m=>Q0(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:Ns({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await $J(o,t.wakeResident??DJ),{decision:p,telemetryRoot:o,event:Ns({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function Z0(e){return e.kind==="rewrite"?tO(e.command):{stdout:"",status:0}}function eO(e){return e.kind==="rewrite"?tO(e.command):{stdout:"",status:0}}function tO(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
263
- `,status:0}}async function LJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await ch(t,{cwd:process.cwd()},"claude-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;nO("claude-pre-exec",n);let s=Z0(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),rO("claude-pre-exec",t,r)),sO("claude-pre-exec",r),0}}async function GJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await ch(t,{cwd:process.cwd()},"codex-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;nO("codex-pre-exec",n);let s=eO(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),rO("codex-pre-exec",t,r)),sO("codex-pre-exec",r),0}}function cu(e,t){fn(e,t).catch(()=>{})}function Ns(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:qe,event_type:"decision",ts:new Date().toISOString(),hook:e.hook,command:t||"unknown",command_family:ct(t),decision:r?"contributed":"passed",reason:e.reason,capability_id:r,decision_ms:e.decisionMs}}function rO(e,t,r){let n=lO(t),s=n.ok?ah(n.payload):"";return{collection:qe,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:ct(s),decision:"failed-open",reason:"hook-exception",error:lh(r)}}function NJ(e){return Ie(e,process.env).enabled}async function DJ(e){let t=Ie(e,process.env);if(!t.enabled||!BJ(t))return;let r=tt(e);await Oa(r,MJ(t))}async function $J(e,t){try{await Promise.resolve(t(e))}catch(r){FJ(r)}}function nO(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
263
+ `)};T0={id:"json-to-toon",apply:e=>v0(e)},$W=200,FW=15;x0=[zl,Yl,Ql,Xl,T0]});var qi={};ne(qi,{parseExecCommandLine:()=>M0,renderExecContract:()=>F0,runExecWrapper:()=>nJ});import{isUtf8 as ZW}from"node:buffer";import{spawn as eJ}from"node:child_process";async function nJ(e,t){let r=M0(e),n=await sJ(r);return await F0(r,n,t)}async function F0(e,t,r){let n=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let p=Me(e,t.stdout,t.stderr);return{stdout:ee(p),stderr:s,status:p.exitCode??1,signal:t.signal,rawOutput:n}}if(n.length===0)return{stdout:n,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let o=oJ(n),i=o.kind==="text"?Buffer.from(o.text):n,a=vJ(r.heavyByteThreshold,tJ);if(i.length<=a&&r.level!=="terse")return{stdout:i,stderr:s,status:t.status,signal:t.signal,rawOutput:n};let c=n.length,l=r.level==="lossless"?"terse":r.level,u=await r.store?.mint(n,{command:e,loss:{level:l,bytes_elided:c}});if(!u)throw new Error("rsp exec output elision requires an elision store");let d=o.kind==="text"?aJ(o.text,n.length,u,r.level,e,r.anomalyScorer,r.jsonArrayCrusher):cJ(n,n.length,u,e);return{stdout:Buffer.from(d.text),stderr:s,status:t.status,signal:t.signal,mintedHandle:u,bytesElided:c,rawOutput:n,degradation:d.degradation}}function M0(e){if(e[0]!=="exec")throw new Error("expected rsp exec -- <command line>");let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1),n=r.length===1?r[0]:r.join(" ");if(!n.trim())throw new Error("usage: rsp exec -- <command line>");return n}async function sJ(e){let t=eJ(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),r=Ye();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("binary"),stderr:Buffer.concat(s).toString("binary"),status:a,signal:c})})})}function oJ(e){return ZW(e)?{kind:"text",text:iJ(e.toString("utf8"))}:{kind:"bytes"}}function iJ(e){let t=e;for(let r of[zl,Yl,Ql,Xl])t=r.apply(t);return t}function aJ(e,t,r,n,s,o=bJ,i=Fi){let c=Math.max(1,Math.floor((n==="terse"?$0:rJ)/2)),l=Buffer.from(e),u=Math.max(0,l.length-c),d=yJ(e,c,u,o),p=lJ(e),f=uJ(p,e,l,c,u,d.kind==="ok"?d.lines:[],i),m=B0(s,p,t,RJ(l),r,f.summary),h=d.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:J0(d.error)}:f.degradation;return{text:W0(m),degradation:h}}function cJ(e,t,r,n){let s=Math.max(1,Math.floor($0/2)),o={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:W0(B0(n,"bytes",t,0,r,o))}}function B0(e,t,r,n,s,o){return{family:"exec",command:e,content:t,bytes:r,lines:n,summary:o,recovery:{original:Rt(s)}}}function lJ(e){let t=e.trim();return t?q0(t)?"json":U0(e)?"jsonl":wJ(e)?"unified-diff":H0(e)?"tabular":_J(e)?"log-like":EJ(e)?"prose":"untyped":"untyped"}function uJ(e,t,r,n,s,o,i=Fi){switch(e){case"json":return dJ(t,i);case"jsonl":return{summary:pJ(t)};case"unified-diff":return{summary:fJ(t)};case"tabular":return{summary:mJ(t)};case"log-like":return{summary:gJ(t,o)};case"prose":return{summary:hJ(t)};case"bytes":return{summary:{}};case"untyped":return{summary:j0(r,n,s,o)}}}function dJ(e,t){let r=q0(e);if(Array.isArray(r)){if(r.length>15)try{let n=t(r,15);return{summary:{root_type:"array",total:n.total,kept:n.kept,dropped:n.dropped,shape_outliers:n.shapeOutliers,value_outliers:n.valueOutliers,items:n.items.map(Mr),item_keys:uh(r)}}}catch(n){return{summary:N0(r),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:J0(n)}}}return{summary:N0(r)}}if(ji(r)){let n=Object.entries(r);return{summary:{root_type:"object",keys:n.map(([s])=>s).slice(0,20),key_count:n.length,sample:Object.fromEntries(n.slice(0,8).map(([s,o])=>[s,Mr(o)]))}}}return{summary:{root_type:typeof r,value:Mr(r)}}}function N0(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Mr),item_keys:uh(e)}}function pJ(e){let t=U0(e)??[],r=kJ(t,"level");return{records:t.length,keys:uh(t),levels:r,first:Mr(t[0]),last:Mr(t.at(-1))}}function fJ(e){let t=new Map,r="",n=0,s=0,o=0;for(let i of e.split(/\r?\n/)){let a=/^diff --git a\/(.+?) b\/(.+)$/.exec(i);if(a){r=a[2]??a[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0});continue}if(!r){let c=/^\+\+\+ b\/(.+)$/.exec(i);c&&(r=c[1]??"unknown",t.has(r)||t.set(r,{path:r,added:0,deleted:0,hunks:0}))}i.startsWith("@@")?(o++,r&&t.get(r).hunks++):i.startsWith("+")&&!i.startsWith("+++")?(n++,r&&t.get(r).added++):i.startsWith("-")&&!i.startsWith("---")&&(s++,r&&t.get(r).deleted++)}return{files:[...t.values()].slice(0,12),file_count:t.size,hunks:o,added_lines:n,deleted_lines:s}}function mJ(e){let t=H0(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:j0(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function gJ(e,t){let r=Bi(e);return{entries:r.length,levels:SJ(r),first:xn(r[0]??""),last:xn(r.at(-1)??""),outliers:t.map(n=>({line:n.lineNumber,score:Number(n.score.toFixed(2)),text:xn(n.text)}))}}function hJ(e){let t=e.trim().split(/\n\s*\n/).filter(n=>n.trim()),r=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:r.length,opening:xn(t[0]??""),closing:xn(t.at(-1)??"")}}function j0(e,t,r,n){let s=D0(e.subarray(0,t)),o=D0(e.subarray(r));return{head:s,tail:o,outliers:n.map(i=>({line:i.lineNumber,score:Number(i.score.toFixed(2)),text:xn(i.text)}))}}function yJ(e,t,r,n){try{return{kind:"ok",lines:n(e,{headBytes:t,tailStart:r})}}catch(s){return{kind:"failed",error:s}}}function bJ(e,t){return p0(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function q0(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let r=JSON.parse(t);return ji(r)||Array.isArray(r)?r:null}catch{return null}}function U0(e){let t=Bi(e);if(t.length<2||!t.every(n=>/^[\[{]/.test(n.trim())))return null;let r=[];for(let n of t)try{r.push(JSON.parse(n))}catch{return null}return r}function wJ(e){let t=Bi(e),r=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(r)&&!/^--- /.test(r))return!1;let n=t.some(i=>/^diff --git a\/.+ b\/.+/.test(i))||t.some(i=>/^--- /.test(i))&&t.some(i=>/^\+\+\+ /.test(i)),s=t.some(i=>/^@@ /.test(i)),o=t.some(i=>/^[+-]/.test(i)&&!/^(---|\+\+\+) /.test(i));return n&&s&&o}function H0(e){let t=Bi(e);if(t.length<3)return null;let r=t[0]??"";if(/[=:{}/]/.test(r)||/^\d{4}-\d{2}-\d{2}/.test(r))return null;let n=r.includes(" ")?/\t+/:/\s{2,}/,s=r.split(n).map(i=>i.trim()).filter(Boolean);if(s.length<2||s.some(i=>!/^[A-Za-z0-9_.-]+$/.test(i)))return null;let o=[];for(let i of t.slice(1)){let a=i.split(n).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;o.push(Object.fromEntries(s.map((c,l)=>[c,a[l]??""])))}return o.length>0?{columns:s,rows:o}:null}function _J(e){let t=Bi(e);return t.length<3?!1:t.filter(n=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(n)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(n)||(n.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(n)).length/t.length>=.6}function EJ(e){let t=e.trim();if(!t)return!1;let r=t.split(/\s+/).filter(Boolean),n=t.match(/[.!?](?:\s|$)/g)?.length??0;return r.length>=20&&n>=2}function Bi(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function uh(e){let t=new Map;for(let r of e)if(ji(r))for(let n of Object.keys(r))t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((r,n)=>n[1]-r[1]||r[0].localeCompare(n[0])).slice(0,20).map(([r])=>r)}function kJ(e,t){let r=new Map;for(let n of e){if(!ji(n))continue;let s=n[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let o=String(s).toLowerCase();r.set(o,(r.get(o)??0)+1)}}return Object.fromEntries([...r.entries()].sort((n,s)=>n[0].localeCompare(s[0])))}function SJ(e){let t=new Map;for(let r of e){let n=/\blevel=([A-Za-z]+)\b/.exec(r)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(r);if(!n)continue;let s=(n[1]??n[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}function Mr(e){return typeof e=="string"?xn(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Mr):ji(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,r])=>[t,Mr(r)])):String(e)}function xn(e){let t=e.replace(/\s+/g," ").trim();return t.length<=G0?t:`${t.slice(0,G0-1)}\u2026`}function W0(e){let t=M(e).trimEnd(),r=z(t);if(!lh(e,r))throw new Error("exec TOON round-trip guard failed");return`${t}
264
+ `}function lh(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!=typeof t||typeof e!="object"||Array.isArray(e)!==Array.isArray(t))return!1;if(Array.isArray(e)){let i=t;return e.length!==i.length?!1:e.every((a,c)=>lh(a,i[c]))}let r=e,n=t,s=Object.keys(r),o=Object.keys(n);return s.length!==o.length?!1:s.every(i=>Object.prototype.hasOwnProperty.call(n,i)&&lh(r[i],n[i]))}function ji(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J0(e){let r=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return r.length<=240?r:`${r.slice(0,239)}\u2026`}function D0(e){return e.toString("utf8").replace(/�$/g,"")}function RJ(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function vJ(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var tJ,rJ,$0,G0,Ui=E(()=>{"use strict";ye();J();f0();Tn();Mi();mt();tJ=8*1024,rJ=2*1024,$0=1024,G0=240});var uu={};ne(uu,{RSP_WRAPPER_CAPABILITIES:()=>Ji,_testOnlyResetBinaryState:()=>DJ,formatCodexHookDecision:()=>oO,formatHookDecision:()=>sO,hookDecisionFromClaudePreExecJson:()=>HJ,hookDecisionFromCodexPreExecJson:()=>WJ,rewriteCommand:()=>rO,rewriteTableFromCapabilities:()=>tO,runClaudePreExecHook:()=>JJ,runCodexPreExecHook:()=>VJ});import{accessSync as IJ,constants as LJ,existsSync as GJ,readFileSync as au}from"node:fs";import{fileURLToPath as NJ}from"node:url";function DJ(){iu=void 0,dh=!1}function $J(){let e=(process.env.PATH??"").split(":");for(let t of e)if(t)try{return IJ(`${t}/rsp`,LJ.X_OK),!0}catch{}return!1}function FJ(e){return iu===void 0&&(iu=e()),iu}function MJ(){dh||(dh=!0,process.stderr.write("rsp: entrypoint not found on PATH; run `rsp setup` to provision. See apps/rsp/docs/TROUBLESHOOTING.md\n"))}function tO(e){let t=new Map;for(let r of e)t.set(d2(r.command),["rsp",...r.wrapper]);return t}function rO(e,t=Di()){let r=qJ(e,t);if(r)return r;let n=r2(e);if(n)return n;let s=e2(e);if(!s)return ou(e,t);let o=s.tokens.map(d=>d.text);if(o.length>0&&ys(o[0]))return ou(e,t);let i=UJ(s,t);if(i)return i;let a=jJ(s,t);if(a)return a;if(s.tokens.some(d=>d.quoted))return ou(e,t);let c=[...Ji].sort((d,p)=>p.command.length-d.command.length).find(d=>t2(o,d.command));if(!c)return ou(e,t);let l=[...t,...c.wrapper,...o.slice(c.command.length)],u=uO(s.redirectSuffix);return{kind:"rewrite",command:[...l.map(Tt),...u].join(" "),capabilityId:c.id}}function jJ(e,t){let r=e.tokens.map(s=>s.text);if(r[0]!=="gh"||r[1]!=="api"||!r[2]||r.some(s=>["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(s)))return null;let n=r.findIndex(s=>s==="--method"||s==="-X");return n>=0&&(r[n+1]??"").toUpperCase()!=="GET"||r[2]==="graphql"?null:{kind:"rewrite",command:[...t,...r].map(Tt).join(" "),capabilityId:"gh:api:read"}}function qJ(e,t){let r=t.map(Tt).join(" "),n=lu(e.trim()).map(a=>a.text);if(n[0]==="gh"&&n[1]==="run"&&n[2]==="watch"&&/^[1-9][0-9]*$/.test(n[3]??""))return{kind:"rewrite",command:`${r} wait run ${n[3]}`,capabilityId:"wait:github-run"};if(!/\b(?:for|while)\b/.test(e)||!/\bsleep\b/.test(e))return null;let s=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/jobs\/([1-9][0-9]*)/.exec(e);if(s)return{kind:"rewrite",command:`${r} wait job ${s[1]}`,capabilityId:"wait:github-job"};let o=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/actions\/runs\/([1-9][0-9]*)/.exec(e);if(o)return{kind:"rewrite",command:`${r} wait run ${o[1]}`,capabilityId:"wait:github-run"};let i=/\bgh\s+api\s+(?:--method\s+GET\s+)?(?:["']?)(?:https:\/\/api\.github\.com\/)?repos\/[^\s/'"]+\/[^\s/'"]+\/releases\/tags\/([^\s'";|]+)/.exec(e);return i?{kind:"rewrite",command:`${r} wait release --tag ${Tt(i[1])} --existing`,capabilityId:"wait:github-release"}:null}function UJ(e,t){let r=e.tokens.map(i=>i.text),n=r[0],s=uO(e.redirectSuffix),o=t.map(Tt);return n==="cat"&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",Tt(r[1]),...s].join(" "),capabilityId:"cat:file"}:(n==="head"||n==="tail")&&r.length===2&&su(r[1])?{kind:"rewrite",command:[...o,"cat",`--${n}`,"10",Tt(r[1]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===4&&r[1]==="-n"&&/^[1-9][0-9]*$/.test(r[2])&&su(r[3])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[2],Tt(r[3]),...s].join(" "),capabilityId:`cat:${n}`}:(n==="head"||n==="tail")&&r.length===3&&/^-[1-9][0-9]*$/.test(r[1])&&su(r[2])?{kind:"rewrite",command:[...o,"cat",`--${n}`,r[1].slice(1),Tt(r[2]),...s].join(" "),capabilityId:`cat:${n}`}:null}function su(e){return!!e&&!e.startsWith("-")}async function HJ(e,t){return await nO(e,t)}async function WJ(e,t){return await nO(e,t)}async function nO(e,t){return(await fh(e,t,"pre-exec")).decision}async function fh(e,t,r){let n=mO(e);if(!n.ok){let m={kind:"passthrough",reason:n.reason};return{decision:m,telemetryRoot:t.cwd,event:Ds({hook:r,command:"",decision:m,reason:n.reason})}}let s=n.payload,o=vt(s,["cwd"])||vt(s,["tool_input","cwd"])||t.cwd;if(!await(t.isEnabled??KJ)(o)){let m={kind:"passthrough",reason:"disabled"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:ph(s),decision:m,reason:"disabled"})}}let a=ph(s);if(!a){let m={kind:"passthrough",reason:"missing-command"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:a,decision:m,reason:"missing-command"})}}let c=t.rspInvocationPrefix??Di();if(!FJ(t.resolveBinary??(()=>t.rspInvocationPrefix!==void 0||c[0]!=="rsp"||$J()))){MJ();let m={kind:"passthrough",reason:"binary-unresolved"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:a,decision:m,reason:"binary-unresolved"})}}let u=process.hrtime.bigint(),p=Ie(o,process.env).proxyEnabled?n2(a,c):(t.rewrite??(m=>rO(m,c)))(a),f=Number(process.hrtime.bigint()-u)/1e6;if(p.kind!=="rewrite"){let m=p.reason?p:{...p,reason:"unsupported-command"};return{decision:m,telemetryRoot:o,event:Ds({hook:r,command:a,decision:m,reason:m.reason??"unsupported-command",decisionMs:f})}}return await YJ(o,t.wakeResident??zJ),{decision:p,telemetryRoot:o,event:Ds({hook:r,command:a,decision:p,reason:p.capabilityId==="proxy:universal"?"universal-proxy":"matched-capability",decisionMs:f})}}function sO(e){return e.kind==="rewrite"?iO(e.command):{stdout:"",status:0}}function oO(e){return e.kind==="rewrite"?iO(e.command):{stdout:"",status:0}}function iO(e){return{stdout:`${JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{command:e}}})}
265
+ `,status:0}}async function JJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await fh(t,{cwd:process.cwd()},"claude-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;cO("claude-pre-exec",n);let s=sO(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),aO("claude-pre-exec",t,r)),lO("claude-pre-exec",r),0}}async function VJ(e){let t="";try{t=e?au(e,"utf8"):au(0,"utf8");let r=await fh(t,{cwd:process.cwd()},"codex-pre-exec");cu(r.telemetryRoot,r.event);let n=r.decision;cO("codex-pre-exec",n);let s=oO(n);return s.stdout&&process.stdout.write(s.stdout),s.status}catch(r){return cu(process.cwd(),aO("codex-pre-exec",t,r)),lO("codex-pre-exec",r),0}}function cu(e,t){fn(e,t).catch(()=>{})}function Ds(e){let t=e.command.trim(),r=e.decision.kind==="rewrite"?e.decision.capabilityId:void 0;return{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:e.hook,command:t||"unknown",command_family:ct(t),decision:r?"contributed":"passed",reason:e.reason,capability_id:r,decision_ms:e.decisionMs}}function aO(e,t,r){let n=mO(t),s=n.ok?ph(n.payload):"";return{collection:Ue,event_type:"decision",ts:new Date().toISOString(),hook:e,command:s||"unknown",command_family:ct(s),decision:"failed-open",reason:"hook-exception",error:mh(r)}}function KJ(e){return Ie(e,process.env).enabled}async function zJ(e){let t=Ie(e,process.env);if(!t.enabled||!ZJ(t))return;let r=tt(e);await Oa(r,XJ(t))}async function YJ(e,t){try{await Promise.resolve(t(e))}catch(r){QJ(r)}}function cO(e,t){if(process.env.RSP_DEBUG==="1"){if(t.kind==="rewrite"){process.stderr.write(`rsp hook ${e}: rewrite ${t.capabilityId}
264
266
  `);return}process.stderr.write(`rsp hook ${e}: passthrough ${t.reason??"unsupported-command"}
265
- `)}}function sO(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${lh(t)}
266
- `)}function FJ(e){qd(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${lh(e)}
267
- `)}function lh(e){return e instanceof Error?e.name||"Error":typeof e}function MJ(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 BJ(e){if(!e.storeUri.startsWith("file://"))return!0;try{return EJ(kJ(e.storeUri))}catch{return!1}}function ah(e){return vt(e,["tool_input","command"])||vt(e,["tool_input","cmd"])||vt(e,["tool_input","args","command"])||vt(e,["input","command"])||vt(e,["input","cmd"])||vt(e,["arguments","command"])||vt(e,["arguments","cmd"])||vt(e,["command"])||vt(e,["cmd"])}function jJ(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=lu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&hs(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function lu(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function qJ(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function UJ(e){let t=lu(e.trim()).map(r=>r.text);return mn(t)?{kind:"passthrough",reason:xJ}:null}function oO(e){return e.map(t=>t.text)}function Tt(e){return/[^\w@%+=:,./-]/.test(e)?uh(e):e}function HJ(e,t){let r=JJ(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Tt).join(" ")} proxy -- ${uh(e.trim())}`,capabilityId:"proxy:universal"}}function WJ(e){if(!process.argv[1])return!1;let t=lu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function JJ(e){let t=e.trim();if(!t)return"missing-command";if(aO(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=qo(jo(t)[0]??"")[0];if(r==="rsp"||WJ(t))return"opt-out";if(r&&iO.has(r))return"interactive"}function ou(e,t){let r=e.trim();return VJ(r)?{kind:"rewrite",command:`${t.map(Tt).join(" ")} exec -- ${uh(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function VJ(e){return!(!e||!KJ(e)||!zJ(e)||aO(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||YJ(e,"rsp")||cO(e,iO)||QJ(e))}function KJ(e){return/&&|[;|]/.test(e)}function aO(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 zJ(e){return jo(e).some(t=>{let r=qo(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function cO(e,t){return jo(e).some(r=>{let n=qo(r)[0];return n?t.has(n):!1})}function YJ(e,t){return cO(e,new Set([t]))}function QJ(e){return jo(e).some(t=>{let r=qo(t);return r[0]==="grep"&&r.includes("-q")})}function uh(e){return`'${e.replace(/'/g,"'\\''")}'`}function XJ(e){return e.join("\0")}function lO(e){try{let t=JSON.parse(e);return uO(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function vt(e,t){let r=e;for(let n of t){if(!uO(r))return"";r=r[n]}return typeof r=="string"?r:""}function uO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var iu,ih,Ji,bne,xJ,iO,Vi=E(()=>{"use strict";Uo();Ye();gt();hr();fm();Gt();ih=!1;Ji=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],bne=Y0(Ji),xJ="lossless-gh-json-jq";iO=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var yO={};ne(yO,{fastTelemetryRoot:()=>ph,isFastGitStatus:()=>du,runFastGitStatus:()=>pu});import{spawnSync as gO}from"node:child_process";import{existsSync as hO,readdirSync as aV}from"node:fs";function du(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function pu(){if(cV(process.cwd()))return{stdout:dh(),stderr:Buffer.alloc(0),status:0,signal:null};if(gO("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:dh(),stderr:Buffer.alloc(0),status:0,signal:null};let t=gO("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?dh():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function ph(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(gt(),sn));return t(e).rootDir}catch{return e}}function dh(){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"})}
268
- `)}function cV(e){try{return!hO(`${e}/.git`)||hO(`${e}/.git/index`)?!1:aV(e).every(t=>t===".git")}catch{return!1}}var fh=E(()=>{"use strict";Vt()});async function $s(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 _O(e,t,r,n={}){vV(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=TV(["id","number",...r]).map(p=>xV(RV[p],6)).join(`
267
+ `)}}function lO(e,t){process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook ${e}: exception ${mh(t)}
268
+ `)}function QJ(e){qd(e)||process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp hook pre-exec: resident-wake-failed ${mh(e)}
269
+ `)}function mh(e){return e instanceof Error?e.name||"Error":typeof e}function XJ(e){return{storeUri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,telemetryTtlDays:e.telemetryTtlDays,telemetryByteBudget:e.telemetryByteBudget,telemetryDrainIntervalMs:e.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:e.telemetryDrainTimeoutMs,idleMs:e.idleMs}}function ZJ(e){if(!e.storeUri.startsWith("file://"))return!0;try{return GJ(NJ(e.storeUri))}catch{return!1}}function ph(e){return vt(e,["tool_input","command"])||vt(e,["tool_input","cmd"])||vt(e,["tool_input","args","command"])||vt(e,["input","command"])||vt(e,["input","cmd"])||vt(e,["arguments","command"])||vt(e,["arguments","cmd"])||vt(e,["command"])||vt(e,["cmd"])}function e2(e){let t=e.trim();if(!t||/[\n\r|;()$`]/.test(t))return null;let r=lu(t);if(r.length===0||r[0]?.quoted||r.some(o=>/[()$`]/.test(o.text))||r.some(o=>o.text.includes("=")&&ys(o.text)))return null;let n=[],s=[];for(let o of r){if(o.text.includes(">")||o.text.includes("<")){if(o.quoted||o.text!=="2>/dev/null"&&o.text!=="2>&1")return null;s.push(o);continue}n.push(o)}return n.length===0?null:{tokens:n,redirectSuffix:s}}function lu(e){let t=[],r="",n=!1,s=null,o=()=>{!r&&!n||(t.push({text:r,quoted:n}),r="",n=!1)};for(let i=0;i<e.length;i+=1){let a=e[i];if(s){if(a===s){s=null;continue}if(s==='"'&&a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}r+=a;continue}if(a==="'"||a==='"'){s=a,n=!0;continue}if(a==="\\"&&i+1<e.length){i+=1,r+=e[i];continue}if(/[ \t]/.test(a)){o();continue}r+=a}return s?[]:(o(),t)}function t2(e,t){return e.length<t.length?!1:t.every((r,n)=>e[n]===r)}function r2(e){let t=lu(e.trim()).map(r=>r.text);return mn(t)?{kind:"passthrough",reason:BJ}:null}function uO(e){return e.map(t=>t.text)}function Tt(e){return/[^\w@%+=:,./-]/.test(e)?gh(e):e}function n2(e,t){let r=o2(e);return r?{kind:"passthrough",reason:r}:{kind:"rewrite",command:`${t.map(Tt).join(" ")} proxy -- ${gh(e.trim())}`,capabilityId:"proxy:universal"}}function s2(e){if(!process.argv[1])return!1;let t=lu(e);return t[0]?.text===process.execPath&&t[1]?.text===process.argv[1]}function o2(e){let t=e.trim();if(!t)return"missing-command";if(pO(t))return"background";if(/\b(?:RSP_NO_PROXY|RED_SKILLS_RSP_NO_PROXY)=1\b/.test(t))return"opt-out";let r=qo(jo(t)[0]??"")[0];if(r==="rsp"||s2(t))return"opt-out";if(r&&dO.has(r))return"interactive"}function ou(e,t){let r=e.trim();return i2(r)?{kind:"rewrite",command:`${t.map(Tt).join(" ")} exec -- ${gh(r)}`,capabilityId:"exec:compound"}:{kind:"passthrough"}}function i2(e){return!(!e||!a2(e)||!c2(e)||pO(e)||/<<-?/.test(e)||/\$\(|`/.test(e)||/[<>]/.test(e)||l2(e,"rsp")||fO(e,dO)||u2(e))}function a2(e){return/&&|[;|]/.test(e)}function pO(e){for(let t=0;t<e.length;t+=1)if(e[t]==="&"&&!(e[t-1]==="&"||e[t+1]==="&")&&!(e[t-1]===">"||e[t+1]===">"))return!0;return!1}function c2(e){return jo(e).some(t=>{let r=qo(t);return r.length===0?!1:r[0]==="git"?["log","diff","show","blame"].includes(r[1]??""):r[0]==="gh"?r.some((n,s)=>s>0&&(n==="list"||n==="view")):r[0]==="vitest"?!0:r[0]==="cargo"&&r[1]==="test"})}function fO(e,t){return jo(e).some(r=>{let n=qo(r)[0];return n?t.has(n):!1})}function l2(e,t){return fO(e,new Set([t]))}function u2(e){return jo(e).some(t=>{let r=qo(t);return r[0]==="grep"&&r.includes("-q")})}function gh(e){return`'${e.replace(/'/g,"'\\''")}'`}function d2(e){return e.join("\0")}function mO(e){try{let t=JSON.parse(e);return gO(t)?{ok:!0,payload:t}:{ok:!1,reason:"payload-not-object"}}catch{return{ok:!1,reason:"payload-parse-error"}}}function vt(e,t){let r=e;for(let n of t){if(!gO(r))return"";r=r[n]}return typeof r=="string"?r:""}function gO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var iu,dh,Ji,Gne,BJ,dO,Vi=E(()=>{"use strict";Uo();Be();gt();Zt();eh();Gt();dh=!1;Ji=[{id:"git:status",command:["git","status"],wrapper:["git","status"]},{id:"git:log",command:["git","log"],wrapper:["git","log"]},{id:"git:diff",command:["git","diff"],wrapper:["git","diff"]},{id:"git:commit",command:["git","commit"],wrapper:["git","commit"]},{id:"git:push",command:["git","push"],wrapper:["git","push"]},{id:"git:blame",command:["git","blame"],wrapper:["git","blame"]},{id:"git:branch:av",command:["git","branch","-av"],wrapper:["git","branch","-av"]},{id:"git:show",command:["git","show"],wrapper:["git","show"]},{id:"gh:pr:list",command:["gh","pr","list"],wrapper:["gh","pr","list"]},{id:"gh:pr:view",command:["gh","pr","view"],wrapper:["gh","pr","view"]},{id:"gh:issue:list",command:["gh","issue","list"],wrapper:["gh","issue","list"]},{id:"gh:issue:view",command:["gh","issue","view"],wrapper:["gh","issue","view"]},{id:"gh:run:list",command:["gh","run","list"],wrapper:["gh","run","list"]},{id:"gh:run:view",command:["gh","run","view"],wrapper:["gh","run","view"]},{id:"gh:issues:batch",command:["gh","issues"],wrapper:["gh","issues"]},{id:"gh:prs:batch",command:["gh","prs"],wrapper:["gh","prs"]},{id:"gh:edit-labels:batch",command:["gh","edit-labels"],wrapper:["gh","edit-labels"]},{id:"gh:link-sub-issues:batch",command:["gh","link-sub-issues"],wrapper:["gh","link-sub-issues"]},{id:"vitest",command:["vitest"],wrapper:["vitest"]},{id:"vitest:run",command:["vitest","run"],wrapper:["vitest","run"]},{id:"cargo:test",command:["cargo","test"],wrapper:["cargo","test"]}],Gne=tO(Ji),BJ="lossless-gh-json-jq";dO=new Set(["bash","fish","htop","less","more","nano","node","python","python3","ssh","top","vi","vim","zsh"])});var kO={};ne(kO,{fastTelemetryRoot:()=>yh,isFastGitStatus:()=>du,runFastGitStatus:()=>pu});import{spawnSync as _O}from"node:child_process";import{existsSync as EO,readdirSync as _2}from"node:fs";function du(e){return e.length===2&&e[0]==="git"&&e[1]==="status"}async function pu(){if(E2(process.cwd()))return{stdout:hh(),stderr:Buffer.alloc(0),status:0,signal:null};if(_O("git",["diff-index","--quiet","HEAD","--"],{stdio:"ignore"}).status===0)return{stdout:hh(),stderr:Buffer.alloc(0),status:0,signal:null};let t=_O("git",["status","--porcelain=v1"],{encoding:"buffer"});if((t.status??0)!==0)return{stdout:t.stdout,stderr:t.stderr,status:t.status??1,signal:t.signal};let r=t.stdout.length===0?hh():t.stdout;return{stdout:r,stderr:t.stderr,status:0,signal:t.signal,rawOutput:r}}async function yh(e){try{let{resolveResidentPaths:t}=await Promise.resolve().then(()=>(gt(),sn));return t(e).rootDir}catch{return e}}function hh(){return Buffer.from(`${ge({command:"git status",category:"no-op",exit_code:0,noop:!0,scope:"git status",empty:!0,branch:"",rows:[],summary:"git status clean: 0 changes"})}
270
+ `)}function E2(e){try{return!EO(`${e}/.git`)||EO(`${e}/.git/index`)?!1:_2(e).every(t=>t===".git")}catch{return!1}}var bh=E(()=>{"use strict";Vt()});async function Fs(e,t,r){let n=new Array(e.length),s=0,o=Math.min(Math.max(1,Math.floor(t)),e.length),i=Array.from({length:o},async()=>{for(;s<e.length;){let a=s++;n[a]=await r(e[a])}});return await Promise.all(i),n}function vO(e,t,r,n={}){F2(t);let s=e==="issue"?"i":"p",o=t.map((p,f)=>({alias:`${s}${f}`,number:p})),i=(n.labelNames??[]).map((p,f)=>({alias:`l${f}`,name:p})),c=M2(["id","number",...r]).map(p=>B2($2[p],6)).join(`
269
271
  `),l=o.map(({alias:p,number:f})=>[` ${p}: ${e}(number: ${f}) {`,c," }"].join(`
270
272
  `)),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(`
271
- `);return{kind:e,query:d,aliases:o,labelAliases:i}}function EO(e,t){let r=Ds(t),n=Ds(r.data),s=Ds(n.repository),o=Array.isArray(r.errors)?r.errors.map(Ds):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(RO(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:vO(l?.message)||"not found"}})}function kO(e,t,r){let n=[],s=[];return e.forEach((o,i)=>{if(t.length>0){let a=`add${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: addLabelsToLabelable(input: { labelableId: ${jr(o.nodeId)}, labelIds: ${wO(t)}, clientMutationId: ${jr(String(o.number))} }) { clientMutationId }`)}if(r.length>0){let a=`remove${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: removeLabelsFromLabelable(input: { labelableId: ${jr(o.nodeId)}, labelIds: ${wO(r)}, clientMutationId: ${jr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
272
- `)}}function SO(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${jr(e.nodeId)}, subIssueId: ${jr(s.nodeId)}, clientMutationId: ${jr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
273
- `)}}function mh(e,t){let r=Ds(t),n=Array.isArray(r.errors)?r.errors.map(Ds):[],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,vO(i.message)||"mutation failed")}return s}function vV(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 TV(e){return[...new Set(e)]}function xV(e,t){let r=" ".repeat(t);return e.split(`
273
+ `);return{kind:e,query:d,aliases:o,labelAliases:i}}function TO(e,t){let r=$s(t),n=$s(r.data),s=$s(n.repository),o=Array.isArray(r.errors)?r.errors.map($s):[];return e.aliases.map(({alias:i,number:a})=>{let c=s[i];if(CO(c))return{number:a,value:c};let l=o.find(u=>{let d=u.path;return Array.isArray(d)&&d.includes(i)});return{number:a,error:AO(l?.message)||"not found"}})}function xO(e,t,r){let n=[],s=[];return e.forEach((o,i)=>{if(t.length>0){let a=`add${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: addLabelsToLabelable(input: { labelableId: ${jr(o.nodeId)}, labelIds: ${RO(t)}, clientMutationId: ${jr(String(o.number))} }) { clientMutationId }`)}if(r.length>0){let a=`remove${i}`;n.push({alias:a,number:o.number}),s.push(` ${a}: removeLabelsFromLabelable(input: { labelableId: ${jr(o.nodeId)}, labelIds: ${RO(r)}, clientMutationId: ${jr(String(o.number))} }) { clientMutationId }`)}}),{aliases:n,query:["mutation RspEditLabels {",...s,"}"].join(`
274
+ `)}}function OO(e,t){let r=t.map((s,o)=>({alias:`link${o}`,number:s.number})),n=t.map((s,o)=>` link${o}: addSubIssue(input: { issueId: ${jr(e.nodeId)}, subIssueId: ${jr(s.nodeId)}, clientMutationId: ${jr(String(s.number))} }) { clientMutationId }`);return{aliases:r,query:["mutation RspLinkSubIssues {",...n,"}"].join(`
275
+ `)}}function wh(e,t){let r=$s(t),n=Array.isArray(r.errors)?r.errors.map($s):[],s=new Map;for(let{alias:o}of e){let i=n.find(a=>Array.isArray(a.path)&&a.path.includes(o));i&&s.set(o,AO(i.message)||"mutation failed")}return s}function F2(e){if(e.length===0)throw new Error("at least one GitHub number is required");if(e.length>100)throw new Error("GitHub batch exceeds 100 nodes");for(let t of e)if(!Number.isSafeInteger(t)||t<=0)throw new Error(`invalid GitHub number: ${t}`)}function M2(e){return[...new Set(e)]}function B2(e,t){let r=" ".repeat(t);return e.split(`
274
276
  `).map(n=>`${r}${n}`).join(`
275
- `)}function jr(e){return JSON.stringify(e)}function wO(e){return`[${e.map(jr).join(", ")}]`}function Ds(e){return RO(e)?e:{}}function RO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vO(e){return typeof e=="string"?e:""}var RV,TO=E(()=>{RV={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(`
276
- `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as CV,spawnSync as AV}from"node:child_process";function yh(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function CO(e,t={}){let r=HV(e),n=r.repo??t.repo??process.env.GH_REPO??JV();if(!n||!n.includes("/"))return _h(e,"repository is required; pass --repo owner/repo");let s=t.exec??VV,o=Math.max(1,Math.floor(t.restConcurrency??OO));return r.verb==="issues"||r.verb==="prs"?await LV(r,n,s,o,e):r.verb==="edit-labels"?await NV(r,n,s,o,e):await $V(r,n,s,o,e)}async function LV(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=AO(e),a=[],c=[];for(let u of wh(e.numbers,100)){let d=_O(o,u,i.query),p=await bh(r,t,d.query);if(kh(p))return await GV(e,t,r,n,s);if(p.code!==0){c.push(p.stderr),a.push(...u.map(f=>({number:f,value:{error:dt(p)||`failed to read ${f}`},failed:!0})));continue}a.push(...EO(d,qr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:MV(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return mu({command:gu(s),transport:"graphql",order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
277
- `))}async function GV(e,t,r,n,s){let o=AO(e),i=e.verb==="issues"?"issues":"pulls",a=await $s(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:dt(u)||"REST fallback failed"}};let d=Ft(qr(u.stdout));if(e.verb==="prs"&&o.output.some(PO)){let p=fe(Ft(d.head).sha);if(!p)return{number:l,value:{error:"REST fallback pull response omitted head SHA"}};let f=await r(["api",`repos/${t}/commits/${p}/check-runs`]);if(f.code!==0)return{number:l,value:{error:dt(f)||"REST check-runs fallback failed"}};let m=await r(["api",`repos/${t}/commits/${p}/status`]);if(m.code!==0)return{number:l,value:{error:dt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:jV(Ft(qr(f.stdout)),Ft(qr(m.stdout)))}}return{number:l,value:BV(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return mu({command:gu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function NV(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return _h(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([IO(e.numbers,t,r,n),$s(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(Ft(qr(f.stdout)).node_id),error:f.code===0?"":dt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Ms(s,e.numbers,Eh(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 wh(d,100)){let f=kO(p,e.add.map(w=>c.get(w)),e.remove.map(w=>c.get(w))),m=await bh(r,t,f.query);if(kh(m))return await DV(e,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"label mutation failed"});continue}let h=mh(f.aliases,qr(m.stdout));for(let w of p){let y=f.aliases.filter(_=>_.number===w.number).map(_=>h.get(_.alias)).find(Boolean);u.set(w.number,y?{error:y}:{ok:!0})}}return Ms(s,e.numbers,LO(e.numbers,u),"graphql")}async function DV(e,t,r,n,s){let o=await $s(e.numbers,n,async i=>{for(let a of e.remove){let c=await r(["api","-X","DELETE",`repos/${t}/issues/${i}/labels/${encodeURIComponent(a)}`]);if(c.code!==0)return{number:i,value:{error:dt(c)||`failed to remove label ${a}`}}}if(e.add.length>0){let a=["api","-X","POST",`repos/${t}/issues/${i}/labels`];for(let l of e.add)a.push("-f",`labels[]=${l}`);let c=await r(a);if(c.code!==0)return{number:i,value:{error:dt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Ms(s,e.numbers,Ki(o),"rest-fallback",n)}async function $V(e,t,r,n,s){if(e.numbers.length<2)return _h(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await IO(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Ms(s,i,Eh(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 wh(d,100)){let f=SO({number:o,nodeId:l},p),m=await bh(r,t,f.query);if(kh(m))return await FV(o,i,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"sub-issue mutation failed"});continue}let h=mh(f.aliases,qr(m.stdout));for(let w of f.aliases){let b=h.get(w.alias);u.set(w.number,b?{error:b}:{ok:!0})}}return Ms(s,i,LO(i,u),"graphql")}async function FV(e,t,r,n,s,o){let i=await $s(t,s,async a=>{let c=await n(["api",`repos/${r}/issues/${a}`,"--jq",".id"]),l=Number(c.stdout.trim());if(c.code!==0||!Number.isSafeInteger(l)||l<=0)return{number:a,value:{error:dt(c)||"REST id lookup failed"}};let u=await n(["api","-X","POST",`repos/${r}/issues/${e}/sub_issues`,"-F",`sub_issue_id=${l}`]);return{number:a,value:u.code===0?{ok:!0}:{error:dt(u)||"REST link failed"}}});return Ms(o,t,Ki(i),"rest-fallback",s)}function Ms(e,t,r,n,s){let o=Object.values(r).filter(i=>Bs(i)&&"error"in i).length;return mu({command:gu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??OO}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function AO(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return xO(r,PV),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return xO(t,IV),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function xO(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function MV(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=gh(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=UV(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=GO(t[s]));return"number"in n||(n.number=Sh(t.number)),n}function BV(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(Bs):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(PO(s))n[s]=Ft(t.restCheckRollup);else if(s==="state")n.state=fe(t.state).toLowerCase();else if(s==="mergeable"){let o=t.mergeable;n.mergeable=typeof o=="boolean"?o?"mergeable":"conflicting":"unknown"}else n[s]=GO(t[s]);return"number"in n||(n.number=Sh(t.number)),n}function jV(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(Bs):[],n=Array.isArray(t.statuses)?t.statuses.filter(Bs):[],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()||qV(s.map(o=>o.state)),contexts:s}}function qV(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 PO(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function UV(e){let t=gh(e).at(-1),r=Ft(Ft(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:gh(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function bh(e,t,r){let[n,s]=WV(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function IO(e,t,r,n){return await $s(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=Ft(qr(o.stdout)),a=fe(i.node_id),c=Sh(i.id);return o.code!==0||!a?{number:s,error:dt(o)||"REST issue lookup failed"}:{number:s,nodeId:a,databaseId:c>0?c:void 0}})}function wh(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function HV(e){if(!yh(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(...Fs(e[++a]??""));else if(c.startsWith("--json="))n.push(...Fs(c.slice(7)));else if(c==="--add")s.push(...Fs(e[++a]??""));else if(c.startsWith("--add="))s.push(...Fs(c.slice(6)));else if(c==="--remove")o.push(...Fs(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Fs(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function mu(e,t=0,r=""){return{stdout:Buffer.from(`${B(e)}
278
- `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function _h(e,t){return mu({command:gu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Eh(e,t){return Ki(e.map(r=>({number:r,value:t(r)})))}function Ki(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function LO(e,t){return Eh(e,r=>t.get(r)??{error:"mutation skipped"})}function kh(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
277
+ `)}function jr(e){return JSON.stringify(e)}function RO(e){return`[${e.map(jr).join(", ")}]`}function $s(e){return CO(e)?e:{}}function CO(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function AO(e){return typeof e=="string"?e:""}var $2,PO=E(()=>{$2={id:"id",number:"number",title:"title",state:"state",labels:"labels(first: 100) { nodes { id name } }",body:"body",mergeable:"mergeable",checks:["commits(last: 1) {"," nodes { commit { statusCheckRollup {"," state"," contexts(first: 100) { nodes {"," __typename"," ... on CheckRun { name status conclusion detailsUrl }"," ... on StatusContext { context state targetUrl }"," } }"," } } }","}"].join(`
278
+ `),subIssues:"subIssues(first: 100) { nodes { number } }"}});import{spawn as q2,spawnSync as U2}from"node:child_process";function kh(e){return e[0]==="gh"&&["issues","prs","edit-labels","link-sub-issues"].includes(e[1]??"")}async function GO(e,t={}){let r=nV(e),n=r.repo??t.repo??process.env.GH_REPO??oV();if(!n||!n.includes("/"))return vh(e,"repository is required; pass --repo owner/repo");let s=t.exec??iV,o=Math.max(1,Math.floor(t.restConcurrency??LO));return r.verb==="issues"||r.verb==="prs"?await J2(r,n,s,o,e):r.verb==="edit-labels"?await K2(r,n,s,o,e):await Y2(r,n,s,o,e)}async function J2(e,t,r,n,s){let o=e.verb==="issues"?"issue":"pullRequest",i=NO(e),a=[],c=[];for(let u of Rh(e.numbers,100)){let d=vO(o,u,i.query),p=await Sh(r,t,d.query);if(xh(p))return await V2(e,t,r,n,s);if(p.code!==0){c.push(p.stderr),a.push(...u.map(f=>({number:f,value:{error:dt(p)||`failed to read ${f}`},failed:!0})));continue}a.push(...TO(d,qr(p.stdout)).map(f=>({number:f.number,value:f.error?{error:f.error}:X2(e.verb,f.value??{},i.output),failed:!!f.error})))}let l=a.filter(u=>u.failed).length;return mu({command:gu(s),transport:"graphql",order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-l}/${a.length} read`},c.length>0?1:0,c.filter(Boolean).join(`
279
+ `))}async function V2(e,t,r,n,s){let o=NO(e),i=e.verb==="issues"?"issues":"pulls",a=await Fs(e.numbers,n,async l=>{let u=await r(["api",`repos/${t}/${i}/${l}`]);if(u.code!==0)return{number:l,value:{error:dt(u)||"REST fallback failed"}};let d=Ft(qr(u.stdout));if(e.verb==="prs"&&o.output.some(DO)){let p=fe(Ft(d.head).sha);if(!p)return{number:l,value:{error:"REST fallback pull response omitted head SHA"}};let f=await r(["api",`repos/${t}/commits/${p}/check-runs`]);if(f.code!==0)return{number:l,value:{error:dt(f)||"REST check-runs fallback failed"}};let m=await r(["api",`repos/${t}/commits/${p}/status`]);if(m.code!==0)return{number:l,value:{error:dt(m)||"REST commit-status fallback failed"}};d={...d,restCheckRollup:eV(Ft(qr(f.stdout)),Ft(qr(m.stdout)))}}return{number:l,value:Z2(e.verb,d,o.output)}}),c=a.filter(l=>"error"in l.value).length;return mu({command:gu(s),transport:"rest-fallback",degraded:"graphql-quota",concurrency:n,order:e.numbers,[e.verb]:Ki(a),summary:`${a.length-c}/${a.length} read via REST fallback`})}async function K2(e,t,r,n,s){if(e.add.length===0&&e.remove.length===0)return vh(s,"pass --add and/or --remove");let o=[...new Set([...e.add,...e.remove])],[i,a]=await Promise.all([$O(e.numbers,t,r,n),Fs(o,n,async p=>{let f=await r(["api",`repos/${t}/labels/${encodeURIComponent(p)}`]);return{name:p,nodeId:fe(Ft(qr(f.stdout)).node_id),error:f.code===0?"":dt(f)}})]),c=new Map(a.map(p=>[p.name,p.nodeId])),l=o.filter(p=>!c.get(p));if(l.length>0)return Bs(s,e.numbers,Th(e.numbers,()=>({error:`label not found: ${l.join(", ")}`})),"graphql");let u=new Map(i.filter(p=>p.error).map(p=>[p.number,{error:p.error}])),d=i.flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:[]);for(let p of Rh(d,100)){let f=xO(p,e.add.map(w=>c.get(w)),e.remove.map(w=>c.get(w))),m=await Sh(r,t,f.query);if(xh(m))return await z2(e,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"label mutation failed"});continue}let h=wh(f.aliases,qr(m.stdout));for(let w of p){let y=f.aliases.filter(_=>_.number===w.number).map(_=>h.get(_.alias)).find(Boolean);u.set(w.number,y?{error:y}:{ok:!0})}}return Bs(s,e.numbers,FO(e.numbers,u),"graphql")}async function z2(e,t,r,n,s){let o=await Fs(e.numbers,n,async i=>{for(let a of e.remove){let c=await r(["api","-X","DELETE",`repos/${t}/issues/${i}/labels/${encodeURIComponent(a)}`]);if(c.code!==0)return{number:i,value:{error:dt(c)||`failed to remove label ${a}`}}}if(e.add.length>0){let a=["api","-X","POST",`repos/${t}/issues/${i}/labels`];for(let l of e.add)a.push("-f",`labels[]=${l}`);let c=await r(a);if(c.code!==0)return{number:i,value:{error:dt(c)||"failed to add labels"}}}return{number:i,value:{ok:!0}}});return Bs(s,e.numbers,Ki(o),"rest-fallback",n)}async function Y2(e,t,r,n,s){if(e.numbers.length<2)return vh(s,"pass a parent and at least one child issue");let[o,...i]=e.numbers,a=await $O(e.numbers,t,r,n),c=a[0],l=c?.nodeId;if(!l)return Bs(s,i,Th(i,()=>({error:c?.error??"parent not found"})),"graphql");let u=new Map,d=a.slice(1).flatMap(p=>p.nodeId?[{number:p.number,nodeId:p.nodeId}]:(u.set(p.number,{error:p.error??"child not found"}),[]));for(let p of Rh(d,100)){let f=OO({number:o,nodeId:l},p),m=await Sh(r,t,f.query);if(xh(m))return await Q2(o,i,t,r,n,s);if(m.code!==0){for(let w of p)u.set(w.number,{error:dt(m)||"sub-issue mutation failed"});continue}let h=wh(f.aliases,qr(m.stdout));for(let w of f.aliases){let b=h.get(w.alias);u.set(w.number,b?{error:b}:{ok:!0})}}return Bs(s,i,FO(i,u),"graphql")}async function Q2(e,t,r,n,s,o){let i=await Fs(t,s,async a=>{let c=await n(["api",`repos/${r}/issues/${a}`,"--jq",".id"]),l=Number(c.stdout.trim());if(c.code!==0||!Number.isSafeInteger(l)||l<=0)return{number:a,value:{error:dt(c)||"REST id lookup failed"}};let u=await n(["api","-X","POST",`repos/${r}/issues/${e}/sub_issues`,"-F",`sub_issue_id=${l}`]);return{number:a,value:u.code===0?{ok:!0}:{error:dt(u)||"REST link failed"}}});return Bs(o,t,Ki(i),"rest-fallback",s)}function Bs(e,t,r,n,s){let o=Object.values(r).filter(i=>js(i)&&"error"in i).length;return mu({command:gu(e),transport:n,...n==="rest-fallback"?{degraded:"graphql-quota",concurrency:s??LO}:{},order:[...t],issues:r,summary:`${t.length-o}/${t.length} mutated`})}function NO(e){if(e.verb==="issues"){let r=e.fields.length>0?e.fields:["title","state","labels","body"];return IO(r,H2),{output:r,query:r}}let t=e.fields.length>0?e.fields:["title","state","mergeable","checks"];return IO(t,W2),{output:t,query:t.map(r=>["checkRollup","statusCheckRollup"].includes(r)?"checks":r)}}function IO(e,t){let r=e.find(n=>!t.has(n));if(r)throw new Error(`unknown GitHub batch field: ${r}`)}function X2(e,t,r){let n={};for(let s of r)s==="labels"?n.labels=_h(t.labels).map(o=>fe(o.name)).filter(Boolean):["checks","checkRollup","statusCheckRollup"].includes(s)?n[s]=rV(t.commits):s==="state"||s==="mergeable"?n[s]=fe(t[s]).toLowerCase():s!=="id"&&s!=="subIssues"&&(n[s]=MO(t[s]));return"number"in n||(n.number=Oh(t.number)),n}function Z2(e,t,r){let n={};for(let s of r)if(s==="labels"){let o=Array.isArray(t.labels)?t.labels.filter(js):[];n.labels=o.map(i=>fe(i.name)).filter(Boolean)}else if(DO(s))n[s]=Ft(t.restCheckRollup);else if(s==="state")n.state=fe(t.state).toLowerCase();else if(s==="mergeable"){let o=t.mergeable;n.mergeable=typeof o=="boolean"?o?"mergeable":"conflicting":"unknown"}else n[s]=MO(t[s]);return"number"in n||(n.number=Oh(t.number)),n}function eV(e,t){let r=Array.isArray(e.check_runs)?e.check_runs.filter(js):[],n=Array.isArray(t.statuses)?t.statuses.filter(js):[],s=[...r.map(o=>({name:fe(o.name),state:(fe(o.conclusion)||fe(o.status)).toLowerCase()})),...n.map(o=>({name:fe(o.context),state:fe(o.state).toLowerCase()}))];return{state:fe(t.state).toLowerCase()||tV(s.map(o=>o.state)),contexts:s}}function tV(e){return e.some(t=>["failure","error","cancelled","timed_out","action_required"].includes(t))?"failure":e.some(t=>["pending","queued","in_progress","requested","waiting"].includes(t))?"pending":e.length>0&&e.every(t=>["success","neutral","skipped"].includes(t))?"success":""}function DO(e){return["checks","checkRollup","statusCheckRollup"].includes(e)}function rV(e){let t=_h(e).at(-1),r=Ft(Ft(t?.commit).statusCheckRollup);return{state:fe(r.state).toLowerCase(),contexts:_h(r.contexts).map(n=>({name:fe(n.name)||fe(n.context),state:(fe(n.conclusion)||fe(n.status)||fe(n.state)).toLowerCase()}))}}async function Sh(e,t,r){let[n,s]=sV(t);return await e(["api","graphql","-f",`query=${r}`,"-F",`owner=${n}`,"-F",`repo=${s}`])}async function $O(e,t,r,n){return await Fs(e,n,async s=>{let o=await r(["api",`repos/${t}/issues/${s}`]),i=Ft(qr(o.stdout)),a=fe(i.node_id),c=Oh(i.id);return o.code!==0||!a?{number:s,error:dt(o)||"REST issue lookup failed"}:{number:s,nodeId:a,databaseId:c>0?c:void 0}})}function Rh(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function nV(e){if(!kh(e))throw new Error("unsupported rsp gh batch command");let t=e[1],r=[],n=[],s=[],o=[],i;for(let a=2;a<e.length;a++){let c=e[a];if(c==="--repo")i=e[++a];else if(c==="--json")n.push(...Ms(e[++a]??""));else if(c.startsWith("--json="))n.push(...Ms(c.slice(7)));else if(c==="--add")s.push(...Ms(e[++a]??""));else if(c.startsWith("--add="))s.push(...Ms(c.slice(6)));else if(c==="--remove")o.push(...Ms(e[++a]??""));else if(c.startsWith("--remove="))o.push(...Ms(c.slice(9)));else{let l=Number(c);if(!Number.isSafeInteger(l)||l<=0)throw new Error(`invalid GitHub number: ${c}`);r.push(l)}}if(r.length===0)throw new Error("at least one GitHub number is required");return{verb:t,numbers:r,repo:i,fields:n,add:s,remove:o}}function mu(e,t=0,r=""){return{stdout:Buffer.from(`${M(e)}
280
+ `),stderr:Buffer.from(r),status:t,signal:null,payload:e}}function vh(e,t){return mu({command:gu(e),category:"usage",error:t,help:"rsp gh --help",exit_code:2},2)}function Th(e,t){return Ki(e.map(r=>({number:r,value:t(r)})))}function Ki(e){return Object.fromEntries(e.map(t=>[String(t.number),t.value]))}function FO(e,t){return Th(e,r=>t.get(r)??{error:"mutation skipped"})}function xh(e){return e.code!==0&&/rate.?limit|rate_limit|RATE_LIMITED|quota/i.test(`${e.stderr}
279
281
  ${e.stdout}`)}function dt(e){return(e.stderr||e.stdout).trim().split(`
280
- `)[0]?.slice(0,240)??""}function qr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function gh(e){let t=Ft(e).nodes;return Array.isArray(t)?t.filter(Bs):[]}function GO(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Sh(e){let t=Number(e);return Number.isFinite(t)?t:0}function Fs(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function WV(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function gu(e){return`rsp ${e.join(" ")}`}function JV(){let e=AV("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 VV(e){let t=CV("gh",e,{stdio:["ignore","pipe","pipe"]}),r=ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",a=>o({code:a??1,stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8")}))})}function Ft(e){return Bs(e)?e:{}}function Bs(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var OO,PV,IV,NO=E(()=>{"use strict";ye();V();TO();OO=4,PV=new Set(["number","title","state","labels","body"]),IV=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function Rh(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"?KV(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 DO(e,t=st){let r=Rh(e);if(!r){let s=Me(e.join(" "),"","rsp gh api accepts GET reads without --jq, --template, --paginate, or --input");return{stdout:ee(s),stderr:Buffer.alloc(0),status:2,signal:null}}let n=await t({...r,args:["api",r.path],command:e.join(" ")});if(n.status!==0){let s=Me(e.join(" "),n.stdout,n.stderr);return{stdout:ee(s),stderr:Buffer.from(n.stderr),status:s.exitCode??n.status,signal:null}}return{stdout:Buffer.from(B(JSON.parse(n.stdout))),stderr:Buffer.from(n.stderr),status:0,signal:null}}function KV(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 vh=E(()=>{"use strict";V();Ro();mt()});var Lh={};ne(Lh,{parseGhApiRead:()=>Rh,renderGhContract:()=>qO,runGhWrapper:()=>e2});import{spawn as zV}from"node:child_process";async function e2(e,t){if(yh(e))return await CO(e);if(e[0]==="gh"&&e[1]==="api")return await DO(e);let r=UO(e),n=await r2(r);return qO(e,n,t)}async function qO(e,t,r){if((t.status??0)!==0||t.signal){let f=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=UO(e),s=zi(t.stdout),o=u2(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=b2(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=B(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=w2(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${Rt(d)}
281
- `;return{stdout:Buffer.from(`${B(l.payload)}
282
- ${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 UO(e){let t=to(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=FO(u[++f]??""):m.startsWith("--fields=")?l=FO(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 t2(p),p}function $O(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?QV[t]:YV[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function FO(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function t2(e){if(e.fields.size===0)return;if(e.action!=="list")throw new hu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=ZV[t];for(let n of e.fields)if(!r.includes(n))throw new hu(e,`unknown field: ${n}`,r)}async function r2(e){if(e.action==="combined")return await n2(e);let t=s2(e);if(!t)return await l2($O(e));let r=await st({...t,command:["gh",...$O(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await o2(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function n2(e){let t=e.target??"",[r,n,s]=await Promise.all([st({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),st({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),st({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=WO(zi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:Xe(zi(s.stdout)).map(a2)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function s2(e){let t=JO(e.passthrough),r=c2(e.passthrough,"--limit")??30,n=Mt(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Mt(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function o2(e,t){let r=zi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return Xe(r).map(HO);case"pr:view":return WO(r);case"issue:list":return Xe(r).filter(n=>!An(n.pull_request)).map(MO);case"issue:view":return MO(r);case"run:list":return{items:Xe(ie(r).workflow_runs).map(BO),total:We(ie(r),"total_count")};case"run:view":{let n=BO(r),s=JO(e.passthrough);if(!s)return n;let o=await st({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?Xe(ie(zi(o.stdout)).jobs).map(i2):[]}}default:return r}}function HO(e){let t=ie(e);return{number:We(t,"number"),title:M(t,"title"),state:M(t,"state").toUpperCase(),isDraft:!!t.draft,author:Ph(t.user),labels:Xe(t.labels).map(r=>({name:M(r,"name")})),url:M(t,"html_url"),updatedAt:M(t,"updated_at"),body:M(t,"body"),baseRefName:M(ie(t.base),"ref"),headRefName:M(ie(t.head),"ref")}}function WO(e){return HO(e)}function MO(e){let t=ie(e);return{number:We(t,"number"),title:M(t,"title"),state:M(t,"state").toUpperCase(),labels:Xe(t.labels).map(r=>({name:M(r,"name")})),author:Ph(t.user),url:M(t,"html_url"),updatedAt:M(t,"updated_at"),body:M(t,"body")}}function BO(e){let t=ie(e);return{databaseId:We(t,"database_id")||We(t,"id"),name:M(t,"name")||M(t,"display_title"),status:M(t,"status").toUpperCase(),conclusion:M(t,"conclusion").toUpperCase(),event:M(t,"event"),headBranch:M(t,"head_branch"),workflowName:M(t,"workflow_name"),createdAt:M(t,"created_at"),url:M(t,"html_url"),jobs:[]}}function i2(e){let t=ie(e);return{name:M(t,"name"),status:M(t,"status").toUpperCase(),conclusion:M(t,"conclusion").toUpperCase(),log:""}}function a2(e){let t=ie(e);return{author:Ph(t.user),body:M(t,"body"),createdAt:M(t,"created_at")}}function Ph(e){let t=ie(e);return{login:M(t,"login")}}function JO(e){return e.find(t=>!t.startsWith("-"))}function Mt(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function c2(e,t){let r=Mt(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function l2(e){let t=zV("gh",e,{stdio:["ignore","pipe","pipe"]}),r=ze();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function u2(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Th(r,"prs"),o=s.rows.map(c=>VO(c,e)),i=Ae(o,e.query),a=xh(i.length,o.length,s.total,e.query);return i.length===0?Oh(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):js({...n,prs:i,aggregate:a,summary:`${Ch(i.length,o.length,e.query)} ${jO(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return js({...n,pr:KO(ie(r),e),summary:`PR #${We(ie(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return d2(e,t,ie(r));case"issue:list":{let s=Th(r,"issues"),o=s.rows.map(c=>zO(c,e)),i=Ae(o,e.query),a=xh(i.length,o.length,s.total,e.query);return i.length===0?Oh(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:`${Ch(i.length,o.length,e.query)} ${jO(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return js({...n,issue:h2(ie(r),e),summary:`issue #${We(ie(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Th(r,"runs"),o=s.rows.map(c=>YO(c,e)),i=Ae(o,e.query),a=xh(i.length,o.length,s.total,e.query);return i.length===0?Oh(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:`${Ch(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:y2(ie(r),e),summary:`run ${We(ie(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function d2(e,t,r){let n=KO(ie(r.view),{...e,action:"view",wide:!0}),s=Ae(Xe(r.checks).map(p2),e.query),o=ie(r.comments).comments,i=Ae(Xe(o).map(f2).slice(-3),e.query);return Kt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${We(ie(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function p2(e){return{name:M(e,"name"),state:Yi(e),bucket:M(e,"bucket"),conclusion:M(e,"conclusion"),workflow:M(e,"workflow"),link:M(e,"link")}}function f2(e){return{author:XO(e.author),body:yu(e,"body",Ah,!1),created:M(e,"createdAt")}}function Th(e,t){if(Array.isArray(e))return{rows:Xe(e)};let r=ie(e),n=We(r,"total")||We(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:Xe(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:Xe(r.workflow_runs),total:n}:{rows:[]}}function xh(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Oh(e,t,r,n,s){return Kt({...e,empty:!0,scope:m2(t),[r]:[],aggregate:n,summary:`0 ${g2(t)}`},s)}function m2(e){let t=Mt(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Mt(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Mt(e.passthrough,"--branch")??Mt(e.passthrough,"-b"),s=Mt(e.passthrough,"--workflow")??Mt(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function g2(e){let t=Mt(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function VO(e,t){let r={number:We(e,"number"),title:M(e,"title"),state:Yi(e),draft:!!e.isDraft};return Ih(r,e,t,["author","labels","url","updated"]),r}function KO(e,t){let r=VO(e,t);return r.body=yu(e,"body",Ah,t.full),t.wide&&(r.base=M(e,"baseRefName"),r.head=M(e,"headRefName")),r}function zO(e,t){let r={number:We(e,"number"),title:M(e,"title"),state:Yi(e),labels:QO(e.labels)};return Ih(r,e,t,["author","url","updated"]),r}function h2(e,t){let r=zO(e,t);return r.body=yu(e,"body",Ah,t.full),r}function YO(e,t){let r={id:We(e,"databaseId"),name:M(e,"name"),status:Yi(e),conclusion:M(e,"conclusion")};return Ih(r,e,t,["event","branch","workflow","created"]),r}function y2(e,t){let r=YO(e,t),n=Xe(e.jobs).map(s=>({name:M(s,"name"),status:Yi(s),conclusion:M(s,"conclusion"),log:yu(s,"log",XV,t.full)}));return r.jobs=n,r}function yu(e,t,r,n){let s=M(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 b2(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(An(r)){if(An(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function w2(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function jO(e,t){return e.every(r=>r.state===t)?t:"returned"}function Ch(e,t,r){return r?`${e}/${t}`:String(e)}function js(e,t,r){return t.query?Kt(e,r):e}function Yi(e){return(M(e,"state")||M(e,"status")).toLowerCase()}function Ih(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=XO(t.author):s==="labels"?e.labels=QO(t.labels):s==="url"?e.url=M(t,"url"):s==="updated"?e.updated=M(t,"updatedAt"):s==="event"?e.event=M(t,"event"):s==="branch"?e.branch=M(t,"headBranch"):s==="workflow"?e.workflow=M(t,"workflowName"):s==="created"&&(e.created=M(t,"createdAt")))}function QO(e){return Array.isArray(e)?e.map(t=>An(t)?M(t,"name"):String(t)).filter(Boolean):[]}function XO(e){return An(e)?M(e,"login"):""}function zi(e){return e.trim()?JSON.parse(e):null}function Xe(e){return Array.isArray(e)?e.filter(An):[]}function ie(e){return An(e)?e:{}}function M(e,t){let r=e[t];return typeof r=="string"?r:""}function We(e,t){let r=e[t];return typeof r=="number"?r:0}function An(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var YV,QV,Ah,XV,ZV,hu,Gh=E(()=>{"use strict";ye();V();Ro();NO();vh();Tn();ro();mt();vh();YV={"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"]},QV={"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"]},Ah=160,XV=160,ZV={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};hu=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var $h={};ne($h,{renderTestContract:()=>ZO,runTestWrapper:()=>R2});import{spawn as _2}from"node:child_process";async function R2(e,t){let r=to(e),n=await C2(r.argv);return await ZO(e,n,t)}async function ZO(e,t,r){let n=to(e),o=eC(n.argv)==="vitest"?A2(t.stdout):P2(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${G2(o.durationSeconds)}`,c=Ae(o.failures,n.query);if(r.level==="terse")return await v2(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let h=await I2(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:h.text}),u??=h.handle,d+=h.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Kt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(B(f)),stderr:Buffer.from(t.stderr),status:Dh(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 v2(e,t,r,n,s,o,i){let a=T2(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Kt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=B(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:Dh(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=B(f),h=Buffer.byteLength(m),w=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:h}});if(!w)throw new Error("terse test output requires an elision store");let y=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${h}) \u2014 ${Rt(w)}`;return{stdout:Buffer.from(`${u}
283
- ${y}`),stderr:Buffer.from(t.stderr),status:Dh(t.status),signal:t.signal,payload:l,mintedHandle:w,bytesElided:h,rowsElided:d,rawOutput:Buffer.from(m)}}function Dh(e){return e===0||e===null?0:1}function T2(e){let t=[],r=k2;for(let n of e.slice(0,S2)){let s=x2(n.excerpt,Math.min(E2,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function x2(e,t){if(t<=0)return"";let r=e.split(`
282
+ `)[0]?.slice(0,240)??""}function qr(e){try{return e.trim()?JSON.parse(e):{}}catch{return{}}}function _h(e){let t=Ft(e).nodes;return Array.isArray(t)?t.filter(js):[]}function MO(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null?e:""}function Oh(e){let t=Number(e);return Number.isFinite(t)?t:0}function Ms(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}function sV(e){let t=e.indexOf("/");return[e.slice(0,t),e.slice(t+1)]}function gu(e){return`rsp ${e.join(" ")}`}function oV(){let e=U2("git",["config","--get","remote.origin.url"],{encoding:"utf8"});if(e.status!==0)return;let t=e.stdout.trim().match(/(?:github\.com[/:])([^/]+)\/([^/]+?)(?:\.git)?$/);return t?`${t[1]}/${t[2]}`:void 0}async function iV(e){let t=q2("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ye();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",a=>o({code:a??1,stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8")}))})}function Ft(e){return js(e)?e:{}}function js(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fe(e){return typeof e=="string"?e:""}var LO,H2,W2,BO=E(()=>{"use strict";ye();J();PO();LO=4,H2=new Set(["number","title","state","labels","body"]),W2=new Set(["number","title","state","mergeable","checks","checkRollup","statusCheckRollup","body"])});function Ch(e){if(e[0]!=="gh"||e[1]!=="api")return null;let t="",r="GET",n={};for(let s=2;s<e.length;s+=1){let o=e[s];if(o==="--method"||o==="-X")r=(e[++s]??"").toUpperCase();else if(o==="-f"||o==="--raw-field"||o==="-F"||o==="--field"){let i=e[++s]??"",a=i.indexOf("=");if(a<=0)return null;n[i.slice(0,a)]=o==="-F"||o==="--field"?aV(i.slice(a+1)):i.slice(a+1)}else{if(["--jq","-q","--template","-t","--paginate","--slurp","--input"].includes(o))return null;if(!o.startsWith("-")&&!t)t=o.replace(/^https:\/\/api\.github\.com\//,"");else return null}}return r==="GET"&&t!==""&&t!=="graphql"?{path:t,params:n}:null}async function jO(e,t=st){let r=Ch(e);if(!r){let s=Me(e.join(" "),"","rsp gh api accepts GET reads without --jq, --template, --paginate, or --input");return{stdout:ee(s),stderr:Buffer.alloc(0),status:2,signal:null}}let n=await t({...r,args:["api",r.path],command:e.join(" ")});if(n.status!==0){let s=Me(e.join(" "),n.stdout,n.stderr);return{stdout:ee(s),stderr:Buffer.from(n.stderr),status:s.exitCode??n.status,signal:null}}return{stdout:Buffer.from(M(JSON.parse(n.stdout))),stderr:Buffer.from(n.stderr),status:0,signal:null}}function aV(e){if(e==="true")return!0;if(e==="false")return!1;if(e!=="null")return/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/.test(e)?Number(e):e}var Ah=E(()=>{"use strict";J();Ro();mt()});var Fh={};ne(Fh,{parseGhApiRead:()=>Ch,renderGhContract:()=>VO,runGhWrapper:()=>fV});import{spawn as cV}from"node:child_process";async function fV(e,t){if(kh(e))return await GO(e);if(e[0]==="gh"&&e[1]==="api")return await jO(e);let r=KO(e),n=await gV(r);return VO(e,n,t)}async function VO(e,t,r){if((t.status??0)!==0||t.signal){let f=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(f),stderr:Buffer.from(t.stderr),status:f.exitCode??1,signal:t.signal}}let n=KO(e),s=zi(t.stdout),o=SV(n,e,s);if(typeof o=="string")return{stdout:Buffer.from(o),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal};let i=PV(o);if(i){if(!r.store)throw new Error("truncated gh output requires an elision store");let f=await r.store.mint(Buffer.from(i.original),{command:e.join(" "),loss:{level:n.full?"brief":r.level,bytes_elided:i.bytes}});i.target.truncated.handle=f}let a=i?.target.truncated.handle||void 0,c=M(o);if(r.level!=="terse")return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let l=IV(o);if(!l)return{stdout:Buffer.from(c),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:o,mintedHandle:a,bytesElided:i?.bytes};let u=Buffer.byteLength(c),d=await r.store?.mint(Buffer.from(c),{command:e.join(" "),loss:{level:"terse",bytes_elided:u}});if(!d)throw new Error("terse gh output requires an elision store");let p=`\u2026 elided ${l.rowsElided} rows (+${u}) \u2014 ${Rt(d)}
283
+ `;return{stdout:Buffer.from(`${M(l.payload)}
284
+ ${p}`),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,payload:l.payload,mintedHandle:d,bytesElided:u,rowsElided:l.rowsElided,rawOutput:Buffer.from(c)}}function KO(e){let t=ro(e);if(t.argv[0]!=="gh")throw new Error("expected rsp gh <surface> <subcommand>");let r=t.argv[1],n=t.argv[2];if(!(r==="pr"||r==="issue"||r==="run"))throw new Error(`unsupported gh surface: ${r??""}`);let s=r==="pr"&&n&&n!=="list"&&n!=="view";if(!(n==="list"||n==="view"||s))throw new Error(`unsupported gh subcommand: ${n??""}`);let o=r,i=[],a=!1,c=!1,l=new Set,u=t.argv.slice(3);for(let f=0;f<u.length;f+=1){let m=u[f]??"";m==="--full"?a=!0:m==="--wide"?c=!0:m==="--fields"?l=UO(u[++f]??""):m.startsWith("--fields=")?l=UO(m.slice(9)):i.push(m)}let p={kind:o,action:s?"combined":n==="list"?"list":"view",target:s?n:void 0,full:a,wide:c,fields:l,passthrough:i,query:t.query};return mV(p),p}function qO(e){if(e.action==="combined")throw new Error("combined gh command uses multiple machine calls");let t=`${e.kind}:${e.action}`,r=e.wide||e.fields.size>0?uV[t]:lV[t];return[e.kind,e.action,...e.passthrough,"--json",r.join(",")]}function UO(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}function mV(e){if(e.fields.size===0)return;if(e.action!=="list")throw new hu(e,"--fields is supported for list outputs");let t=`${e.kind}:list`,r=pV[t];for(let n of e.fields)if(!r.includes(n))throw new hu(e,`unknown field: ${n}`,r)}async function gV(e){if(e.action==="combined")return await hV(e);let t=yV(e);if(!t)return await kV(qO(e));let r=await st({...t,command:["gh",...qO(e)].join(" ")});return r.status!==0?{stdout:r.stdout,stderr:r.stderr,status:r.status,signal:null}:{stdout:JSON.stringify(await bV(e,r.stdout)),stderr:r.stderr,status:0,signal:null}}async function hV(e){let t=e.target??"",[r,n,s]=await Promise.all([st({path:`repos/{owner}/{repo}/pulls/${t}`,command:`gh pr view ${t}`}),st({path:`repos/{owner}/{repo}/pulls/${t}/commits`,command:`gh pr checks ${t}`}),st({path:`repos/{owner}/{repo}/issues/${t}/comments`,command:`gh pr view ${t} --comments`})]),o=[r,n,s].find(a=>(a.status??0)!==0);if(o)return{stdout:o.stdout,stderr:o.stderr,status:o.status,signal:null};let i=YO(zi(r.stdout));return{stdout:JSON.stringify({view:i,checks:[],comments:{comments:Xe(zi(s.stdout)).map(_V)}}),stderr:[r.stderr,n.stderr,s.stderr].filter(Boolean).join(""),status:0,signal:null}}function yV(e){let t=QO(e.passthrough),r=EV(e.passthrough,"--limit")??30,n=Mt(e.passthrough,"--state")??"open";switch(`${e.kind}:${e.action}`){case"pr:list":return{path:"repos/{owner}/{repo}/pulls",params:{state:n,per_page:r}};case"pr:view":return t?{path:`repos/{owner}/{repo}/pulls/${t}`}:null;case"issue:list":return{path:"repos/{owner}/{repo}/issues",params:{state:n,labels:Mt(e.passthrough,"--label"),per_page:r}};case"issue:view":return t?{path:`repos/{owner}/{repo}/issues/${t}`}:null;case"run:list":return{path:"repos/{owner}/{repo}/actions/runs",params:{per_page:r}};case"run:view":return t?{path:`repos/{owner}/{repo}/actions/runs/${t}`}:null;default:return null}}async function bV(e,t){let r=zi(t);switch(`${e.kind}:${e.action}`){case"pr:list":return Xe(r).map(zO);case"pr:view":return YO(r);case"issue:list":return Xe(r).filter(n=>!An(n.pull_request)).map(HO);case"issue:view":return HO(r);case"run:list":return{items:Xe(ie(r).workflow_runs).map(WO),total:Je(ie(r),"total_count")};case"run:view":{let n=WO(r),s=QO(e.passthrough);if(!s)return n;let o=await st({path:`repos/{owner}/{repo}/actions/runs/${s}/jobs`,command:`gh run view ${s} jobs`});return{...n,jobs:o.status===0?Xe(ie(zi(o.stdout)).jobs).map(wV):[]}}default:return r}}function zO(e){let t=ie(e);return{number:Je(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),isDraft:!!t.draft,author:Dh(t.user),labels:Xe(t.labels).map(r=>({name:B(r,"name")})),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body"),baseRefName:B(ie(t.base),"ref"),headRefName:B(ie(t.head),"ref")}}function YO(e){return zO(e)}function HO(e){let t=ie(e);return{number:Je(t,"number"),title:B(t,"title"),state:B(t,"state").toUpperCase(),labels:Xe(t.labels).map(r=>({name:B(r,"name")})),author:Dh(t.user),url:B(t,"html_url"),updatedAt:B(t,"updated_at"),body:B(t,"body")}}function WO(e){let t=ie(e);return{databaseId:Je(t,"database_id")||Je(t,"id"),name:B(t,"name")||B(t,"display_title"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),event:B(t,"event"),headBranch:B(t,"head_branch"),workflowName:B(t,"workflow_name"),createdAt:B(t,"created_at"),url:B(t,"html_url"),jobs:[]}}function wV(e){let t=ie(e);return{name:B(t,"name"),status:B(t,"status").toUpperCase(),conclusion:B(t,"conclusion").toUpperCase(),log:""}}function _V(e){let t=ie(e);return{author:Dh(t.user),body:B(t,"body"),createdAt:B(t,"created_at")}}function Dh(e){let t=ie(e);return{login:B(t,"login")}}function QO(e){return e.find(t=>!t.startsWith("-"))}function Mt(e,t){let r=e.indexOf(t);return r>=0?e[r+1]:void 0}function EV(e,t){let r=Mt(e,t);if(!r)return;let n=Number(r);return Number.isFinite(n)&&n>0?n:void 0}async function kV(e){let t=cV("gh",e,{stdio:["ignore","pipe","pipe"]}),r=Ye();t.once("close",r),t.once("error",r);let n=[],s=[];return t.stdout.on("data",o=>n.push(o)),t.stderr.on("data",o=>s.push(o)),await new Promise((o,i)=>{t.on("error",i),t.on("close",(a,c)=>{o({stdout:Buffer.concat(n).toString("utf8"),stderr:Buffer.concat(s).toString("utf8"),status:a,signal:c})})})}function SV(e,t,r){let n={command:t.join(" ")};switch(`${e.kind}:${e.action}`){case"pr:list":{let s=Ph(r,"prs"),o=s.rows.map(c=>XO(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"prs",a,["rsp gh issue list","rsp gh pr list --query <title-or-label>"]):qs({...n,prs:i,aggregate:a,summary:`${Gh(i.length,o.length,e.query)} ${JO(i,"open")} PRs`},e,["rsp gh pr <number>","rsp gh pr list --query <title-or-label>"])}case"pr:view":return qs({...n,pr:ZO(ie(r),e),summary:`PR #${Je(ie(r),"number")}`},e,["rsp gh pr <number>","rsp gh pr view <number> --full"]);case"pr:combined":return RV(e,t,ie(r));case"issue:list":{let s=Ph(r,"issues"),o=s.rows.map(c=>eC(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"issues",a,["rsp gh issue list --state all","rsp gh issue list --query <label-or-title>"]):qs({...n,issues:i,aggregate:a,summary:`${Gh(i.length,o.length,e.query)} ${JO(i,"open")} issues`},e,["rsp gh issue view <number>","rsp gh issue list --query <label-or-title>"])}case"issue:view":return qs({...n,issue:CV(ie(r),e),summary:`issue #${Je(ie(r),"number")}`},e,["rsp gh issue view <number> --full"]);case"run:list":{let s=Ph(r,"runs"),o=s.rows.map(c=>tC(c,e)),i=Ae(o,e.query),a=Ih(i.length,o.length,s.total,e.query);return i.length===0?Lh(n,e,"runs",a,["rsp gh run list --limit 20","rsp gh run list --query <workflow-or-status>"]):qs({...n,runs:i,aggregate:a,summary:`${Gh(i.length,o.length,e.query)} runs`},e,["rsp gh run view <id>","rsp gh run list --query <workflow-or-status>"])}case"run:view":return qs({...n,run:AV(ie(r),e),summary:`run ${Je(ie(r),"databaseId")}`},e,["rsp gh run view <id> --full"])}throw new Error(`unsupported gh command: ${e.kind} ${e.action}`)}function RV(e,t,r){let n=ZO(ie(r.view),{...e,action:"view",wide:!0}),s=Ae(Xe(r.checks).map(vV),e.query),o=ie(r.comments).comments,i=Ae(Xe(o).map(TV).slice(-3),e.query);return Kt({command:t.join(" "),pr:n,checks:s,comments:i,summary:`PR #${Je(ie(r.view),"number")}: ${s.length} checks, ${i.length} comments`},["rsp gh pr view <number> --full","rsp gh pr <number> --query <check-or-comment>","rsp gh run view <id>"])}function vV(e){return{name:B(e,"name"),state:Yi(e),bucket:B(e,"bucket"),conclusion:B(e,"conclusion"),workflow:B(e,"workflow"),link:B(e,"link")}}function TV(e){return{author:nC(e.author),body:yu(e,"body",Nh,!1),created:B(e,"createdAt")}}function Ph(e,t){if(Array.isArray(e))return{rows:Xe(e)};let r=ie(e),n=Je(r,"total")||Je(r,"total_count")||void 0;return Array.isArray(r.items)?{rows:Xe(r.items),total:n}:t==="runs"&&Array.isArray(r.workflow_runs)?{rows:Xe(r.workflow_runs),total:n}:{rows:[]}}function Ih(e,t,r,n){let s={returned:e};return typeof r=="number"&&r>0&&(s.total=r),n&&(s.unfiltered=t),s}function Lh(e,t,r,n,s){return Kt({...e,empty:!0,scope:xV(t),[r]:[],aggregate:n,summary:`0 ${OV(t)}`},s)}function xV(e){let t=Mt(e.passthrough,"--state")??"open",r=e.query?` query=${e.query}`:"";if(e.kind==="pr")return`${t} PRs${r}`;if(e.kind==="issue"){let o=Mt(e.passthrough,"--label");return`${t} issues${o?` label=${o}`:""}${r}`}let n=Mt(e.passthrough,"--branch")??Mt(e.passthrough,"-b"),s=Mt(e.passthrough,"--workflow")??Mt(e.passthrough,"-w");return`workflow runs${n?` branch=${n}`:""}${s?` workflow=${s}`:""}${r}`}function OV(e){let t=Mt(e.passthrough,"--state")??"open";return e.kind==="pr"?`${t} PRs`:e.kind==="issue"?`${t} issues`:"runs"}function XO(e,t){let r={number:Je(e,"number"),title:B(e,"title"),state:Yi(e),draft:!!e.isDraft};return $h(r,e,t,["author","labels","url","updated"]),r}function ZO(e,t){let r=XO(e,t);return r.body=yu(e,"body",Nh,t.full),t.wide&&(r.base=B(e,"baseRefName"),r.head=B(e,"headRefName")),r}function eC(e,t){let r={number:Je(e,"number"),title:B(e,"title"),state:Yi(e),labels:rC(e.labels)};return $h(r,e,t,["author","url","updated"]),r}function CV(e,t){let r=eC(e,t);return r.body=yu(e,"body",Nh,t.full),r}function tC(e,t){let r={id:Je(e,"databaseId"),name:B(e,"name"),status:Yi(e),conclusion:B(e,"conclusion")};return $h(r,e,t,["event","branch","workflow","created"]),r}function AV(e,t){let r=tC(e,t),n=Xe(e.jobs).map(s=>({name:B(s,"name"),status:Yi(s),conclusion:B(s,"conclusion"),log:yu(s,"log",dV,t.full)}));return r.jobs=n,r}function yu(e,t,r,n){let s=B(e,t);if(n||Buffer.byteLength(s)<=r)return s;let o=s.slice(0,r),i={preview:o,truncated:{bytes:Buffer.byteLength(s),shown_bytes:Buffer.byteLength(o),hint:"--full",handle:""}};return Object.defineProperty(i,"__rsp_original",{value:s,enumerable:!1}),i}function PV(e){let t=[e];for(;t.length>0;){let r=t.pop();if(Array.isArray(r))t.push(...r);else if(An(r)){if(An(r.truncated)&&r.truncated.handle===""&&typeof r.preview=="string"){let n=typeof r.__rsp_original=="string"?r.__rsp_original:r.preview;return{target:r,original:n,bytes:Number(r.truncated.bytes??0)}}t.push(...Object.values(r))}}return null}function IV(e){for(let t of["prs","issues","runs","jobs"]){let r=e[t];if(Array.isArray(r)&&r.length>1)return{payload:{...e,[t]:r.slice(0,1)},rowsElided:r.length-1}}return null}function JO(e,t){return e.every(r=>r.state===t)?t:"returned"}function Gh(e,t,r){return r?`${e}/${t}`:String(e)}function qs(e,t,r){return t.query?Kt(e,r):e}function Yi(e){return(B(e,"state")||B(e,"status")).toLowerCase()}function $h(e,t,r,n){if(!(!r.wide&&r.fields.size===0))for(let s of n)!r.wide&&!r.fields.has(s)||(s==="author"?e.author=nC(t.author):s==="labels"?e.labels=rC(t.labels):s==="url"?e.url=B(t,"url"):s==="updated"?e.updated=B(t,"updatedAt"):s==="event"?e.event=B(t,"event"):s==="branch"?e.branch=B(t,"headBranch"):s==="workflow"?e.workflow=B(t,"workflowName"):s==="created"&&(e.created=B(t,"createdAt")))}function rC(e){return Array.isArray(e)?e.map(t=>An(t)?B(t,"name"):String(t)).filter(Boolean):[]}function nC(e){return An(e)?B(e,"login"):""}function zi(e){return e.trim()?JSON.parse(e):null}function Xe(e){return Array.isArray(e)?e.filter(An):[]}function ie(e){return An(e)?e:{}}function B(e,t){let r=e[t];return typeof r=="string"?r:""}function Je(e,t){let r=e[t];return typeof r=="number"?r:0}function An(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var lV,uV,Nh,dV,pV,hu,Mh=E(()=>{"use strict";ye();J();Ro();BO();Ah();Tn();no();mt();Ah();lV={"pr:list":["number","title","state","isDraft"],"pr:view":["number","title","state","body"],"issue:list":["number","title","state","labels"],"issue:view":["number","title","state","body"],"run:list":["databaseId","name","status","conclusion"],"run:view":["databaseId","name","status","conclusion","jobs"]},uV={"pr:list":["number","title","state","isDraft","author","labels","url","updatedAt"],"pr:view":["number","title","state","body","author","labels","url","baseRefName","headRefName"],"issue:list":["number","title","state","labels","author","url","updatedAt"],"issue:view":["number","title","state","body","author","labels","url","updatedAt"],"run:list":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt"],"run:view":["databaseId","name","status","conclusion","event","headBranch","workflowName","createdAt","jobs","url"]},Nh=160,dV=160,pV={"pr:list":["number","title","state","draft","author","labels","url","updated"],"issue:list":["number","title","state","labels","author","url","updated"],"run:list":["id","name","status","conclusion","event","branch","workflow","created"]};hu=class extends Error{constructor(r,n,s=[]){super(n);this.command=r;this.validFields=s}render(){return ee({command:`gh ${this.command.kind} ${this.command.action}`,category:"usage",error:this.message,help:`gh ${this.command.kind} ${this.command.action} --help`,validFlags:this.validFields})}}});var qh={};ne(qh,{renderTestContract:()=>sC,runTestWrapper:()=>$V});import{spawn as LV}from"node:child_process";async function $V(e,t){let r=ro(e),n=await qV(r.argv);return await sC(e,n,t)}async function sC(e,t,r){let n=ro(e),o=oC(n.argv)==="vitest"?UV(t.stdout):HV(t.stdout),i=t.status;if(!o||(i??0)!==0&&o.failed===0){let m=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(m),stderr:Buffer.from(t.stderr),status:m.exitCode??1,signal:t.signal}}let a=`${o.failed}/${o.total} failed \xB7 ${o.suites} suites \xB7 ${VV(o.durationSeconds)}`,c=Ae(o.failures,n.query);if(r.level==="terse")return await FV(n.argv,t,{...o,failures:c},i,a,r,n.query);let l=[],u,d=0;for(let m of c){let h=await WV(m.excerpt,n.argv.join(" "),r.store);l.push({suite:m.suite,name:m.name,excerpt:h.text}),u??=h.handle,d+=h.bytesElided}let p={exit_code:i,summary:n.query?`${a} \xB7 ${c.length}/${o.failures.length} failures matched`:a};l.length>0&&(p.failures=l);let f=n.query?Kt(p,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):p;return{stdout:Buffer.from(M(f)),stderr:Buffer.from(t.stderr),status:jh(t.status),signal:t.signal,payload:f,mintedHandle:u,bytesElided:d>0?d:void 0,rowsElided:l.length>0?Math.max(0,o.total-l.length):void 0}}async function FV(e,t,r,n,s,o,i){let a=MV(r.failures),c={exit_code:n,summary:i?`${s} \xB7 ${r.failures.length} failures matched`:s};a.length>0&&(c.failures=a);let l=i?Kt(c,["rsp show <handle>","rsp vitest --query <suite-or-test>"]):c,u=M(l),d=Math.max(0,r.failures.length-a.length),p=a.some((_,k)=>_.excerpt!==r.failures[k].excerpt);if(d===0&&!p)return{stdout:Buffer.from(u),stderr:Buffer.from(t.stderr),status:jh(t.status),signal:t.signal,payload:l};let f={exit_code:n,summary:s};r.failures.length>0&&(f.failures=r.failures.map(_=>({suite:_.suite,name:_.name,excerpt:_.excerpt})));let m=M(f),h=Buffer.byteLength(m),w=await o.store?.mint(Buffer.from(m),{command:e.join(" "),loss:{level:"terse",bytes_elided:h}});if(!w)throw new Error("terse test output requires an elision store");let y=`\u2026 elided ${d>0?`${d} failures`:"full detail"} (+${h}) \u2014 ${Rt(w)}`;return{stdout:Buffer.from(`${u}
285
+ ${y}`),stderr:Buffer.from(t.stderr),status:jh(t.status),signal:t.signal,payload:l,mintedHandle:w,bytesElided:h,rowsElided:d,rawOutput:Buffer.from(m)}}function jh(e){return e===0||e===null?0:1}function MV(e){let t=[],r=NV;for(let n of e.slice(0,DV)){let s=BV(n.excerpt,Math.min(GV,r));r=Math.max(0,r-Buffer.byteLength(s)),t.push({suite:n.suite,name:n.name,excerpt:s})}return t}function BV(e,t){if(t<=0)return"";let r=e.split(`
284
286
  `),n=r.length<=2?e:`${r[0]}
285
287
  \u2026
286
- ${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 O2(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 C2(e){let t=O2(e),r=_2(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=ze();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function A2(e){let t=tC(e);if(!Ur(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Hr(t.numTotalTests),o=Hr(t.numFailedTests),i=N2(Hr(t.startTime),Hr(t.endTime));for(let a of r){if(!Ur(a))continue;let c=Bt(a.name)||Bt(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Ur(u)&&u.status==="failed"&&n.push({suite:c,name:Bt(u.fullName)||Bt(u.title)||Bt(u.name),excerpt:L2(u.failureMessages)||Bt(u.failureMessage)})}return s||=r.reduce((a,c)=>!Ur(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Ur(c)?a+Hr(c.perfStats&&Ur(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function P2(e){let t=e.split(`
287
- `).filter(Boolean).map(c=>tC(c)).filter(Ur);if(t.length===0)return null;let r=[],n=0,s=0,o=0,i=0,a=[];for(let c of t){if(c.type==="suite"){c.event==="started"&&(o+=1,n+=Hr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Hr(c.failed),i+=Hr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Bt(c.name).split("::").slice(0,-1).join("::"),name:Bt(c.name),excerpt:Bt(c.stdout)});continue}if(c.reason==="compiler-message"&&Ur(c.message)){let l=Bt(c.message.rendered);l&&a.push(l)}}return r.length===0&&a.length>0&&(r.push({suite:"cargo check",name:"compile-error",excerpt:a.join(`
288
- `)}),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 I2(e,t,r){let n=Buffer.from(e);if(n.length<=Nh)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,Nh).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
289
- \u2026 elided ${i} bytes (+${n.length}) \u2014 ${Rt(s)}`,handle:s,bytesElided:n.length}}function tC(e){try{return JSON.parse(e)}catch{return null}}function L2(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
290
- `):""}function G2(e){return`${Number(e.toFixed(1))}s`}function N2(e,t){return e>0&&t>e?(t-e)/1e3:0}function Hr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Bt(e){return typeof e=="string"?e:""}function Ur(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Nh,E2,k2,S2,Fh=E(()=>{"use strict";ye();V();Tn();ro();mt();Nh=320,E2=160,k2=Nh,S2=3});var jh={};ne(jh,{parseCatCommand:()=>Bh,renderCatContract:()=>U2,runCatWrapper:()=>q2});import{isUtf8 as D2}from"node:buffer";import{readFile as $2}from"node:fs/promises";import{extname as F2}from"node:path";async function q2(e,t){let r=Bh(e),n;try{n=await $2(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=Me(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
291
- `),status:1,signal:null}}return aC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await iC(e,r,n,t)}async function U2(e,t,r){if((t.status??0)!==0||t.signal){let i=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=Bh(e),s=Buffer.from(t.stdout,"utf8");return aC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await iC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function Bh(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=oC(t[++i],Mh);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=oC(l,Mh);continue}o.push(a)}if(o.length!==1)throw new Error("usage: rsp cat [--full] [--head N|--tail N] <file>");return{file:o[0],mode:r,...n?{limit:n}:{},...s?{inlineFull:s}:{}}}async function iC(e,t,r,n){let s=r.toString("utf8"),o=J2(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>sC(n.heavyByteThreshold,rC)||o.truncated;if(!nC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=nC(t.file)?H2(e,t.file,r,s,n.level,o):W2(e,t.file,r,s,o),c=`${B(a)}
292
- `;if(!i&&Buffer.byteLength(c)<=sC(n.heavyByteThreshold,rC))return{stdout:Buffer.from(c),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,rawOutput:r};let l=await n.store?.mint(r,{command:e.join(" "),loss:{level:n.level==="lossless"?"terse":n.level,bytes_elided:r.length}});if(!l)throw new Error("rsp cat elision requires an elision store");let u=`\u2026 elided file bytes (+${r.length}) \u2014 ${Rt(l)}
293
- `;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function H2(e,t,r,n,s,o){let i=bu(n),a=s==="terse"?B2:M2,c=bu(o.text),l=c.slice(0,a),u=c.slice(Math.max(l.length,c.length-a));return{command:e.join(" "),file:t,kind:"code",outline_source:"regex",bytes:r.length,lines:i.length,symbols:V2(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function W2(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:bu(n).length,content:bu(s.text),truncated:s.truncated}}function J2(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
294
- `),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??Mh,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
288
+ ${r[r.length-1]}`,s=Buffer.from(n);return s.length<=t?n:s.subarray(0,t).toString("utf8").replace(/�$/,"")}function oC(e){if(e[0]==="vitest")return"vitest";if(e[0]==="cargo"&&e[1]==="test")return"cargo";throw new Error(`unsupported test command: ${e.join(" ")}`)}function jV(e){if(oC(e)==="vitest"){let s=e.slice(1);return{executable:"vitest",args:s.some(i=>i==="--reporter=json"||i==="--reporter"||i.startsWith("--reporter="))?s:["run","--reporter=json",...s]}}let r=e.slice(1);return{executable:"cargo",args:r.some(s=>s==="--message-format=json"||s.startsWith("--message-format="))?r:["test","--message-format=json",...r.slice(1)]}}async function qV(e){let t=jV(e),r=LV(t.executable,t.args,{stdio:["ignore","pipe","pipe"]}),n=Ye();r.once("close",n),r.once("error",n);let s=[],o=[];return r.stdout.on("data",i=>s.push(i)),r.stderr.on("data",i=>o.push(i)),await new Promise((i,a)=>{r.on("error",a),r.on("close",(c,l)=>{i({stdout:Buffer.concat(s).toString("utf8"),stderr:Buffer.concat(o).toString("utf8"),status:c,signal:l})})})}function UV(e){let t=iC(e);if(!Ur(t))return null;let r=Array.isArray(t.testResults)?t.testResults:[],n=[],s=Hr(t.numTotalTests),o=Hr(t.numFailedTests),i=KV(Hr(t.startTime),Hr(t.endTime));for(let a of r){if(!Ur(a))continue;let c=Bt(a.name)||Bt(a.file)||"",l=Array.isArray(a.assertionResults)?a.assertionResults:[];for(let u of l)Ur(u)&&u.status==="failed"&&n.push({suite:c,name:Bt(u.fullName)||Bt(u.title)||Bt(u.name),excerpt:JV(u.failureMessages)||Bt(u.failureMessage)})}return s||=r.reduce((a,c)=>!Ur(c)||!Array.isArray(c.assertionResults)?a:a+c.assertionResults.length,0),o||=n.length,i||=r.reduce((a,c)=>Ur(c)?a+Hr(c.perfStats&&Ur(c.perfStats)?c.perfStats.runtime:c.duration)/1e3:a,0),{failed:o,total:s,suites:r.length||1,durationSeconds:i,failures:n}}function HV(e){let t=e.split(`
289
+ `).filter(Boolean).map(c=>iC(c)).filter(Ur);if(t.length===0)return null;let r=[],n=0,s=0,o=0,i=0,a=[];for(let c of t){if(c.type==="suite"){c.event==="started"&&(o+=1,n+=Hr(c.test_count)),(c.event==="failed"||c.event==="ok")&&(s+=Hr(c.failed),i+=Hr(c.exec_time));continue}if(c.type==="test"&&c.event==="failed"){r.push({suite:Bt(c.name).split("::").slice(0,-1).join("::"),name:Bt(c.name),excerpt:Bt(c.stdout)});continue}if(c.reason==="compiler-message"&&Ur(c.message)){let l=Bt(c.message.rendered);l&&a.push(l)}}return r.length===0&&a.length>0&&(r.push({suite:"cargo check",name:"compile-error",excerpt:a.join(`
290
+ `)}),o||=1,n||=1,s||=1),s||=r.length,o||=1,n||=Math.max(s,r.length),{failed:s,total:n,suites:o,durationSeconds:i,failures:r}}async function WV(e,t,r){let n=Buffer.from(e);if(n.length<=Bh)return{text:e,bytesElided:0};if(!r)throw new Error("over-limit test failure excerpt requires an elision store");let s=await r.mint(n,{command:t,loss:{level:"brief",bytes_elided:n.length}}),o=n.subarray(0,Bh).toString("utf8").replace(/\uFFFD$/,""),i=n.length-Buffer.byteLength(o);return{text:`${o}
291
+ \u2026 elided ${i} bytes (+${n.length}) \u2014 ${Rt(s)}`,handle:s,bytesElided:n.length}}function iC(e){try{return JSON.parse(e)}catch{return null}}function JV(e){return Array.isArray(e)?e.map(t=>String(t)).filter(Boolean).join(`
292
+ `):""}function VV(e){return`${Number(e.toFixed(1))}s`}function KV(e,t){return e>0&&t>e?(t-e)/1e3:0}function Hr(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Bt(e){return typeof e=="string"?e:""}function Ur(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Bh,GV,NV,DV,Uh=E(()=>{"use strict";ye();J();Tn();no();mt();Bh=320,GV=160,NV=Bh,DV=3});var Jh={};ne(Jh,{parseCatCommand:()=>Wh,renderCatContract:()=>rK,runCatWrapper:()=>tK});import{isUtf8 as zV}from"node:buffer";import{readFile as YV}from"node:fs/promises";import{extname as QV}from"node:path";async function tK(e,t){let r=Wh(e),n;try{n=await YV(r.file)}catch(s){let o=s instanceof Error?s.message:String(s),i=Me(e.join(" "),"",o);return{stdout:ee({...i,help:`ls ${r.file}`}),stderr:Buffer.from(`${o}
293
+ `),status:1,signal:null}}return pC(n)?{stdout:n,stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:n}:await dC(e,r,n,t)}async function rK(e,t,r){if((t.status??0)!==0||t.signal){let i=Me(e.join(" "),t.stdout,t.stderr);return{stdout:ee(i),stderr:Buffer.from(t.stderr),status:i.exitCode??1,signal:t.signal}}let n=Wh(e),s=Buffer.from(t.stdout,"utf8");return pC(s)?{stdout:s,stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal,rawOutput:s}:{...await dC(e,n,s,r),stderr:Buffer.from(t.stderr),status:t.status,signal:t.signal}}function Wh(e){if(e[0]!=="cat")throw new Error("expected rsp cat <file>");let t=e.slice(1),r="full",n,s=!1,o=[];for(let i=0;i<t.length;i++){let a=t[i];if(a==="--full"){s=!0;continue}if(a==="--head"||a==="--tail"){r=a.slice(2),n=uC(t[++i],Hh);continue}if(a.startsWith("--head=")||a.startsWith("--tail=")){let[c,l]=a.split("=",2);r=c.slice(2),n=uC(l,Hh);continue}o.push(a)}if(o.length!==1)throw new Error("usage: rsp cat [--full] [--head N|--tail N] <file>");return{file:o[0],mode:r,...n?{limit:n}:{},...s?{inlineFull:s}:{}}}async function dC(e,t,r,n){let s=r.toString("utf8"),o=oK(s,t);if(t.inlineFull)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let i=n.level!=="lossless"||r.length>lC(n.heavyByteThreshold,aC)||o.truncated;if(!cC(t.file)&&!i)return{stdout:Buffer.from(o.text),stderr:Buffer.alloc(0),status:0,signal:null,rawOutput:r};let a=cC(t.file)?nK(e,t.file,r,s,n.level,o):sK(e,t.file,r,s,o),c=`${M(a)}
294
+ `;if(!i&&Buffer.byteLength(c)<=lC(n.heavyByteThreshold,aC))return{stdout:Buffer.from(c),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,rawOutput:r};let l=await n.store?.mint(r,{command:e.join(" "),loss:{level:n.level==="lossless"?"terse":n.level,bytes_elided:r.length}});if(!l)throw new Error("rsp cat elision requires an elision store");let u=`\u2026 elided file bytes (+${r.length}) \u2014 ${Rt(l)}
295
+ `;return{stdout:Buffer.from(`${c}${u}`),stderr:Buffer.alloc(0),status:0,signal:null,payload:a,mintedHandle:l,bytesElided:r.length,rawOutput:r}}function nK(e,t,r,n,s,o){let i=bu(n),a=s==="terse"?ZV:XV,c=bu(o.text),l=c.slice(0,a),u=c.slice(Math.max(l.length,c.length-a));return{command:e.join(" "),file:t,kind:"code",outline_source:"regex",bytes:r.length,lines:i.length,symbols:iK(i),content:{head:l,tail:u,truncated:o.truncated||l.length+u.length<i.length}}}function sK(e,t,r,n,s){return{command:e.join(" "),file:t,kind:"text",bytes:r.length,lines:bu(n).length,content:bu(s.text),truncated:s.truncated}}function oK(e,t){if(t.mode==="full")return{text:e,truncated:!1};let r=e.split(`
296
+ `),n=r.at(-1)==="",s=n?r.slice(0,-1):r,o=t.limit??Hh,i=t.mode==="head"?s.slice(0,o):s.slice(Math.max(0,s.length-o));return{text:`${i.join(`
295
297
  `)}${n&&i.length>0?`
296
- `:""}`,truncated:i.length<s.length}}function V2(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&&!K2(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function bu(e){let t=e.split(`
297
- `);return t.at(-1)===""?t.slice(0,-1):t}function aC(e){return e.includes(0)||!D2(e)}function nC(e){return j2.has(F2(e).toLowerCase())}function K2(e){return["for","if","switch","while"].includes(e)}function sC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function oC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var rC,Mh,M2,B2,j2,qh=E(()=>{"use strict";V();Tn();mt();rC=8*1024,Mh=10,M2=8,B2=2,j2=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var gC={};ne(gC,{REPO_STORE_PATH:()=>Wh,mergeRspBlock:()=>pC,provisionRspRepoStore:()=>sK});import{constants as z2}from"node:fs";import{access as Y2,copyFile as Q2,mkdir as lC,readFile as X2,rename as Z2,writeFile as uC}from"node:fs/promises";import{dirname as eK,join as Qi,resolve as tK}from"node:path";async function sK(e,t={}){let r=tK(e),n=Qi(r,".red"),s=Qi(n,"config.yaml"),o=Qi(r,Wh);await lC(n,{recursive:!0}),await lC(eK(o),{recursive:!0});let i="";try{i=await X2(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=pC(i,{enabled:!0,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt,heavyGitByteThreshold:t.heavyGitByteThreshold??tr}),c=a!==i;c&&await uC(s,a,"utf8");let l=!await Hh(o),u=!1,d=!1;if(l){let f=Qi(r,rK),m=Qi(r,nK);if(await Hh(f))await Z2(f,o),d=!0;else if(await Hh(m))await Q2(m,o),u=!0;else{let{provisionElisionStore:h}=await Promise.resolve().then(()=>(Hc(),sv)),w=process.env.REDDB_BIN;try{await h({uri:`file://${o}`,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt})}finally{w===void 0?delete process.env.REDDB_BIN:process.env.REDDB_BIN=w}}}let p=oK(a,Wh);return p!==a&&await uC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function pC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${wu(t.ttlDays,ht)}`,` ephemeralTtlHours: ${wu(t.ephemeralTtlHours,yt)}`,` byteBudget: ${wu(t.byteBudget,bt)}`,` heavyGitByteThreshold: ${wu(t.heavyGitByteThreshold,tr)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
298
- `),s=fC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
298
+ `:""}`,truncated:i.length<s.length}}function iK(e){let t=[];for(let r=0;r<e.length;r++){let s=e[r].trim(),o=/^(?:export\s+)?(?:default\s+)?(?:abstract\s+)?(class|interface|type)\s+([A-Za-z_$][\w$]*)/.exec(s);if(o){t.push({kind:o[1],name:o[2],line:r+1,signature:s});continue}let i=/^(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?/.exec(s);if(i){t.push({kind:"function",name:i[1],line:r+1,signature:s});continue}let a=/^(?:public\s+|private\s+|protected\s+|static\s+|async\s+)*([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?\s*\{/.exec(s);a&&!aK(a[1])&&t.push({kind:"method",name:a[1],line:r+1,signature:s})}return t}function bu(e){let t=e.split(`
299
+ `);return t.at(-1)===""?t.slice(0,-1):t}function pC(e){return e.includes(0)||!zV(e)}function cC(e){return eK.has(QV(e).toLowerCase())}function aK(e){return["for","if","switch","while"].includes(e)}function lC(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function uC(e,t){let r=Number(e);return Number.isInteger(r)&&r>0?r:t}var aC,Hh,XV,ZV,eK,Vh=E(()=>{"use strict";J();Tn();mt();aC=8*1024,Hh=10,XV=8,ZV=2,eK=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});var _C={};ne(_C,{REPO_STORE_PATH:()=>Yh,mergeRspBlock:()=>yC,provisionRspRepoStore:()=>yK});import{constants as cK}from"node:fs";import{access as lK,copyFile as uK,mkdir as mC,readFile as dK,rename as pK,writeFile as gC}from"node:fs/promises";import{dirname as fK,join as Qi,resolve as mK}from"node:path";async function yK(e,t={}){let r=mK(e),n=Qi(r,".red"),s=Qi(n,"config.yaml"),o=Qi(r,Yh);await mC(n,{recursive:!0}),await mC(fK(o),{recursive:!0});let i="";try{i=await dK(s,"utf8")}catch(f){if(f.code!=="ENOENT")throw f}let a=yC(i,{enabled:!0,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt,heavyGitByteThreshold:t.heavyGitByteThreshold??rr}),c=a!==i;c&&await gC(s,a,"utf8");let l=!await zh(o),u=!1,d=!1;if(l){let f=Qi(r,gK),m=Qi(r,hK);if(await zh(f))await pK(f,o),d=!0;else if(await zh(m))await uK(m,o),u=!0;else{let{provisionElisionStore:h}=await Promise.resolve().then(()=>(Hc(),cv)),w=process.env.REDDB_BIN;try{await h({uri:`file://${o}`,ttlDays:t.ttlDays??ht,ephemeralTtlHours:t.ephemeralTtlHours??yt,byteBudget:t.byteBudget??bt})}finally{w===void 0?delete process.env.REDDB_BIN:process.env.REDDB_BIN=w}}}let p=bK(a,Yh);return p!==a&&await gC(s,p,"utf8"),{configPath:s,storePath:o,configChanged:c||p!==a,storeCreated:l,memoryStoreMigrated:u,legacyStoreMigrated:d}}function yC(e,t){let r=["rsp:",` enabled: ${t.enabled?"true":"false"}`,` ttlDays: ${wu(t.ttlDays,ht)}`,` ephemeralTtlHours: ${wu(t.ephemeralTtlHours,yt)}`,` byteBudget: ${wu(t.byteBudget,bt)}`,` heavyGitByteThreshold: ${wu(t.heavyGitByteThreshold,rr)}`],n=e===""?[]:e.replace(/\n+$/,"").split(`
300
+ `),s=bC(n,"rsp");if(s===-1){let a=[...n];return a.length>0&&a[a.length-1].trim()!==""&&a.push(""),a.push(...r),`${a.join(`
299
301
  `)}
300
- `}let o=Jh(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
302
+ `}let o=Qh(n,s,0);return`${[...n.slice(0,s),...r,...n.slice(o)].join(`
301
303
  `)}
302
- `}function fC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Kh(n)&&Vh(n)===0&&mC(n)===t)return r}return-1}function Jh(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Kh(e[s])&&Vh(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Vh(e){return(e.match(/^ */)?.[0]??"").length}function Kh(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function mC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function wu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function oK(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
303
- `),n=fC(r,"plugins");if(n===-1)return e;let s=Jh(r,n,0),o=dC(r,"memory",n+1,s,2);if(o===-1)return e;let i=Jh(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(`
304
+ `}function bC(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(Zh(n)&&Xh(n)===0&&wC(n)===t)return r}return-1}function Qh(e,t,r){let n=e.length;for(let s=t+1;s<e.length;s++)if(Zh(e[s])&&Xh(e[s])<=r){n=s;break}for(;n-1>t&&e[n-1].trim()==="";)n--;return n}function Xh(e){return(e.match(/^ */)?.[0]??"").length}function Zh(e){let t=e.trim();return t!==""&&!t.startsWith("#")}function wC(e){return e.replace(/^ */,"").replace(/:.*$/,"").trim()}function wu(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function bK(e,t){let r=e===""?[]:e.replace(/\n+$/,"").split(`
305
+ `),n=bC(r,"plugins");if(n===-1)return e;let s=Qh(r,n,0),o=hC(r,"memory",n+1,s,2);if(o===-1)return e;let i=Qh(r,o,2),a=[...r],c=hC(a,"storePath",o+1,i,4);return c!==-1?a[c]=` storePath: ${t}`:a.splice(i,0,` storePath: ${t}`),`${a.join(`
304
306
  `)}
305
- `}function dC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Kh(i)&&Vh(i)===s&&mC(i)===t)return o}return-1}async function Hh(e){try{return await Y2(e,z2.F_OK),!0}catch{return!1}}var Wh,rK,nK,hC=E(()=>{"use strict";Ke();Ye();Wh=lp,rK=Vb,nK=".red/memory/graph.rdb"});var kC={};ne(kC,{runRspMcpServer:()=>aK});import{createInterface as iK}from"node:readline";async function aK(){let e=Ie(process.cwd(),process.env),t=iK({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 cK(n,e);wC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){wC({jsonrpc:"2.0",id:typeof _C(r)?.id>"u"?null:_C(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function cK(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:bC(t)}]};if(!t.enabled)return{content:[{type:"text",text:bC(t)}],isError:!0};let n=hK(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Pn({tool:"rsp_stats",...await n.accountingStats(t.telemetryByteBudget)})}]};if(r?.name==="rsp_show"){let s=String(r.arguments?.handle??""),o=await n.get(s);return o?"status"in o?{content:[{type:"text",text:Pn({tool:"rsp_show",handle:s,found:!1,category:"real-error",error:o.status,expired_at:o.expired_at,help:[o.command]})}],isError:!0}:{content:[{type:"text",text:Pn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Pn(lK(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await uK(r.arguments,n)}]}}return{}}function Pn(e){return`${ge(e)}
306
- `}function lK(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function uK(e,t){let r=pK(e?.payload);try{return await dK(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return EC(r)}}async function dK(e,t,r){let n=fK(t?.level),s=await th(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return EC(s.output);let o=Zl(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Pn({tool:"rsp_compress",level:n,detected:"text",bytes:Buffer.byteLength(e),text:o});let i=Buffer.from(e),a=await r.mint(i,{command:"rsp mcp compress",loss:{level:n,bytes_elided:i.length}});return mK(o,i.length,a,n)}function pK(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function fK(e){return e==="terse"?"terse":"brief"}function mK(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=yC(o.subarray(0,i)),c=yC(o.subarray(Math.max(0,o.length-i)));return Pn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:gK(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function EC(e){return e.endsWith(`
307
+ `}function hC(e,t,r,n,s){for(let o=r;o<n;o++){let i=e[o];if(Zh(i)&&Xh(i)===s&&wC(i)===t)return o}return-1}async function zh(e){try{return await lK(e,cK.F_OK),!0}catch{return!1}}var Yh,gK,hK,EC=E(()=>{"use strict";ze();Be();Yh=lp,gK=Xb,hK=".red/memory/graph.rdb"});var xC={};ne(xC,{runRspMcpServer:()=>_K});import{createInterface as wK}from"node:readline";async function _K(){let e=Ie(process.cwd(),process.env),t=wK({input:process.stdin,crlfDelay:1/0});for await(let r of t){if(!r.trim())continue;let n;try{n=JSON.parse(r);let s=await EK(n,e);RC({jsonrpc:"2.0",id:n.id??null,result:s})}catch(s){RC({jsonrpc:"2.0",id:typeof vC(r)?.id>"u"?null:vC(r)?.id,error:{code:-32e3,message:s instanceof Error?s.message:String(s)}})}}}async function EK(e,t){if(e.method==="initialize")return{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:{name:"rsp",version:"0.1.0"}};if(e.method==="tools/list")return t.enabled?{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}},{name:"rsp_stats",description:"Read resident rsp accounting stats.",inputSchema:{type:"object",properties:{}}},{name:"rsp_show",description:"Read an rsp elision handle through the resident server.",inputSchema:{type:"object",properties:{handle:{type:"string"}},required:["handle"]}},{name:"rsp_compress",description:"Compress arbitrary text or JSON through rsp normalization, JSON selection, TOON rendering, and reversible elision.",inputSchema:{type:"object",properties:{payload:{description:"Text, JSON value, or JSON-serializable payload to compress."},level:{type:"string",enum:["brief","terse"],description:"Compression level. Defaults to brief."}},required:["payload"]}}]}:{tools:[{name:"rsp_status",description:"Explain whether rsp is enabled in this directory.",inputSchema:{type:"object",properties:{}}}]};if(e.method==="tools/call"){let r=e.params;if(r?.name==="rsp_status")return{content:[{type:"text",text:SC(t)}]};if(!t.enabled)return{content:[{type:"text",text:SC(t)}],isError:!0};let n=CK(t);if(r?.name==="rsp_stats")return{content:[{type:"text",text:Pn({tool:"rsp_stats",...await n.accountingStats(t.telemetryByteBudget)})}]};if(r?.name==="rsp_show"){let s=String(r.arguments?.handle??""),o=await n.get(s);return o?"status"in o?{content:[{type:"text",text:Pn({tool:"rsp_show",handle:s,found:!1,category:"real-error",error:o.status,expired_at:o.expired_at,help:[o.command]})}],isError:!0}:{content:[{type:"text",text:Pn({tool:"rsp_show",handle:s,found:!0,bytes:o.original.length,text:o.original.toString("utf8")})}]}:{content:[{type:"text",text:Pn(kK(s,"not found"))}],isError:!0}}if(r?.name==="rsp_compress")return{content:[{type:"text",text:await SK(r.arguments,n)}]}}return{}}function Pn(e){return`${ge(e)}
308
+ `}function kK(e,t){return{tool:"rsp_show",handle:e,found:!1,category:"real-error",error:t,help:["rsp show el:<id>"]}}async function SK(e,t){let r=vK(e?.payload);try{return await RK(r,e,t)}catch(n){if(process.env.RSP_DEBUG==="1")throw n;return TC(r)}}async function RK(e,t,r){let n=TK(t?.level),s=await ih(e,{level:n,command:"rsp mcp compress",store:r});if(s.detected)return TC(s.output);let o=Zl(e);if(n==="brief"&&Buffer.byteLength(o)<=2*1024)return Pn({tool:"rsp_compress",level:n,detected:"text",bytes:Buffer.byteLength(e),text:o});let i=Buffer.from(e),a=await r.mint(i,{command:"rsp mcp compress",loss:{level:n,bytes_elided:i.length}});return xK(o,i.length,a,n)}function vK(e){return typeof e=="string"?e:e==null?"":JSON.stringify(e)}function TK(e){return e==="terse"?"terse":"brief"}function xK(e,t,r,n){let s=n==="terse"?1024:2048,o=Buffer.from(e),i=Math.max(1,Math.floor(s/2)),a=kC(o.subarray(0,i)),c=kC(o.subarray(Math.max(0,o.length-i)));return Pn({tool:"rsp_compress",level:n,detected:"text",bytes:t,lines:OK(o),head:a,tail:c&&c!==a?c:null,handle:r,help:[`rsp show ${r}`]})}function TC(e){return e.endsWith(`
307
309
  `)?e:`${e}
308
- `}function yC(e){return e.toString("utf8").replace(/�$/g,"")}function gK(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 hK(e){return uo(process.cwd(),e)}function bC(e){let t=e.enabled?mr(process.cwd(),e.overhead):null;return Pn({tool:"rsp_status",enabled:e.enabled,status:e.enabled?"enabled":"disabled",message:e.enabled?"rsp is enabled in this directory":"rsp is not enabled in this directory",overhead_verdict:t?.verdict??"unknown",overhead_summary:t?.summary??"rsp is not enabled in this directory",overhead_disabled_families:t?.disabled_families.map(r=>r.family)??[],help:e.enabled?[]:["/red-setup"]})}function wC(e){process.stdout.write(`${JSON.stringify(e)}
309
- `)}function _C(e){try{return JSON.parse(e)}catch{return null}}var SC=E(()=>{"use strict";Vt();Ye();ye();Mi();hr()});var vC={};ne(vC,{renderShellInit:()=>yK});function yK(e,t=Ji){if(e==="fish")return bK(t);if(e==="bash"||e==="zsh")return wK(e,t);throw new Error(`unsupported shell: ${e}`)}function bK(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Eu))].map(r=>` abbr --add --position command -- ${r} '${SK(`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(`
310
- `)}function wK(e,t){let r=EK(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(`
311
- `)}function _u(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Eu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Eu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>RC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of _K(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${kK(l)}' ]`).join(" && ")).join(" || ");s.push(` ${RC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function _K(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 EK(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Eu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Eu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function RC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function kK(e){return e.replace(/'/g,"'\\''")}function SK(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var TC=E(()=>{"use strict";Vi()});function zh(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"&&RK(t.chosenOption)&&vK(t.outcome)&&TK(t.cost)}function RK(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function vK(e){return e==="success"||e==="failure"||e==="escalated"}function TK(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 xC=E(()=>{});import{createHash as xK}from"node:crypto";function MC(e,t){return new Qh(e,t)}function OC(e){let t=Number(e.red_entity_id??e.rid),r=Xh(e.properties??e.PROPERTIES),n=BC(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 CC(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),s=jC(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:Xh(e.properties??e.PROPERTIES)}}function AK(e){let t=Number(e.red_entity_id??e.rid),r=Xh(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!zh(r)?null:{rid:t,event:r}}function Xh(e){return e==null?{}:typeof e=="string"?JSON.parse(e):ku(e)?e:{}}function BC(e){let t=e==="contact"?"person":e;if(OK.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function jC(e){if(CK.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function PK(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function AC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Ln(e){return ku(e)?e:{}}function PC(e,t){return Ln(e)[t]}function IC(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function LC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function GC(e){let t=Ln(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Je(e){return typeof e=="string"&&e.length>0?e:void 0}function ku(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Yh(e){return e!=null}function IK(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function LK(e){return xK("sha256").update(JSON.stringify(e)).digest("hex")}function GK(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function NC(e){return`artifact-hash:${e}`}function DC(e,t,r){return`connection:${e}:${t}:${r}`}function $C(){return"model-tier-bandit:v1"}function NK(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function FC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function qC(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+FC(r,a)*3+FC(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 DK(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=UC({...qC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return In(s)}function UC(e){return{...e,lexical:In(e.lexical),tags:In(e.tags),kind:In(e.kind),connections:In(e.connections),vector:In(e.vector),total:In(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function In(e){return Math.round(e*1e3)/1e3}function $K(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 FK(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 MK(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var jt,OK,CK,Qh,HC=E(()=>{"use strict";xC();jt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},OK=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),CK=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),Qh=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture(Ln(r));if(t==="getArtifact")return await this.getArtifact(PC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Ln(r);return await this.search(IC(n,"query"),LC(n,"limit")??10,GC(n.options))}if(t==="think"){let n=Ln(r);return await this.think(IC(n,"query"),LC(n,"limit")??8,GC(n.options))}if(t==="link")return await this.link(Ln(r));if(t==="backlinks")return await this.backlinks(PC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis(Ln(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:MK(t.map(n=>n.kind))}}async capture(t){let r=Je(t.title)||"Untitled artifact",n=Je(t.content);if(!n)throw new Error("brain capture requires content");let s=BC(Je(t.kind)||"note"),o=IK(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=LK([s,r,n,o,Je(t.sourcePath),Je(t.sourceSession)]),c=await this.kv().get(NC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${GK(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Je(t.sourceAgent),source_runner:Je(t.sourceRunner),source_session:Je(t.sourceSession),source_path:Je(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:ku(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${jt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=OC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(NC(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${jt.artifacts}`)).rows.map(OC).filter(Yh)}async search(t,r,n={}){let s=NK(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=qC(l,s),d=UC({...u,connections:DK(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:$K(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 FK(t,s)}async link(t){let r=await this.getArtifact(AC(t.from)),n=await this.getArtifact(AC(t.to));if(!r)throw new Error(`Brain artifact not found: ${String(t.from)}`);if(!n)throw new Error(`Brain artifact not found: ${String(t.to)}`);let s=jC(Je(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:Je(t.reason),confidence:Je(t.confidence)||"explicit",created_at:Date.now(),metadata:ku(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${jt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=CC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(DC(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${jt.connections}`)).rows.map(CC).filter(Yh)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=PK(Je(t.interval)||"day"),s=Je(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(!zh(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${jt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${jt.outcomeEvents}`)).rows.map(AK).filter(Yh).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get($C());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put($C(),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(DC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(jt.kv)}}});var nA={};ne(nA,{runResidentServer:()=>JK});import{randomUUID as qs}from"node:crypto";import{execFileSync as QC,spawn as BK}from"node:child_process";import{existsSync as jK}from"node:fs";import{mkdir as XC,rename as qK,rm as WC,writeFile as ZC}from"node:fs/promises";import{createServer as UK}from"node:net";import{dirname as ry,join as Su}from"node:path";import{fileURLToPath as HK,pathToFileURL as WK}from"node:url";async function JK(e){await XC(ry(e.socketPath),{recursive:!0});let t=oz();sz();let r=e.telemetryDrainTimeoutMs??eA,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??mz(e.rootDir??process.cwd()),a=e.idleMs??Ya,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=UK(v=>{d.add(v),v.once("close",()=>d.delete(v)),h(),pz(v,async(O,A)=>{h();let C=await fz(n,O,e.storeUri,e.residentVersion??"0.0.0-dev",i),D={id:O.id,ok:!0,value:C,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};A(D),O.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=nz(l),f.close();for(let v of d)v.destroy()}function h(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let b=["SIGINT","SIGTERM"].map(v=>{let O=()=>{Ru(),f.close();for(let A of d)A.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(v,O),{signal:v,handler:O}});await new Promise((v,O)=>{f.once("error",O),f.listen(e.socketPath,()=>{f.off("error",O),v()})}),(async()=>{let v=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let O=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(O)&&O>0&&await new Promise(J=>setTimeout(J,O));let A=await bn.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),C=Number(process.hrtime.bigint()-v)/1e6,D=new ty(A,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Ka,byteBudget:e.telemetryByteBudget??e.byteBudget??za});if(o){await A.close();return}if(await Zh(D,r),o){await A.close();return}n={kind:"ready",store:A,telemetry:D,storeOpenCount:1,storeElapsedMs:C},s=setInterval(()=>{let J=n.kind==="ready"?n:void 0;J&&Zh(J.telemetry,r)},p),s.unref(),h()})().catch(v=>{n={kind:"failed",error:v instanceof Error?v:new Error(String(v))},h()}),e.pidPath&&await ZC(e.pidPath,`${process.pid}
312
- `,{encoding:"utf8",mode:384});let y=e.residentVersion??"0.0.0-dev",_=e.registryPath??Su(ae(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ca(_,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:y})}catch{}await new Promise(v=>f.once("close",v)),c&&clearTimeout(c),s&&clearInterval(s),await WC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await Zh(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:v,handler:O}of b)process.off(v,O);t?.kill("SIGTERM"),Ru(),e.pidPath&&await WC(e.pidPath,{force:!0}),await Aa(_)}async function XK(e,t,r=new Date){let n=await Wc(e,1,r),s=r.toISOString().slice(0,10),o=n.savings.daily_tokens_saved.find(u=>u.date===s)?.tokens_saved??0,i=n.savings.tokens_saved>0?o/n.savings.tokens_saved*n.savings.dollars_saved_estimate_usd:0,a=Su(ae(t),YK),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 XC(ry(a),{recursive:!0}),await ZC(c,`${ge(l)}
313
- `,{encoding:"utf8",mode:384}),await qK(c,a)}async function Zh(e,t=eA,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await rA(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
314
- `)}}async function ZK(e){let t=[];for(let r of QK){let n=await ez(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await tz(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${tA(r)}`))}return t}async function ez(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 tz(e,t,r){let n=rz(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${tA(t)}`)}function rz(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 tA(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function nz(e){return e&&clearTimeout(e),setTimeout(()=>{Ru(),process.exit(0)},zK)}function sz(){JC||(JC=!0,process.on("exit",()=>Ru()))}function oz(){if(process.platform==="win32")return;let t=BK(process.execPath,["-e",`
310
+ `}function kC(e){return e.toString("utf8").replace(/�$/g,"")}function OK(e){if(e.length===0)return 0;let t=0;for(let r of e)r===10&&t++;return e[e.length-1]===10?t:t+1}function CK(e){return po(process.cwd(),e)}function SC(e){let t=e.enabled?gr(process.cwd(),e.overhead):null;return Pn({tool:"rsp_status",enabled:e.enabled,status:e.enabled?"enabled":"disabled",message:e.enabled?"rsp is enabled in this directory":"rsp is not enabled in this directory",overhead_verdict:t?.verdict??"unknown",overhead_summary:t?.summary??"rsp is not enabled in this directory",overhead_disabled_families:t?.disabled_families.map(r=>r.family)??[],help:e.enabled?[]:["/red-setup"]})}function RC(e){process.stdout.write(`${JSON.stringify(e)}
311
+ `)}function vC(e){try{return JSON.parse(e)}catch{return null}}var OC=E(()=>{"use strict";Vt();Be();ye();Mi();Zt()});var AC={};ne(AC,{renderShellInit:()=>AK});function AK(e,t=Ji){if(e==="fish")return PK(t);if(e==="bash"||e==="zsh")return IK(e,t);throw new Error(`unsupported shell: ${e}`)}function PK(e){return["# rsp shell-init fish","# Opt-in only: source this output from config.fish; remove that line to restore raw commands.","if type -q rsp",...[...new Set(e.map(r=>r.command[0]).filter(Eu))].map(r=>` abbr --add --position command -- ${r} '${DK(`rsp ${r}`)}'`)," function rspx --description 'Run a shell pipeline through rsp exec'"," rsp exec -- $argv"," end","else"," # rsp is not on PATH; rsp abbreviations and rspx were not installed.","end",""].join(`
312
+ `)}function IK(e,t){let r=GK(t);return[`# rsp shell-init ${e}`,`# Opt-in only: source this output from ${e} startup files; remove that line to restore raw commands.`,..._u("git",r.get("git")??[]),..._u("gh",r.get("gh")??[]),..._u("vitest",r.get("vitest")??[]),..._u("cargo",r.get("cargo")??[]),"rspx() {"," if command -v rsp >/dev/null 2>&1; then",' command rsp exec -- "$@"'," return"," fi"," printf '%s\\n' 'rspx requires rsp with exec support on PATH' >&2"," return 127","}",""].join(`
313
+ `)}function _u(e,t){if(t.length===0)return[];if(t.some(o=>o.command.length===1))return[`${e}() {`," if command -v rsp >/dev/null 2>&1; then",` command rsp ${e} "$@"`," return"," fi",` command ${e} "$@"`,"}"];let r=t.map(o=>o.command.slice(1)).filter(o=>o.length===1).map(o=>o[0]).filter(Eu),n=t.map(o=>o.command.slice(1)).filter(o=>o.length>1&&o.every(Eu)),s=[`${e}() {`," if ! command -v rsp >/dev/null 2>&1; then",` command ${e} "$@"`," return"," fi",' case "$1" in'];if(r.length>0){let o=r.map(i=>CC(i)).join("|");s.push(` ${o}) command rsp ${e} "$@" ;;`)}for(let[o,i]of LK(n)){let a=i.map(c=>c.map((l,u)=>`[ "$${u+2}" = '${NK(l)}' ]`).join(" && ")).join(" || ");s.push(` ${CC(o)}) if ${a}; then command rsp ${e} "$@"; else command ${e} "$@"; fi ;;`)}return s.push(` *) command ${e} "$@" ;;`," esac","}"),s}function LK(e){let t=new Map;for(let[r,...n]of e){if(!r)continue;let s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function GK(e){let t=new Map;for(let r of e){let n=r.command[0];if(!n||!Eu(n))continue;let s=t.get(n)??[];s.push(r),t.set(n,s)}return t}function Eu(e){return!!(e&&/^[A-Za-z0-9_./:-]+$/.test(e))}function CC(e){return e.replace(/[\\|)&;]/g,"\\$&")}function NK(e){return e.replace(/'/g,"'\\''")}function DK(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}var PC=E(()=>{"use strict";Vi()});function ey(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&$K(t.chosenOption)&&FK(t.outcome)&&MK(t.cost)}function $K(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function FK(e){return e==="success"||e==="failure"||e==="escalated"}function MK(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}var IC=E(()=>{});import{createHash as BK}from"node:crypto";function HC(e,t){return new ry(e,t)}function LC(e){let t=Number(e.red_entity_id??e.rid),r=ny(e.properties??e.PROPERTIES),n=WC(String(e.node_type??e.NODE_TYPE??r.kind??"note"));if(!Number.isFinite(t))return null;let s=String(r.id??e.label??e.LABEL??t),o=String(r.title??e.label??e.LABEL??s),i=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??s),kind:n,properties:{...r,id:s,title:o,content:i,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function GC(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),s=JC(String(e.label??e.LABEL??"related_to"));return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:s,from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:ny(e.properties??e.PROPERTIES)}}function UK(e){let t=Number(e.red_entity_id??e.rid),r=ny(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!ey(r)?null:{rid:t,event:r}}function ny(e){return e==null?{}:typeof e=="string"?JSON.parse(e):ku(e)?e:{}}function WC(e){let t=e==="contact"?"person":e;if(jK.has(t))return t;throw new Error(`invalid Brain artifact kind: ${e}`)}function JC(e){if(qK.has(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function HK(e){return e==="hour"||e==="week"||e==="month"?e:"day"}function NC(e){if(typeof e=="number")return e;let t=String(e??"");return/^\d+$/.test(t)?Number(t):t}function Ln(e){return ku(e)?e:{}}function DC(e,t){return Ln(e)[t]}function $C(e,t){let r=e[t];if(typeof r!="string")throw new Error(`brain ${t} must be a string`);return r}function FC(e,t){let r=e[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function MC(e){let t=Ln(e);return{excludeRids:Array.isArray(t.excludeRids)?t.excludeRids.map(Number).filter(Number.isFinite):void 0}}function Ve(e){return typeof e=="string"&&e.length>0?e:void 0}function ku(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ty(e){return e!=null}function WK(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function JK(e){return BK("sha256").update(JSON.stringify(e)).digest("hex")}function VK(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"artifact"}function BC(e){return`artifact-hash:${e}`}function jC(e,t,r){return`connection:${e}:${t}:${r}`}function qC(){return"model-tier-bandit:v1"}function KK(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function UC(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function VC(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),s=e.properties.tags.map(i=>i.toLowerCase()),o=e.kind.toLowerCase();return{lexical:t.reduce((i,a)=>i+UC(r,a)*3+UC(n,a),0),tags:t.reduce((i,a)=>i+s.reduce((c,l)=>c+(l===a?4:l.includes(a)||a.includes(l)?2:0),0),0),kind:t.reduce((i,a)=>i+(o===a?3:o.includes(a)||a.includes(o)?1:0),0)}}function zK(e,t,r,n){let s=0;for(let o of r){let i=o.from_rid===e.rid?o.to_rid:o.to_rid===e.rid?o.from_rid:null;if(i==null)continue;let a=n.get(i);if(!a)continue;let c=KC({...VC(a,t),connections:0,vector:0}).total;c>0&&(s+=Math.min(c,12)*.35)}return In(s)}function KC(e){return{...e,lexical:In(e.lexical),tags:In(e.tags),kind:In(e.kind),connections:In(e.connections),vector:In(e.vector),total:In(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function In(e){return Math.round(e*1e3)/1e3}function YK(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(o=>r.indexOf(o)).filter(o=>o>=0).sort((o,i)=>o-i)[0]??0,s=Math.max(0,n-80);return`${s>0?"...":""}${e.slice(s,s+220)}${s+220<e.length?"...":""}`}function QK(e,t){let r=t.length===0?"none":t[0].score>=5?"high":t[0].score>=3?"medium":"low",n=t.length===0?[`No Brain artifacts matched "${e}".`]:[];return{answer:t.length===0?`Brain has no cited evidence for "${e}".`:`Brain found ${t.length} cited artifact${t.length===1?"":"s"} for "${e}".`,hits:t,citations:t.map((s,o)=>({ref:`B${o+1}`,rid:s.artifact.rid,id:s.artifact.properties.id,title:s.artifact.properties.title,kind:s.artifact.kind,score:s.score,score_breakdown:s.score_breakdown,excerpt:s.excerpt})),confidence:r,missing_evidence:n}}function XK(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}var jt,jK,qK,ry,zC=E(()=>{"use strict";IC();jt={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"},jK=new Set(["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"]),qK=new Set(["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"]),ry=class{constructor(t,r){this.db=t;this.uri=r}async request(t,r){if(await this.bootstrap(),t==="status")return await this.status();if(t==="capture")return await this.capture(Ln(r));if(t==="getArtifact")return await this.getArtifact(DC(r,"ridOrId"));if(t==="listArtifacts")return await this.listArtifacts();if(t==="search"){let n=Ln(r);return await this.search($C(n,"query"),FC(n,"limit")??10,MC(n.options))}if(t==="think"){let n=Ln(r);return await this.think($C(n,"query"),FC(n,"limit")??8,MC(n.options))}if(t==="link")return await this.link(Ln(r));if(t==="backlinks")return await this.backlinks(DC(r,"target"));if(t==="listConnections")return await this.listConnections();if(t==="eventKpis")return await this.eventKpis(Ln(r));if(t==="appendOutcomeEvent")return await this.appendOutcomeEvent(r);if(t==="replayOutcomeEvents")return await this.replayOutcomeEvents();if(t==="loadModelTierBanditDocument")return await this.loadModelTierBanditDocument();if(t==="saveModelTierBanditDocument")return await this.saveModelTierBanditDocument(r);if(t==="refreshModelTierBanditDocument")return await this.refreshModelTierBanditDocument();throw new Error(`unsupported resident brain action: ${t}`)}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${jt.outcomeEvents}`)}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.uri,artifacts:t.length,connections:r.length,kinds:XK(t.map(n=>n.kind))}}async capture(t){let r=Ve(t.title)||"Untitled artifact",n=Ve(t.content);if(!n)throw new Error("brain capture requires content");let s=WC(Ve(t.kind)||"note"),o=WK(Array.isArray(t.tags)?t.tags.map(String):[]),i=Date.now(),a=JK([s,r,n,o,Ve(t.sourcePath),Ve(t.sourceSession)]),c=await this.kv().get(BC(a));if(c!=null){let m=await this.getArtifact(Number(c));if(m)return m}let l=`${VK(r)}-${a.slice(0,8)}`,u={id:l,title:r,content:n,tags:o,source_agent:Ve(t.sourceAgent),source_runner:Ve(t.sourceRunner),source_session:Ve(t.sourceSession),source_path:Ve(t.sourcePath),created_at:i,updated_at:i,hash:a,metadata:ku(t.metadata)?t.metadata:void 0},p=(await this.db.query(`INSERT INTO ${jt.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,l,s,a,u)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=LC(p);if(!f)throw new Error("INSERT artifact returned invalid row");return await this.kv().put(BC(a),f.rid),await this.materializeTagConnections(f),f}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){return(await this.db.query(`SELECT * FROM ${jt.artifacts}`)).rows.map(LC).filter(ty)}async search(t,r,n={}){let s=KK(t),o=new Set(n.excludeRids??[]),i=await this.listArtifacts(),a=await this.listConnections(),c=new Map(i.map(l=>[l.rid,l]));return i.filter(l=>!o.has(l.rid)).map(l=>{let u=VC(l,s),d=KC({...u,connections:zK(l,s,a,c),vector:0});return{artifact:l,score:d.total,score_breakdown:d,excerpt:YK(l.properties.content,s)}}).filter(l=>l.score>0).sort((l,u)=>u.score-l.score||u.artifact.properties.updated_at-l.artifact.properties.updated_at).slice(0,Math.max(1,Math.min(100,r)))}async think(t,r,n={}){let s=(await this.search(t,Math.max(r*2,r+5),n)).slice(0,r);return QK(t,s)}async link(t){let r=await this.getArtifact(NC(t.from)),n=await this.getArtifact(NC(t.to));if(!r)throw new Error(`Brain artifact not found: ${String(t.from)}`);if(!n)throw new Error(`Brain artifact not found: ${String(t.to)}`);let s=JC(Ve(t.kind)||"related_to"),o=await this.findConnection(r.rid,n.rid,s);if(o!=null){let u=(await this.listConnections()).find(d=>d.rid===o);if(u)return u}let i={reason:Ve(t.reason),confidence:Ve(t.confidence)||"explicit",created_at:Date.now(),metadata:ku(t.metadata)?t.metadata:void 0},c=(await this.db.query(`INSERT INTO ${jt.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,s,r.rid,n.rid,1,i)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=GC(c);if(!l)throw new Error("INSERT connection returned invalid row");return await this.kv().put(jC(r.rid,n.rid,s),l.rid),l}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){return(await this.db.query(`SELECT * FROM ${jt.connections}`)).rows.map(GC).filter(ty)}async eventKpis(t){let r=(await this.listArtifacts()).filter(o=>o.kind==="event"),n=HK(Ve(t.interval)||"day"),s=Ve(t.timeField)==="ingested"?"ingested":"event";return{kind:"event",interval:n,timeField:s,range:{from:null,to:null},total:r.length,series:[{group:null,total:r.length,buckets:[]}]}}async appendOutcomeEvent(t){if(!ey(t))throw new Error("invalid Brain outcome event");if(!(await this.db.query(`INSERT INTO ${jt.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,t)).rows[0])throw new Error("INSERT outcome event returned no row");return t}async replayOutcomeEvents(){return(await this.db.query(`SELECT * FROM ${jt.outcomeEvents}`)).rows.map(UK).filter(ty).sort((r,n)=>r.rid-n.rid).map(({event:r})=>r)}async loadModelTierBanditDocument(){let t=await this.kv().get(qC());return typeof t=="string"?JSON.parse(t):t}async saveModelTierBanditDocument(t){return await this.kv().put(qC(),JSON.stringify(t)),t}async refreshModelTierBanditDocument(){let t=await this.loadModelTierBanditDocument();if(t!=null)return t;let r={schema_version:"brain.model-tier-bandit.v1",updated_at:new Date().toISOString(),arms:{}};return await this.saveModelTierBanditDocument(r),r}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async findConnection(t,r,n){let s=await this.kv().get(jC(t,r,n));return s!=null?Number(s):null}kv(){return this.db.kv(jt.kv)}}});var cA={};ne(cA,{runResidentServer:()=>oz});import{randomUUID as Us}from"node:crypto";import{execFileSync as rA,spawn as ZK}from"node:child_process";import{existsSync as ez}from"node:fs";import{mkdir as nA,rename as tz,rm as YC,writeFile as sA}from"node:fs/promises";import{createServer as rz}from"node:net";import{dirname as ay,join as Su}from"node:path";import{fileURLToPath as nz,pathToFileURL as sz}from"node:url";async function oz(e){await nA(ay(e.socketPath),{recursive:!0});let t=bz();yz();let r=e.telemetryDrainTimeoutMs??oA,n={kind:"opening",startedAt:process.hrtime.bigint()},s,o=!1,i=e.github??xz(e.rootDir??process.cwd()),a=e.idleMs??Ya,c,l,u=!1,d=new Set,p=e.telemetryDrainIntervalMs??3e4,f=rz(v=>{d.add(v),v.once("close",()=>d.delete(v)),h(),vz(v,async(x,A)=>{h();let C=await Tz(n,x,e.storeUri,e.residentVersion??"0.0.0-dev",i),D={id:x.id,ok:!0,value:C,storeOpenCount:n.kind==="ready"?n.storeOpenCount:void 0,storeElapsedMs:n.kind==="ready"?n.storeElapsedMs:void 0};A(D),x.op==="handover"&&setImmediate(()=>m())})});function m(){o=!0,u=!0,l=hz(l),f.close();for(let v of d)v.destroy()}function h(){n.kind!=="opening"&&(c&&clearTimeout(c),c=setTimeout(()=>{m()},a),c.unref())}let b=["SIGINT","SIGTERM"].map(v=>{let x=()=>{Ru(),f.close();for(let A of d)A.destroy();setTimeout(()=>process.exit(0),1e3)};return process.once(v,x),{signal:v,handler:x}});await new Promise((v,x)=>{f.once("error",x),f.listen(e.socketPath,()=>{f.off("error",x),v()})}),(async()=>{let v=process.hrtime.bigint();process.env.RSP_TEST_HANG_RESIDENT_STORE_OPEN==="1"&&await new Promise(()=>{});let x=Number(process.env.RSP_TEST_DELAY_RESIDENT_STORE_OPEN_MS??"0");Number.isFinite(x)&&x>0&&await new Promise(V=>setTimeout(V,x));let A=await bn.open({uri:e.storeUri,ttlDays:e.ttlDays,ephemeralTtlHours:e.ephemeralTtlHours,byteBudget:e.byteBudget,allowResidentOpen:!0}),C=Number(process.hrtime.bigint()-v)/1e6,D=new iy(A,{rootDir:e.rootDir??process.cwd(),ttlDays:e.telemetryTtlDays??Ka,byteBudget:e.telemetryByteBudget??e.byteBudget??za});if(o){await A.close();return}if(await sy(D,r),o){await A.close();return}n={kind:"ready",store:A,telemetry:D,storeOpenCount:1,storeElapsedMs:C},s=setInterval(()=>{let V=n.kind==="ready"?n:void 0;V&&sy(V.telemetry,r)},p),s.unref(),h()})().catch(v=>{n={kind:"failed",error:v instanceof Error?v:new Error(String(v))},h()}),e.pidPath&&await sA(e.pidPath,`${process.pid}
314
+ `,{encoding:"utf8",mode:384});let y=e.residentVersion??"0.0.0-dev",_=e.registryPath??Su(ae(e.rootDir??process.cwd()),"rsp-resident.pid.toon");try{await Ca(_,{socket_path:e.socketPath,store_uri:e.storeUri,resident_version:y})}catch{}await new Promise(v=>f.once("close",v)),c&&clearTimeout(c),s&&clearInterval(s),await YC(e.socketPath,{force:!0});let k=n;k.kind==="ready"&&(await sy(k.telemetry,r,u),await k.store.close()),l&&clearTimeout(l);for(let{signal:v,handler:x}of b)process.off(v,x);t?.kill("SIGTERM"),Ru(),e.pidPath&&await YC(e.pidPath,{force:!0}),await Aa(_)}async function dz(e,t,r=new Date){let n=await Wc(e,1,r),s=r.toISOString().slice(0,10),o=n.savings.daily_tokens_saved.find(u=>u.date===s)?.tokens_saved??0,i=n.savings.tokens_saved>0?o/n.savings.tokens_saved*n.savings.dollars_saved_estimate_usd:0,a=Su(ae(t),lz),c=`${a}.${process.pid}.${Date.now()}.tmp`,l={version:1,tokens_saved_today:o,dollars_saved_today_usd:Math.round(i*1e6)/1e6,show_total_today:n.health.show_total,updated_at:r.toISOString()};n.health.show_total>0&&(l.show_hit_rate=n.health.show_hit_rate),n.decisions.seen>0&&(l.decisions={seen:n.decisions.seen,contributed:n.decisions.contributed}),await nA(ay(a),{recursive:!0}),await sA(c,`${ge(l)}
315
+ `,{encoding:"utf8",mode:384}),await tz(c,a)}async function sy(e,t=oA,r=!1){try{r&&process.env.RSP_TEST_HANG_TELEMETRY_DRAIN==="1"&&await new Promise(()=>{}),await aA(e.drainAndSweep(),t,"telemetry drain timed out")}catch(n){process.stderr.write(`rsp resident: telemetry drain failed: ${n instanceof Error?n.message:String(n)}
316
+ `)}}async function pz(e){let t=[];for(let r of uz){let n=await fz(e,r);n.ok||(n.previousModel&&(n.previousModel!=="collection"&&await mz(e,r,n.previousModel),t.push({collection:r,previousModel:n.previousModel})),await e.query(`CREATE KV IF NOT EXISTS ${iA(r)}`))}return t}async function fz(e,t){try{return await e.kv(t).get("__rsp_telemetry_model_probe__"),{ok:!0}}catch(r){let n=r instanceof Error?r.message:String(r);if(/\bnot found\b/i.test(n))return{ok:!1,previousModel:null};let s=n.match(/model mismatch: expected kv, got ([A-Za-z_][A-Za-z0-9_]*)/i);if(s?.[1])return{ok:!1,previousModel:s[1].toLowerCase()};if(/does not allow 'kv' operations/i.test(n))return{ok:!1,previousModel:"collection"};let o=(await e.list()).find(i=>i.name===t);if(o&&o.model!=="kv")return{ok:!1,previousModel:o.model};throw r}}async function mz(e,t,r){let n=gz(r);if(!n)throw new Error(`cannot self-heal telemetry collection ${t}: unsupported model ${r}`);await e.query(`DROP ${n} ${iA(t)}`)}function gz(e){let t=e.toLowerCase();return t==="table"?"TABLE":t==="kv"?"KV":t==="graph"?"GRAPH":t==="queue"?"QUEUE":t==="document"||t==="documents"?"DOCUMENT":null}function iA(e){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(e))throw new Error(`invalid telemetry collection name: ${e}`);return e}function hz(e){return e&&clearTimeout(e),setTimeout(()=>{Ru(),process.exit(0)},cz)}function yz(){QC||(QC=!0,process.on("exit",()=>Ru()))}function bz(){if(process.platform==="win32")return;let t=ZK(process.execPath,["-e",`
315
317
  const { execFileSync } = require("node:child_process");
316
318
  const parentPid = Number(process.argv[1]);
317
319
  const known = new Set();
@@ -352,26 +354,26 @@ const timer = setInterval(() => {
352
354
  clearInterval(timer);
353
355
  process.exit(0);
354
356
  }, 500);
355
- `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Ru(){for(let e of iz())try{process.kill(e,"SIGTERM")}catch{}}function iz(){if(process.platform==="win32")return[];let e="";try{e=QC("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 az(e){if(e.collection!==it)return e;let t=await VC(e.raw_text,zC(e.raw_bytes)),r=await VC(e.emitted_text,zC(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 VC(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=VK)try{return await rA((async()=>({tokens:(await cz())("cl100k_base").encode(e).length,estimated:!1}))(),KK,"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 cz(){return KC??=import(WK(lz()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await KC}function lz(){let e=ry(HK(import.meta.url)),r=[Su(e,"..","node_modules","js-tiktoken","dist","index.js"),Su(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>jK(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function zC(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ce(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function ey(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function rA(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 uz(e){try{return JSON.parse(e)}catch{return e}}function dz(e){return YC(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>YC(t)&&(t.collection===je||t.collection===qe||t.collection===it||t.collection===Et)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function YC(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function pz(e,t){Ew(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??qs(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function fz(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 dm(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await Wc(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await pm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return hz(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 gz(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function mz(e){let t;return{async read(r){if(!t){let n=String(QC("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=pc({rootDir:e,token:n,balance:dc(n)})}return await t.read(r)}}}async function gz(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await MC(s,t).request(r,n)}function hz(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var VK,KK,eA,zK,YK,QK,ty,JC,KC,sA=E(()=>{"use strict";Ke();Pa();Ra();Vt();Hc();HC();ef();Gt();Ye();VK=256*1024,KK=500,eA=2e3,zK=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),YK="rsp-status-summary.toon",QK=[je,qe,it,Et,Fo],ty=class{constructor(t,r){this.store=t;this.opts=r;this.pendingHeals=[...r.bootHeals??[]]}running;pending=!1;pendingHeals;async drainAndSweep(){if(this.running){this.pending=!0,await this.running;return}this.running=(async()=>{do this.pending=!1,await this.drainAndSweepOnce();while(this.pending)})().finally(()=>{this.running=void 0}),await this.running}async drainAndSweepOnce(){let t=this.store.redDb();if(!t)return;let r=await ZK(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 Af(this.opts.rootDir,async a=>{let c=gs(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ce(c.command)||"unknown",source_id:Ce(c.id),source_collection:Ce(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await XK(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:qs(),a={...await az(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===it?await this.writeEvent(t,{collection:je,id:`mirror:${Ce(r.id)||qs()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:ey(Ce(r.command)||"unknown"),wrapper:r.wrapper,loss:r.loss,elided:r.elided,raw_bytes:r.raw_bytes,emitted_bytes:r.emitted_bytes,tokens_raw:r.tokens_raw,tokens_emitted:r.tokens_emitted,estimated:r.estimated,wrapper_ms:r.wrapper_ms,store_open_count:r.store_open_count,store_elapsed_ms:r.store_elapsed_ms}):r.collection===Et?await this.writeEvent(t,{collection:je,id:`mirror:${Ce(r.id)||qs()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:ey(Ce(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ce(r.reason)||"unknown",wrapper_family:Ce(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ce(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Et,id:qs(),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:${qs()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:ey(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(Fo).get("index:v1"),n=typeof r=="string"?uz(r):r;return dz(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Fo).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};JC=!1});Lu();mt();var Lb={"store-uri":{kind:"value",coerce:e=>e},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},tI={json:{kind:"boolean"}},rI={help:{kind:"boolean",aliases:["h"]}},nI={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 Gb(e){let{command:t,args:r}=Iu(e,sI);return t==="--version"?{kind:"version",json:Vs(r,tI).values.json===!0}:oI(e)?{kind:"help"}:{kind:"command"}}var sI={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function oI(e){return Kr(e,rI).values.help===!0}function Nb(e){let{values:t,rest:r}=aI(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw fa.unknownFlag(n);let s=Iu(r,nI).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":"lossless",positional:o}}var fa=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:iI})}},iI=Object.keys(Lb).map(e=>`--${e}`);function aI(e){try{return Kr(e,Lb)}catch(t){throw new fa(t instanceof Error?t.message:String(t))}}function Db(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function $b(e){return e instanceof Js}function Un(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var cI={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:fr},"ephemeral-ttl-hours":{kind:"value",coerce:fr},"byte-budget":{kind:"value",coerce:fr},"telemetry-ttl-days":{kind:"value",coerce:fr},"telemetry-byte-budget":{kind:"value",coerce:fr},"telemetry-drain-interval-ms":{kind:"value",coerce:fr},"telemetry-drain-timeout-ms":{kind:"value",coerce:fr},"idle-ms":{kind:"value",coerce:fr}};function cd(e){return Vs(e,cI).values}var Fb={since:{kind:"value",coerce:uI},full:{kind:"boolean"}};function ma(e,t){return Vs(e,Fb).values.since??t}function Mb(e){return Vs(e,Fb).values.full===!0}var lI={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function Bb(e){let{values:t,rest:r}=Kr(e,lI),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 fr(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function uI(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}ld();mt();import{existsSync as yz}from"node:fs";import{fileURLToPath as bz}from"node:url";Vt();ro();ye();gt();import{existsSync as NF}from"node:fs";import{fileURLToPath as DF}from"node:url";Vt();jd();ye();import{existsSync as BL}from"node:fs";import{fileURLToPath as jL}from"node:url";async function Vn(e,t){let r={stats:qL(e.telemetryByteBudget),telemetry:Wd(t)};if(!e.storeUri.startsWith("file://"))return r;let n=jL(e.storeUri);if(!BL(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(hr(),po)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:Wd(t)}}catch{return r}finally{await o.close()}}function Yw(e,t=Wd(30),r=!1,n=Xw()){return`${ge(Jd(e,t,r,n))}
356
- `}function Qw(e,t){return`${ge({...e,overhead:Zw(t)})}
357
- `}function Xw(){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 Zw(e){return{schema_version:e.schema_version,verdict:e.verdict,summary:e.summary,ceiling:e.ceiling,breaching_families:e.breaching_families,disabled_families:e.disabled_families,families:e.families}}function Jd(e,t,r,n=Xw()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??Ia(),a=t.health.recent_failures.slice(0,r?20:5),c=t.decisions.top_pass_reasons.slice(0,r?10:3);return{records:e.records,bytes:e.bytes,oldest:e.oldest,budget:e.budget,storage_classes:i,savings:{window_days:t.window_days,empty:t.empty,...t.savings,tokens_saved_display:UL(t.savings),dollars_saved_estimate_usd_display:HL(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:Zw(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:Hd(t.health.degradation_rate),show_hit_rate_display:Hd(t.health.show_hit_rate),by_reason:t.health.by_reason,by_family:t.health.by_family,recent_failures:a,recent_failures_elided:r?0:Math.max(0,t.health.recent_failures.length-a.length),most_recent_degradation_at:t.health.most_recent?.timestamp??null,most_recent_degradation_reason:t.health.most_recent?.reason??null},decisions:{...t.decisions,contribution_rate_display:Hd(t.decisions.contribution_rate),top_pass_reasons:c,top_pass_reasons_elided:r?0:Math.max(0,t.decisions.top_pass_reasons.length-c.length),by_command_family:r?t.decisions.by_command_family:t.decisions.by_command_family.slice(0,5),by_command_family_elided:r?0:Math.max(0,t.decisions.by_command_family.length-5)},latency:{...t.latency,wrapper_ms_p50_display:Ud(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:Ud(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:Ud(t.latency.store_elapsed_ms_avg)}}}function e_(e){return`${ge(e)}
358
- `}function Wd(e){return{window_days:e,empty:!0,savings:{invocations:0,elided:0,raw_bytes:0,emitted_bytes:0,bytes_saved:0,tokens_saved:0,tokens_saved_estimated:!1,token_estimate_range_pct:null,tokens_saved_low:null,tokens_saved_high:null,dollars_saved_estimate_usd:0,dollars_saved_low_usd:null,dollars_saved_high_usd:null,pricing_model_family:"gpt-5",pricing_input_usd_per_million_tokens:1.25,pricing_note:"estimate derived from byte-based token estimate when token counts are estimated",daily_tokens_saved:[],top_commands:[]},health:{degradations:0,degradation_rate:0,show_total:0,show_hits:0,show_misses:0,show_hit_rate:0,by_reason:[],by_family:[],recent_failures:[],most_recent:null},latency:{wrapper_ms_p50:null,wrapper_ms_p95:null,store_open_count_sum:0,store_elapsed_ms_sum:0,store_elapsed_ms_avg:null},decisions:{seen:0,contributed:0,passed:0,failed_open:0,quota_free_saved_units:0,contribution_rate:0,top_pass_reasons:[],by_command_family:[]}}}function qL(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Ia()}}function Ia(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function t_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
359
- `)}function UL(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 HL(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?lo(e.dollars_saved_estimate_usd):`${lo(e.dollars_saved_low_usd)}-${lo(e.dollars_saved_high_usd)} (estimate_midpoint: ${lo(e.dollars_saved_estimate_usd)})`}function Ud(e){return e==null?"none":String(e)}function Hd(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function XS(e){let{stats:t,telemetry:r}=await Vn(e,30),[n,s]=await Promise.all([$F(e),Promise.resolve().then(()=>(_f(),wf)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:mr(tt(process.cwd()).rootDir,e.overhead)}}function ZS(e){let t=Jd(e.stats,e.telemetry,!1,e.overhead),r=fd({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??Ia()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},FF(e));return`${ge(r)}
360
- `}async function $F(e){if(!e.storeUri.startsWith("file://"))return[];let t=DF(e.storeUri);if(!NF(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(hr(),po)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function FF(e){return[e.recoveryHandles.length>0?"rsp show <handle>":"rsp <wrapped-command> --terse",e.waits.length>0?"rsp wait ls":'rsp wait cmd -- "<command>"',"rsp stats --since <days>d"]}Vt();ye();mt();import{existsSync as ZJ}from"node:fs";import{fileURLToPath as eV}from"node:url";Gt();import{spawn as eu}from"node:child_process";async function U0(e,t,r){let n=process.hrtime.bigint(),s=await H0(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return fJ(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function H0(e){let t=e[0];if(!t)return{stdoutBytes:0,stderrBytes:0,status:2,signal:null};let r;if(t==="exec"||t==="proxy"){let o=t==="proxy"?await Promise.resolve().then(()=>(Wl(),Hl)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Ui(),qi)).then(i=>i.parseExecCommandLine(e));r=eu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=eu(t,e.slice(1),{stdio:["inherit","pipe","pipe"]});let n=0,s=0;return r.stdout?.on("data",o=>{n+=o.length,process.stdout.write(o)}),r.stderr?.on("data",o=>{s+=o.length,process.stderr.write(o)}),await new Promise(o=>{r.on("error",i=>{let a=`${i instanceof Error?i.message:String(i)}
361
- `;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 W0(e){return e>0&&Math.random()<e}async function Wi(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
362
- `);let s=await z0(t);if(n){let o=mJ(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Gt(),oi));ru(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:tu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),ru(i(n,{collection:c,ts:new Date().toISOString(),command:tu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function J0(e,t,r){let n=await H0(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Gt(),oi)),a={ts:new Date().toISOString(),command:tu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return ru(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),ru(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function V0(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${nu()}, passing through
363
- `),await z0(e)}function nu(){return"rsp is not enabled in this directory; run /red-setup"}function K0(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function $t(e){return tu(e.positional)}function tu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Hi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function fJ(e,t,r,n,s){let o=r.stdoutBytes+r.stderrBytes,i={event_type:"control_holdout",control_holdout:!0,holdout_share:s,ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Rr(e,{collection:"rsp_accounting_events_v1",...i}),Rr(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function mJ(e,t,r){let n=t[0]??"unknown",s=gJ(r)||e;return{reason:q0(r)==="ENOENT"||q0(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:yJ(r)??1,stderrHead:hJ(s,240)}}function gJ(e){return e instanceof Error?Hi(e.message):Hi(String(e??""))}function hJ(e,t){let r=Hi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function q0(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function yJ(e){if(typeof e!="object"||e===null)return null;for(let t of["status","exitCode","exit_code"]){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r}return null}function ru(e){e.catch(()=>{})}async function z0(e){if(e[0]==="exec"||e[0]==="proxy")return await bJ(e);let t=e[0];if(!t)return 2;let r=eu(t,e.slice(1),{stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
364
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function bJ(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(Wl(),Hl));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Ui(),qi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
357
+ `,String(process.pid)],{detached:!0,stdio:"ignore"});return t.unref(),t}function Ru(){for(let e of wz())try{process.kill(e,"SIGTERM")}catch{}}function wz(){if(process.platform==="win32")return[];let e="";try{e=rA("ps",["-eo","pid=,ppid=,args="],{encoding:"utf8"})}catch{return[]}let t=[];for(let r of e.split(/\n/)){let n=/^\s*(\d+)\s+(\d+)\s+([\s\S]*)$/.exec(r);if(!n)continue;let s=Number(n[1]),o=Number(n[2]),i=n[3]??"";o===process.pid&&/(^|\s)\S*red(?:\.exe)?\s+rpc\s+--stdio(\s|$)/.test(i)&&t.push(s)}return t}async function _z(e){if(e.collection!==it)return e;let t=await XC(e.raw_text,eA(e.raw_bytes)),r=await XC(e.emitted_text,eA(e.emitted_bytes)),{raw_text:n,emitted_text:s,...o}=e;return{...o,tokens_raw:t.tokens,tokens_emitted:r.tokens,estimated:t.estimated||r.estimated}}async function XC(e,t){if(typeof e=="string"){let r=Buffer.byteLength(e,"utf8");if(r<=iz)try{return await aA((async()=>({tokens:(await Ez())("cl100k_base").encode(e).length,estimated:!1}))(),az,"telemetry tokenization timed out")}catch{return{tokens:Math.ceil(r/4),estimated:!0}}return{tokens:Math.ceil(r/4),estimated:!0}}return t!=null?{tokens:Math.ceil(t/4),estimated:!0}:{tokens:0,estimated:!1}}async function Ez(){return ZC??=import(sz(kz()).href).then(e=>{let t=e.getEncoding;if(!t)throw new Error("js-tiktoken getEncoding export not found");return t}),await ZC}function kz(){let e=ay(nz(import.meta.url)),r=[Su(e,"..","node_modules","js-tiktoken","dist","index.js"),Su(e,"..","apps","rsp","node_modules","js-tiktoken","dist","index.js")].find(n=>ez(n));if(!r)throw new Error("js-tiktoken dependency not found");return r}function eA(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?e:void 0}function Ce(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function oy(e){return e.trim().split(/\s+/).filter(Boolean)[0]??"unknown"}async function aA(e,t,r){let n;try{return await Promise.race([e,new Promise((s,o)=>{n=setTimeout(()=>o(new Error(r)),t),n.unref()})])}finally{n&&clearTimeout(n)}}function Sz(e){try{return JSON.parse(e)}catch{return e}}function Rz(e){return tA(e)&&e.version===1&&Array.isArray(e.records)&&e.records.every(t=>tA(t)&&(t.collection===qe||t.collection===Ue||t.collection===it||t.collection===Et)&&typeof t.key=="string"&&typeof t.created_at=="string"&&typeof t.expires_at=="string"&&typeof t.bytes=="number")}function tA(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vz(e,t){Tw(e,(r,n)=>t(r,n),(r,n,s)=>{s({id:n?.id??Us(),ok:!1,error:r instanceof Error?r.message:String(r)})})}async function Tz(e,t,r,n,s){if(t.op==="handover")return{handover:!0,version:n,clientVersion:t.clientVersion};if(e.kind==="opening")throw new Error("rsp resident store is not ready");if(e.kind==="failed")throw new Error(`rsp resident store failed to open: ${e.error.message}`);let o=e.store;if(t.op==="ping")return{pong:!0,version:n};if(t.op==="stats")return await o.stats();if(t.op==="recovery-handles")return await o.recoveryHandles(t.limit);if(t.op==="accounting-stats"){let i=o.redDb();if(!i)throw new Error("rsp accounting stats require the shared RedDB store");return await pm(i,t.byteBudget)}if(t.op==="telemetry-stats"){let i=o.redDb();if(!i)throw new Error("rsp telemetry stats require the shared RedDB store");return await Wc(i,t.sinceDays)}if(t.op==="telemetry-gains"){let i=o.redDb();if(!i)throw new Error("rsp telemetry gains require the shared RedDB store");return await fm(i,t.sinceDays)}if(t.op==="mint")return{handle:await o.mint(Buffer.from(t.original,"base64"),t.meta)};if(t.op==="get")return Cz(await o.get(t.handle));if(t.op==="github-read")return await s.read({args:t.args,path:t.path,actor:t.actor,...t.params?{params:t.params}:{}});if(t.op==="memory")return await o.memory(t.action,t.payload);if(t.op==="brain")return await Oz(o,r,t.action,t.payload);throw new Error(`unsupported resident op: ${t.op??"unknown"}`)}function xz(e){let t;return{async read(r){if(!t){let n=String(rA("gh",["auth","token"],{encoding:"utf8",stdio:["ignore","pipe","pipe"]})).trim();if(n==="")throw new Error("rsp resident could not obtain a GitHub credential from gh");t=pc({rootDir:e,token:n,balance:dc(n)})}return await t.read(r)}}}async function Oz(e,t,r,n){let s=e.redDb();if(!s)throw new Error("resident brain operations require the shared RedDB store");return await HC(s,t).request(r,n)}function Cz(e){return e?"status"in e?e:{...e,original:e.original.toString("base64"),original_encoding:"base64"}:null}var iz,az,oA,cz,lz,uz,iy,QC,ZC,lA=E(()=>{"use strict";ze();Pa();Ra();Vt();Hc();zC();tf();Gt();Be();iz=256*1024,az=500,oA=2e3,cz=Math.max(1,Number(process.env.RSP_TEST_IDLE_SHUTDOWN_WATCHDOG_MS??"10000")),lz="rsp-status-summary.toon",uz=[qe,Ue,it,Et,Fo],iy=class{constructor(t,r){this.store=t;this.opts=r;this.pendingHeals=[...r.bootHeals??[]]}running;pending=!1;pendingHeals;async drainAndSweep(){if(this.running){this.pending=!0,await this.running;return}this.running=(async()=>{do this.pending=!1,await this.drainAndSweepOnce();while(this.pending)})().finally(()=>{this.running=void 0}),await this.running}async drainAndSweepOnce(){let t=this.store.redDb();if(!t)return;let r=await pz(t);r.unshift(...this.pendingHeals),this.pendingHeals=[];let n=await this.readIndex(t),s=n.records.length,o=[...n.records];for(let a of r)o.push(await this.writeDrainDegradation(t,{reason:"telemetry collection model mismatch",command:"rsp resident telemetry drain",source_collection:a.collection,error:`expected kv, got ${a.previousModel}`,bytes:0}));await Pf(this.opts.rootDir,async a=>{let c=hs(a);if(!c){let l=await this.writeDrainDegradation(t,{reason:"telemetry parse failed",command:"unknown",bytes:Buffer.byteLength(a,"utf8")});return o.push(l),!0}try{let l=await this.writeEvent(t,c);o.push(l);let u=await this.writeAccountingMirror(t,c);return u&&o.push(u),!0}catch(l){let u=await this.writeDrainDegradation(t,{reason:"telemetry event dropped",command:Ce(c.command)||"unknown",source_id:Ce(c.id),source_collection:Ce(c.collection),error:l instanceof Error?l.message:String(l),bytes:Buffer.byteLength(a,"utf8")});return o.push(u),!0}});let i=o.length>s;await this.prune(t,{version:1,records:o},i),await dz(t,this.opts.rootDir)}async writeEvent(t,r){let n=new Date,s=typeof r.created_at=="string"?r.created_at:n.toISOString(),o=new Date(Date.parse(s)+this.opts.ttlDays*24*60*60*1e3).toISOString(),i=typeof r.id=="string"&&r.id.trim()!==""?r.id:Us(),a={...await _z(r),id:i,created_at:s,expires_at:o};return await t.kv(r.collection).put(i,a),{collection:r.collection,key:i,created_at:s,expires_at:o,bytes:r.collection===qe?0:typeof r.bytes=="number"&&Number.isFinite(r.bytes)?Math.max(0,r.bytes):Buffer.byteLength(JSON.stringify(a),"utf8")}}async writeAccountingMirror(t,r){return r.collection===qe||r.accounting_recorded===!0?null:r.collection===it?await this.writeEvent(t,{collection:qe,id:`mirror:${Ce(r.id)||Us()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:oy(Ce(r.command)||"unknown"),wrapper:r.wrapper,loss:r.loss,elided:r.elided,raw_bytes:r.raw_bytes,emitted_bytes:r.emitted_bytes,tokens_raw:r.tokens_raw,tokens_emitted:r.tokens_emitted,estimated:r.estimated,wrapper_ms:r.wrapper_ms,store_open_count:r.store_open_count,store_elapsed_ms:r.store_elapsed_ms}):r.collection===Et?await this.writeEvent(t,{collection:qe,id:`mirror:${Ce(r.id)||Us()}`,created_at:Ce(r.created_at)||Ce(r.ts)||new Date().toISOString(),event_type:"invocation",command:Ce(r.command)||"unknown",command_class:oy(Ce(r.command)||"unknown"),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:Ce(r.reason)||"unknown",wrapper_family:Ce(r.wrapper_family),wrapper_exit_code:r.wrapper_exit_code,stderr_head:Ce(r.stderr_head)}):null}async writeDrainDegradation(t,r){let n=await this.writeEvent(t,{collection:Et,id:Us(),created_at:new Date().toISOString(),reason:r.reason,command:r.command,bytes:r.bytes,source_id:r.source_id,source_collection:r.source_collection,error:r.error});return await this.writeEvent(t,{collection:qe,id:`mirror:${Us()}`,created_at:n.created_at,event_type:"invocation",command:r.command,command_class:oy(r.command),loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:r.reason,source_id:r.source_id,source_collection:r.source_collection,error:r.error}),n}async readIndex(t){let r=await t.kv(Fo).get("index:v1"),n=typeof r=="string"?Sz(r):r;return Rz(n)?n:{version:1,records:[]}}async writeIndex(t,r){await t.kv(Fo).put("index:v1",r)}async prune(t,r,n=!1){let s=Date.now(),o=[];for(let a of r.records)Date.parse(a.expires_at)<=s?await t.kv(a.collection).delete(a.key):o.push(a);let i=o.reduce((a,c)=>a+c.bytes,0);for(o.sort((a,c)=>a.created_at.localeCompare(c.created_at));i>this.opts.byteBudget&&o.length>0;){let a=o.shift();i-=a.bytes,await t.kv(a.collection).delete(a.key)}(n||o.length<r.records.length)&&await this.writeIndex(t,{version:1,records:o})}};QC=!1});Lu();mt();var Fb={"store-uri":{kind:"value",coerce:e=>e},full:{kind:"boolean"},brief:{kind:"boolean"},terse:{kind:"boolean"},query:{kind:"value",coerce:e=>e}},iI={json:{kind:"boolean"}},aI={help:{kind:"boolean",aliases:["h"]}},cI={commands:{dashboard:{},stats:{},gains:{},show:{},git:{},gh:{},vitest:{},cargo:{},cat:{},exec:{},proxy:{},wait:{},doctor:{},status:{},sweep:{},setup:{},mcp:{},"shell-init":{},server:{},"warm-resident":{},"gh-api-json":{},hook:{}},default:"dashboard",keepArgvOnDefault:!0,errorOnUnknownCommand:!0};function Mb(e){let{command:t,args:r}=Iu(e,lI);return t==="--version"?{kind:"version",json:Ks(r,iI).values.json===!0}:uI(e)?{kind:"help"}:{kind:"command"}}var lI={commands:{"--version":{aliases:["-v"]},run:{}},default:"run",keepArgvOnDefault:!0};function uI(e){return Kr(e,aI).values.help===!0}function Bb(e){let{values:t,rest:r}=pI(e),n=r[0];if(n!==void 0&&n!=="--"&&n.startsWith("--"))throw fa.unknownFlag(n);let s=Iu(r,cI).command,o=[...r],i=t.query;return i!==void 0&&s!=="show"&&o.push("--query",i),{command:s,handle:r[1],storeUri:t["store-uri"],query:i,level:t.terse===!0?"terse":t.brief===!0?"brief":t.full===!0?"full":"lossless",positional:o}}var fa=class e extends Error{static unknownFlag(t){return new e(`unknown flag: ${t}`)}render(){return ee({command:"rsp",category:"usage",error:this.message,help:"rsp --help",validFlags:dI})}},dI=Object.keys(Fb).map(e=>`--${e}`);function pI(e){try{return Kr(e,Fb)}catch(t){throw new fa(t instanceof Error?t.message:String(t))}}function jb(e){return ee({command:`rsp ${e.token}`,category:"usage",error:`unknown command: ${e.token}`,help:"rsp --help",validFlags:e.known})}function qb(e){return e instanceof Vs}function Un(e){return typeof e=="object"&&e!==null&&"render"in e&&typeof e.render=="function"}var fI={socket:{kind:"value",coerce:e=>e},"pid-file":{kind:"value",coerce:e=>e},"wake-lock":{kind:"value",coerce:e=>e},registry:{kind:"value",coerce:e=>e},"resident-version":{kind:"value",coerce:e=>e},"ttl-days":{kind:"value",coerce:mr},"ephemeral-ttl-hours":{kind:"value",coerce:mr},"byte-budget":{kind:"value",coerce:mr},"telemetry-ttl-days":{kind:"value",coerce:mr},"telemetry-byte-budget":{kind:"value",coerce:mr},"telemetry-drain-interval-ms":{kind:"value",coerce:mr},"telemetry-drain-timeout-ms":{kind:"value",coerce:mr},"idle-ms":{kind:"value",coerce:mr}};function cd(e){return Ks(e,fI).values}var Ub={since:{kind:"value",coerce:gI},full:{kind:"boolean"}};function ma(e,t){return Ks(e,Ub).values.since??t}function Hb(e){return Ks(e,Ub).values.full===!0}var mI={field:{kind:"value",type:"array",aliases:["f","F"],coerce:e=>e}};function Wb(e){let{values:t,rest:r}=Kr(e,mI),n=r[1];if(!n)return null;let s={};for(let o of t.field??[]){let i=o.indexOf("=");i<=0||(s[o.slice(0,i)]=o.slice(i+1))}return{path:n,params:s}}function mr(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:void 0}function gI(e){let t=/^(\d+)(d)?$/.exec(e);if(!t)return;let r=Number(t[1]);return Number.isFinite(r)&&r>0?r:void 0}ld();mt();import{existsSync as Az}from"node:fs";import{fileURLToPath as Pz}from"node:url";Vt();no();ye();gt();import{existsSync as BF}from"node:fs";import{fileURLToPath as jF}from"node:url";Vt();jd();ye();import{existsSync as WL}from"node:fs";import{fileURLToPath as JL}from"node:url";async function Kn(e,t){let r={stats:VL(e.telemetryByteBudget),telemetry:Wd(t)};if(!e.storeUri.startsWith("file://"))return r;let n=JL(e.storeUri);if(!WL(n))return r;let{residentElisionStore:s}=await Promise.resolve().then(()=>(Zt(),Vn)),o=s(process.cwd(),e);try{return n.endsWith("red-skills.rdb")?{stats:await o.accountingStats(e.telemetryByteBudget),telemetry:await o.telemetryStats(t)}:{stats:await o.stats(),telemetry:Wd(t)}}catch{return r}finally{await o.close()}}function t_(e,t=Wd(30),r=!1,n=n_()){return`${ge(Jd(e,t,r,n))}
358
+ `}function r_(e,t){return`${ge({...e,overhead:s_(t)})}
359
+ `}function n_(){return{schema_version:"red.rsp.overhead.v1",verdict:"green",summary:"every wrapper family is inside its overhead ceiling",ceiling:zt,breaching_families:[],disabled_families:[],families:[]}}function s_(e){return{schema_version:e.schema_version,verdict:e.verdict,summary:e.summary,ceiling:e.ceiling,breaching_families:e.breaching_families,disabled_families:e.disabled_families,families:e.families}}function Jd(e,t,r,n=n_()){let s=t.savings.top_commands.slice(0,r?10:3),o=r?t.savings.daily_tokens_saved:t.savings.daily_tokens_saved.slice(-7),i=e.storage_classes??Ia(),a=t.health.recent_failures.slice(0,r?20:5),c=t.decisions.top_pass_reasons.slice(0,r?10:3);return{records:e.records,bytes:e.bytes,oldest:e.oldest,budget:e.budget,storage_classes:i,savings:{window_days:t.window_days,empty:t.empty,...t.savings,tokens_saved_display:KL(t.savings),dollars_saved_estimate_usd_display:zL(t.savings),daily_tokens_saved:o,daily_tokens_saved_elided:r?0:Math.max(0,t.savings.daily_tokens_saved.length-o.length),top_commands:s,top_commands_elided:r?0:Math.max(0,t.savings.top_commands.length-s.length)},overhead:s_(n),health:{overhead_verdict:n.verdict,overhead_summary:n.summary,...t.health,degradation_rate_display:Hd(t.health.degradation_rate),show_hit_rate_display:Hd(t.health.show_hit_rate),by_reason:t.health.by_reason,by_family:t.health.by_family,recent_failures:a,recent_failures_elided:r?0:Math.max(0,t.health.recent_failures.length-a.length),most_recent_degradation_at:t.health.most_recent?.timestamp??null,most_recent_degradation_reason:t.health.most_recent?.reason??null},decisions:{...t.decisions,contribution_rate_display:Hd(t.decisions.contribution_rate),top_pass_reasons:c,top_pass_reasons_elided:r?0:Math.max(0,t.decisions.top_pass_reasons.length-c.length),by_command_family:r?t.decisions.by_command_family:t.decisions.by_command_family.slice(0,5),by_command_family_elided:r?0:Math.max(0,t.decisions.by_command_family.length-5)},latency:{...t.latency,wrapper_ms_p50_display:Ud(t.latency.wrapper_ms_p50),wrapper_ms_p95_display:Ud(t.latency.wrapper_ms_p95),store_elapsed_ms_avg_display:Ud(t.latency.store_elapsed_ms_avg)}}}function o_(e){return`${ge(e)}
360
+ `}function Wd(e){return{window_days:e,empty:!0,savings:{invocations:0,elided:0,raw_bytes:0,emitted_bytes:0,bytes_saved:0,tokens_saved:0,tokens_saved_estimated:!1,token_estimate_range_pct:null,tokens_saved_low:null,tokens_saved_high:null,dollars_saved_estimate_usd:0,dollars_saved_low_usd:null,dollars_saved_high_usd:null,pricing_model_family:"gpt-5",pricing_input_usd_per_million_tokens:1.25,pricing_note:"estimate derived from byte-based token estimate when token counts are estimated",daily_tokens_saved:[],top_commands:[]},health:{degradations:0,degradation_rate:0,show_total:0,show_hits:0,show_misses:0,show_hit_rate:0,by_reason:[],by_family:[],recent_failures:[],most_recent:null},latency:{wrapper_ms_p50:null,wrapper_ms_p95:null,store_open_count_sum:0,store_elapsed_ms_sum:0,store_elapsed_ms_avg:null},decisions:{seen:0,contributed:0,passed:0,failed_open:0,quota_free_saved_units:0,contribution_rate:0,top_pass_reasons:[],by_command_family:[]}}}function VL(e){return{records:0,bytes:0,oldest:null,budget:e,storage_classes:Ia()}}function Ia(){return{derivable:{records:0,bytes:0,raw_bytes:0},"re-executable":{records:0,bytes:0,raw_bytes:0},ephemeral:{records:0,bytes:0,raw_bytes:0}}}function i_(e){let t=e.legacyStoreMigrated?"migrated":e.storeCreated?"created":"existing";return[`config: ${e.configChanged?"updated":"unchanged"}`,`store: ${t}`,""].join(`
361
+ `)}function KL(e){return e.tokens_saved_estimated?`${e.tokens_saved_low}-${e.tokens_saved_high} (estimate_midpoint: ${e.tokens_saved}, range_pct: ${e.token_estimate_range_pct})`:String(e.tokens_saved)}function zL(e){return e.dollars_saved_low_usd==null||e.dollars_saved_high_usd==null?uo(e.dollars_saved_estimate_usd):`${uo(e.dollars_saved_low_usd)}-${uo(e.dollars_saved_high_usd)} (estimate_midpoint: ${uo(e.dollars_saved_estimate_usd)})`}function Ud(e){return e==null?"none":String(e)}function Hd(e){return e.toFixed(4).replace(/0+$/,"").replace(/\.$/,".0")}async function rR(e){let{stats:t,telemetry:r}=await Kn(e,30),[n,s]=await Promise.all([qF(e),Promise.resolve().then(()=>(Ef(),_f)).then(o=>o.listWaits(process.cwd()),()=>[])]);return{stats:t,telemetry:r,recoveryHandles:n,waits:s,overhead:gr(tt(process.cwd()).rootDir,e.overhead)}}function nR(e){let t=Jd(e.stats,e.telemetry,!1,e.overhead),r=fd({executable:{name:"rsp",command:"rsp"},recovery:{pending:e.recoveryHandles.length,handles:e.recoveryHandles},waits:{active:e.waits.length,entries:e.waits},store:{records:e.stats.records,bytes:e.stats.bytes,oldest:e.stats.oldest,budget:e.stats.budget,storage_classes:e.stats.storage_classes??Ia()},savings:t.savings,overhead:t.overhead,health:t.health,decisions:t.decisions,latency:t.latency},UF(e));return`${ge(r)}
362
+ `}async function qF(e){if(!e.storeUri.startsWith("file://"))return[];let t=jF(e.storeUri);if(!BF(t))return[];let{residentElisionStore:r}=await Promise.resolve().then(()=>(Zt(),Vn)),n=r(process.cwd(),e);try{return await n.recoveryHandles(5)}catch{return[]}finally{await n.close()}}function UF(e){return[e.recoveryHandles.length>0?"rsp show <handle>":"rsp <wrapped-command> --terse",e.waits.length>0?"rsp wait ls":'rsp wait cmd -- "<command>"',"rsp stats --since <days>d"]}Vt();ye();mt();import{existsSync as p2}from"node:fs";import{fileURLToPath as f2}from"node:url";Gt();import{spawn as eu}from"node:child_process";async function K0(e,t,r){let n=process.hrtime.bigint(),s=await z0(e.positional),o=Number(process.hrtime.bigint()-n)/1e6;return TJ(t,e,s,o,r),s.signal?(process.kill(process.pid,s.signal),128):s.status??0}async function z0(e){let t=e[0];if(!t)return{stdoutBytes:0,stderrBytes:0,status:2,signal:null};let r;if(t==="exec"||t==="proxy"){let o=t==="proxy"?await Promise.resolve().then(()=>(Wl(),Hl)).then(i=>i.parseProxyCommandLine(e)):await Promise.resolve().then(()=>(Ui(),qi)).then(i=>i.parseExecCommandLine(e));r=eu(o,{shell:!0,stdio:["inherit","pipe","pipe"]})}else r=eu(t,e.slice(1),{stdio:["inherit","pipe","pipe"]});let n=0,s=0;return r.stdout?.on("data",o=>{n+=o.length,process.stdout.write(o)}),r.stderr?.on("data",o=>{s+=o.length,process.stderr.write(o)}),await new Promise(o=>{r.on("error",i=>{let a=`${i instanceof Error?i.message:String(i)}
363
+ `;s+=Buffer.byteLength(a),process.stderr.write(a),o({stdoutBytes:n,stderrBytes:s,status:127,signal:null})}),r.on("close",(i,a)=>o({stdoutBytes:n,stderrBytes:s,status:i,signal:a}))})}function Y0(e){return e>0&&Math.random()<e}async function Wi(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw r instanceof Error?r:new Error(e);process.stderr.write(`rsp: ${e}, passing through
364
+ `);let s=await eO(t);if(n){let o=xJ(e,t,r),{appendTelemetryEvent:i,RSP_ACCOUNTING_EVENTS_COLLECTION:a,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:c}=await Promise.resolve().then(()=>(Gt(),oi));ru(i(n,{collection:a,event_type:"invocation",ts:new Date().toISOString(),command:tu(t),command_class:t[0]??"unknown",loss:"lossless",raw_bytes:0,emitted_bytes:0,degradation_reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead})),ru(i(n,{collection:c,ts:new Date().toISOString(),command:tu(t),reason:o.reason,wrapper_family:o.family,wrapper_exit_code:o.exitCode,stderr_head:o.stderrHead,accounting_recorded:!0}))}return s}async function Q0(e,t,r){let n=await z0(e),{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o,RSP_TELEMETRY_DEGRADATIONS_COLLECTION:i}=await Promise.resolve().then(()=>(Gt(),oi)),a={ts:new Date().toISOString(),command:tu(e),reason:"overhead-ceiling-self-disabled",wrapper_family:r.family,wrapper_exit_code:n.status??0,stderr_head:r.disabled_reason??r.reasons.join(",")};return ru(s(t,{collection:o,event_type:"invocation",command_class:e[0]??"unknown",loss:"lossless",raw_bytes:n.stdoutBytes+n.stderrBytes,emitted_bytes:n.stdoutBytes+n.stderrBytes,degradation_reason:a.reason,...a})),ru(s(t,{collection:i,accounting_recorded:!0,...a})),n.signal?(process.kill(process.pid,n.signal),128):n.status??0}async function X0(e){return process.env.RSP_DEBUG==="1"&&process.stderr.write(`rsp: ${nu()}, passing through
365
+ `),await eO(e)}function nu(){return"rsp is not enabled in this directory; run /red-setup"}function Z0(e){return e==="git"||e==="gh"||e==="vitest"||e==="cargo"||e==="cat"||e==="exec"||e==="proxy"||e==="gh-api-json"}function $t(e){return tu(e.positional)}function tu(e){if(e[0]!=="exec")return e.join(" ");try{let t=e.indexOf("--"),r=t>=0?e.slice(t+1):e.slice(1);return r.length===1?r[0]:r.join(" ")}catch{return e.join(" ")}}function Hi(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function TJ(e,t,r,n,s){let o=r.stdoutBytes+r.stderrBytes,i={event_type:"control_holdout",control_holdout:!0,holdout_share:s,ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:"lossless",elided:!1,raw_bytes:o,emitted_bytes:o,wrapper_ms:n};Rr(e,{collection:"rsp_accounting_events_v1",...i}),Rr(e,{collection:"rsp_telemetry_invocations_v1",...i,accounting_recorded:!0})}function xJ(e,t,r){let n=t[0]??"unknown",s=OJ(r)||e;return{reason:V0(r)==="ENOENT"||V0(r)==="MODULE_NOT_FOUND"||/(?:command not found|cannot find package|cannot find module|module not found|not provisioned)/i.test(s)?"wrapper-unavailable":"wrapper-crash",family:n,exitCode:AJ(r)??1,stderrHead:CJ(s,240)}}function OJ(e){return e instanceof Error?Hi(e.message):Hi(String(e??""))}function CJ(e,t){let r=Hi(e).replace(/\s+/g," ").trim();return r.length<=t?r:`${r.slice(0,Math.max(0,t-1))}\u2026`}function V0(e){if(typeof e!="object"||e===null||!("code"in e))return"";let t=e.code;return typeof t=="string"?t:""}function AJ(e){if(typeof e!="object"||e===null)return null;for(let t of["status","exitCode","exit_code"]){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r}return null}function ru(e){e.catch(()=>{})}async function eO(e){if(e[0]==="exec"||e[0]==="proxy")return await PJ(e);let t=e[0];if(!t)return 2;let r=eu(t,e.slice(1),{stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
366
+ `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function PJ(e){let t;try{if(e[0]==="proxy"){let{parseProxyCommandLine:n}=await Promise.resolve().then(()=>(Wl(),Hl));t=n(e)}else{let{parseExecCommandLine:n}=await Promise.resolve().then(()=>(Ui(),qi));t=n(e)}}catch(n){return process.stderr.write(`${n instanceof Error?n.message:String(n)}
365
367
  `),2}let r=eu(t,{shell:!0,stdio:"inherit"});return await new Promise(n=>{r.on("error",s=>{process.stderr.write(`${s instanceof Error?s.message:String(s)}
366
- `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function pO(e,t,r){let n=[],s=!e.enabled;if(n.push(s?Ee("config_gate_resolution","rsp disabled in this directory; run /red-setup to opt in"):Ee("config_gate_resolution","rsp.enabled resolved true for this directory")),s)return n.push(Ee("hook_wiring","skipped because rsp is disabled"),Ee("proxy_mode","skipped because rsp is disabled"),Ee("resident_liveness","skipped because rsp is disabled"),Ee("store_provisioning","skipped because rsp is disabled"),Ee("recent_degradation_rate","skipped because rsp is disabled"),Ee("overhead_budget","skipped because rsp is disabled")),dO("disabled",n,r);n.push(await tV(e)),n.push(e.proxyEnabled?Ee("proxy_mode","proxy routing enabled for pre-exec rewrites"):On("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(gt(),sn));if(n.push(rV(await o(t))),n.push(nV(e)),mO(e)){let{telemetry:i}=await Vn(e,r);n.push(sV(i,r))}else n.push(Ee("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(oV(mr(process.cwd(),e.overhead))),dO(n.some(i=>!i.pass)?"fail":"pass",n,r)}function fO(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
367
- `}async function tV(e){try{if(e.proxyEnabled)return Ee("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Vi(),uu)),r=t("git status");return r.kind==="rewrite"?Ee("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):On("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return On("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Hi(t.message):"unknown error"}`,"rsp setup")}}function rV(e){return e.state==="registered-alive-socket-healthy"?Ee("resident_liveness","resident registry points at a healthy socket"):On("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function nV(e){return e.storeUri.startsWith("file://")?mO(e)?Ee("store_provisioning","rsp store exists for this directory"):On("store_provisioning","rsp store is not provisioned","rsp setup"):Ee("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function sV(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Ee("recent_degradation_rate",`0 degradations in the recent ${t}d window`);let n=e.health.degradations,s=r?.reason??e.health.most_recent?.reason??"unknown",o=r?.count??n;return On("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,iV(s,t))}function oV(e){return e.verdict==="green"?Ee("overhead_budget",e.summary):On("overhead_budget",e.summary,"rsp status")}function iV(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 mO(e){if(!e.storeUri.startsWith("file://"))return!0;try{return ZJ(eV(e.storeUri))}catch{return!1}}function Ee(e,t){return{name:e,pass:!0,finding:t}}function On(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:ad({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function dO(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)}}fh();function bO(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${lV(t).join(`
368
+ `),n(127)}),r.on("close",(s,o)=>{if(o){process.kill(process.pid,o),n(128);return}n(s??0)})})}async function yO(e,t,r){let n=[],s=!e.enabled;if(n.push(s?Ee("config_gate_resolution","rsp disabled in this directory; run /red-setup to opt in"):Ee("config_gate_resolution","rsp.enabled resolved true for this directory")),s)return n.push(Ee("hook_wiring","skipped because rsp is disabled"),Ee("proxy_mode","skipped because rsp is disabled"),Ee("resident_liveness","skipped because rsp is disabled"),Ee("store_provisioning","skipped because rsp is disabled"),Ee("recent_degradation_rate","skipped because rsp is disabled"),Ee("overhead_budget","skipped because rsp is disabled")),hO("disabled",n,r);n.push(await m2(e)),n.push(e.proxyEnabled?Ee("proxy_mode","proxy routing enabled for pre-exec rewrites"):On("proxy_mode","proxy routing is explicitly disabled; hook falls back to fixed wrapper capabilities","rsp setup"));let{residentRegistryStatus:o}=await Promise.resolve().then(()=>(gt(),sn));if(n.push(g2(await o(t))),n.push(h2(e)),wO(e)){let{telemetry:i}=await Kn(e,r);n.push(y2(i,r))}else n.push(Ee("recent_degradation_rate","no telemetry store available yet; no recent degradation spike detected"));return n.push(b2(gr(process.cwd(),e.overhead))),hO(n.some(i=>!i.pass)?"fail":"pass",n,r)}function bO(e){let{exitCode:t,...r}=e;return`${ge({...r,exit_code:e.exitCode,probes:e.probes,errors:e.errors})}
369
+ `}async function m2(e){try{if(e.proxyEnabled)return Ee("hook_wiring","pre-exec hook would rewrite git status through rsp proxy");let{rewriteCommand:t}=await Promise.resolve().then(()=>(Vi(),uu)),r=t("git status");return r.kind==="rewrite"?Ee("hook_wiring",`pre-exec hook would rewrite git status through ${r.capabilityId}`):On("hook_wiring",`pre-exec hook passed git status through: ${r.reason??"unsupported-command"}`,"rsp setup")}catch(t){return On("hook_wiring",`pre-exec hook probe failed: ${t instanceof Error?Hi(t.message):"unknown error"}`,"rsp setup")}}function g2(e){return e.state==="registered-alive-socket-healthy"?Ee("resident_liveness","resident registry points at a healthy socket"):On("resident_liveness",`resident registry state is ${e.state}`,"rsp warm-resident")}function h2(e){return e.storeUri.startsWith("file://")?wO(e)?Ee("store_provisioning","rsp store exists for this directory"):On("store_provisioning","rsp store is not provisioned","rsp setup"):Ee("store_provisioning","non-file store URI configured; provisioning is delegated to that backend")}function y2(e,t){let r=e.health.by_reason[0];if(e.health.degradations===0)return Ee("recent_degradation_rate",`0 degradations in the recent ${t}d window`);let n=e.health.degradations,s=r?.reason??e.health.most_recent?.reason??"unknown",o=r?.count??n;return On("recent_degradation_rate",`${n} degradation(s) in the recent ${t}d window; dominant reason ${s} (${o})`,w2(s,t))}function b2(e){return e.verdict==="green"?Ee("overhead_budget",e.summary):On("overhead_budget",e.summary,"rsp status")}function w2(e,t){return/unavailable|not provisioned|missing/i.test(e)?"rsp setup":/resident|socket|registry/i.test(e)?"rsp warm-resident":`rsp stats --since ${t}d --full`}function wO(e){if(!e.storeUri.startsWith("file://"))return!0;try{return p2(f2(e.storeUri))}catch{return!1}}function Ee(e,t){return{name:e,pass:!0,finding:t}}function On(e,t,r){return{name:e,pass:!1,finding:t,fix_command:r,error:ad({command:`rsp doctor:${e}`,category:"real-error",error:t,help:r})}}function hO(e,t,r){return{schema_version:"red.rsp.doctor.v1",status:e,exitCode:e==="fail"?1:0,window_days:r,probes:t,errors:t.map(n=>n.error).filter(n=>!!n)}}bh();function SO(e){let t=e[0]==="--help"||e[0]==="-h"?void 0:e[0];return`${k2(t).join(`
368
370
  `)}
369
- `}function lV(e){switch(e){case"stats":return oe("rsp stats [--since <days>d] [--full]",["Defaults: --since 30d, --full false","--since <days>d telemetry window, default 30d","--full include wider daily/top-command/failure lists, default false","--store-uri <uri> read a non-default store"],["rsp stats","rsp stats --since 7d --full"]);case"gains":return oe("rsp gains [--since <days>d]",["--since <days>d gains window, default 28d","--store-uri <uri> read a non-default shared RedDB store"],["rsp gains","rsp gains --since 14d"]);case"show":return oe("rsp show <handle>",["<handle> elision handle such as el:<id>","--store-uri <uri> read a non-default store"],["rsp show el:<id>","rsp show <handle>"]);case"git":return oe("rsp git <status|log|diff|show|blame|branch|commit|push> [options]",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail"],["rsp git status --brief","rsp git log --terse","rsp git diff --query <path>"]);case"gh":return oe("rsp gh <pr|issue|run> <list|view> [options] | api <REST-path> | <issues|prs|edit-labels|link-sub-issues> ...",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail","--json <fields> select fields for batched issues/prs","--repo <slug> owner/repo override for batched operations","api GET reads use the resident ETag/rate-aware client and emit canonical TOON"],["rsp gh issues 42 43 --json state,title,labels,body","rsp gh prs 12 13 --json state,mergeable,statusCheckRollup","rsp gh edit-labels --add ready-for-agent --remove blocked:crashed 42 43","rsp gh link-sub-issues 100 101 102","rsp gh api repos/owner/repo/actions/runs/123"]);case"vitest":return oe("rsp vitest [run] [vitest-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp vitest run","rsp vitest run --query <suite-or-test>"]);case"cargo":return oe("rsp cargo test [cargo-test-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp cargo test","rsp cargo test --query <test-name>"]);case"cat":return oe("rsp cat [--head <n>|--tail <n>|--full] <file>",["--head <n> show first n lines, default slice 10","--tail <n> show last n lines, default slice 10","--full emit full text even when it is large","--brief/--terse reduce large text context"],["rsp cat <file>","rsp cat --head 20 <file>","rsp cat --tail 20 <file>"]);case"exec":return oe('rsp exec -- "<command line>"',["--brief compact recognized stdout, default lossless","--terse summarize large stdout and mint recovery handles","--query <text> filter supported structured summaries"],['rsp exec -- "pnpm -C apps/rsp build"','rsp exec -- "git status --short"']);case"proxy":return oe("rsp proxy -- <command line>",["--brief compact recognized stdout, default lossless","--terse summarize recognized large stdout"],["rsp proxy -- git status","rsp proxy -- pnpm test"]);case"wait":return["usage: rsp wait <subcommand> [options]","","Flags and defaults:"," --timeout <duration> default 30m for cmd, 45m for pr/run/job, 2h for release"," --reason <text> default empty"," --signal-pid <pid> optional completion signal target"," --signal <signal> default USR1"," --notify-cmd <cmd> optional completion command","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate."];case"doctor":return oe("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return oe("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return oe("rsp sweep",["No flags. Removes stale resident registry entries, reclaims orphan state temps,","re-bounds the gh ETag cache, and prints TOON status."],["rsp sweep"]);case"setup":return oe("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return oe("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return oe("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return oe("rsp server [options]",["--socket <path> default resident socket","--pid-file <path> default resident pid file","--store-uri <uri> default repo store","--ttl-days <days> default from config","--ephemeral-ttl-hours <hours> default from config","--byte-budget <bytes> default from config","--idle-ms <ms> default from config"],["rsp server","rsp server --socket <path> --store-uri <uri>"]);case"warm-resident":return oe("rsp warm-resident [options]",["--socket <path> default resident socket","--wake-lock <path> default resident wake lock","--store-uri <uri> default repo store","--idle-ms <ms> default from config"],["rsp warm-resident","rsp warm-resident --store-uri <uri>"]);case"gh-api-json":return oe("rsp gh-api-json <path> [-f name=value ...]",["-f name=value string GitHub API field","-F name=value typed GitHub API field"],["rsp gh-api-json repos/{owner}/{repo}","rsp gh-api-json repos/{owner}/{repo}/pulls -f state=open"]);case"dashboard":return oe("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return oe("rsp hook <claude-pre-exec|codex-pre-exec|claude-post-exec|codex-post-exec>",["Reads hook payload from stdin. Defaults come from the calling host."],["rsp hook codex-pre-exec","rsp hook claude-pre-exec"]);case void 0:return["usage: rsp <subcommand> [options]","","Bare invocation:"," rsp"," renders a live TOON dashboard with recovery handles, active waits, savings, and health.","","Subcommands:"," dashboard, stats, gains, show, git, gh, vitest, cargo, cat, exec, proxy, wait"," doctor, status, sweep, setup, mcp, shell-init, server, warm-resident, gh-api-json, hook","","Global flags:"," --store-uri <uri> default repo store"," --brief compact summaries"," --terse aggressive summaries with recovery handles"," --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 show el:<id>"];default:return oe(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function oe(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}Ke();ye();Gt();import{spawn as uV}from"node:child_process";import{createHash as dV}from"node:crypto";import{existsSync as pV,readFileSync as fV,statSync as mV}from"node:fs";import{tmpdir as gV}from"node:os";import{dirname as hV,join as Br}from"node:path";async function Le(e,t,r,n,s=process.cwd(),o,i=o?.overhead??zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&bV(s,o);let c=yV(e,t,a);return bd(s,c,i),n?Cn(kV(s,e,t,c,i,n.lastResponseMetrics())):SV(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function yV(e,t,r){let n=Ed(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function Cn(e){e.catch(()=>{})}async function fu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Gt(),oi));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function bV(e,t){try{let r=sr(e),n=mV(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!EV(r,Date.now()-s))return;let o=wV(e),i=_V(o),a=Br(i,"rsp.sock"),c=Br(i,"rsp.pid"),l=Br(ae(o),"rsp-resident.pid.toon"),u=Br(o,".red","tmp","rsp","wake.lock");uV(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 wV(e){let t=e;for(;;){if(pV(Br(t,".git")))return t;let r=hV(t);if(r===t)return e;t=r}}function _V(e){let t=dV("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Br(r,"red-skills",t);if(Br(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Br(gV(),`red-skills-${n}`,t)}function EV(e,t){try{let r=fV(e,"utf8");so(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 kV(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ea(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Gt(),oi));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:$t(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:$t(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function SV(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ea(n,s);Rr(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Rr(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:$t(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var Wr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},Uh=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function cC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new Uh,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(fh(),yO));if(i(e.positional))return await Le(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(Tn(),Zg)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Le(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(Gh(),Lh)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(Fh(),$h)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(qh(),jh)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ui(),qi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s)}}catch(i){return Un(i)?(process.stdout.write(i.render()),2):await Wi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Wi("wrapper failed",e.positional,n,r)}async function wz(e=process.argv.slice(2)){let t=ga("rsp"),r=Gb(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
370
- `:`${jb(t)}
371
- `),0;if(r.kind==="help")return process.stdout.write(bO(e)),0;let n;try{n=Nb(e)}catch(b){if($b(b))return process.stdout.write(Db(b)),2;throw b}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:b}=await Promise.resolve().then(()=>(Mi(),nh));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:b}=await Promise.resolve().then(()=>(Mi(),nh));return await b()}if(n.command==="setup"){let{provisionRspRepoStore:b}=await Promise.resolve().then(()=>(hC(),gC)),y=await b(process.cwd());return process.stdout.write(t_(y)),0}if(n.command==="mcp"){let{runRspMcpServer:b}=await Promise.resolve().then(()=>(SC(),kC));return await b(),0}if(n.command==="wait"){let{runWait:b}=await Promise.resolve().then(()=>(_f(),wf));return await b(n.positional)}if(n.command==="shell-init"){let b=n.positional[1];if(b!=="fish"&&b!=="bash"&&b!=="zsh")return process.stdout.write(ee({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:y}=await Promise.resolve().then(()=>(TC(),vC));return process.stdout.write(y(b)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Ye(),H_)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:b}=await Promise.resolve().then(()=>(gt(),sn)),y=b(process.cwd()),_=await pO(o,y,ma(n.positional,1));return process.stdout.write(fO(_)),_.exitCode}let i=K0(n.command);if(!o.enabled)return i?await V0(n.positional):(process.stdout.write(`${nu()}
372
- `),0);if(n.command==="git"&&du(n.positional)){let b=process.hrtime.bigint();return await Le(n,await pu(),b,void 0,await ph(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(gt(),sn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:b}=await Promise.resolve().then(()=>(ye(),Sa)),y=b(l.rootDir,n.command);if(y)return await J0(n.positional,l.rootDir,y)}if(i&&W0(o.measurementHoldoutShare))return await U0(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:b}=await Promise.resolve().then(()=>(sA(),nA)),y=a(process.cwd()),_=cd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await b({socketPath:_.socket??y.socketPath,pidPath:_["pid-file"]??y.pidPath,rootDir:y.rootDir,storeUri:k.storeUri,ttlDays:_["ttl-days"]??k.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:_["byte-budget"]??k.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??k.idleMs,residentVersion:_["resident-version"]??t.version,registryPath:_.registry??y.registryPath}),0):(process.stdout.write(`${nu()}
373
- `),0)}if(n.command==="warm-resident"){let b=a(process.cwd()),y=cd(n.positional),_=s(process.cwd(),process.env,n.storeUri);if(!_.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(gt(),sn));return await k({...b,socketPath:y.socket??b.socketPath,wakeLockPath:y["wake-lock"]??b.wakeLockPath},{storeUri:_.storeUri,ttlDays:y["ttl-days"]??_.ttlDays,ephemeralTtlHours:y["ephemeral-ttl-hours"]??_.ephemeralTtlHours,byteBudget:y["byte-budget"]??_.byteBudget,telemetryTtlDays:y["telemetry-ttl-days"]??_.telemetryTtlDays,telemetryByteBudget:y["telemetry-byte-budget"]??_.telemetryByteBudget,telemetryDrainIntervalMs:y["telemetry-drain-interval-ms"]??_.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:y["telemetry-drain-timeout-ms"]??_.telemetryDrainTimeoutMs,idleMs:y["idle-ms"]??_.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:b}=await Promise.resolve().then(()=>(Wl(),Hl));return await b(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:b,sweepResidentRegistry:y}=await Promise.resolve().then(()=>(gt(),sn)),_=n.command==="sweep"?await y(l):await b(l);if(n.command==="sweep"){let{sweepGhEtagCache:O}=await Promise.resolve().then(()=>(Va(),F_));await O(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(ye(),Sa)),v=k(l.rootDir,o.overhead);return process.stdout.write(Qw(_,v)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:b}=await Promise.resolve().then(()=>(Ro(),Q_)),y=Bb(n.positional);if(!y)return process.stdout.write(ee({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let _=await b({path:y.path,params:y.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(_.stdout),_.stderr&&process.stderr.write(`${_.stderr}
374
- `),_.status}if(n.command==="dashboard"){let b=await XS(o);return process.stdout.write(ZS(b)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!yz(bz(o.storeUri)))return i?await cC(n,o,l.rootDir):(process.stdout.write(ee({command:$t(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(hr(),po)),f=(b=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:b,paths:l})),m=()=>c(l,u(o,t.version)).catch(b=>void p(b)),h=()=>f(),w;try{if(n.command==="stats"){let{stats:b,telemetry:y}=await Vn(o,ma(n.positional,30)),{overheadHealth:_}=await Promise.resolve().then(()=>(ye(),Sa));return process.stdout.write(Yw(b,y,Mb(n.positional),_(l.rootDir,o.overhead))),0}if(n.command==="gains"){let b=await h();w=()=>b.close();let y;try{y=await b.telemetryGains(ma(n.positional,28))}catch(_){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:_ instanceof Error?_.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(e_(y)),0}if(n.command==="git"){if(Cn(m()),du(n.positional)){let v=process.hrtime.bigint();return await Le(n,await pu(),v,void 0,l.rootDir,o)}let{runGitWrapper:b}=await Promise.resolve().then(()=>(Tn(),Zg)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="gh"){Cn(m());let{runGhWrapper:b}=await Promise.resolve().then(()=>(Gh(),Lh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){Cn(m());let{runTestWrapper:b}=await Promise.resolve().then(()=>(Fh(),$h)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="cat"){Cn(m());let{runCatWrapper:b}=await Promise.resolve().then(()=>(qh(),jh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="exec"){Cn(m());let{runExecWrapper:b}=await Promise.resolve().then(()=>(Ui(),qi)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="show"&&n.handle){let b=await h();w=()=>b.close();let y=await b.get(n.handle);if(y&&"original"in y&&y.original)return process.stdout.write(y.original),await fu(l.rootDir,n.handle,!0,y.original.length),0;if(y?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${y.expired_at}`,help:y.command});return process.stdout.write(k),await fu(l.rootDir,n.handle,!1,k.length),1}let _=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(_),await fu(l.rootDir,n.handle,!1,_.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(b){if(Un(b))return process.stdout.write(b.render()),2;if(i)return await Wi("wrapper failed",n.positional,b,l.rootDir);throw b}finally{await w?.()}}mt();zg();function boe(e){return Un(e)?{output:e.render(),status:2}:{output:ee({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"}),status:1}}export{wz as main,boe as renderCliFailure,Kg as renderStructuredBoundary};
371
+ `}function k2(e){switch(e){case"stats":return oe("rsp stats [--since <days>d] [--full]",["Defaults: --since 30d, --full false","--since <days>d telemetry window, default 30d","--full include wider daily/top-command/failure lists, default false","--store-uri <uri> read a non-default store"],["rsp stats","rsp stats --since 7d --full"]);case"gains":return oe("rsp gains [--since <days>d]",["--since <days>d gains window, default 28d","--store-uri <uri> read a non-default shared RedDB store"],["rsp gains","rsp gains --since 14d"]);case"show":return oe("rsp show <handle>",["<handle> elision handle such as el:<id>","--store-uri <uri> read a non-default store"],["rsp show el:<id>","rsp show <handle>"]);case"git":return oe("rsp git <status|log|diff|show|blame|branch|commit|push> [options]",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail"],["rsp git status --brief","rsp git log --terse","rsp git diff --query <path>"]);case"gh":return oe("rsp gh <pr|issue|run> <list|view> [options] | api <REST-path> | <issues|prs|edit-labels|link-sub-issues> ...",["--brief compact output, default lossless","--terse aggressively summarize and mint recovery handles","--query <text> filter rendered rows","--full keep full supported wrapper detail","--json <fields> select fields for batched issues/prs","--repo <slug> owner/repo override for batched operations","api GET reads use the resident ETag/rate-aware client and emit canonical TOON"],["rsp gh issues 42 43 --json state,title,labels,body","rsp gh prs 12 13 --json state,mergeable,statusCheckRollup","rsp gh edit-labels --add ready-for-agent --remove blocked:crashed 42 43","rsp gh link-sub-issues 100 101 102","rsp gh api repos/owner/repo/actions/runs/123"]);case"vitest":return oe("rsp vitest [run] [vitest-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp vitest run","rsp vitest run --query <suite-or-test>"]);case"cargo":return oe("rsp cargo test [cargo-test-options]",["--brief compact output, default lossless","--terse summarize long failures and mint recovery handles","--query <text> filter failure rows"],["rsp cargo test","rsp cargo test --query <test-name>"]);case"cat":return oe("rsp cat [--head <n>|--tail <n>|--full] <file>",["--head <n> show first n lines, default slice 10","--tail <n> show last n lines, default slice 10","--full emit full text even when it is large","--brief/--terse reduce large text context"],["rsp cat <file>","rsp cat --head 20 <file>","rsp cat --tail 20 <file>"]);case"exec":return oe('rsp exec -- "<command line>"',["--brief compact recognized stdout, default lossless","--terse summarize large stdout and mint recovery handles","--query <text> filter supported structured summaries"],['rsp exec -- "pnpm -C apps/rsp build"','rsp exec -- "git status --short"']);case"proxy":return oe("rsp proxy -- <command line>",["--brief compact recognized stdout, default lossless","--terse summarize recognized large stdout"],["rsp proxy -- git status","rsp proxy -- pnpm test"]);case"wait":return["usage: rsp wait <subcommand> [options]","","Flags and defaults:"," --timeout <duration> default 30m for cmd, 45m for pr/run/job, 2h for release"," --reason <text> default empty"," --signal-pid <pid> optional completion signal target"," --signal <signal> default USR1"," --notify-cmd <cmd> optional completion command","","Examples:",' rsp wait pr 123 --reason "before merge"'," rsp wait run --branch feature/wait --latest"," rsp wait job 93919316178",' rsp wait release --tag "v2.*" --existing',' rsp wait cmd -- "pnpm -C apps/rsp build"'," rsp wait ls","","Exit codes: 0 = success verdict, 1 = failure verdict, 2 = timeout/indeterminate."];case"doctor":return oe("rsp doctor [--since <days>d]",["--since <days>d recent degradation window, default 1d"],["rsp doctor","rsp doctor --since 7d"]);case"status":return oe("rsp status",["No flags. Prints resident registry status as TOON."],["rsp status"]);case"sweep":return oe("rsp sweep",["No flags. Removes stale resident registry entries, reclaims orphan state temps,","re-bounds the gh ETag cache, and prints TOON status."],["rsp sweep"]);case"setup":return oe("rsp setup",["No flags. Provisions repo rsp configuration and store state."],["rsp setup"]);case"mcp":return oe("rsp mcp",["No flags. Starts the rsp MCP server over stdio."],["rsp mcp"]);case"shell-init":return oe("rsp shell-init <fish|bash|zsh>",["<fish|bash|zsh> target shell, no default"],["rsp shell-init bash","rsp shell-init fish"]);case"server":return oe("rsp server [options]",["--socket <path> default resident socket","--pid-file <path> default resident pid file","--store-uri <uri> default repo store","--ttl-days <days> default from config","--ephemeral-ttl-hours <hours> default from config","--byte-budget <bytes> default from config","--idle-ms <ms> default from config"],["rsp server","rsp server --socket <path> --store-uri <uri>"]);case"warm-resident":return oe("rsp warm-resident [options]",["--socket <path> default resident socket","--wake-lock <path> default resident wake lock","--store-uri <uri> default repo store","--idle-ms <ms> default from config"],["rsp warm-resident","rsp warm-resident --store-uri <uri>"]);case"gh-api-json":return oe("rsp gh-api-json <path> [-f name=value ...]",["-f name=value string GitHub API field","-F name=value typed GitHub API field"],["rsp gh-api-json repos/{owner}/{repo}","rsp gh-api-json repos/{owner}/{repo}/pulls -f state=open"]);case"dashboard":return oe("rsp dashboard",["No flags. The explicit spelling of the bare `rsp` invocation."],["rsp","rsp dashboard"]);case"hook":return oe("rsp hook <claude-pre-exec|codex-pre-exec|claude-post-exec|codex-post-exec>",["Reads hook payload from stdin. Defaults come from the calling host."],["rsp hook codex-pre-exec","rsp hook claude-pre-exec"]);case void 0:return["usage: rsp <subcommand> [options]","","Bare invocation:"," rsp"," renders a live TOON dashboard with recovery handles, active waits, savings, and health.","","Subcommands:"," dashboard, stats, gains, show, git, gh, vitest, cargo, cat, exec, proxy, wait"," doctor, status, sweep, setup, mcp, shell-init, server, warm-resident, gh-api-json, hook","","Global flags:"," --store-uri <uri> default repo store"," --brief compact summaries"," --terse aggressive summaries with recovery handles"," --full suppress automatic reduction"," --query <text> filter supported rendered output"," --help, -h scoped help"," --version, -v build version; add --json for structured build info","","Examples:"," rsp"," rsp stats --since 7d"," rsp git log --terse"," rsp --full -- <command> <args...>"," rsp show el:<id>"];default:return oe(`rsp ${e} [options]`,["Unknown rsp subcommand. Use root help to list supported subcommands."],["rsp --help"])}}function oe(e,t,r){return[`usage: ${e}`,"","Flags and defaults:",...t.map(n=>` ${n}`),"","Examples:",...r.map(n=>` ${n}`)]}ze();ye();Gt();import{spawn as S2}from"node:child_process";import{createHash as R2}from"node:crypto";import{existsSync as v2,readFileSync as T2,statSync as x2}from"node:fs";import{tmpdir as O2}from"node:os";import{dirname as C2,join as Br}from"node:path";async function Le(e,t,r,n,s=process.cwd(),o,i=o?.overhead??zt){process.stdout.write(t.stdout),process.stderr.write(t.stderr);let a=Number(process.hrtime.bigint()-r)/1e6;n&&o&&P2(s,o);let c=A2(e,t,a);return bd(s,c,i),n?Cn(N2(s,e,t,c,i,n.lastResponseMetrics())):D2(s,e,t,c,i),t.signal?(process.kill(process.pid,t.signal),128):t.status??0}function A2(e,t,r){let n=Ed(),s=t.stdout.length+t.stderr.length,o=(t.rawOutput?.length??t.stdout.length)+t.stderr.length;return{family:e.command??"unknown",wrapperMs:r,childMs:n.childMs,selfStateBytesRead:n.selfStateBytesRead,bytesSaved:Math.max(0,o-s)}}function Cn(e){e.catch(()=>{})}async function fu(e,t,r,n){let{appendTelemetryEvent:s,RSP_ACCOUNTING_EVENTS_COLLECTION:o}=await Promise.resolve().then(()=>(Gt(),oi));await s(e,{collection:o,event_type:"show",ts:new Date().toISOString(),command:"rsp show",command_class:"show",handle:t,hit:r,loss:"lossless",raw_bytes:r?n:0,emitted_bytes:n})}function P2(e,t){try{let r=or(e),n=x2(r),s=t.telemetryDrainIntervalMs*2;if(n.size<t.telemetryByteBudget&&!G2(r,Date.now()-s))return;let o=I2(e),i=L2(o),a=Br(i,"rsp.sock"),c=Br(i,"rsp.pid"),l=Br(ae(o),"rsp-resident.pid.toon"),u=Br(o,".red","tmp","rsp","wake.lock");S2(process.execPath,[...process.execArgv,process.argv[1]??"","warm-resident","--socket",a,"--pid-file",c,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--ephemeral-ttl-hours",String(t.ephemeralTtlHours),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays),"--telemetry-byte-budget",String(t.telemetryByteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs),"--idle-ms",String(t.idleMs),"--registry",l,"--wake-lock",u],{cwd:o,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_WARMER:"1"}}).unref()}catch{}}function I2(e){let t=e;for(;;){if(v2(Br(t,".git")))return t;let r=C2(t);if(r===t)return e;t=r}}function L2(e){let t=R2("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let s=Br(r,"red-skills",t);if(Br(s,"rsp.sock").length<108)return s}let n=typeof process.getuid=="function"?process.getuid():"nouid";return Br(O2(),`red-skills-${n}`,t)}function G2(e,t){try{let r=T2(e,"utf8");oo(Buffer.byteLength(r));for(let n of r.split(/\r?\n/))if(n.trim())try{let s=JSON.parse(n),o=typeof s.created_at=="string"?s.created_at:s.ts;if(typeof o=="string"){let i=Date.parse(o);if(Number.isFinite(i)&&i<=t)return!0}}catch{}}catch{}return!1}async function N2(e,t,r,n,s,o){let i=Buffer.concat([r.stdout,r.stderr]),a=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),c=Ea(n,s),{appendTelemetryEvent:l,RSP_ACCOUNTING_EVENTS_COLLECTION:u,RSP_TELEMETRY_INVOCATIONS_COLLECTION:d}=await Promise.resolve().then(()=>(Gt(),oi));await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs}),await l(e,{collection:d,ts:new Date().toISOString(),command:$t(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:a.length,emitted_bytes:i.length,raw_text:a.toString("utf8"),emitted_text:i.toString("utf8"),...c,store_open_count:o?.storeOpenCount,store_elapsed_ms:o?.storeElapsedMs,accounting_recorded:!0}),r.degradation&&(await l(e,{collection:u,event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",loss:t.level,raw_bytes:a.length,emitted_bytes:i.length,degradation_reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead}),await l(e,{collection:"rsp_telemetry_degradations_v1",ts:new Date().toISOString(),command:$t(t),reason:r.degradation.reason,wrapper_family:r.degradation.family,wrapper_exit_code:0,stderr_head:r.degradation.stderrHead,accounting_recorded:!0}))}function D2(e,t,r,n,s){try{let o=Buffer.concat([r.stdout,r.stderr]),i=Buffer.concat([r.rawOutput??r.stdout,r.stderr]),a=Ea(n,s);Rr(e,{collection:"rsp_accounting_events_v1",event_type:"invocation",ts:new Date().toISOString(),command:$t(t),command_class:t.command??"unknown",wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a}),Rr(e,{collection:"rsp_telemetry_invocations_v1",ts:new Date().toISOString(),command:$t(t),wrapper:t.command,loss:t.level,elided:!!(r.mintedHandle||r.bytesElided),raw_bytes:i.length,emitted_bytes:o.length,...a,accounting_recorded:!0})}catch{}}var Wr=class{constructor(t){this.openStore=t}store;metrics;async mint(...t){try{let r=await this.open(),n=await r.mint(...t);return this.metrics=r.lastResponseMetrics?.(),n}catch{return`recovery unavailable (resident cold) \u2014 re-run: ${t[1].command}`}}async close(){if(!this.store)return;let t;try{t=await this.store}catch{return}await t.close()}open(){return this.store??=this.openStore(),this.store}lastResponseMetrics(){return this.metrics}},Kh=class{async mint(t,r){return`recovery unavailable (cold store) \u2014 re-run: ${r.command}`}lastResponseMetrics(){}async close(){}};async function fC(e,t,r,n){if(process.env.RSP_DEBUG==="1")throw n instanceof Error?n:new Error("cold store");let s=new Kh,o=process.hrtime.bigint();try{if(e.command==="git"){let{isFastGitStatus:i,runFastGitStatus:a}=await Promise.resolve().then(()=>(bh(),kO));if(i(e.positional))return await Le(e,await a(),o,s,r,t);let{runGitWrapper:c}=await Promise.resolve().then(()=>(Tn(),sh)),l=await c(e.positional,{level:e.level,store:s,heavyGitByteThreshold:t.heavyGitByteThreshold});return await Le(e,l,o,s,r,t)}if(e.command==="gh"){let{runGhWrapper:i}=await Promise.resolve().then(()=>(Mh(),Fh)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="vitest"||e.command==="cargo"){let{runTestWrapper:i}=await Promise.resolve().then(()=>(Uh(),qh)),a=await i(e.positional,{level:e.level,store:s});return await Le(e,a,o,s,r,t)}if(e.command==="cat"){let{runCatWrapper:i}=await Promise.resolve().then(()=>(Vh(),Jh)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s,r,t)}if(e.command==="exec"){let{runExecWrapper:i}=await Promise.resolve().then(()=>(Ui(),qi)),a=await i(e.positional,{level:e.level,store:s,heavyByteThreshold:t.heavyGitByteThreshold});return await Le(e,a,o,s)}}catch(i){return Un(i)?(process.stdout.write(i.render()),2):await Wi("wrapper failed",e.positional,i,r)}finally{await s.close()}return await Wi("wrapper failed",e.positional,n,r)}async function Iz(e=process.argv.slice(2)){let t=ga("rsp"),r=Mb(e);if(r.kind==="version")return process.stdout.write(r.json?`${JSON.stringify(t)}
372
+ `:`${Jb(t)}
373
+ `),0;if(r.kind==="help")return process.stdout.write(SO(e)),0;let n;try{n=Bb(e)}catch(b){if(qb(b))return process.stdout.write(jb(b)),2;throw b}if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:b}=await Promise.resolve().then(()=>(Vi(),uu));return await b()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:b}=await Promise.resolve().then(()=>(Mi(),ch));return await b()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:b}=await Promise.resolve().then(()=>(Mi(),ch));return await b()}if(n.command==="setup"){let{provisionRspRepoStore:b}=await Promise.resolve().then(()=>(EC(),_C)),y=await b(process.cwd());return process.stdout.write(i_(y)),0}if(n.command==="mcp"){let{runRspMcpServer:b}=await Promise.resolve().then(()=>(OC(),xC));return await b(),0}if(n.command==="wait"){let{runWait:b}=await Promise.resolve().then(()=>(Ef(),_f));return await b(n.positional)}if(n.command==="shell-init"){let b=n.positional[1];if(b!=="fish"&&b!=="bash"&&b!=="zsh")return process.stdout.write(ee({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:y}=await Promise.resolve().then(()=>(PC(),AC));return process.stdout.write(y(b)),0}let{resolveRspConfig:s}=await Promise.resolve().then(()=>(Be(),up)),o=s(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:b}=await Promise.resolve().then(()=>(gt(),sn)),y=b(process.cwd()),_=await yO(o,y,ma(n.positional,1));return process.stdout.write(bO(_)),_.exitCode}let i=Z0(n.command);if(!o.enabled)return i?await X0(n.positional):(process.stdout.write(`${nu()}
374
+ `),0);if(n.command==="git"&&du(n.positional)){let b=process.hrtime.bigint();return await Le(n,await pu(),b,void 0,await yh(process.cwd()),o)}let{resolveResidentPaths:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(gt(),sn)),l=a(process.cwd());if(i&&n.command){let{overheadFamilyDisabled:b}=await Promise.resolve().then(()=>(ye(),Sa)),y=b(l.rootDir,n.command);if(y)return await Q0(n.positional,l.rootDir,y)}if(i&&Y0(o.measurementHoldoutShare))return await K0(n,l.rootDir,o.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:b}=await Promise.resolve().then(()=>(lA(),cA)),y=a(process.cwd()),_=cd(n.positional),k=s(process.cwd(),process.env,n.storeUri);return k.enabled?(await b({socketPath:_.socket??y.socketPath,pidPath:_["pid-file"]??y.pidPath,rootDir:y.rootDir,storeUri:k.storeUri,ttlDays:_["ttl-days"]??k.ttlDays,ephemeralTtlHours:_["ephemeral-ttl-hours"]??k.ephemeralTtlHours,byteBudget:_["byte-budget"]??k.byteBudget,telemetryTtlDays:_["telemetry-ttl-days"]??k.telemetryTtlDays,telemetryByteBudget:_["telemetry-byte-budget"]??k.telemetryByteBudget,telemetryDrainIntervalMs:_["telemetry-drain-interval-ms"]??k.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:_["telemetry-drain-timeout-ms"]??k.telemetryDrainTimeoutMs,idleMs:_["idle-ms"]??k.idleMs,residentVersion:_["resident-version"]??t.version,registryPath:_.registry??y.registryPath}),0):(process.stdout.write(`${nu()}
375
+ `),0)}if(n.command==="warm-resident"){let b=a(process.cwd()),y=cd(n.positional),_=s(process.cwd(),process.env,n.storeUri);if(!_.enabled)return 0;let{warmResidentServer:k}=await Promise.resolve().then(()=>(gt(),sn));return await k({...b,socketPath:y.socket??b.socketPath,wakeLockPath:y["wake-lock"]??b.wakeLockPath},{storeUri:_.storeUri,ttlDays:y["ttl-days"]??_.ttlDays,ephemeralTtlHours:y["ephemeral-ttl-hours"]??_.ephemeralTtlHours,byteBudget:y["byte-budget"]??_.byteBudget,telemetryTtlDays:y["telemetry-ttl-days"]??_.telemetryTtlDays,telemetryByteBudget:y["telemetry-byte-budget"]??_.telemetryByteBudget,telemetryDrainIntervalMs:y["telemetry-drain-interval-ms"]??_.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:y["telemetry-drain-timeout-ms"]??_.telemetryDrainTimeoutMs,idleMs:y["idle-ms"]??_.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:b}=await Promise.resolve().then(()=>(Wl(),Hl));return await b(n.positional,{telemetryRoot:l.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:b,sweepResidentRegistry:y}=await Promise.resolve().then(()=>(gt(),sn)),_=n.command==="sweep"?await y(l):await b(l);if(n.command==="sweep"){let{sweepGhEtagCache:x}=await Promise.resolve().then(()=>(Va(),U_));await x(l.rootDir,{maxBytes:o.ghEtagCacheMaxBytes})}let{overheadHealth:k}=await Promise.resolve().then(()=>(ye(),Sa)),v=k(l.rootDir,o.overhead);return process.stdout.write(r_(_,v)),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:b}=await Promise.resolve().then(()=>(Ro(),tE)),y=Wb(n.positional);if(!y)return process.stdout.write(ee({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let _=await b({path:y.path,params:y.params,cwd:process.cwd(),telemetryRoot:l.rootDir,command:`rsp ${n.positional.join(" ")}`,overheadCeiling:o.overhead});return process.stdout.write(_.stdout),_.stderr&&process.stderr.write(`${_.stderr}
376
+ `),_.status}if(n.command==="dashboard"){let b=await rR(o);return process.stdout.write(nR(b)),0}if(!n.storeUri&&o.storeUri.startsWith("file://")&&!Az(Pz(o.storeUri)))return i?await fC(n,o,l.rootDir):(process.stdout.write(ee({command:$t(n)||"rsp",category:"real-error",error:"rsp repo store is not provisioned",help:"/red-setup"})),1);let{residentConfigFor:u,residentElisionStore:d,reportResidentEntryDiagnostic:p}=await Promise.resolve().then(()=>(Zt(),Vn)),f=(b=!0)=>Promise.resolve(d(process.cwd(),o,{ensureResident:b,paths:l})),m=()=>c(l,u(o,t.version)).catch(b=>void p(b)),h=()=>f(),w;try{if(n.command==="stats"){let{stats:b,telemetry:y}=await Kn(o,ma(n.positional,30)),{overheadHealth:_}=await Promise.resolve().then(()=>(ye(),Sa));return process.stdout.write(t_(b,y,Hb(n.positional),_(l.rootDir,o.overhead))),0}if(n.command==="gains"){let b=await h();w=()=>b.close();let y;try{y=await b.telemetryGains(ma(n.positional,28))}catch(_){return process.stdout.write(ee({command:`rsp ${n.positional.join(" ")}`.trim(),category:"real-error",error:_ instanceof Error?_.message:"rsp gains unavailable",help:"rsp gains requires the shared RedDB store"})),1}return process.stdout.write(o_(y)),0}if(n.command==="git"){if(Cn(m()),du(n.positional)){let v=process.hrtime.bigint();return await Le(n,await pu(),v,void 0,l.rootDir,o)}let{runGitWrapper:b}=await Promise.resolve().then(()=>(Tn(),sh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyGitByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="gh"){Cn(m());let{runGhWrapper:b}=await Promise.resolve().then(()=>(Mh(),Fh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="vitest"||n.command==="cargo"){Cn(m());let{runTestWrapper:b}=await Promise.resolve().then(()=>(Uh(),qh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="cat"){Cn(m());let{runCatWrapper:b}=await Promise.resolve().then(()=>(Vh(),Jh)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="exec"){Cn(m());let{runExecWrapper:b}=await Promise.resolve().then(()=>(Ui(),qi)),y=new Wr(()=>f(!1));w=()=>y.close();let _=process.hrtime.bigint(),k=await b(n.positional,{level:n.level,store:y,heavyByteThreshold:o.heavyGitByteThreshold});return await Le(n,k,_,y,l.rootDir,o)}if(n.command==="show"&&n.handle){let b=await h();w=()=>b.close();let y=await b.get(n.handle);if(y&&"original"in y&&y.original)return process.stdout.write(y.original),await fu(l.rootDir,n.handle,!0,y.original.length),0;if(y?.status==="expired"){let k=ee({command:`rsp show ${n.handle}`,category:"real-error",error:`expired ${y.expired_at}`,help:y.command});return process.stdout.write(k),await fu(l.rootDir,n.handle,!1,k.length),1}let _=ee({command:`rsp show ${n.handle}`,category:"real-error",error:"expired unknown",help:n.handle});return process.stdout.write(_),await fu(l.rootDir,n.handle,!1,_.length),1}return process.stdout.write(ee({command:n.positional.join(" ")||"rsp",category:"usage",error:"usage rsp show el:<id>",help:"rsp show el:<id>"})),2}catch(b){if(Un(b))return process.stdout.write(b.render()),2;if(i)return await Wi("wrapper failed",n.positional,b,l.rootDir);throw b}finally{await w?.()}}mt();zg();Zg();function Goe(e){return Un(e)?{output:e.render(),status:2}:{output:ee({command:"rsp",category:"real-error",error:e instanceof Error?e.message:String(e),help:"rsp --help"}),status:1}}export{Iz as main,Xg as renderAutomaticCommandOutput,Goe as renderCliFailure,Kg as renderStructuredBoundary};
375
377
  /*! Bundled license information:
376
378
 
377
379
  @octokit/request-error/dist-src/index.js: