@reddb-io/red-skills 4.4.0 → 4.4.1
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.
- package/dist/code-nav.bundle.min.mjs +1 -1
- package/dist/opencode-host.bundle.min.mjs +1 -1
- package/dist/redskilled-mcp.bundle.min.mjs +1 -1
- package/dist/redskilled.bundle.min.mjs +234 -230
- package/dist/release.bundle.min.mjs +1 -1
- package/dist/rsp-core.bundle.min.mjs +1 -1
- package/dist/rsp.bundle.min.mjs +1 -1
- package/dist/statusline.bundle.min.mjs +1 -1
- package/package.json +1 -1
|
@@ -138,7 +138,7 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
|
|
|
138
138
|
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
|
|
139
139
|
`,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)){Hn(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",i=[];if(s&&r.sep&&!r.value){let o=[];for(let a=0;a<r.sep.length;++a){let c=r.sep[a];switch(c.type){case"newline":o.push(a);break;case"space":break;case"comment":c.indent>t.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(i=r.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||r.value?(i.push(this.sourceToken),t.items.push({start:i}),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?(i.push(this.sourceToken),t.items.push({start:i,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(qe(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(ap(r.key)&&!qe(r.sep,"newline")){let o=vt(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:o,key:a,sep:c}]})}else i.length>0?r.sep=r.sep.concat(i,this.sourceToken):r.sep.push(this.sourceToken);else if(qe(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let o=vt(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||s?t.items.push({start:i,key:null,sep:[this.sourceToken]}):qe(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 o=this.flowScalar(this.type);s||r.value?(t.items.push({start:i,key:o,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(o):(Object.assign(r,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(t);if(o){if(o.type==="block-seq"){if(!r.explicitKey&&r.sep&&!qe(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:i});this.stack.push(o);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)){Hn(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||qe(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=Vn(n),i=vt(s);op(t);let o=t.end.splice(1,t.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:i,key:t,sep:o}]};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(`
|
|
140
140
|
`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
|
|
141
|
-
`,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=Vn(t),n=vt(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=Vn(t),n=vt(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())}}};cp.Parser=Io});var fp=P(ur=>{"use strict";var lp=To(),IE=tr(),lr=sr(),NE=bi(),LE=L(),qE=xo(),up=No();function dp(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new qE.LineCounter||null,prettyErrors:t}}function DE(e,t={}){let{lineCounter:r,prettyErrors:n}=dp(t),s=new up.Parser(r?.addNewLine),i=new lp.Composer(t),o=Array.from(i.compose(s.parse(e)));if(n&&r)for(let a of o)a.errors.forEach(lr.prettifyError(e,r)),a.warnings.forEach(lr.prettifyError(e,r));return o.length>0?o:Object.assign([],{empty:!0},i.streamInfo())}function pp(e,t={}){let{lineCounter:r,prettyErrors:n}=dp(t),s=new up.Parser(r?.addNewLine),i=new lp.Composer(t),o=null;for(let a of i.compose(s.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new lr.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(o.errors.forEach(lr.prettifyError(e,r)),o.warnings.forEach(lr.prettifyError(e,r))),o}function FE(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=pp(e,r);if(!s)return null;if(s.warnings.forEach(i=>NE.warn(s.options.logLevel,i)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},r))}function jE(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 LE.isDocument(e)&&!n?e.toString(r):new IE.Document(e,n,r).toString(r)}ur.parse=FE;ur.parseAllDocuments=DE;ur.parseDocument=pp;ur.stringify=jE});var qo=P(q=>{"use strict";var BE=To(),UE=tr(),ME=eo(),Lo=sr(),VE=Ft(),De=L(),HE=xe(),KE=U(),WE=Ne(),zE=Le(),JE=Un(),YE=Co(),QE=xo(),XE=No(),Kn=fp(),hp=Nt();q.Composer=BE.Composer;q.Document=UE.Document;q.Schema=ME.Schema;q.YAMLError=Lo.YAMLError;q.YAMLParseError=Lo.YAMLParseError;q.YAMLWarning=Lo.YAMLWarning;q.Alias=VE.Alias;q.isAlias=De.isAlias;q.isCollection=De.isCollection;q.isDocument=De.isDocument;q.isMap=De.isMap;q.isNode=De.isNode;q.isPair=De.isPair;q.isScalar=De.isScalar;q.isSeq=De.isSeq;q.Pair=HE.Pair;q.Scalar=KE.Scalar;q.YAMLMap=WE.YAMLMap;q.YAMLSeq=zE.YAMLSeq;q.CST=JE;q.Lexer=YE.Lexer;q.LineCounter=QE.LineCounter;q.Parser=XE.Parser;q.parse=Kn.parse;q.parseAllDocuments=Kn.parseAllDocuments;q.parseDocument=Kn.parseDocument;q.stringify=Kn.stringify;q.visit=hp.visit;q.visitAsync=hp.visitAsync});import{readFileSync as ef}from"node:fs";import{join as tf,resolve as ta}from"node:path";function Ta(e){let t={app:e,version:bf(it("__RED_BUILD_VERSION__",()=>"4.4.0")??"0.0.0-dev"),gitSha:it("__RED_BUILD_GIT_SHA__",()=>"ff3fce2ff5ef229a669831a698518ec174b55bad")??"unknown",buildTime:it("__RED_BUILD_TIME__",()=>"2026-08-25T11:31:16-03:00")??"unknown",bundleAsset:it("__RED_BUNDLE_ASSET__",()=>"release.bundle.min.mjs")??"unknown"},r=it("__REDDB_SDK_VERSION__",()=>""),n=it("__REDDB_BINARY_TAG__",()=>"");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function bf(e){return e.startsWith("v")?e.slice(1):e}function _a(e){return`${e.app} ${e.version} ${e.gitSha}`}function it(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}function ka(e){return e==="single-object"?"rest":"graphql"}function va(e,t){return e==="stable-poll"?"rest":ka(t)}function Z(e){return{none:e}}function M(e,t,r,n,s,i,o){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:o??va(r,t),budget:n,...a,...o?{only:o}:{},why:i}}function ee(e,t,r,n,s){let i=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...i,why:n}}var Sa=[M("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),M("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),M("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),M("run view","single-object","stable-poll","rest",Z("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),M("release view","single-object","stable-poll","rest",Z("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),M("pr diff","single-object","one-shot","rest",Z("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),M("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),M("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),M("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),M("release list","multi-node","stable-poll","rest",Z("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),M("run list","multi-node","stable-poll","rest",Z("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),M("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),M("issue list (search)","multi-node","stable-poll","search",Z("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),M("pr list (search)","multi-node","stable-poll","search",Z("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),M("search issues","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("search prs","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("search repos","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("api graphql","multi-node","one-shot","graphql",Z("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),M("api rest","single-object","one-shot","rest",Z("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),ee("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),ee("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),ee("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),ee("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),ee("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),ee("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",Z("linked-branch creation has no REST mutation")),ee("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),ee("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),ee("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),ee("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),ee("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),ee("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",Z("GitHub exposes no REST ready-for-review mutation")),ee("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),ee("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],D_=new Map(Sa.map(e=>[e.key,e]));var ss="RED_GITHUB_REQUEST_TIMEOUT_MS",ot=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${ss} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}};function Ra(e){return e instanceof ot}function _r(e=process.env){let t=e[ss];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function kr(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((o,a)=>{n=setTimeout(()=>a(new ot(e,t)),t),n.unref?.()}),i=Promise.resolve().then(r);i.catch(()=>{});try{return await Promise.race([i,s])}finally{n!==void 0&&clearTimeout(n)}}function is(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??_r();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let i=AbortSignal.timeout(r),o=s?.signal??null,a=o==null?i:AbortSignal.any([o,i]),c=wf(n);try{return await kr(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw Ra(l)?l:i.aborted&&o?.aborted!==!0?new ot(c,r,{cause:l}):l}}}function wf(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 vr="off";var Aa="RED_GITHUB_BUDGET_GATE";function Ga(e){if(e===!0)return"on";if(typeof e!="string")return vr;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":vr}function os(e){return(e??vr)==="on"}function as(e=process.env){return Ga(e[Aa])}import{execFile as Yf}from"node:child_process";import{promisify as Qf}from"node:util";var at=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}};function ve(e,t,r={}){return new at(e,t,r)}var Ef=/(?:^\uFEFF?|\n) *#/,cs=class{value;constructor(t){if(Ef.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}};function Me(e){return e instanceof cs}function Tf(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function _f(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw ve(0,"number is not representable in TOON");return String(e)}function Sr(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function te(e,t){if(Me(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return _f(e);if(typeof e=="string")return vf(e,t);throw ve(0,"not a primitive")}function kf(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function X(e){return kf(e)?e:Rr(e)}function vf(e,t){return ls(e,t)?Rr(e):e}function ls(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||Tf(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}var Oa=/["\\\u0000-\u001f]/g;function Rr(e){return`"${Pa(e)}"`}function Pa(e){let t="",r=0;Oa.lastIndex=0;let n;for(;(n=Oa.exec(e))!==null;){let s=e.charCodeAt(n.index),i;s===34?i='\\"':s===92?i="\\\\":s===10?i="\\n":s===13?i="\\r":s===9?i="\\t":i=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+i,r=n.index+1}return`${t}${e.slice(r)}`}var Ca={comma:",",tab:" ",pipe:"|"},Sf=Ca.comma;var Ar=1e3,$a=["type","kind","event"],Ve="|";var rk=Symbol("need line");var Of=/[\uD800-\uDFFF]/;function be(e){if(e===null)return null;if(Me(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return be(t)}if(typeof e=="string")return Na(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(be);if(e instanceof Set)return Array.from(e,be);if(e instanceof Map){let t={};for(let[r,n]of e)Gt(t,String(r),be(n));return t}if(J(e)){let t={};for(let r of Object.keys(e))Na(r,"object key"),Gt(t,r,be(e[r]));return t}return null}function Na(e,t){if(Of.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 J(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function le(e){return e===null||Me(e)||["string","number","boolean"].includes(typeof e)}function Gt(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function La(e){return encodeURIComponent(e)}function Da(e){if(!J(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,i]of t){let o=Cf(i);if(o===void 0)return;r.push([s,o])}let n=[];for(let[s,i]of r)Nf(n,s,i);return n.join("")}function Cf(e){if(!Array.isArray(e)||e.length===0||!e.every(J))return;let t=$f(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=xf(r);if(n===void 0)return;let s=If(e,t),i=new Map;for(let a of e){let c=a[t];i.has(c)||i.set(c,[]);let l={};for(let[d,p]of Object.entries(a))if(d!==t&&!s.includes(d)&&!us(p,d,l))return;i.get(c).push(l)}let o=[];for(let a of n.cycle){let c=i.get(a),l=qf(c);if(l===void 0||l.length===0)return;o.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:o,order:n,rows:e}}function $f(e){return $a.find(t=>e.every(r=>typeof r[t]=="string"))}function xf(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((o,a)=>o===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(La).join(","),i=`cycle(${r.map(La).join(",")})*${n}`;if(i.length<=s.length*.4)return{cycle:r,encoded:i,repeats:n}}}function If(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let i of n.slice(s).filter(o=>o!==t)){if(!Lf(i)||!e.every(o=>Object.prototype.hasOwnProperty.call(o,i))||!e.every(o=>Sr(o[i])))break;r.push(i)}return r}function Nf(e,t,r){e.push(X(t),`:
|
|
141
|
+
`,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=Vn(t),n=vt(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=Vn(t),n=vt(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())}}};cp.Parser=Io});var fp=P(ur=>{"use strict";var lp=To(),IE=tr(),lr=sr(),NE=bi(),LE=L(),qE=xo(),up=No();function dp(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new qE.LineCounter||null,prettyErrors:t}}function DE(e,t={}){let{lineCounter:r,prettyErrors:n}=dp(t),s=new up.Parser(r?.addNewLine),i=new lp.Composer(t),o=Array.from(i.compose(s.parse(e)));if(n&&r)for(let a of o)a.errors.forEach(lr.prettifyError(e,r)),a.warnings.forEach(lr.prettifyError(e,r));return o.length>0?o:Object.assign([],{empty:!0},i.streamInfo())}function pp(e,t={}){let{lineCounter:r,prettyErrors:n}=dp(t),s=new up.Parser(r?.addNewLine),i=new lp.Composer(t),o=null;for(let a of i.compose(s.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new lr.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(o.errors.forEach(lr.prettifyError(e,r)),o.warnings.forEach(lr.prettifyError(e,r))),o}function FE(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let s=pp(e,r);if(!s)return null;if(s.warnings.forEach(i=>NE.warn(s.options.logLevel,i)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},r))}function jE(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 LE.isDocument(e)&&!n?e.toString(r):new IE.Document(e,n,r).toString(r)}ur.parse=FE;ur.parseAllDocuments=DE;ur.parseDocument=pp;ur.stringify=jE});var qo=P(q=>{"use strict";var BE=To(),UE=tr(),ME=eo(),Lo=sr(),VE=Ft(),De=L(),HE=xe(),KE=U(),WE=Ne(),zE=Le(),JE=Un(),YE=Co(),QE=xo(),XE=No(),Kn=fp(),hp=Nt();q.Composer=BE.Composer;q.Document=UE.Document;q.Schema=ME.Schema;q.YAMLError=Lo.YAMLError;q.YAMLParseError=Lo.YAMLParseError;q.YAMLWarning=Lo.YAMLWarning;q.Alias=VE.Alias;q.isAlias=De.isAlias;q.isCollection=De.isCollection;q.isDocument=De.isDocument;q.isMap=De.isMap;q.isNode=De.isNode;q.isPair=De.isPair;q.isScalar=De.isScalar;q.isSeq=De.isSeq;q.Pair=HE.Pair;q.Scalar=KE.Scalar;q.YAMLMap=WE.YAMLMap;q.YAMLSeq=zE.YAMLSeq;q.CST=JE;q.Lexer=YE.Lexer;q.LineCounter=QE.LineCounter;q.Parser=XE.Parser;q.parse=Kn.parse;q.parseAllDocuments=Kn.parseAllDocuments;q.parseDocument=Kn.parseDocument;q.stringify=Kn.stringify;q.visit=hp.visit;q.visitAsync=hp.visitAsync});import{readFileSync as ef}from"node:fs";import{join as tf,resolve as ta}from"node:path";function Ta(e){let t={app:e,version:bf(it("__RED_BUILD_VERSION__",()=>"4.4.1")??"0.0.0-dev"),gitSha:it("__RED_BUILD_GIT_SHA__",()=>"99caf4932429974b90213c98ae8b061fd58949d5")??"unknown",buildTime:it("__RED_BUILD_TIME__",()=>"2026-08-25T13:06:29-03:00")??"unknown",bundleAsset:it("__RED_BUNDLE_ASSET__",()=>"release.bundle.min.mjs")??"unknown"},r=it("__REDDB_SDK_VERSION__",()=>""),n=it("__REDDB_BINARY_TAG__",()=>"");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function bf(e){return e.startsWith("v")?e.slice(1):e}function _a(e){return`${e.app} ${e.version} ${e.gitSha}`}function it(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}function ka(e){return e==="single-object"?"rest":"graphql"}function va(e,t){return e==="stable-poll"?"rest":ka(t)}function Z(e){return{none:e}}function M(e,t,r,n,s,i,o){let a=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"read",cardinality:t,volatility:r,surface:o??va(r,t),budget:n,...a,...o?{only:o}:{},why:i}}function ee(e,t,r,n,s){let i=typeof s=="string"?{fallback:s}:{fallback:null,noFallbackBecause:s.none};return{key:e,kind:"write",cardinality:"single-object",surface:t,budget:r,...i,why:n}}var Sa=[M("issue view","single-object","stable-poll","rest","graphql","one issue by number, repeatedly polled while usually unchanged; REST answers in one request"),M("pr view","single-object","stable-poll","rest","graphql","one pull request by number, polled per Worker per iteration"),M("repo view","single-object","stable-poll","rest","graphql","one repository's own metadata, repeatedly read while usually unchanged"),M("run view","single-object","stable-poll","rest",Z("Actions runs have no GraphQL resource"),"one Actions run repeatedly polled to terminal"),M("release view","single-object","stable-poll","rest",Z("release lookup has no GraphQL client method"),"one release by tag, repeatedly checked while usually absent or unchanged"),M("pr diff","single-object","one-shot","rest",Z("the complete diff is exposed as a REST media type"),"one pull request's diff, read once for review"),M("issue list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged issue collection; REST can make an unchanged poll free"),M("pr list","multi-node","stable-poll","rest","graphql","a repeatedly polled, usually-unchanged pull-request collection; REST can make an unchanged poll free"),M("pr checks","multi-node","stable-poll","rest","graphql","check contexts are repeatedly polled while awaiting terminal state"),M("release list","multi-node","stable-poll","rest",Z("Releases has no GraphQL collection client method"),"release waits poll a usually-unchanged list"),M("run list","multi-node","stable-poll","rest",Z("Actions has no GraphQL collection client method"),"run waits poll a usually-unchanged list"),M("label list","multi-node","one-shot","graphql","rest","a label connection loaded once for the current operation"),M("issue list (search)","multi-node","stable-poll","search",Z("search is ineligible for diverted traffic"),"queue discovery polls usually-unchanged search results through the 30/min search connection"),M("pr list (search)","multi-node","stable-poll","search",Z("search is ineligible for diverted traffic"),"PR discovery polls usually-unchanged search results through the 30/min search connection"),M("search issues","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("search prs","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("search repos","multi-repository","one-shot","search",Z("search is ineligible for diverted traffic"),"a one-shot cross-repository read through the REST search endpoint, metered 30/min","rest"),M("api graphql","multi-node","one-shot","graphql",Z("the caller explicitly chose GraphQL"),"the caller supplies one explicit GraphQL query rather than a routed poll"),M("api rest","single-object","one-shot","rest",Z("the caller explicitly chose REST"),"the caller supplies one explicit REST path rather than a routed poll"),ee("issue create","rest","rest","the write plan POSTs to `repos/{o}/{r}/issues`; GraphQL exposes createIssue","graphql"),ee("issue edit","rest","rest","the write plan PATCHes labels and body; GraphQL exposes updateIssue","graphql"),ee("issue close","rest","rest","the write plan PATCHes issue state; GraphQL exposes closeIssue","graphql"),ee("issue reopen","graphql","graphql","gh uses reopenIssue; REST can PATCH the issue state to open","rest"),ee("issue comment","rest","rest","the write plan POSTs an issue comment; GraphQL exposes addComment","graphql"),ee("issue develop","graphql","graphql","linked-branch creation is a GraphQL mutation",Z("linked-branch creation has no REST mutation")),ee("pr create","rest","rest","the write plan POSTs a pull request; GraphQL exposes createPullRequest","graphql"),ee("pr comment","rest","rest","a pull request comment is an issue comment; GraphQL exposes addComment","graphql"),ee("pr merge","rest","rest","the default plan PUTs the merge; GraphQL exposes mergePullRequest","graphql"),ee("pr close","graphql","graphql","gh uses closePullRequest; REST can PATCH the pull request state","rest"),ee("pr edit","graphql","graphql","gh uses GraphQL mutations; REST can PATCH pull-request fields and issue labels","rest"),ee("pr ready","graphql","graphql","marking ready-for-review is a GraphQL mutation",Z("GitHub exposes no REST ready-for-review mutation")),ee("pr update-branch","rest","rest","the write plan PUTs update-branch; GraphQL exposes updatePullRequestBranch","graphql"),ee("label create","rest","rest","the write plan POSTs a label; GraphQL exposes createLabel","graphql")],D_=new Map(Sa.map(e=>[e.key,e]));var ss="RED_GITHUB_REQUEST_TIMEOUT_MS",ot=class extends Error{subject;timeoutMs;constructor(t,r,n){super(`GitHub ${t} passed its ${r}ms deadline and was abandoned; raise ${ss} if this host is genuinely this slow`,n),this.name="GithubTimeoutError",this.subject=t,this.timeoutMs=r}};function Ra(e){return e instanceof ot}function _r(e=process.env){let t=e[ss];if(t===void 0||t.trim()==="")return 3e4;let r=Number(t);return!Number.isFinite(r)||r<0?3e4:Math.trunc(r)}async function kr(e,t,r){if(!Number.isFinite(t)||t<=0)return await r();let n,s=new Promise((o,a)=>{n=setTimeout(()=>a(new ot(e,t)),t),n.unref?.()}),i=Promise.resolve().then(r);i.catch(()=>{});try{return await Promise.race([i,s])}finally{n!==void 0&&clearTimeout(n)}}function is(e={}){let t=e.fetchImpl??fetch,r=e.timeoutMs??_r();return!Number.isFinite(r)||r<=0?t:async(n,s)=>{let i=AbortSignal.timeout(r),o=s?.signal??null,a=o==null?i:AbortSignal.any([o,i]),c=wf(n);try{return await kr(c,r,async()=>await t(n,{...s??{},signal:a}))}catch(l){throw Ra(l)?l:i.aborted&&o?.aborted!==!0?new ot(c,r,{cause:l}):l}}}function wf(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 vr="off";var Aa="RED_GITHUB_BUDGET_GATE";function Ga(e){if(e===!0)return"on";if(typeof e!="string")return vr;let t=e.trim().toLowerCase();return t==="on"||t==="enabled"||t==="true"?"on":vr}function os(e){return(e??vr)==="on"}function as(e=process.env){return Ga(e[Aa])}import{execFile as Yf}from"node:child_process";import{promisify as Qf}from"node:util";var at=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}};function ve(e,t,r={}){return new at(e,t,r)}var Ef=/(?:^\uFEFF?|\n) *#/,cs=class{value;constructor(t){if(Ef.test(t))throw new TypeError(`Raw string must not contain a line starting with "#": ${JSON.stringify(t)}`);this.value=t}};function Me(e){return e instanceof cs}function Tf(e){return/^[+-]?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$/.test(e)}function _f(e){if(Object.is(e,-0))return"0";if(!Number.isFinite(e))throw ve(0,"number is not representable in TOON");return String(e)}function Sr(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"}function te(e,t){if(Me(e))return e.value;if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return _f(e);if(typeof e=="string")return vf(e,t);throw ve(0,"not a primitive")}function kf(e){return/^[A-Za-z_][A-Za-z0-9_.]*$/.test(e)}function X(e){return kf(e)?e:Rr(e)}function vf(e,t){return ls(e,t)?Rr(e):e}function ls(e,t){return e===""||/^[ \t]|[ \t]$/.test(e)||e==="true"||e==="false"||e==="null"||Tf(e)||/[:"\\[\]{}]/.test(e)||/[\u0000-\u001f]/.test(e)||e.includes(t)||e.startsWith("-")||e.startsWith("#")}var Oa=/["\\\u0000-\u001f]/g;function Rr(e){return`"${Pa(e)}"`}function Pa(e){let t="",r=0;Oa.lastIndex=0;let n;for(;(n=Oa.exec(e))!==null;){let s=e.charCodeAt(n.index),i;s===34?i='\\"':s===92?i="\\\\":s===10?i="\\n":s===13?i="\\r":s===9?i="\\t":i=`\\u${s.toString(16).padStart(4,"0")}`,t+=e.slice(r,n.index)+i,r=n.index+1}return`${t}${e.slice(r)}`}var Ca={comma:",",tab:" ",pipe:"|"},Sf=Ca.comma;var Ar=1e3,$a=["type","kind","event"],Ve="|";var rk=Symbol("need line");var Of=/[\uD800-\uDFFF]/;function be(e){if(e===null)return null;if(Me(e))return e;if(typeof e=="object"&&e!==null&&"toJSON"in e&&typeof e.toJSON=="function"){let t=e.toJSON();if(t!==e)return be(t)}if(typeof e=="string")return Na(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(be);if(e instanceof Set)return Array.from(e,be);if(e instanceof Map){let t={};for(let[r,n]of e)Gt(t,String(r),be(n));return t}if(J(e)){let t={};for(let r of Object.keys(e))Na(r,"object key"),Gt(t,r,be(e[r]));return t}return null}function Na(e,t){if(Of.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 J(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function le(e){return e===null||Me(e)||["string","number","boolean"].includes(typeof e)}function Gt(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function La(e){return encodeURIComponent(e)}function Da(e){if(!J(e))return;let t=Object.entries(e);if(t.length===0)return;let r=[];for(let[s,i]of t){let o=Cf(i);if(o===void 0)return;r.push([s,o])}let n=[];for(let[s,i]of r)Nf(n,s,i);return n.join("")}function Cf(e){if(!Array.isArray(e)||e.length===0||!e.every(J))return;let t=$f(e);if(t===void 0)return;let r=e.map(a=>a[t]),n=xf(r);if(n===void 0)return;let s=If(e,t),i=new Map;for(let a of e){let c=a[t];i.has(c)||i.set(c,[]);let l={};for(let[d,p]of Object.entries(a))if(d!==t&&!s.includes(d)&&!us(p,d,l))return;i.get(c).push(l)}let o=[];for(let a of n.cycle){let c=i.get(a),l=qf(c);if(l===void 0||l.length===0)return;o.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:o,order:n,rows:e}}function $f(e){return $a.find(t=>e.every(r=>typeof r[t]=="string"))}function xf(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((o,a)=>o===r[a%t]))continue;let n=e.length/t;if(n<3)continue;let s=e.map(La).join(","),i=`cycle(${r.map(La).join(",")})*${n}`;if(i.length<=s.length*.4)return{cycle:r,encoded:i,repeats:n}}}function If(e,t){let r=[],n=Object.keys(e[0]),s=n.indexOf(t)+1;for(let i of n.slice(s).filter(o=>o!==t)){if(!Lf(i)||!e.every(o=>Object.prototype.hasOwnProperty.call(o,i))||!e.every(o=>Sr(o[i])))break;r.push(i)}return r}function Nf(e,t,r){e.push(X(t),`:
|
|
142
142
|
`),e.push(" order: ",te(r.order.encoded,Ve),`
|
|
143
143
|
`),e.push(" discriminator: ",te(r.discriminator,Ve),`
|
|
144
144
|
`),e.push(" rows: ",String(r.rows.length),`
|
|
@@ -25,7 +25,7 @@ var NP=Object.create;var Ju=Object.defineProperty;var $P=Object.getOwnPropertyDe
|
|
|
25
25
|
`;return E+=k,a+=1,c+=1,l+=k.length,E},declareLane(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=EL(y),_=Rd(Yt,E),k=g(b);return aw(k.fields,E)?"":(k.fields=E,iw(b,_))},pushTagged(b,y){if(d)throw Y(0,"TOONL encoder is closed");let E=g(b),_=uw(lw(y),E.fieldsByShape),k=Rd(Yt,_),S=_.map(C=>ve(y[C],Yt)),T="";return aw(E.fields,_)||(E.fields=_,T+=iw(b,k)),`${T}${b}:${S.join(Yt)}
|
|
26
26
|
`},end(){return d?"":(d=!0,f())}}}var dw,pw,fw,Z4,e3,hw=w(()=>{zt();ga();oo();sn();dw=[Yt,"|"," "],pw=8,fw=/^[A-Za-z0-9_-]+$/,Z4=new TextEncoder,e3=new TextDecoder});var z,J=w(()=>{ga();oo();tw();zt();no();rw();oo();eo();sn();ma();ga();nw();hw();z=wd});function vL(e){return e==="no-op"?0:e==="usage"?2:1}function ee(e){return Buffer.from(`${M(vd(e))}
|
|
27
27
|
`)}function vd(e){let t={command:e.command,category:e.category,exit_code:e.exitCode??vL(e.category),error:e.error,help:[e.help]};return e.validFlags&&e.validFlags.length>0&&(t.valid_flags=[...e.validFlags]),e.diagnostics&&(t.diagnostics=TL(e.diagnostics,3)),t}function Ue(e,t,r){let s=([r,t].find(i=>i.trim())??"").trim(),o=s.toLowerCase();return/\bgh\b/.test(e)&&rb(s)?{command:e,category:"transient",error:io(s)||"GitHub API rate limit exceeded",help:tb,diagnostics:s}:/\bgh\b/.test(e)&&(o.includes("gh_token")||o.includes("not logged in")||o.includes("authentication"))?{command:e,category:"real-error",error:io(s)||"GitHub authentication failed",help:"gh auth login",diagnostics:s}:o.includes("not a git repository")?{command:e,category:"real-error",error:io(s)||"not a git repository",help:"git status",diagnostics:s}:o.includes("repository not found")||o.includes("could not resolve host")?{command:e,category:"real-error",error:io(s)||"repository is unavailable",help:e.startsWith("gh ")?"gh repo view":"git remote -v",diagnostics:s}:{command:e,category:"real-error",error:io(s)||"command failed",help:`${e} --help`,diagnostics:s}}function gw(e,t,r,n){return ee({command:e,category:"usage",error:`unknown flag: ${t}`,help:n,validFlags:r})}function io(e){return e.split(/\r?\n/,1)[0]?.trim()??""}function TL(e,t){return e.split(/\r?\n/).slice(0,t).join(`
|
|
28
|
-
`).trim()}var bt=w(()=>{"use strict";nb();J()});function Ea(e){let t={app:e,version:$L(Kn("__RED_BUILD_VERSION__",()=>"4.4.
|
|
28
|
+
`).trim()}var bt=w(()=>{"use strict";nb();J()});function Ea(e){let t={app:e,version:$L(Kn("__RED_BUILD_VERSION__",()=>"4.4.1")??"0.0.0-dev"),gitSha:Kn("__RED_BUILD_GIT_SHA__",()=>"99caf4932429974b90213c98ae8b061fd58949d5")??"unknown",buildTime:Kn("__RED_BUILD_TIME__",()=>"2026-08-25T13:06:29-03:00")??"unknown",bundleAsset:Kn("__RED_BUNDLE_ASSET__",()=>"rsp-core.bundle.min.mjs")??"unknown"},r=Kn("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Kn("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function $L(e){return e.startsWith("v")?e.slice(1):e}function vw(e){return`${e.app} ${e.version} ${e.gitSha}`}function Kn(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var xd=w(()=>{});import{isAbsolute as FL,join as Qt,resolve as Od}from"node:path";function jL(e){if(!e)throw new Error("root is required");return e.replace(/\/$/,"")}function xw(e){return Qt(jL(e),Tw)}function Ow(e){return Qt(xw(e),"state")}function Aw(e){return Qt(xw(e),"tmp")}function ce(e){return Qt(Ow(e),"rsp")}function qL(e){return Qt(Ow(e),"red-skills.rdb")}function UL(e){return Qt(Aw(e),"red-skills.rdb")}function Iw(e,t){let r=qL(e);if(t(r))return r;let n=UL(e);if(t(n))throw HL();return r}function HL(){return new Error("Legacy shared store found at .red/tmp/red-skills.rdb. Run `rsp setup` to migrate it to .red/state/red-skills.rdb before using rsp, memory, or brain.")}function Lw(e){return Qt(Aw(e),"waits")}function Gw(e){let t=e.overrideEnvVars??Ad;for(let n of t){let s=e.env[n];if(s)return FL(s)?s:Od(e.startDir,s)}let r=Od(e.startDir);for(;;){if(e.exists(Qt(r,Tw)))return r;let n=Qt(r,".."),s=Od(n);if(s===r)break;r=s}return e.startDir}var Tw,ML,BL,Ad,Cw,Pw,et=w(()=>{Tw=".red",ML="MEMORY_ROOT",BL="RED_BRAIN_ROOT",Ad=[ML,BL];Cw=".red/state/red-skills.rdb";Pw=".red/tmp/red-skills.rdb"});function ge(e){return M(e)}var WL,VL,V3,Xt=w(()=>{J();et();WL=[{id:"memory.config",plugin:"memory",legacyPath:".red/memory/config.json",toonPath:".red/memory/config.toon",kind:"toon"}],VL=[{id:"dev.afk-history",plugin:"dev",legacyPath:".red/state/afk-history.jsonl",toonPath:".red/state/castle/history.toonl",kind:"toonl"},{id:"dev.agent-log",plugin:"dev",legacyPath:".red/tmp/agent.log.toonl",toonPath:".red/tmp/agent.log.toonl",kind:"toonl"},{id:"dev.supervisor-firehose",plugin:"dev",legacyPath:".red/tmp/afk-supervisor.log.toonl",toonPath:".red/tmp/supervisors/default/supervisor.log.toonl",kind:"toonl",migration:"sniff-read"},{id:"dev.code-understanding-bench-runs",plugin:"dev",legacyPath:".red/tmp/bench/code-understanding/runs.jsonl",toonPath:".red/tmp/bench/code-understanding/runs.toonl",kind:"toonl"},{id:"dev.attempt-state",plugin:"dev",legacyPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",toonPath:".red/tmp/{workers,go-workers,scout-workers}/*/*/afk.state.toon",kind:"toon"},{id:"dev.statusline-count-cache",plugin:"dev",legacyPath:".red/tmp/statusline-cache.json",toonPath:".red/state/statusline/statusline-cache.toon",kind:"toon"},{id:"dev.statusline-repo-cache",plugin:"dev",legacyPath:".red/tmp/statusline-repo-cache.json",toonPath:".red/state/statusline/statusline-repo-cache.toon",kind:"toon"},{id:"dev.rsp-resident-registry",plugin:"dev",legacyPath:".red/state/rsp/rsp-resident.pid.json",toonPath:".red/state/rsp/rsp-resident.pid.toon",kind:"toon"},{id:"dev.rsp-status-summary",plugin:"dev",legacyPath:".red/state/rsp/rsp-status-summary.json",toonPath:".red/state/rsp/rsp-status-summary.toon",kind:"toon"},{id:"dev.rsp-wait-registry",plugin:"dev",legacyPath:".red/tmp/waits/*.json",toonPath:".red/tmp/waits/*.toon",kind:"toon"}],V3=[...WL,...VL]});function ao(e){let{values:t,rest:r}=Zr(e,{query:Dw.query},Nw);return{argv:r,query:t.query?.trim()||void 0}}function $w(e){let{values:t,rest:r}=Zr(e,Dw,Nw);return{argv:r,query:t.query?.trim()||void 0,full:t.full===!0}}function JL(e,t){if(!t)return!0;let r=Cd(e).toLowerCase();return t.toLowerCase().split(/\s+/).filter(Boolean).every(n=>r.includes(n))}function Le(e,t){return t?e.filter(r=>JL(r,t)):[...e]}function Zt(e,t){return Pd(e,t,{includeLegacyHelp:!0})}function Pd(e,t,r={}){let n=t.filter(Boolean);return n.length===0?e:{...e,...r.includeLegacyHelp?{help:n}:{},next_steps:n}}function Cd(e){return Array.isArray(e)?e.map(Cd).join(" "):typeof e=="object"&&e!==null?Object.values(e).map(Cd).join(" "):String(e??"")}var Dw,Nw,co=w(()=>{"use strict";Qu();Dw={query:{kind:"value",coerce:e=>e},full:{kind:"boolean"}},Nw={stopAtSeparator:!1}});var Aa={};se(Aa,{DEFAULT_RSP_MAX_OVERHEAD_MS:()=>ka,DEFAULT_RSP_MAX_SELF_STATE_BYTES:()=>Sa,DEFAULT_RSP_OVERHEAD_CEILING:()=>er,DEFAULT_RSP_OVERHEAD_CONSECUTIVE_BREACHES:()=>va,DEFAULT_RSP_OVERHEAD_COOLDOWN_MS:()=>Ta,DEFAULT_RSP_OVERHEAD_NET_LOSS_FLOOR_BYTES:()=>Ra,RSP_OVERHEAD_FAMILIES:()=>eG,RSP_OVERHEAD_LEDGER_FILE:()=>Bw,RSP_OVERHEAD_SCHEMA_VERSION:()=>jw,classifyOverheadSample:()=>Gd,noteChildProcessMs:()=>Uw,noteSelfStateBytesRead:()=>uo,overheadCounters:()=>Md,overheadFamilyDisabled:()=>tG,overheadHealth:()=>wr,overheadLedgerPath:()=>Dd,overheadMsOf:()=>qw,overheadTelemetryFields:()=>xa,readOverheadLedger:()=>lo,readSelfStateFile:()=>Oa,readSelfStateFileSync:()=>sG,recordOverheadSample:()=>Nd,resetOverheadCounters:()=>nG,resetOverheadLedger:()=>rG,startChildProcessTimer:()=>tt});import{existsSync as KL,mkdirSync as zL,readFileSync as Fw,renameSync as YL,writeFileSync as QL}from"node:fs";import{readFile as XL}from"node:fs/promises";import{dirname as ZL,join as Mw}from"node:path";function qw(e){let t=e.wrapperMs-e.childMs;return Number.isFinite(t)?Math.max(0,Ld(t)):0}function Gd(e,t=er){let r=qw(e),n=[];return r>t.maxOverheadMs&&n.push("wall-clock-ceiling"),e.selfStateBytesRead>t.maxSelfStateBytes&&n.push("self-state-byte-ceiling"),e.selfStateBytesRead>t.netLossFloorBytes&&e.selfStateBytesRead>e.bytesSaved&&n.push("overhead-exceeds-savings"),{overhead_ms:r,breached:n.length>0,reasons:n}}function xa(e,t=er){let r=Gd(e,t);return{wrapper_ms:Ld(e.wrapperMs),overhead_ms:r.overhead_ms,child_ms:Ld(Math.max(0,e.childMs)),self_state_bytes_read:Math.max(0,Math.trunc(e.selfStateBytesRead)),bytes_saved:Math.max(0,Math.trunc(e.bytesSaved)),overhead_breached:r.breached,overhead_breach_reasons:r.reasons.join(",")}}function Dd(e){return Mw(ce(e),Bw)}function lo(e){try{let t=Fw(Dd(e),"utf8"),r=cG(t);if(lG(r))return r}catch{}return{version:1,families:{}}}function Nd(e,t,r=er,n=Date.now()){let s=lo(e),o=Gd(t,r),i=s.families[t.family]??aG(t.family,n),a=Bd(i,n)?Hw(i):i,c=o.breached?a.consecutive_breaches+1:0,l={...a,family:t.family,invocations:a.invocations+1,breaches:a.breaches+(o.breached?1:0),consecutive_breaches:c,breached:o.breached,reasons:o.reasons,last_overhead_ms:o.overhead_ms,last_self_state_bytes_read:Math.max(0,Math.trunc(t.selfStateBytesRead)),last_bytes_saved:Math.max(0,Math.trunc(t.bytesSaved)),updated_at:new Date(n).toISOString()};return o.breached?c>=r.consecutiveBreaches&&(l.disabled=!0,l.disabled_at=new Date(n).toISOString(),l.disabled_until=new Date(n+r.cooldownMs).toISOString(),l.disabled_reason=oG(t.family,c,o,r)):(l.disabled=!1,l.disabled_at=null,l.disabled_until=null,l.disabled_reason=null),s.families[t.family]=l,Ww(e,s),l}function tG(e,t,r=Date.now()){let n=lo(e).families[t];return!n?.disabled||Bd(n,r)?null:n}function rG(e,t){let r=lo(e);return t?delete r.families[t]:r.families={},Ww(e,r),r}function wr(e,t=er,r=Date.now()){let n=Object.values(lo(e).families).map(a=>Bd(a,r)?Hw(a):a).sort((a,c)=>a.family.localeCompare(c.family)),s=n.filter(a=>a.disabled),o=n.filter(a=>a.consecutive_breaches>0),i=s.length>0||o.length>0?"red":"green";return{schema_version:jw,verdict:i,summary:iG(i,s,o),ceiling:t,breaching_families:o,disabled_families:s,families:n}}function uo(e){Number.isFinite(e)&&e>0&&($d+=e)}function Uw(e){Number.isFinite(e)&&e>0&&(Fd+=e)}function Md(){return{selfStateBytesRead:$d,childMs:Fd}}function nG(){$d=0,Fd=0}function tt(){let e=process.hrtime.bigint(),t=!1;return()=>{t||(t=!0,Uw(Number(process.hrtime.bigint()-e)/1e6))}}async function Oa(e){let t=await XL(e,"utf8");return uo(Buffer.byteLength(t)),t}function sG(e){let t=Fw(e,"utf8");return uo(Buffer.byteLength(t)),t}function oG(e,t,r,n){let s=r.reasons.map(o=>o==="wall-clock-ceiling"?`added ${r.overhead_ms}ms > ${n.maxOverheadMs}ms`:o==="self-state-byte-ceiling"?`self-state read > ${n.maxSelfStateBytes}B`:"self-state read exceeded bytes saved").join("; ");return`rsp ${e} exceeded its overhead ceiling on ${t} consecutive invocations (${s}); wrapper self-disabled, commands pass through raw`}function iG(e,t,r){if(e==="green")return"every wrapper family is inside its overhead ceiling";let n=[];return t.length>0&&n.push(`self-disabled: ${t.map(s=>`${s.family} (${s.reasons.join(",")||"ceiling"})`).join(", ")}`),r.length>0&&n.push(`breaching: ${r.map(s=>`${s.family} x${s.consecutive_breaches}`).join(", ")}`),n.join("; ")}function Bd(e,t){if(!e.disabled||!e.disabled_until)return!1;let r=Date.parse(e.disabled_until);return Number.isFinite(r)&&r<=t}function Hw(e){return{...e,disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,consecutive_breaches:0,breached:!1,reasons:[]}}function aG(e,t){return{family:e,invocations:0,breaches:0,consecutive_breaches:0,breached:!1,reasons:[],disabled:!1,disabled_at:null,disabled_until:null,disabled_reason:null,last_overhead_ms:0,last_self_state_bytes_read:0,last_bytes_saved:0,updated_at:new Date(t).toISOString()}}function Ww(e,t){try{let r=Dd(e);if(!KL(Mw(e,".red")))return;zL(ZL(r),{recursive:!0});let n=`${r}.${process.pid}.tmp`;QL(n,`${M(t)}
|
|
29
29
|
`,{encoding:"utf8",mode:384}),YL(n,r)}catch{}}function cG(e){try{return JSON.parse(e)}catch{return z(e)}}function lG(e){return!Id(e)||e.version!==1||!Id(e.families)?!1:Object.values(e.families).every(uG)}function uG(e){return Id(e)&&typeof e.family=="string"&&typeof e.consecutive_breaches=="number"&&typeof e.disabled=="boolean"}function Id(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ld(e){return Number.isFinite(e)?Math.round(e*1e3)/1e3:0}var Bw,jw,ka,Sa,Ra,va,Ta,eG,er,$d,Fd,we=w(()=>{"use strict";et();J();Bw="overhead-budget.toon",jw="red.rsp.overhead.v1",ka=250,Sa=1024*1024,Ra=64*1024,va=3,Ta=6*60*60*1e3,eG=["git","gh","gh-api-json","vitest","cargo","cat","exec","proxy"],er={maxOverheadMs:ka,maxSelfStateBytes:Sa,netLossFloorBytes:Ra,consecutiveBreaches:va,cooldownMs:Ta};$d=0,Fd=0});function Kw(e){let t=e.trimStart()[0];return t==="{"||t==="["?"json":"toon"}function Ud(e){let t=0;for(;e[t]===`
|
|
30
30
|
`||e[t]==="\r";)t+=1;let r=e.slice(t);if(r==="")return null;let n=Kw(r);if(n==="json"){let o=r.indexOf(`
|
|
31
31
|
`);return o<0?null:{frame:r.slice(0,o),dialect:n,rest:r.slice(o+1)}}let s=r.indexOf(`
|
package/dist/rsp.bundle.min.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
3
3
|
import{spawn as L}from"node:child_process";import{isUtf8 as te}from"node:buffer";async function _(e,n=t=>t){let t=[],r=[];return e.stdout?.on("data",i=>t.push(Buffer.from(i))),e.stderr?.on("data",i=>r.push(Buffer.from(i))),await new Promise(i=>{let c=!1,o=async(a,s)=>{if(c)return;c=!0;let l=Buffer.concat(t),u=l;if(l.length>0&&te(l))try{u=await n(l)}catch{}if(process.stdout.write(u),process.stderr.write(Buffer.concat(r)),s){process.kill(process.pid,s),i(128);return}i(a??0)};e.once("error",a=>{r.push(Buffer.from(`${a instanceof Error?a.message:String(a)}
|
|
4
|
-
`)),o(127,null)}),e.once("close",(a,s)=>void o(a,s))})}var re=new Set(["dashboard","stats","gains","show","git","gh","vitest","cargo","cat","exec","wait","doctor","status","sweep","setup","mcp","shell-init","server","warm-resident","gh-api-json","hook"]);function R(e){let n=e[0];if(n==="--full"||n==="--brief"||n==="--terse")return e[1]!=="--"||!e[2]?null:{kind:"argv",argv:[...e.slice(2)],level:n.slice(2)};if(!n||n.startsWith("-"))return n!=="--"||!e[1]?null:{kind:"argv",argv:[...e.slice(1)],level:"automatic"};if(n==="proxy"){if(process.env.RSP_PROXY_FAIL_INTERNAL==="1")return null;let t=e.indexOf("--"),r=t>=0?e.slice(1,t):[];if(r.some(a=>a!=="--full"&&a!=="--brief"&&a!=="--terse"))return null;let i=t>=0?e.slice(t+1):e.slice(1);if(i.length!==1||!i[0]?.trim())return null;let c=i[0];if(ie(c))return null;let o=r.includes("--terse")?"terse":r.includes("--brief")?"brief":r.includes("--full")?"full":"automatic";return{kind:"shell",commandLine:c,level:o}}return re.has(n)?null:{kind:"argv",argv:[...e],level:"automatic"}}async function I(e,n){let t=e.kind==="argv"?L(e.argv[0],e.argv.slice(1),{stdio:["inherit","pipe","pipe"]}):L(e.commandLine,{shell:!0,stdio:["inherit","pipe","pipe"]});return await _(t,n)}function ie(e){return/(?:^|&&|\|\||[;|])\s*(?:(?:[A-Za-z_][A-Za-z0-9_]*=[^\s]+|env)\s+)*(?:git\s+(?:status|log|diff|show|blame|branch\s+-av)(?:\s|$)|gh\s+(?:pr|issue|run)\s+(?:list|view)(?:\s|$)|vitest(?:\s|$)|cargo\s+test(?:\s|$)|(?:cat|head|tail)\s+)/.test(e)}function F(e){let n={app:e,version:oe(x("__RED_BUILD_VERSION__",()=>"4.4.
|
|
4
|
+
`)),o(127,null)}),e.once("close",(a,s)=>void o(a,s))})}var re=new Set(["dashboard","stats","gains","show","git","gh","vitest","cargo","cat","exec","wait","doctor","status","sweep","setup","mcp","shell-init","server","warm-resident","gh-api-json","hook"]);function R(e){let n=e[0];if(n==="--full"||n==="--brief"||n==="--terse")return e[1]!=="--"||!e[2]?null:{kind:"argv",argv:[...e.slice(2)],level:n.slice(2)};if(!n||n.startsWith("-"))return n!=="--"||!e[1]?null:{kind:"argv",argv:[...e.slice(1)],level:"automatic"};if(n==="proxy"){if(process.env.RSP_PROXY_FAIL_INTERNAL==="1")return null;let t=e.indexOf("--"),r=t>=0?e.slice(1,t):[];if(r.some(a=>a!=="--full"&&a!=="--brief"&&a!=="--terse"))return null;let i=t>=0?e.slice(t+1):e.slice(1);if(i.length!==1||!i[0]?.trim())return null;let c=i[0];if(ie(c))return null;let o=r.includes("--terse")?"terse":r.includes("--brief")?"brief":r.includes("--full")?"full":"automatic";return{kind:"shell",commandLine:c,level:o}}return re.has(n)?null:{kind:"argv",argv:[...e],level:"automatic"}}async function I(e,n){let t=e.kind==="argv"?L(e.argv[0],e.argv.slice(1),{stdio:["inherit","pipe","pipe"]}):L(e.commandLine,{shell:!0,stdio:["inherit","pipe","pipe"]});return await _(t,n)}function ie(e){return/(?:^|&&|\|\||[;|])\s*(?:(?:[A-Za-z_][A-Za-z0-9_]*=[^\s]+|env)\s+)*(?:git\s+(?:status|log|diff|show|blame|branch\s+-av)(?:\s|$)|gh\s+(?:pr|issue|run)\s+(?:list|view)(?:\s|$)|vitest(?:\s|$)|cargo\s+test(?:\s|$)|(?:cat|head|tail)\s+)/.test(e)}function F(e){let n={app:e,version:oe(x("__RED_BUILD_VERSION__",()=>"4.4.1")??"0.0.0-dev"),gitSha:x("__RED_BUILD_GIT_SHA__",()=>"99caf4932429974b90213c98ae8b061fd58949d5")??"unknown",buildTime:x("__RED_BUILD_TIME__",()=>"2026-08-25T13:06:29-03:00")??"unknown",bundleAsset:x("__RED_BUNDLE_ASSET__",()=>"rsp.bundle.min.mjs")??"unknown"},t=x("__REDDB_SDK_VERSION__",()=>"1.23.1"),r=x("__REDDB_BINARY_TAG__",()=>"v1.23.1");return t&&(n.reddbSdkVersion=t),r&&(n.reddbBinaryTag=r),n}function oe(e){return e.startsWith("v")?e.slice(1):e}function N(e){return`${e.app} ${e.version} ${e.gitSha}`}function x(e,n){try{let t=n();return typeof t=="string"&&t.length>0?t:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}var D={"=":"data",":=":{to:"data",typed:!0},":":"meta"},se=/^[a-z][a-z0-9+.-]*:\/\//i;function ce(e,n){return typeof n=="string"?{separator:e,to:n,typed:!1,prefix:!1}:{separator:e,to:n.to,typed:n.typed??!1,prefix:n.prefix??!1}}function ae(e=D){return Object.entries(e).map(([n,t])=>ce(n,t)).sort((n,t)=>t.separator.length-n.separator.length)}function ue(e){return/^-\d+(\.\d+)?$/.test(e)}function O(e){return!(!e||e.startsWith("-")&&!ue(e))}function k(e){if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;let n=Number(e);return!Number.isNaN(n)&&Number.isFinite(n)&&e.trim()!==""?n:e}function P(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 n=Number(e);return!Number.isNaN(n)&&Number.isFinite(n)&&e.trim()!==""?n:e.includes(",")?e.split(",").map(t=>P(t.trim())):e}function w(e,n){switch(n){case"boolean":return le(e);case"number":return fe(e);case"array":return e.split(",").map(t=>k(t.trim()));case"string":default:return e}}function le(e){let n=e.toLowerCase().trim();return n==="true"||n==="yes"||n==="1"||n==="on"}function fe(e){if(e.trim()==="")throw new TypeError(`Cannot convert "${e}" to number`);let n=Number(e);if(Number.isNaN(n))throw new TypeError(`Cannot convert "${e}" to number`);return n}function b(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}function de(e,n={}){return e.map(t=>{let r=n[t.type];return r?r(t.value):t.value}).join("")}function d(e,n){return{type:e,value:n}}function pe(e){let n=[],t=he(e);if(n.push(d("section-header","Usage:"),d("text"," "),d("usage-text",t),d("newline",`
|
|
5
5
|
`),d("newline",`
|
|
6
6
|
`)),e.positional&&e.positional.length>0){n.push(d("section-header","Arguments:"),d("newline",`
|
|
7
7
|
`));for(let r of e.positional)if(r.description){let i=r.variadic?`${r.name}...`:r.name;n.push(d("indent"," "),d("positional-name",`<${i}>`)),r.required||n.push(d("positional-optional"," (optional)")),n.push(d("newline",`
|
|
@@ -47,7 +47,7 @@ var zl=Object.create;var Co=Object.defineProperty;var Yl=Object.getOwnPropertyDe
|
|
|
47
47
|
`))}if(e.options&&Object.keys(e.options).length>0){t.push(A("section-header","Options:"),A("newline",`
|
|
48
48
|
`));let n=qf(e.options);t.push(...n)}return t}function Hf(e,t){let r=Uf(e);return Bf(r,t)}function Wf(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 qf(e,t=!1){let r=[],n=[],o=t?"global-option-flag":"option-flag",s=t?"global-option-type":"option-type",i=t?"global-option-default":"option-default",a=t?"global-option-description":"option-description";for(let[u,c]of Object.entries(e)){if(c.hidden)continue;let p=[],m=S=>{p.includes(S)||p.push(S)};c.short&&m(`-${c.short}`),m(`--${u}`);for(let S of c.aliases??[])S.length===1?m(`-${S}`):m(`--${S}`);let b=p.join(", "),_=c.type&&c.type!=="boolean"?`<${c.type}>`:void 0;n.push({flags:b,type:_,desc:c.description??"",default:c.default!==void 0?String(c.default):void 0})}let l=Math.max(...n.map(u=>u.flags.length+(u.type?u.type.length+1:0)),20);for(let u of n){let c=u.flags.length+(u.type?u.type.length+1:0),p=" ".repeat(l-c+2);r.push(A("indent"," ")),r.push(A(o,u.flags)),u.type&&(r.push(A("text"," ")),r.push(A(s,u.type))),r.push(A("text",p)),r.push(A(a,u.desc)),u.default!==void 0&&(r.push(A("text"," ")),r.push(A(i,`(default: ${u.default})`))),r.push(A("newline",`
|
|
49
49
|
`))}return r}function yl(e){let t=Xf(e.options??{},e.autoShort??!1),r=Cf(e.separators??gl);return{schema:e,parse(n){return Kf(n,e,t,r)},help(){return Hf(e,e.formatter)}}}function Kf(e,t,r,n){let o={positional:{},options:{},errors:[],rest:[]},s=new Set(n.map(c=>c.to));for(let c of s)o[c]={};let i=0,a=t.positional??[],l=0,u=!1;for(;l<e.length;){let c=e[l];if(t.stopEarly&&i>0){o.rest=e.slice(l);break}if(c==="--"&&!u){u=!0,l++;continue}if(u){if(i<a.length){let m=a[i];if(m.variadic){let b=[];for(;l<e.length;){let _=e[l];b.push(m.type?Be(_,m.type):_),l++}o.positional[m.name]=b,i++}else{let b=m.type?Be(c,m.type):c;o.positional[m.name]=b,i++,l++}}else t.allowUnknown!==!1&&(o.rest=o.rest??[],o.rest.push(c)),l++;continue}if(c.startsWith("--")){l=Yf(c,l,e,o,r,t);continue}if(c.startsWith("-")&&c.length>1&&!ng(c)){l=Qf(c,l,e,o,r,t);continue}let p=Vf(c,n);if(p){let{key:m,value:b,config:_}=p,S=o,v=S[_.to]??(S[_.to]={});v[m]=_.typed?hl(b):Se(b),l++;continue}if(i<a.length){let m=a[i];if(m.variadic){let _=[];for(;l<e.length&&!e[l].startsWith("-");){let S=e[l];_.push(m.type?Be(S,m.type):S),l++}o.positional[m.name]=_,i++;continue}let b=m.type?Be(c,m.type):c;o.positional[m.name]=b,i++}else t.allowUnknown!==!1?o.rest.push(c):o.errors.push(`Unexpected positional argument: ${c}`);l++}return eg(o,t,r),tg(o,t,a),rg(o,t,r),o}function Vf(e,t){if(If.test(e))return null;for(let r of t){if(r.prefix&&e.startsWith(r.separator)){let o=e.slice(r.separator.length),s=o.indexOf(":");if(s>0){let i=o.slice(0,s),a=o.slice(s+1);if(Jf(i))return{key:i,value:a,config:r}}continue}let n=e.indexOf(r.separator);if(n>0){let o=e.slice(0,n),s=e.slice(n+r.separator.length);if(zf(o,s,r))return{key:o,value:s,config:r}}}return null}function Jf(e){return e?/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e):!1}function zf(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 Yf(e,t,r,n,o,s){let i=e.slice(2);if(i.startsWith("no-")){let l=i.slice(3),u=o.get(l);if(u?.negatable!==!1&&u?.type==="boolean")return n.options[u.name]=!1,t+1}if(i.includes("=")){let l=i.indexOf("="),u=i.slice(0,l),c=i.slice(l+1);return lr(u,c,t+1,n,o,s)}let a=o.get(i);if(a){if(a.type!=="boolean"){let l=r[t+1];return _t(l)?lr(a.name,l,t+2,n,o,s):(n.errors.push(`Option --${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}return s.strict?n.errors.push(`Unknown option: --${i}`):s.allowUnknown!==!1&&(n.options[i]=!0),t+1}function Qf(e,t,r,n,o,s){let i=e.slice(1);if(i.includes("=")){let a=i.indexOf("="),l=i.slice(0,a),u=i.slice(a+1),c=ao(l,o);return c?lr(c.name,u,t+1,n,o,s):(s.strict?n.errors.push(`Unknown option: -${l}`):s.allowUnknown!==!1&&(n.options[l]=ar(Se(u))),t+1)}if(i.length===1){let a=ao(i,o);if(a){if(a.type!=="boolean"){let l=r[t+1];return _t(l)?lr(a.name,l,t+2,n,o,s):(n.errors.push(`Option -${i} requires a value`),t+1)}return n.options[a.name]=!0,t+1}if(s.strict)n.errors.push(`Unknown option: -${i}`);else if(s.allowUnknown!==!1){let l=r[t+1];if(_t(l))return n.options[i]=ar(Se(l)),t+2;n.options[i]=!0}return t+1}for(let a of i){let l=ao(a,o);l?l.type==="boolean"?n.options[l.name]=!0:n.errors.push(`Option -${a} requires a value`):s.strict?n.errors.push(`Unknown option: -${a}`):s.allowUnknown!==!1&&(n.options[a]=!0)}return t+1}function lr(e,t,r,n,o,s){let i=o.get(e);if(i){if(i.choices){let l=i.type?Be(Se(t),i.type):Se(t);if(!i.choices.includes(l))return n.errors.push(`Invalid value for '${e}': '${t}'. Allowed: ${i.choices.join(", ")}`),r}let a=i.type?Be(Se(t),i.type):Se(t);if(i.type==="array"){let l=n.options[e];Array.isArray(l)?l.push(...a):n.options[e]=a}else n.options[e]=a}else s.strict?n.errors.push(`Unknown option: --${e}`):s.allowUnknown!==!1&&(n.options[e]=ar(Se(t)));return r}function Xf(e,t=!1){let r=new Map,n=Object.entries(e).sort(([s],[i])=>s.localeCompare(i)),o=new Set;for(let[,s]of n)s.short&&o.add(s.short);for(let[s,i]of n){let a=i.short??"";t&&!a&&(a=Zf(s,o),a&&o.add(a));let l={name:s,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(s,l);for(let u of l.aliases)r.set(u,l)}return r}function Zf(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 o=r.toUpperCase();if(!t.has(o))return o}return""}function ao(e,t){for(let r of t.values())if(r.short===e||r.aliases.includes(e))return r}function eg(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 o=process.env[n.env];e.options[n.name]=n.type?Be(o,n.type):o}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 tg(e,t,r){if(t.options)for(let[n,o]of Object.entries(t.options))o.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 rg(e,t,r){for(let n of r.values()){let o=e.options[n.name];if(n.validate&&o!==void 0){let s=n.validate(o);s!==!0&&e.errors.push(s)}}for(let n of t.positional??[]){let o=e.positional[n.name];if(n.validate&&o!==void 0){let s=n.validate(o);s!==!0&&e.errors.push(s)}}}function ng(e){return/^-\d+(\.\d+)?$/.test(e)}var lo=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}};function og(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 sg(e,t){let r=new Map;for(let[o,s]of Object.entries(t))if(!(s.kind!=="value"||s.type!=="array")){r.set(o,o);for(let i of s.aliases??[])r.set(i,o)}let n=new Map;for(let o=0;o<e.length;o+=1){let s=e[o];if(s==="--")break;let i=s.match(/^--([^=]+)(?:=(.*))?$/)??s.match(/^-([^=])(?:=(.*))?$/);if(i===null)continue;let a=r.get(i[1]);if(a===void 0)continue;let l=i[2];if(l===void 0&&_t(e[o+1])&&(l=e[o+1],o+=1),l===void 0)continue;let u=n.get(a)??[];u.push(l),n.set(a,u)}return n}function bl(e,t,r={}){let o=yl({options:og(t),separators:{},allowUnknown:!0}).parse([...e]),s={},i=sg(e,t),a=o.errors.find(l=>/^Option --?\S+ requires a value$/.test(l));if(a!==void 0)throw new Error(a.replace(/^Option /,""));if(o.errors.length>0)throw new Error(o.errors[0]);if(r.unknownFlags==="error"){let l=new Set(Object.keys(t));for(let u of Object.keys(o.options))if(!l.has(u))throw new lo(u.length===1?`-${u}`:`--${u}`,Object.keys(t).map(c=>c.length===1?`-${c}`:`--${c}`))}for(let[l,u]of Object.entries(t)){let c=o.options[l];c!==void 0&&(u.kind==="boolean"?s[l]=c:u.type==="array"?s[l]=(i.get(l)??[]).map(p=>u.coerce(p)):s[l]=u.coerce(String(c)))}return{values:s,positionals:o.rest}}import{existsSync as ig,readFileSync as KA}from"node:fs";import{dirname as ag,join as lg}from"node:path";function _l(e,t){let r=e;for(let n=0;n<16;n++){let o=lg(r,t);if(ig(o))return o;let s=ag(r);if(s===r)break;r=s}return null}function dg(e){let t=e.indexOf(" #");return(t>=0?e.slice(0,t):e).trim()}function dr(e,t){let r=[];for(let n of e.split(`
|
|
50
|
-
`)){let o=n.replace(/\r$/,""),s=o.trim();if(!s||s.startsWith("#"))continue;let i=o.indexOf(":");if(i<0)continue;let a=o.length-o.trimStart().length,l=o.slice(0,i).trim();if(!l)continue;let u=o.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:l}),u&&r.map(p=>p.key).join(".")===t)return dg(u)}}var ug="plugins.dev.statusline",cg="dev.statusline";function pg(e){let t=[],r=a=>{for(let l of[ug,cg]){let u=`${l}.${a}`,c=dr(e,u)?.trim();if(c!=null&&c!=="")return{key:u,value:c}}},n=r("mode"),o={};n!=null&&(n.value==="local"||n.value==="global"?o.mode=n.value:t.push({...n,reason:"expected `local` or `global`"}));let s=[{leaf:"max_workers",assign:a=>{o.maxWorkers=a}},{leaf:"max_projects",assign:a=>{o.maxProjects=a}},{leaf:"max_width",assign:a=>{o.maxWidth=a}}];for(let a of s){let l=r(a.leaf);if(l==null)continue;let u=Number(l.value);Number.isInteger(u)&&u>=0?a.assign(u):t.push({...l,reason:"expected a whole number of zero or more"})}let i=r("verbose");return i!=null&&(i.value==="true"||i.value==="false"?o.verbose=i.value==="true":t.push({...i,reason:"expected `true` or `false`"})),{config:o,warnings:t}}var mg={mode:{kind:"value",coerce:e=>e},verbose:{kind:"boolean"},project:{kind:"value",coerce:e=>e},"max-workers":{kind:"value",coerce:e=>e},"max-projects":{kind:"value",coerce:e=>e},"max-width":{kind:"value",coerce:e=>e}};function kl(e){let{values:t,positionals:r}=bl(e,mg),n=[],o={},s=t.mode??r.find(a=>a==="global"||a==="local");s!=null&&(s==="local"||s==="global"?o.mode=s:n.push({key:"--mode",value:s,reason:"expected `local` or `global`"})),t.project!=null&&(o.project=t.project),t.verbose!==void 0&&(o.verbose=t.verbose===!0);let i=[{flag:"max-workers",assign:a=>{o.maxWorkers=a}},{flag:"max-projects",assign:a=>{o.maxProjects=a}},{flag:"max-width",assign:a=>{o.maxWidth=a}}];for(let a of i){let l=t[a.flag];if(l==null)continue;let u=Number(l);Number.isInteger(u)&&u>=0?a.assign(u):n.push({key:`--${a.flag}`,value:l,reason:"expected a whole number of zero or more"})}return{flags:o,warnings:n}}function Rl(e={}){let t=e.configText==null?{config:{},warnings:[]}:pg(e.configText),r=e.flags??{};return{options:{...M,mode:r.mode??t.config.mode??e.defaultMode??M.mode,project:r.project!==void 0?r.project:e.project??M.project,maxWorkers:r.maxWorkers??t.config.maxWorkers??M.maxWorkers,maxProjects:r.maxProjects??t.config.maxProjects??M.maxProjects,maxWidth:r.maxWidth??t.config.maxWidth??M.maxWidth,verbose:r.verbose??t.config.verbose??M.verbose},warnings:t.warnings}}import{execFileSync as Eg}from"node:child_process";import{readFileSync as Sg}from"node:fs";import{dirname as xl,join as vg}from"node:path";import{createHash as fg}from"node:crypto";var gg="project.name";function El(e){let t=dr(e,gg)?.trim();return t===void 0||t===""?void 0:t}var hg=8,Sl="project";function vl(e){let t=Rg(e.gitCommonDir),r=(e.declaredName??"").trim(),n=r!==""?{name:r,source:"declared"}:yg(e.remoteUrl)??{name:bg(e.checkoutPath,t),source:"basename"},o=kg(t??uo(e.checkoutPath));return{name:n.name,slug:`${_g(n.name)}-${o}`,hash:o,source:n.source}}function Tl(e){let t=(e??"").trim();if(t==="")return;let r=t.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,""),n=/^[^/]*?:(?!\d)(.+)$/.exec(r),s=(n?n[1]:r.replace(/^[^/]*/,"")).replace(/\.git$/,"").split("/").map(i=>i.trim()).filter(i=>i!=="");if(s.length!==0)return s.slice(-2).join("/")}function yg(e){let t=Tl(e);return t===void 0?void 0:{name:t,source:"remote"}}function bg(e,t){let r=t===void 0?"":wl(wg(t));if(r!=="")return r;let n=wl(uo(e));return n===""?Sl:n}function _g(e){let r=e.split("/").map(n=>n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")).filter(n=>n!=="").join("--");return r===""?Sl:r}function kg(e){return fg("sha256").update(e).digest("hex").slice(0,hg)}function Rg(e){let t=uo(e??"");return t===""?void 0:t}function uo(e){let t=e.trim().replace(/\\/g,"/");return t.length>1?t.replace(/\/+$/,""):t}function wl(e){let t=e.split("/").filter(r=>r!=="");return t[t.length-1]??""}function wg(e){return e.split("/").filter(r=>r!=="").slice(0,-1).join("/")}var Tg=2e3;function Al(e){return xg(e).name}function xg(e){let t=po(e),r=co(e,["rev-parse","--path-format=absolute","--git-common-dir"])??co(e,["rev-parse","--git-common-dir"]),n=co(e,["remote","get-url","origin"]);return vl({checkoutPath:t.root??e,...r!==void 0?{gitCommonDir:r}:{},...n!==void 0?{remoteUrl:n}:{},...t.name!==void 0?{declaredName:t.name}:{}})}function po(e){let t=_l(e,vg(".red","config.yaml"));if(t==null)return{};let r;try{r=Sg(t,"utf8")}catch{return{}}let n=El(r),o=xl(xl(t));return{...n===void 0?{}:{name:n},configText:r,root:o}}function co(e,t){try{let r=Eg("git",[...t],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:Tg}).trim();return r===""?void 0:r}catch{return}}function Pl(e){let t=po(e);return t.configText==null?{label:null}:{configText:t.configText,label:Al(e)}}function Ol(e){let t={app:e,version:Ag(Xe("__RED_BUILD_VERSION__",()=>"4.4.0")??"0.0.0-dev"),gitSha:Xe("__RED_BUILD_GIT_SHA__",()=>"ff3fce2ff5ef229a669831a698518ec174b55bad")??"unknown",buildTime:Xe("__RED_BUILD_TIME__",()=>"2026-08-25T11:31:16-03:00")??"unknown",bundleAsset:Xe("__RED_BUNDLE_ASSET__",()=>"statusline.bundle.min.mjs")??"unknown"},r=Xe("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Xe("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function Ag(e){return e.startsWith("v")?e.slice(1):e}function Xe(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}import{execFile as Pg}from"node:child_process";import{mkdirSync as Og,readFileSync as Dg,renameSync as Gg,writeFileSync as $g}from"node:fs";import{basename as mo,dirname as Gl,join as jg}from"node:path";async function Ig(e,t,r){let n,o=new Promise(s=>{n=setTimeout(()=>s(r),t)});try{return await Promise.race([e,o])}finally{clearTimeout(n)}}function Lg(e){try{return JSON.parse(e)}catch{return z(e)}}var Cg=5e3,Ng=400;function Mg(e){return jg(ri(e),"statusline-git-cache.toon")}function Fg(e){try{return Dg(e,"utf8")}catch{return null}}function Bg(e,t){try{Og(Gl(e),{recursive:!0});let r=`${e}.tmp`;$g(r,t,"utf8"),Gg(r,e)}catch{}}function Ug(e){if(e===null)return null;try{let t=Lg(e),r={basename:typeof t.basename=="string"?t.basename:"",localAdded:Number(t.localAdded??0),localRemoved:Number(t.localRemoved??0),baseRef:typeof t.baseRef=="string"?t.baseRef:"",tsMs:Number(t.tsMs??0)};return typeof t.branch=="string"&&t.branch!==""&&(r.branch=t.branch),typeof t.detachedSha=="string"&&t.detachedSha!==""&&(r.detachedSha=t.detachedSha),r.basename===""?null:r}catch{return null}}function Dl(e){let t={basename:e.basename,localAdded:e.localAdded,localRemoved:e.localRemoved};return e.branch&&(t.branch=e.branch),e.detachedSha&&(t.detachedSha=e.detachedSha),t}async function kt(e,t){return await new Promise(r=>{Pg("git",["-C",e,...t],{encoding:"utf8",maxBuffer:1024*1024},(n,o)=>r(n?"":String(o).trim()))})}async function Hg(e){let t=mo(e),r=await kt(e,["rev-parse","--path-format=absolute","--git-common-dir"]);return r&&mo(Gl(r))||t}function Wg(e){let t=/(\d+) insertion/.exec(e),r=/(\d+) deletion/.exec(e);return{added:t?Number(t[1]):0,removed:r?Number(r[1]):0}}async function qg(e,t){let[r,n,o,s]=await Promise.all([Hg(e),kt(e,["branch","--show-current"]),kt(e,["rev-parse","--short","HEAD"]),kt(e,["merge-base",t,"HEAD"])]),i=Wg(await kt(e,["diff","--shortstat",s||t])),a={basename:r,localAdded:i.added,localRemoved:i.removed};return n?a.branch=n:o&&(a.detachedSha=o),a}async function $l(e,t={}){let r=(t.nowMs??Date.now)(),n=t.ttlMs??Cg,o=t.baseRef??"origin/main",s=Mg(e),i=Ug((t.readCache??Fg)(s)),a=i?r-i.tsMs:Number.POSITIVE_INFINITY;if(i&&i.baseRef===o&&a>=0&&a<n)return Dl(i);let l=t.writeCache??Bg,u=(t.readGitFacts??qg)(e,o).then(p=>(l(s,U({...p,baseRef:o,tsMs:r})),p)).catch(()=>null),c=await Ig(u,t.deadlineMs??Ng,null);return c||(i?Dl(i):{basename:mo(e),localAdded:0,localRemoved:0})}function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function ur(e,t){let r=e?.[t];return typeof r=="string"&&r!==""?r:void 0}function cr(e,t){let r=e?.[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function Kg(e){if(e.trim()==="")return null;let t;try{t=JSON.parse(e)}catch{return null}let r=ve(t);if(r===null)return null;let n={},o=ur(ve(r.model),"display_name");o!==void 0&&(n.model=o);let s=ur(ve(r.effort),"level");s!==void 0&&(n.effort=s);let i=ve(r.context_window),a=cr(i,"total_input_tokens");a!==void 0&&(n.contextTokens=a);let l=cr(i,"used_percentage");l!==void 0&&(n.contextPercent=l);let u=ve(r.rate_limits),c=cr(ve(u?.five_hour),"used_percentage");c!==void 0&&(n.usage5h=c);let p=cr(ve(u?.seven_day),"used_percentage");p!==void 0&&(n.usage7d=p);let m=ur(ve(r.workspace),"current_dir")??ur(r,"cwd");return m===void 0?{claude:n}:{claude:n,cwd:m}}async function jl(e={}){let t=e.stream??process.stdin;if(t.isTTY===!0)return null;let r=e.maxBytes??65536,n=e.deadlineMs??150,o=await new Promise(s=>{let i="",a=!1,l=setTimeout(()=>m(),n),u=b=>{i+=b,i.length>=r&&(i=i.slice(0,r),m())},c=()=>m(),p=()=>m();function m(){a||(a=!0,clearTimeout(l),t.removeListener("data",u),t.removeListener("end",c),t.removeListener("error",p),t.pause(),t.unref?.(),s(i))}try{t.setEncoding("utf8"),t.on("data",u),t.on("end",c),t.on("error",p),t.resume()}catch{m()}});return Kg(o)}var pr=`${re} `,kP=`${re} \xB7 `;function Vg(e){return e.replace(/(^|\s)([A-Za-z0-9][A-Za-z0-9/]*=)(\S+)/g,(t,r,n,o)=>`${r}${Le}${n}${Ce}${o}${re}`)}function Jg(e){let t=Cn(e.project),r=e.project.basename,n=t.startsWith(r),o=n?r:"",s=n?t.slice(r.length):t;return`${Fn}${Bn}\xBB ${Vt}${o}${Jt}${s}${Re}`}function Il(e){let t=Jg(e),r=$n(e.claude);r!==null&&(t+=`${pr}${qt}${Kt}${r}${Re}`);let n=jn(e.claude);n!==null&&(t+=`${pr}${Le}ctx=${Ce}${n}`);let o=In(e.claude);o!==null&&(t+=`${pr}${Vg(o)}`);let s=Ln(e.localDiff);return s!==null&&(t+=`${pr}${Le}loc=${Ce}${s.slice(4)}`),`${t}${pe}`}async function zg(e={}){let t=await(e.readStdin??jl)(),r=t?.cwd??e.cwd??process.cwd(),n=await(e.readLocalGit??$l)(r),o=e.version??Ol("redskilled").version,s={basename:n.basename};n.branch?s.branch=n.branch:n.detachedSha&&(s.detachedSha=n.detachedSha),o&&(s.version=o);let i=t?.claude,a={project:s,localDiff:{localAdded:n.localAdded,localRemoved:n.localRemoved}};return i!==void 0&&(a.claude=i),a}function Yg(e,t=process.env){return t.NO_COLOR!==void 0?Sa(e):Il(e)}async function Ll(e,t={}){let r=await zg(t);return va(Yg(r,t.env??process.env),e)}async function Cl(e,t={}){let r=t.write??(u=>process.stdout.write(u)),n=t.warn??(u=>process.stderr.write(u)),o=kl(e),s=Pl(t.cwd??process.cwd()),i=Rl({...s.configText==null?{}:{configText:s.configText},project:s.label,flags:o.flags});for(let u of[...i.warnings,...o.warnings])n(`redskilled statusline: ignoring ${u.key}=${u.value} \u2014 ${u.reason}
|
|
50
|
+
`)){let o=n.replace(/\r$/,""),s=o.trim();if(!s||s.startsWith("#"))continue;let i=o.indexOf(":");if(i<0)continue;let a=o.length-o.trimStart().length,l=o.slice(0,i).trim();if(!l)continue;let u=o.slice(i+1).trim();for(;r.length&&r[r.length-1].indent>=a;)r.pop();if(r.push({indent:a,key:l}),u&&r.map(p=>p.key).join(".")===t)return dg(u)}}var ug="plugins.dev.statusline",cg="dev.statusline";function pg(e){let t=[],r=a=>{for(let l of[ug,cg]){let u=`${l}.${a}`,c=dr(e,u)?.trim();if(c!=null&&c!=="")return{key:u,value:c}}},n=r("mode"),o={};n!=null&&(n.value==="local"||n.value==="global"?o.mode=n.value:t.push({...n,reason:"expected `local` or `global`"}));let s=[{leaf:"max_workers",assign:a=>{o.maxWorkers=a}},{leaf:"max_projects",assign:a=>{o.maxProjects=a}},{leaf:"max_width",assign:a=>{o.maxWidth=a}}];for(let a of s){let l=r(a.leaf);if(l==null)continue;let u=Number(l.value);Number.isInteger(u)&&u>=0?a.assign(u):t.push({...l,reason:"expected a whole number of zero or more"})}let i=r("verbose");return i!=null&&(i.value==="true"||i.value==="false"?o.verbose=i.value==="true":t.push({...i,reason:"expected `true` or `false`"})),{config:o,warnings:t}}var mg={mode:{kind:"value",coerce:e=>e},verbose:{kind:"boolean"},project:{kind:"value",coerce:e=>e},"max-workers":{kind:"value",coerce:e=>e},"max-projects":{kind:"value",coerce:e=>e},"max-width":{kind:"value",coerce:e=>e}};function kl(e){let{values:t,positionals:r}=bl(e,mg),n=[],o={},s=t.mode??r.find(a=>a==="global"||a==="local");s!=null&&(s==="local"||s==="global"?o.mode=s:n.push({key:"--mode",value:s,reason:"expected `local` or `global`"})),t.project!=null&&(o.project=t.project),t.verbose!==void 0&&(o.verbose=t.verbose===!0);let i=[{flag:"max-workers",assign:a=>{o.maxWorkers=a}},{flag:"max-projects",assign:a=>{o.maxProjects=a}},{flag:"max-width",assign:a=>{o.maxWidth=a}}];for(let a of i){let l=t[a.flag];if(l==null)continue;let u=Number(l);Number.isInteger(u)&&u>=0?a.assign(u):n.push({key:`--${a.flag}`,value:l,reason:"expected a whole number of zero or more"})}return{flags:o,warnings:n}}function Rl(e={}){let t=e.configText==null?{config:{},warnings:[]}:pg(e.configText),r=e.flags??{};return{options:{...M,mode:r.mode??t.config.mode??e.defaultMode??M.mode,project:r.project!==void 0?r.project:e.project??M.project,maxWorkers:r.maxWorkers??t.config.maxWorkers??M.maxWorkers,maxProjects:r.maxProjects??t.config.maxProjects??M.maxProjects,maxWidth:r.maxWidth??t.config.maxWidth??M.maxWidth,verbose:r.verbose??t.config.verbose??M.verbose},warnings:t.warnings}}import{execFileSync as Eg}from"node:child_process";import{readFileSync as Sg}from"node:fs";import{dirname as xl,join as vg}from"node:path";import{createHash as fg}from"node:crypto";var gg="project.name";function El(e){let t=dr(e,gg)?.trim();return t===void 0||t===""?void 0:t}var hg=8,Sl="project";function vl(e){let t=Rg(e.gitCommonDir),r=(e.declaredName??"").trim(),n=r!==""?{name:r,source:"declared"}:yg(e.remoteUrl)??{name:bg(e.checkoutPath,t),source:"basename"},o=kg(t??uo(e.checkoutPath));return{name:n.name,slug:`${_g(n.name)}-${o}`,hash:o,source:n.source}}function Tl(e){let t=(e??"").trim();if(t==="")return;let r=t.replace(/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,""),n=/^[^/]*?:(?!\d)(.+)$/.exec(r),s=(n?n[1]:r.replace(/^[^/]*/,"")).replace(/\.git$/,"").split("/").map(i=>i.trim()).filter(i=>i!=="");if(s.length!==0)return s.slice(-2).join("/")}function yg(e){let t=Tl(e);return t===void 0?void 0:{name:t,source:"remote"}}function bg(e,t){let r=t===void 0?"":wl(wg(t));if(r!=="")return r;let n=wl(uo(e));return n===""?Sl:n}function _g(e){let r=e.split("/").map(n=>n.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")).filter(n=>n!=="").join("--");return r===""?Sl:r}function kg(e){return fg("sha256").update(e).digest("hex").slice(0,hg)}function Rg(e){let t=uo(e??"");return t===""?void 0:t}function uo(e){let t=e.trim().replace(/\\/g,"/");return t.length>1?t.replace(/\/+$/,""):t}function wl(e){let t=e.split("/").filter(r=>r!=="");return t[t.length-1]??""}function wg(e){return e.split("/").filter(r=>r!=="").slice(0,-1).join("/")}var Tg=2e3;function Al(e){return xg(e).name}function xg(e){let t=po(e),r=co(e,["rev-parse","--path-format=absolute","--git-common-dir"])??co(e,["rev-parse","--git-common-dir"]),n=co(e,["remote","get-url","origin"]);return vl({checkoutPath:t.root??e,...r!==void 0?{gitCommonDir:r}:{},...n!==void 0?{remoteUrl:n}:{},...t.name!==void 0?{declaredName:t.name}:{}})}function po(e){let t=_l(e,vg(".red","config.yaml"));if(t==null)return{};let r;try{r=Sg(t,"utf8")}catch{return{}}let n=El(r),o=xl(xl(t));return{...n===void 0?{}:{name:n},configText:r,root:o}}function co(e,t){try{let r=Eg("git",[...t],{cwd:e,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:Tg}).trim();return r===""?void 0:r}catch{return}}function Pl(e){let t=po(e);return t.configText==null?{label:null}:{configText:t.configText,label:Al(e)}}function Ol(e){let t={app:e,version:Ag(Xe("__RED_BUILD_VERSION__",()=>"4.4.1")??"0.0.0-dev"),gitSha:Xe("__RED_BUILD_GIT_SHA__",()=>"99caf4932429974b90213c98ae8b061fd58949d5")??"unknown",buildTime:Xe("__RED_BUILD_TIME__",()=>"2026-08-25T13:06:29-03:00")??"unknown",bundleAsset:Xe("__RED_BUNDLE_ASSET__",()=>"statusline.bundle.min.mjs")??"unknown"},r=Xe("__REDDB_SDK_VERSION__",()=>"1.23.1"),n=Xe("__REDDB_BINARY_TAG__",()=>"v1.23.1");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function Ag(e){return e.startsWith("v")?e.slice(1):e}function Xe(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}import{execFile as Pg}from"node:child_process";import{mkdirSync as Og,readFileSync as Dg,renameSync as Gg,writeFileSync as $g}from"node:fs";import{basename as mo,dirname as Gl,join as jg}from"node:path";async function Ig(e,t,r){let n,o=new Promise(s=>{n=setTimeout(()=>s(r),t)});try{return await Promise.race([e,o])}finally{clearTimeout(n)}}function Lg(e){try{return JSON.parse(e)}catch{return z(e)}}var Cg=5e3,Ng=400;function Mg(e){return jg(ri(e),"statusline-git-cache.toon")}function Fg(e){try{return Dg(e,"utf8")}catch{return null}}function Bg(e,t){try{Og(Gl(e),{recursive:!0});let r=`${e}.tmp`;$g(r,t,"utf8"),Gg(r,e)}catch{}}function Ug(e){if(e===null)return null;try{let t=Lg(e),r={basename:typeof t.basename=="string"?t.basename:"",localAdded:Number(t.localAdded??0),localRemoved:Number(t.localRemoved??0),baseRef:typeof t.baseRef=="string"?t.baseRef:"",tsMs:Number(t.tsMs??0)};return typeof t.branch=="string"&&t.branch!==""&&(r.branch=t.branch),typeof t.detachedSha=="string"&&t.detachedSha!==""&&(r.detachedSha=t.detachedSha),r.basename===""?null:r}catch{return null}}function Dl(e){let t={basename:e.basename,localAdded:e.localAdded,localRemoved:e.localRemoved};return e.branch&&(t.branch=e.branch),e.detachedSha&&(t.detachedSha=e.detachedSha),t}async function kt(e,t){return await new Promise(r=>{Pg("git",["-C",e,...t],{encoding:"utf8",maxBuffer:1024*1024},(n,o)=>r(n?"":String(o).trim()))})}async function Hg(e){let t=mo(e),r=await kt(e,["rev-parse","--path-format=absolute","--git-common-dir"]);return r&&mo(Gl(r))||t}function Wg(e){let t=/(\d+) insertion/.exec(e),r=/(\d+) deletion/.exec(e);return{added:t?Number(t[1]):0,removed:r?Number(r[1]):0}}async function qg(e,t){let[r,n,o,s]=await Promise.all([Hg(e),kt(e,["branch","--show-current"]),kt(e,["rev-parse","--short","HEAD"]),kt(e,["merge-base",t,"HEAD"])]),i=Wg(await kt(e,["diff","--shortstat",s||t])),a={basename:r,localAdded:i.added,localRemoved:i.removed};return n?a.branch=n:o&&(a.detachedSha=o),a}async function $l(e,t={}){let r=(t.nowMs??Date.now)(),n=t.ttlMs??Cg,o=t.baseRef??"origin/main",s=Mg(e),i=Ug((t.readCache??Fg)(s)),a=i?r-i.tsMs:Number.POSITIVE_INFINITY;if(i&&i.baseRef===o&&a>=0&&a<n)return Dl(i);let l=t.writeCache??Bg,u=(t.readGitFacts??qg)(e,o).then(p=>(l(s,U({...p,baseRef:o,tsMs:r})),p)).catch(()=>null),c=await Ig(u,t.deadlineMs??Ng,null);return c||(i?Dl(i):{basename:mo(e),localAdded:0,localRemoved:0})}function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null}function ur(e,t){let r=e?.[t];return typeof r=="string"&&r!==""?r:void 0}function cr(e,t){let r=e?.[t];return typeof r=="number"&&Number.isFinite(r)?r:void 0}function Kg(e){if(e.trim()==="")return null;let t;try{t=JSON.parse(e)}catch{return null}let r=ve(t);if(r===null)return null;let n={},o=ur(ve(r.model),"display_name");o!==void 0&&(n.model=o);let s=ur(ve(r.effort),"level");s!==void 0&&(n.effort=s);let i=ve(r.context_window),a=cr(i,"total_input_tokens");a!==void 0&&(n.contextTokens=a);let l=cr(i,"used_percentage");l!==void 0&&(n.contextPercent=l);let u=ve(r.rate_limits),c=cr(ve(u?.five_hour),"used_percentage");c!==void 0&&(n.usage5h=c);let p=cr(ve(u?.seven_day),"used_percentage");p!==void 0&&(n.usage7d=p);let m=ur(ve(r.workspace),"current_dir")??ur(r,"cwd");return m===void 0?{claude:n}:{claude:n,cwd:m}}async function jl(e={}){let t=e.stream??process.stdin;if(t.isTTY===!0)return null;let r=e.maxBytes??65536,n=e.deadlineMs??150,o=await new Promise(s=>{let i="",a=!1,l=setTimeout(()=>m(),n),u=b=>{i+=b,i.length>=r&&(i=i.slice(0,r),m())},c=()=>m(),p=()=>m();function m(){a||(a=!0,clearTimeout(l),t.removeListener("data",u),t.removeListener("end",c),t.removeListener("error",p),t.pause(),t.unref?.(),s(i))}try{t.setEncoding("utf8"),t.on("data",u),t.on("end",c),t.on("error",p),t.resume()}catch{m()}});return Kg(o)}var pr=`${re} `,kP=`${re} \xB7 `;function Vg(e){return e.replace(/(^|\s)([A-Za-z0-9][A-Za-z0-9/]*=)(\S+)/g,(t,r,n,o)=>`${r}${Le}${n}${Ce}${o}${re}`)}function Jg(e){let t=Cn(e.project),r=e.project.basename,n=t.startsWith(r),o=n?r:"",s=n?t.slice(r.length):t;return`${Fn}${Bn}\xBB ${Vt}${o}${Jt}${s}${Re}`}function Il(e){let t=Jg(e),r=$n(e.claude);r!==null&&(t+=`${pr}${qt}${Kt}${r}${Re}`);let n=jn(e.claude);n!==null&&(t+=`${pr}${Le}ctx=${Ce}${n}`);let o=In(e.claude);o!==null&&(t+=`${pr}${Vg(o)}`);let s=Ln(e.localDiff);return s!==null&&(t+=`${pr}${Le}loc=${Ce}${s.slice(4)}`),`${t}${pe}`}async function zg(e={}){let t=await(e.readStdin??jl)(),r=t?.cwd??e.cwd??process.cwd(),n=await(e.readLocalGit??$l)(r),o=e.version??Ol("redskilled").version,s={basename:n.basename};n.branch?s.branch=n.branch:n.detachedSha&&(s.detachedSha=n.detachedSha),o&&(s.version=o);let i=t?.claude,a={project:s,localDiff:{localAdded:n.localAdded,localRemoved:n.localRemoved}};return i!==void 0&&(a.claude=i),a}function Yg(e,t=process.env){return t.NO_COLOR!==void 0?Sa(e):Il(e)}async function Ll(e,t={}){let r=await zg(t);return va(Yg(r,t.env??process.env),e)}async function Cl(e,t={}){let r=t.write??(u=>process.stdout.write(u)),n=t.warn??(u=>process.stderr.write(u)),o=kl(e),s=Pl(t.cwd??process.cwd()),i=Rl({...s.configText==null?{}:{configText:s.configText},project:s.label,flags:o.flags});for(let u of[...i.warnings,...o.warnings])n(`redskilled statusline: ignoring ${u.key}=${u.value} \u2014 ${u.reason}
|
|
51
51
|
`);let a;try{a=await dl(t.paths??cl(),i.options,{...t.client??{},...i.options.project==null?{}:{sessionProject:i.options.project}})}catch(u){n(`redskilled statusline: ${u instanceof Error?u.message:String(u)}
|
|
52
52
|
`);let c=(t.now??(()=>new Date().toISOString()))();a=ro({options:i.options,generated_at:c});try{let p=fl(ml(t.homeDir??Qg()),Date.parse(c));p!=null&&(a={...a,lines:[...a.lines,p]})}catch{}}let l=a.lines;try{l=await Ll(a.lines,{...t.cwd==null?{}:{cwd:t.cwd},...t.bedrock??{}})}catch(u){n(`redskilled statusline: bedrock unavailable \u2014 ${u instanceof Error?u.message:String(u)}
|
|
53
53
|
`)}return r(`${l.join(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reddb-io/red-skills",
|
|
3
|
-
"version": "4.4.
|
|
3
|
+
"version": "4.4.1",
|
|
4
4
|
"description": "RedSkills core npm package: compatibility bin shims, marketplace manifests, host generators, and non-plugin supporting runtimes. Plugin bundles ship in @reddb-io/red-skills-<plugin> packages (ADR 0146).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|