@reddb-io/red-skills 2.74.0 → 2.74.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.
|
@@ -6578,7 +6578,7 @@ Usage:
|
|
|
6578
6578
|
${n} archive --candidate <json> [--root <dir>] [--archive-dir <rel>]
|
|
6579
6579
|
${n} restore <name> [--root <dir>] [--archive-dir <rel>]`}function Ex(n){return LYn(typeof n.root=="string"?n.root:process.cwd())}function Gdt(n){return typeof n["archive-dir"]=="string"?n["archive-dir"]:void 0}async function Jj(n){let a=await Jo(n);return a?a.mode!=="graph"?{ok:!1,message:`curate: skill telemetry needs graph mode (this project is "${a.mode}") \u2014 run \`${eHe}\``}:GZ(a)?{ok:!0}:{ok:!1,message:`curate: skill telemetry is not enabled here \u2014 run \`${eHe}\``}:{ok:!1,message:`curate: memory is not initialized here \u2014 run \`${eHe}\``}}function zYn(){let n=AYn(xYn(import.meta.url));return n.includes("dist/curate-skill")||n.endsWith("dist/curate-skill")?odt(n,"..","cli.js"):odt(n,"..","cli.ts")}async function OYn(n,a){let i=["curate","skills","--json"];a!==void 0&&i.push("--stale-days",String(a));let d=zYn(),h=d.endsWith(".ts")?sdt(process.execPath,["--import","tsx",d,...i,"--root",n],{encoding:"utf8"}):sdt(process.execPath,[d,...i,"--root",n],{encoding:"utf8"}),g=h.status??1;if(g!==0)throw new Error(`memory curate skills exited ${g}`);return cdt(h.stdout??"")}function UYn(n){return typeof n.flags["stale-days"]=="string"?Number(n.flags["stale-days"]):void 0}async function mdt(n,a){return(a.loadCuratorReport??OYn)(Ex(n.flags),UYn(n))}async function MYn(n){let a=Ex(n.flags),i=await Jj(a);return i.ok?(console.log("curate: skill telemetry is enabled \u2014 ready to curate"),0):(console.error(i.message),2)}async function BYn(n,a){let i=Ex(n.flags),d=await Jj(i);if(!d.ok)return console.error(d.message),2;let u;try{u=await mdt(n,a)}catch(J){return console.error(`curate: ${J.message}`),1}let{candidates:h,byCategory:g,filtered:f}=qwe(u);return console.log(JSON.stringify({candidates:h,byCategory:g,filtered:f,totals:{totalSkills:u.totalSkills,curatableSkills:u.curatableSkills,readOnlySkills:u.readOnlySkills}},null,2)),0}async function SYn(n,a){let i=Ex(n.flags),d=await Jj(i);if(!d.ok)return console.error(d.message),2;let u;try{u=await mdt(n,a)}catch(J){return console.error(`curate: ${J.message}`),1}let{byCategory:h}=qwe(u);if($we(h)===0)return console.error("curate: no candidates \u2014 no issue filed"),0;let g=typeof n.flags.label=="string"?n.flags.label:void 0,f=await idt({byCategory:h,totals:{totalSkills:u.totalSkills,curatableSkills:u.curatableSkills,readOnlySkills:u.readOnlySkills},generatedAt:u.generatedAt},{cwd:i,label:g});return console.log(`curate: filed background issue \u2014 ${f.output||f.title}`),0}async function TYn(n){let a=Ex(n.flags),i=await Jj(a);if(!i.ok)return console.error(i.message),2;let d=n.flags.candidate;if(typeof d!="string")return console.error("curate archive: --candidate <json> is required"),2;let u;try{u=JSON.parse(d)}catch(g){return console.error(`curate archive: invalid --candidate JSON: ${g.message}`),2}let h=await ldt(u,{rootDir:a,archiveDir:Gdt(n.flags)});return h.ok?(console.log(`curate: archived "${h.receipt.name}" \u2192 ${h.receipt.archiveRoot} (${h.receipt.files.length} file(s), manifest at ${h.receipt.manifestPath})`),0):(console.error(`curate archive: refused \u2014 ${h.rejection.reason}: ${h.rejection.detail}`),3)}async function jYn(n){let a=Ex(n.flags),i=await Jj(a);if(!i.ok)return console.error(i.message),2;let d=n.positional[0];if(!d)return console.error("curate restore: skill name is required"),2;let u=await adt(d,{rootDir:a,archiveDir:Gdt(n.flags)});return console.log(`curate: restored "${u.name}" \u2192 ${u.restoredRoot} (${u.files.length} file(s) hash-verified)`),0}async function udt(n,a={}){switch(n.command){case"check":return MYn(n);case"list":return BYn(n,a);case"background":return SYn(n,a);case"archive":return TYn(n);case"restore":return jYn(n);case void 0:case"--help":case"-h":return console.log(ddt(a.usageCommand)),0;default:return console.error(`unknown curate subcommand: ${n.command}
|
|
6580
6580
|
|
|
6581
|
-
${ddt(a.usageCommand)}`),2}}function bdt(n){let a={app:n,version:DYn(_x("__RED_BUILD_VERSION__",()=>"2.74.
|
|
6581
|
+
${ddt(a.usageCommand)}`),2}}function bdt(n){let a={app:n,version:DYn(_x("__RED_BUILD_VERSION__",()=>"2.74.1")??"0.0.0-dev"),gitSha:_x("__RED_BUILD_GIT_SHA__",()=>"abfe1a21e9fc1d8683dd071b1fe067c045fed2c0")??"unknown",buildTime:_x("__RED_BUILD_TIME__",()=>"2026-07-18T13:48:46-03:00")??"unknown",bundleAsset:_x("__RED_BUNDLE_ASSET__",()=>"memory.bundle.min.mjs")??"unknown"},i=_x("__REDDB_SDK_VERSION__",()=>"1.23.1"),d=_x("__REDDB_BINARY_TAG__",()=>"v1.23.1");return i&&(a.reddbSdkVersion=i),d&&(a.reddbBinaryTag=d),a}function DYn(n){return n.startsWith("v")?n.slice(1):n}function pdt(n){return`${n.app} ${n.version} ${n.gitSha}`}function _x(n,a){try{let i=a();return typeof i=="string"&&i.length>0?i:void 0}catch{return process.env[n.replace(/^__|__$/g,"")]}}var Zdt=`memory \u2014 governed operational memory for code agents
|
|
6582
6582
|
|
|
6583
6583
|
Common workflows:
|
|
6584
6584
|
remember one fact memory store "Decision: ..."
|
package/dist/rsp.bundle.min.mjs
CHANGED
|
@@ -154,7 +154,7 @@ ${n[n.length-1]}`,s=Buffer.from(r);return s.length<=t?r:s.subarray(0,t).toString
|
|
|
154
154
|
`)}${r&&o.length>0?`
|
|
155
155
|
`:""}`,truncated:o.length<s.length}}function Kb(e){let t=[];for(let n=0;n<e.length;n++){let s=e[n].trim(),i=/^(?:export\s+)?(?:default\s+)?(?:abstract\s+)?(class|interface|type)\s+([A-Za-z_$][\w$]*)/.exec(s);if(i){t.push({kind:i[1],name:i[2],line:n+1,signature:s});continue}let o=/^(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::[^{]+)?/.exec(s);if(o){t.push({kind:"function",name:o[1],line:n+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&&!Yb(a[1])&&t.push({kind:"method",name:a[1],line:n+1,signature:s})}return t}function rs(e){let t=e.split(`
|
|
156
156
|
`);return t.at(-1)===""?t.slice(0,-1):t}function dd(e){return e.includes(0)||!Mb(e)}function ad(e){return Gb.has(Ub(e).toLowerCase())}function Yb(e){return["for","if","switch","while"].includes(e)}function cd(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}function ud(e,t){let n=Number(e);return Number.isInteger(n)&&n>0?n:t}var od,fo,Jb,Fb,Gb,go=E(()=>{"use strict";Q();St();ut();od=8*1024,fo=10,Jb=8,Fb=2,Gb=new Set([".c",".cc",".cpp",".cs",".go",".java",".js",".jsx",".mjs",".py",".rs",".ts",".tsx"])});function pd(e,t={}){let n=Qb(e);if(n.length<12)return[];let r=new Map,s=new Map;for(let d of n){s.set(d.signature,(s.get(d.signature)??0)+1);for(let p of new Set(d.tokens))r.set(p,(r.get(p)??0)+1)}let i=n.map(d=>d.length),o=n.map(d=>d.tokens.length),a=n.map(d=>d.numbers.length===0?0:Math.max(...d.numbers.map(Math.abs))),c=ho(i),u=ho(o),l=ho(a),f=t.excludedByteRanges??[];return n.filter(d=>d.text.trim().length>0).filter(d=>!f.some(p=>r_(d.start,d.end,p.start,p.end))).map(d=>({line:d,score:yo(d.length,c)+yo(d.tokens.length,u)+yo(d.numbers.length===0?0:Math.max(...d.numbers.map(Math.abs)),l)+t_(d.tokens,r,n.length)+n_(d.signature,s,n.length)})).filter(d=>d.score>=(t.minScore??7)).sort((d,p)=>p.score-d.score||d.line.index-p.line.index).slice(0,t.maxOutliers??3).sort((d,p)=>d.line.index-p.line.index).map(d=>({lineNumber:d.line.index+1,score:Math.round(d.score*100)/100,text:d.line.text}))}function Qb(e){let t=[],n=0,r=0;for(let s of e.matchAll(/\n/g)){let i=s.index??e.length;t.push(fd(r++,n,i,e.slice(n,i).replace(/\r$/,""))),n=i+1}return(n<e.length||e.length===0)&&t.push(fd(r,n,e.length,e.slice(n).replace(/\r$/,""))),t}function fd(e,t,n,r){return{index:e,start:t,end:n,text:r,signature:Zb(r),tokens:Xb(r),numbers:e_(r),length:r.length}}function Zb(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 Xb(e){return e.toLowerCase().match(/[a-z0-9_.:/-]{3,}/g)??[]}function e_(e){return[...e.matchAll(/[-+]?\d+(?:\.\d+)?/g)].map(t=>Number(t[0])).filter(t=>Number.isFinite(t))}function t_(e,t,n){let r=[...new Set(e)];if(r.length===0)return 0;let s=r.map(i=>Math.log2(n/Math.max(1,t.get(i)??n))).sort((i,o)=>o-i).slice(0,6);return s.reduce((i,o)=>i+o,0)/Math.max(1,s.length)}function n_(e,t,n){return Math.log2(n/Math.max(1,t.get(e)??n))}function ho(e){let t=md(e),n=md(e.map(r=>Math.abs(r-t)))||1;return{median:t,mad:n}}function yo(e,t){return Math.abs(e-t.median)/t.mad}function md(e){let t=[...e].sort((r,s)=>r-s),n=Math.floor(t.length/2);return t.length===0?0:t.length%2===1?t[n]:((t[n-1]??0)+(t[n]??0))/2}function r_(e,t,n,r){return e<r&&n<t}var gd=E(()=>{"use strict"});var qn={};M(qn,{parseExecCommandLine:()=>Rd,renderExecContract:()=>_d,runExecWrapper:()=>c_});import{isUtf8 as s_}from"node:buffer";import{spawn as i_}from"node:child_process";async function c_(e,t){let n=Rd(e),r=await u_(n);return await _d(n,r,t)}async function _d(e,t,n){let r=Buffer.from(t.stdout,"binary"),s=Buffer.from(t.stderr,"binary");if((t.status??0)!==0||t.signal){let d=fe(e,t.stdout,t.stderr);return{stdout:N(d),stderr:s,status:d.exitCode??1,signal:t.signal,rawOutput:r}}if(r.length===0)return{stdout:r,stderr:s,status:t.status,signal:t.signal,rawOutput:r};let i=l_(r),o=i.kind==="text"?Buffer.from(i.text):r,a=D_(n.heavyByteThreshold,o_);if(o.length<=a&&n.level!=="terse")return{stdout:o,stderr:s,status:t.status,signal:t.signal,rawOutput:r};let c=r.length,u=n.level==="lossless"?"terse":n.level,l=await n.store?.mint(r,{command:e,loss:{level:u,bytes_elided:c}});if(!l)throw new Error("rsp exec output elision requires an elision store");let f=i.kind==="text"?f_(i.text,r.length,l,n.level,e,n.anomalyScorer,n.jsonArrayCrusher):m_(r,r.length,l,e);return{stdout:Buffer.from(f.text),stderr:s,status:t.status,signal:t.signal,mintedHandle:l,bytesElided:c,rawOutput:r,degradation:f.degradation}}function Rd(e){if(e[0]!=="exec")throw new Error("expected rsp exec -- <command line>");let t=e.indexOf("--"),n=t>=0?e.slice(t+1):e.slice(1),r=n.length===1?n[0]:n.join(" ");if(!r.trim())throw new Error("usage: rsp exec -- <command line>");return r}async function u_(e){let t=i_(e,{shell:!0,stdio:["inherit","pipe","pipe"]}),n=[],r=[];return t.stdout.on("data",s=>n.push(s)),t.stderr.on("data",s=>r.push(s)),await new Promise((s,i)=>{t.on("error",i),t.on("close",(o,a)=>{s({stdout:Buffer.concat(n).toString("binary"),stderr:Buffer.concat(r).toString("binary"),status:o,signal:a})})})}function l_(e){return s_(e)?{kind:"text",text:d_(e.toString("utf8"))}:{kind:"bytes"}}function d_(e){let t=e;for(let n of[Lr,Mr,jr,Ur])t=n.apply(t);return t}function f_(e,t,n,r,s,i=k_,o=Nn){let c=Math.max(1,Math.floor((r==="terse"?bd:a_)/2)),u=Buffer.from(e),l=Math.max(0,u.length-c),f=S_(e,c,l,i),d=p_(e),p=g_(d,e,u,c,l,f.kind==="ok"?f.lines:[],o),h=Sd(s,d,t,P_(u),n,p.summary),m=f.kind==="failed"?{reason:"exec-anomaly-scorer-failed",family:"exec",stderrHead:Od(f.error)}:p.degradation;return{text:Td(h),degradation:m}}function m_(e,t,n,r){let s=Math.max(1,Math.floor(bd/2)),i={head_hex:e.subarray(0,s).toString("hex"),tail_hex:e.subarray(Math.max(0,e.length-s)).toString("hex")};return{text:Td(Sd(r,"bytes",t,0,n,i))}}function Sd(e,t,n,r,s,i){return{family:"exec",command:e,content:t,bytes:n,lines:r,summary:i,recovery:{original:ge(s)}}}function p_(e){let t=e.trim();return t?Ed(t)?"json":xd(e)?"jsonl":E_(e)?"unified-diff":vd(e)?"tabular":x_(e)?"log-like":v_(e)?"prose":"untyped":"untyped"}function g_(e,t,n,r,s,i,o=Nn){switch(e){case"json":return h_(t,o);case"jsonl":return{summary:y_(t)};case"unified-diff":return{summary:w_(t)};case"tabular":return{summary:b_(t)};case"log-like":return{summary:__(t,i)};case"prose":return{summary:R_(t)};case"bytes":return{summary:{}};case"untyped":return{summary:kd(n,r,s,i)}}}function h_(e,t){let n=Ed(e);if(Array.isArray(n)){if(n.length>15)try{let r=t(n,15);return{summary:{root_type:"array",total:r.total,kept:r.kept,dropped:r.dropped,shape_outliers:r.shapeOutliers,value_outliers:r.valueOutliers,items:r.items.map(Xe),item_keys:bo(n)}}}catch(r){return{summary:yd(n),degradation:{reason:"exec-json-array-crusher-failed",family:"exec",stderrHead:Od(r)}}}return{summary:yd(n)}}if(Hn(n)){let r=Object.entries(n);return{summary:{root_type:"object",keys:r.map(([s])=>s).slice(0,20),key_count:r.length,sample:Object.fromEntries(r.slice(0,8).map(([s,i])=>[s,Xe(i)]))}}}return{summary:{root_type:typeof n,value:Xe(n)}}}function yd(e){return{root_type:"array",items:e.length,sample:e.slice(0,5).map(Xe),item_keys:bo(e)}}function y_(e){let t=xd(e)??[],n=T_(t,"level");return{records:t.length,keys:bo(t),levels:n,first:Xe(t[0]),last:Xe(t.at(-1))}}function w_(e){let t=new Map,n="",r=0,s=0,i=0;for(let o of e.split(/\r?\n/)){let a=/^diff --git a\/(.+?) b\/(.+)$/.exec(o);if(a){n=a[2]??a[1]??"unknown",t.has(n)||t.set(n,{path:n,added:0,deleted:0,hunks:0});continue}if(!n){let c=/^\+\+\+ b\/(.+)$/.exec(o);c&&(n=c[1]??"unknown",t.has(n)||t.set(n,{path:n,added:0,deleted:0,hunks:0}))}o.startsWith("@@")?(i++,n&&t.get(n).hunks++):o.startsWith("+")&&!o.startsWith("+++")?(r++,n&&t.get(n).added++):o.startsWith("-")&&!o.startsWith("---")&&(s++,n&&t.get(n).deleted++)}return{files:[...t.values()].slice(0,12),file_count:t.size,hunks:i,added_lines:r,deleted_lines:s}}function b_(e){let t=vd(e);return t?{columns:t.columns,rows:t.rows.length,sample:t.rows.slice(0,5)}:kd(Buffer.from(e),512,Math.max(0,Buffer.byteLength(e)-512),[])}function __(e,t){let n=Gn(e);return{entries:n.length,levels:O_(n),first:Et(n[0]??""),last:Et(n.at(-1)??""),outliers:t.map(r=>({line:r.lineNumber,score:Number(r.score.toFixed(2)),text:Et(r.text)}))}}function R_(e){let t=e.trim().split(/\n\s*\n/).filter(r=>r.trim()),n=e.trim().split(/\s+/).filter(Boolean);return{paragraphs:t.length,words:n.length,opening:Et(t[0]??""),closing:Et(t.at(-1)??"")}}function kd(e,t,n,r){let s=wd(e.subarray(0,t)),i=wd(e.subarray(n));return{head:s,tail:i,outliers:r.map(o=>({line:o.lineNumber,score:Number(o.score.toFixed(2)),text:Et(o.text)}))}}function S_(e,t,n,r){try{return{kind:"ok",lines:r(e,{headBytes:t,tailStart:n})}}catch(s){return{kind:"failed",error:s}}}function k_(e,t){return pd(e,{excludedByteRanges:[{start:0,end:t.headBytes},{start:t.tailStart,end:Buffer.byteLength(e,"utf8")}]})}function Ed(e){let t=e.trim();if(!t||!/^[\[{]/.test(t))return null;try{let n=JSON.parse(t);return Hn(n)||Array.isArray(n)?n:null}catch{return null}}function xd(e){let t=Gn(e);if(t.length<2||!t.every(r=>/^[\[{]/.test(r.trim())))return null;let n=[];for(let r of t)try{n.push(JSON.parse(r))}catch{return null}return n}function E_(e){let t=Gn(e),n=t[0]??"";if(!/^diff --git a\/.+ b\/.+/.test(n)&&!/^--- /.test(n))return!1;let r=t.some(o=>/^diff --git a\/.+ b\/.+/.test(o))||t.some(o=>/^--- /.test(o))&&t.some(o=>/^\+\+\+ /.test(o)),s=t.some(o=>/^@@ /.test(o)),i=t.some(o=>/^[+-]/.test(o)&&!/^(---|\+\+\+) /.test(o));return r&&s&&i}function vd(e){let t=Gn(e);if(t.length<3)return null;let n=t[0]??"";if(/[=:{}/]/.test(n)||/^\d{4}-\d{2}-\d{2}/.test(n))return null;let r=n.includes(" ")?/\t+/:/\s{2,}/,s=n.split(r).map(o=>o.trim()).filter(Boolean);if(s.length<2||s.some(o=>!/^[A-Za-z0-9_.-]+$/.test(o)))return null;let i=[];for(let o of t.slice(1)){let a=o.split(r).map(c=>c.trim());if(a.length!==s.length||a.some(c=>c===""))return null;i.push(Object.fromEntries(s.map((c,u)=>[c,a[u]??""])))}return i.length>0?{columns:s,rows:i}:null}function x_(e){let t=Gn(e);return t.length<3?!1:t.filter(r=>/^\d{4}-\d{2}-\d{2}[T\s]/.test(r)||/\b(?:TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.test(r)||(r.match(/\b[A-Za-z0-9_.+:-]+=/g)?.length??0)>=2||/^\[[^\]]+\]\s+/.test(r)).length/t.length>=.6}function v_(e){let t=e.trim();if(!t)return!1;let n=t.split(/\s+/).filter(Boolean),r=t.match(/[.!?](?:\s|$)/g)?.length??0;return n.length>=20&&r>=2}function Gn(e){return e.split(/\r?\n/).filter(t=>t.trim()!=="")}function bo(e){let t=new Map;for(let n of e)if(Hn(n))for(let r of Object.keys(n))t.set(r,(t.get(r)??0)+1);return[...t.entries()].sort((n,r)=>r[1]-n[1]||n[0].localeCompare(r[0])).slice(0,20).map(([n])=>n)}function T_(e,t){let n=new Map;for(let r of e){if(!Hn(r))continue;let s=r[t];if(typeof s=="string"||typeof s=="number"||typeof s=="boolean"){let i=String(s).toLowerCase();n.set(i,(n.get(i)??0)+1)}}return Object.fromEntries([...n.entries()].sort((r,s)=>r[0].localeCompare(s[0])))}function O_(e){let t=new Map;for(let n of e){let r=/\blevel=([A-Za-z]+)\b/.exec(n)??/\b(TRACE|DEBUG|INFO|WARN|WARNING|ERROR|FATAL|PANIC)\b/i.exec(n);if(!r)continue;let s=(r[1]??r[0]).toLowerCase();t.set(s,(t.get(s)??0)+1)}return Object.fromEntries([...t.entries()].sort((n,r)=>n[0].localeCompare(r[0])))}function Xe(e){return typeof e=="string"?Et(e):typeof e=="number"||typeof e=="boolean"||e===null?e:Array.isArray(e)?e.slice(0,5).map(Xe):Hn(e)?Object.fromEntries(Object.entries(e).slice(0,8).map(([t,n])=>[t,Xe(n)])):String(e)}function Et(e){let t=e.replace(/\s+/g," ").trim();return t.length<=hd?t:`${t.slice(0,hd-1)}\u2026`}function Td(e){let t=D(e).trimEnd(),n=j(t);if(!wo(e,n))throw new Error("exec TOON round-trip guard failed");return`${t}
|
|
157
|
-
`}function wo(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 o=t;return e.length!==o.length?!1:e.every((a,c)=>wo(a,o[c]))}let n=e,r=t,s=Object.keys(n),i=Object.keys(r);return s.length!==i.length?!1:s.every(o=>Object.prototype.hasOwnProperty.call(r,o)&&wo(n[o],r[o]))}function Hn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Od(e){let n=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return n.length<=240?n:`${n.slice(0,239)}\u2026`}function wd(e){return e.toString("utf8").replace(/�$/g,"")}function P_(e){if(e.length===0)return 0;let t=0;for(let n of e)n===10&&t++;return e[e.length-1]===10?t:t+1}function D_(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var o_,a_,bd,hd,Wn=E(()=>{"use strict";Q();gd();St();Bn();ut();o_=8*1024,a_=2*1024,bd=1024,hd=240});Ts();Ce();pn();import{spawn as xo}from"node:child_process";import{createHash as C_}from"node:crypto";import{existsSync as vt,readFileSync as $_,readdirSync as I_,statSync as A_}from"node:fs";import{tmpdir as N_}from"node:os";import{dirname as B_,join as tt}from"node:path";import{fileURLToPath as is}from"node:url";function $a(e){let t={app:e,version:_m(Bt("__RED_BUILD_VERSION__",()=>"2.74.
|
|
157
|
+
`}function wo(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 o=t;return e.length!==o.length?!1:e.every((a,c)=>wo(a,o[c]))}let n=e,r=t,s=Object.keys(n),i=Object.keys(r);return s.length!==i.length?!1:s.every(o=>Object.prototype.hasOwnProperty.call(r,o)&&wo(n[o],r[o]))}function Hn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Od(e){let n=(e instanceof Error?e.message:String(e??"unknown scorer failure")).split(/\r?\n/,1)[0]?.replace(/\s+/g," ").trim()||"unknown scorer failure";return n.length<=240?n:`${n.slice(0,239)}\u2026`}function wd(e){return e.toString("utf8").replace(/�$/g,"")}function P_(e){if(e.length===0)return 0;let t=0;for(let n of e)n===10&&t++;return e[e.length-1]===10?t:t+1}function D_(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:t}var o_,a_,bd,hd,Wn=E(()=>{"use strict";Q();gd();St();Bn();ut();o_=8*1024,a_=2*1024,bd=1024,hd=240});Ts();Ce();pn();import{spawn as xo}from"node:child_process";import{createHash as C_}from"node:crypto";import{existsSync as vt,readFileSync as $_,readdirSync as I_,statSync as A_}from"node:fs";import{tmpdir as N_}from"node:os";import{dirname as B_,join as tt}from"node:path";import{fileURLToPath as is}from"node:url";function $a(e){let t={app:e,version:_m(Bt("__RED_BUILD_VERSION__",()=>"2.74.1")??"0.0.0-dev"),gitSha:Bt("__RED_BUILD_GIT_SHA__",()=>"abfe1a21e9fc1d8683dd071b1fe067c045fed2c0")??"unknown",buildTime:Bt("__RED_BUILD_TIME__",()=>"2026-07-18T13:48:46-03:00")??"unknown",bundleAsset:Bt("__RED_BUNDLE_ASSET__",()=>"rsp.bundle.min.mjs")??"unknown"},n=Bt("__REDDB_SDK_VERSION__",()=>"1.23.1"),r=Bt("__REDDB_BINARY_TAG__",()=>"v1.23.1");return n&&(t.reddbSdkVersion=n),r&&(t.reddbBinaryTag=r),t}function _m(e){return e.startsWith("v")?e.slice(1):e}function Bt(e,t){try{let n=t();return typeof n=="string"&&n.length>0?n:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}gn();Ws();ut();Ee();async function L_(e=process.argv.slice(2)){let t=$a("rsp");if(hR(e))return process.stdout.write(yR(e)),0;let n=bR(e);if(n.command==="hook"&&n.positional[1]==="claude-pre-exec"){let{runClaudePreExecHook:m}=await Promise.resolve().then(()=>(An(),Nr));return await m()}if(n.command==="hook"&&n.positional[1]==="codex-pre-exec"){let{runCodexPreExecHook:m}=await Promise.resolve().then(()=>(An(),Nr));return await m()}if(n.command==="hook"&&n.positional[1]==="claude-post-exec"){let{runClaudePostExecHook:m}=await Promise.resolve().then(()=>(Bn(),ki));return await m()}if(n.command==="hook"&&n.positional[1]==="codex-post-exec"){let{runCodexPostExecHook:m}=await Promise.resolve().then(()=>(Bn(),ki));return await m()}if(n.command==="setup"){let{provisionRspRepoStore:m}=await Promise.resolve().then(()=>(Cu(),Du)),g=await m(process.cwd());return process.stdout.write(TR(g)),0}if(n.command==="mcp"){let{runRspMcpServer:m}=await Promise.resolve().then(()=>(Lu(),Bu));return await m(),0}if(n.command==="wait"){let{runWait:m}=await Promise.resolve().then(()=>(Ui(),ji));return await m(n.positional)}if(n.command==="shell-init"){let m=n.positional[1];if(m!=="fish"&&m!=="bash"&&m!=="zsh")return process.stdout.write(N({command:n.positional.join(" ")||"shell-init",category:"usage",error:"usage rsp shell-init fish|bash|zsh",help:"rsp shell-init bash"})),2;let{renderShellInit:g}=await Promise.resolve().then(()=>(Zu(),Qu));return process.stdout.write(g(m)),0}let{resolveRspConfig:r}=await Promise.resolve().then(()=>(Re(),ic)),s=r(process.cwd(),process.env,n.storeUri);if(n.command==="doctor"){let{resolveResidentPaths:m}=await Promise.resolve().then(()=>(Fe(),ht)),g=m(process.cwd()),w=await W_(s,g,So(n.positional,1));return process.stdout.write(Z_(w)),w.exitCode}let i=pR(n.command);if(!s.enabled)return i?await mR(n.positional):(process.stdout.write(`${Do()}
|
|
158
158
|
`),0);if(n.command==="git"&&vo(n.positional)){let m=process.hrtime.bigint();return await se(n,await To(),m,void 0,await F_(process.cwd()))}let{resolveResidentPaths:o,ResidentRspElisionStore:a,ensureResidentServer:c}=await Promise.resolve().then(()=>(Fe(),ht)),u=o(process.cwd());if(i&&U_(s.measurementHoldoutShare))return await M_(n,u.rootDir,s.measurementHoldoutShare);if(n.command==="server"){let{runResidentServer:m}=await Promise.resolve().then(()=>(Dl(),Pl)),g=o(process.cwd()),w=Oe(n.positional,"--socket")??g.socketPath,y=r(process.cwd(),process.env,n.storeUri??Oe(n.positional,"--store-uri"));return y.enabled?(await m({socketPath:w,pidPath:Oe(n.positional,"--pid-file")??o(process.cwd()).pidPath,rootDir:g.rootDir,storeUri:y.storeUri,ttlDays:J(n.positional,"--ttl-days")??y.ttlDays,ephemeralTtlHours:J(n.positional,"--ephemeral-ttl-hours")??y.ephemeralTtlHours,byteBudget:J(n.positional,"--byte-budget")??y.byteBudget,telemetryTtlDays:J(n.positional,"--telemetry-ttl-days")??y.telemetryTtlDays,telemetryByteBudget:J(n.positional,"--telemetry-byte-budget")??y.telemetryByteBudget,telemetryDrainIntervalMs:J(n.positional,"--telemetry-drain-interval-ms")??y.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:J(n.positional,"--telemetry-drain-timeout-ms")??y.telemetryDrainTimeoutMs,idleMs:J(n.positional,"--idle-ms")??y.idleMs,residentVersion:Oe(n.positional,"--resident-version")??t.version,registryPath:Oe(n.positional,"--registry")??g.registryPath}),0):(process.stdout.write(`${Do()}
|
|
159
159
|
`),0)}if(n.command==="warm-resident"){let m=o(process.cwd()),g=Oe(n.positional,"--socket")??m.socketPath,w=Oe(n.positional,"--wake-lock")??m.wakeLockPath,y=r(process.cwd(),process.env,n.storeUri??Oe(n.positional,"--store-uri"));if(!y.enabled)return 0;let{warmResidentServer:T}=await Promise.resolve().then(()=>(Fe(),ht));return await T({...m,socketPath:g,wakeLockPath:w},{storeUri:y.storeUri,ttlDays:J(n.positional,"--ttl-days")??y.ttlDays,ephemeralTtlHours:J(n.positional,"--ephemeral-ttl-hours")??y.ephemeralTtlHours,byteBudget:J(n.positional,"--byte-budget")??y.byteBudget,telemetryTtlDays:J(n.positional,"--telemetry-ttl-days")??y.telemetryTtlDays,telemetryByteBudget:J(n.positional,"--telemetry-byte-budget")??y.telemetryByteBudget,telemetryDrainIntervalMs:J(n.positional,"--telemetry-drain-interval-ms")??y.telemetryDrainIntervalMs,telemetryDrainTimeoutMs:J(n.positional,"--telemetry-drain-timeout-ms")??y.telemetryDrainTimeoutMs,idleMs:J(n.positional,"--idle-ms")??y.idleMs,clientVersion:t.version}),0}if(n.command==="proxy"){let{runProxy:m}=await Promise.resolve().then(()=>(Xr(),Zr));return await m(n.positional,{telemetryRoot:u.rootDir,level:n.level})}if(n.command==="status"||n.command==="sweep"){let{residentRegistryStatus:m,sweepResidentRegistry:g}=await Promise.resolve().then(()=>(Fe(),ht)),w=n.command==="sweep"?await g(u):await m(u);return process.stdout.write(`${G(w)}
|
|
160
160
|
`),0}if(n.command==="gh-api-json"){let{readGhConditionalJson:m}=await Promise.resolve().then(()=>(Gr(),Ju)),g=_R(n.positional);if(!g)return process.stdout.write(N({command:n.positional.join(" "),category:"usage",error:"usage rsp gh-api-json <path> [-f name=value ...]",help:"rsp gh-api-json repos/{owner}/{repo}",validFlags:["-f","-F"]})),2;let w=await m({path:g.path,params:g.params,cwd:process.cwd(),telemetryRoot:u.rootDir,command:`rsp ${n.positional.join(" ")}`});return process.stdout.write(w.stdout),w.stderr&&process.stderr.write(`${w.stderr}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reddb-io/red-skills",
|
|
3
|
-
"version": "2.74.
|
|
3
|
+
"version": "2.74.1",
|
|
4
4
|
"description": "RedSkills plugin runtime bundles (dev, code-nav, memory, brain) distributed over npm — the v2 client transport (ADR 0091). Carries the platform-independent JS bundles inside the tarball plus thin bin shims; no postinstall download.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|