@reddb-io/red-skills 2.22.0 → 2.22.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/dev.bundle.min.mjs
CHANGED
|
@@ -824,7 +824,7 @@ requeued to ready-for-agent${e.activeBlocker?` (cleared active blocker: ${e.acti
|
|
|
824
824
|
`);let n;try{let i=await Tt("git",["branch","--show-current"],{cwd:t});n=i.code===0&&i.stdout.trim()||void 0}catch{}let o=aAr(e)??(n?sY(n):void 0);return!o||!n?(process.stderr.write(`[afk] /ship alias: could not infer issue or branch.
|
|
825
825
|
Run manually: red-skills-dev requeue #ISSUE --adopt-branch BRANCH --guidance 'reason'
|
|
826
826
|
`),1):(process.stderr.write(`[afk] /ship alias: routing to requeue #${o} --adopt-branch ${n}
|
|
827
|
-
`),iY([String(o),"--adopt-branch",n,"--guidance","Adopted via deprecated /ship alias (ADR 0081). Update guidance if needed."],t,r))}import{existsSync as LAr,statSync as UAr}from"node:fs";import{join as aft,basename as $Ar}from"node:path";function dY(e){let t={app:e,version:cAr(yR("__RED_BUILD_VERSION__",()=>"2.22.
|
|
827
|
+
`),iY([String(o),"--adopt-branch",n,"--guidance","Adopted via deprecated /ship alias (ADR 0081). Update guidance if needed."],t,r))}import{existsSync as LAr,statSync as UAr}from"node:fs";import{join as aft,basename as $Ar}from"node:path";function dY(e){let t={app:e,version:cAr(yR("__RED_BUILD_VERSION__",()=>"2.22.1")??"0.0.0-dev"),gitSha:yR("__RED_BUILD_GIT_SHA__",()=>"d710ea858a4b8b978ee8c6a488c7dbc2db77b6e3")??"unknown",buildTime:yR("__RED_BUILD_TIME__",()=>"2026-07-09T13:55:40-03:00")??"unknown",bundleAsset:yR("__RED_BUNDLE_ASSET__",()=>"dev.bundle.min.mjs")??"unknown"},r=yR("__REDDB_SDK_VERSION__",()=>""),n=yR("__REDDB_BINARY_TAG__",()=>"");return r&&(t.reddbSdkVersion=r),n&&(t.reddbBinaryTag=n),t}function cAr(e){return e.startsWith("v")?e.slice(1):e}function Ydt(e){return`${e.app} ${e.version} ${e.gitSha}`}function yR(e,t){try{let r=t();return typeof r=="string"&&r.length>0?r:void 0}catch{return process.env[e.replace(/^__|__$/g,"")]}}function fY(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${Math.floor(e/1e3)}k`:String(e)}function Jdt(e){let t=(r,n)=>{let o=(Math.round(r*10)/10).toFixed(1);return`${o.endsWith(".0")?o.slice(0,-2):o}${n}`};return e>=1e9?t(e/1e9,"B"):e>=1e6?t(e/1e6,"M"):e>=1e3?t(e/1e3,"k"):String(e>0?e:0)}function Kdt(e){let t=e.toLowerCase();for(let r of["opus","sonnet","haiku","fable"])if(t.includes(r))return r;return e}function uAr(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let r=Math.floor(t/60);if(r<60)return`${r}m${t%60}s`;let n=Math.floor(r/60);return n<24?`${n}h${r%60}m`:`${Math.floor(n/24)}d${n%24}h`}function pY(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60),n=t%60;return n>0?`${r}h${n}m`:`${r}h`}function lAr(e){let t=e.basename;if(e.branch){let r=e.branch;return r.length>28&&(r=`${r.slice(0,27)}\u2026`),`${t} (${r})`}return e.detachedSha?`${t} (detached ${e.detachedSha})`:t}function dAr(e){return!e||!e.model?null:e.effort?`${e.model}\xB7${e.effort}`:e.model}function fAr(e){if(!e)return null;let t=e.contextTokens;if(t===void 0||t===0)return null;let r=fY(t);return e.contextPercent===void 0?r:`${r} ${Math.round(e.contextPercent)}%`}function pAr(e){if(!e||e.workers<=0)return[];let t=[],r=(i,s)=>{t.push({label:i,value:s,suffix:""})};if(e.workers>0&&r("wrk=",String(e.workers)),e.sourceCounts&&e.sourceCounts.length>0)for(let{origin:i,count:s}of e.sourceCounts)r(`${i}=`,String(s));let n=e.cacheAgeS!==void 0?` (${pY(e.cacheAgeS)})`:"";if(e.queue>0&&t.push({label:"rdy=",value:String(e.queue),suffix:n}),e.human>0){let i=n&&e.queue===0?n:"";t.push({label:"hmn=",value:String(e.human),suffix:i})}e.blocked>0&&r("blk=",String(e.blocked));let o=[];return e.added>0&&o.push(`+${e.added}`),e.removed>0&&o.push(`-${e.removed}`),o.length&&r("loc=",e.locIsPeak?`~${o.join(" ")}`:o.join(" ")),e.waiting!==void 0&&e.waiting>0&&r("wai=",String(e.waiting)),e.tokens!==void 0&&e.tokens>0&&r("tok=",fY(e.tokens)),e.costUsd!==void 0&&e.costUsd>0&&r("usd=",e.costUsd.toFixed(2)),e.issues.forEach((i,s)=>{let a=e.stages?.[s],c=e.aliveMs?.[s],u=a?`\xB7${a}`:"";c!==void 0&&c>0&&(u+=`\xB7${uAr(c)}`),t.push({label:"#",value:String(i),suffix:u})}),t}function mAr(e){if(!e)return null;let t=[];return e.usage5h!==void 0&&t.push(`5h=${Math.round(e.usage5h)}%`),e.usage7d!==void 0&&t.push(`7d=${Math.round(e.usage7d)}%`),t.length?t.join(" "):null}function hAr(e){if(!e)return null;let t=[],r=e.cacheAgeS!==void 0?` (${pY(e.cacheAgeS)})`:"";if(e.openPrs&&e.openPrs>0&&t.push(`prs=${e.openPrs}${r}`),e.todayPrs&&e.todayPrs>0){let o=r&&(!e.openPrs||e.openPrs===0)?r:"";t.push(`cpr=${e.todayPrs}${o}`)}if(e.openIssues&&e.openIssues>0){let o=r&&(!e.openPrs||e.openPrs===0)&&(!e.todayPrs||e.todayPrs===0)?r:"";t.push(`iss=${e.openIssues}${o}`)}let n=[];return e.localAdded&&e.localAdded>0&&n.push(`+${e.localAdded}`),e.localRemoved&&e.localRemoved>0&&n.push(`-${e.localRemoved}`),n.length&&t.push(`loc=${n.join(" ")}`),t.length?t.join(" "):null}function gAr(e){let t=pAr(e);return t.length===0?null:t.map(r=>`${r.label}${r.value}${r.suffix}`).join(" ")}function Zdt(e){let t=[lAr(e.project)],r=dAr(e.claude);r!==null&&t.push(r);let n=fAr(e.claude);n!==null&&t.push(n);let o=mAr(e.claude);o!==null&&t.push(o);let i=hAr(e.repo);i!==null&&t.push(i);let s=gAr(e.afk);return s!==null&&t.push(s),t.join(" \xB7 ")}var AAr="\x1B[48;2;114;47;55m",yAr="\x1B[48;2;88;36;42m",Xdt="\x1B[49m",wC="\x1B[38;2;255;255;255m",eft="\x1B[38;2;255;214;214m",tft="\x1B[39m",hY="\x1B[38;2;224;138;148m",mY="\x1B[38;2;201;150;158m",xAr="\x1B[38;2;240;200;120m",rft="\x1B[1m",nft="\x1B[22m",oft="\x1B[0m",EAr=28,bAr=" ",WAe=["workerId","run","org","iss","stage","elapsed","loc","tks","tls","rsn","txt"],SAr=new Set(["requeue"]),CAr=e=>e.replace(/\x1b\[[0-9;]*m/g,"");function ift(e){return CAr(e).length}function IAr(e,t){return e+" ".repeat(Math.max(0,t-ift(e)))}var kC=(e,t)=>`${eft}${e}=${tft}${t}${hY}`;function wAr(e,t){let r=[];return e&&e>0&&r.push(`+${e}`),t&&t>0&&r.push(`-${t}`),r.length?r.join(" "):null}function kAr(e){let t="";if(e.branch){let n=e.branch.length>EAr?`${e.branch.slice(0,27)}\u2026`:e.branch;t=` ${mY}(${n})${wC}`}else e.detachedSha&&(t=` ${mY}(detached ${e.detachedSha})${wC}`);let r=e.version?` ${mY}v${e.version}${wC}`:"";return`${xAr}\xBB${wC} ${rft}${e.basename}${nft}${t}${r}`}function vAr(e){return!e||!e.model?null:e.effort?`${e.model}${mY}\xB7${wC}${e.effort}`:e.model}function RAr(e){if(!e||!e.contextTokens)return null;let t=fY(e.contextTokens),r=e.contextPercent===void 0?t:`${t} ${Math.round(e.contextPercent)}%`;return kC("ctx",r)}function BAr(e){if(!e)return[];let t=[];return e.usage5h!==void 0&&t.push(kC("5h",`${Math.round(e.usage5h)}%`)),e.usage7d!==void 0&&t.push(kC("7d",`${Math.round(e.usage7d)}%`)),t}function _Ar(e){if(!e)return[];let t=[],r=e.cacheAgeS!==void 0?` (${pY(e.cacheAgeS)})`:"";if(e.openPrs&&e.openPrs>0&&t.push(kC("prs",String(e.openPrs))+r),e.todayPrs&&e.todayPrs>0){let n=r&&(!e.openPrs||e.openPrs===0)?r:"";t.push(kC("cpr",String(e.todayPrs))+n)}if(e.openIssues&&e.openIssues>0){let n=r&&(!e.openPrs||e.openPrs===0)&&(!e.todayPrs||e.todayPrs===0)?r:"";t.push(kC("iss",String(e.openIssues))+n)}return t}function TAr(e){if(!e)return[];let t=wAr(e.localAdded,e.localRemoved);return t?[kC("loc",t)]:[]}function DAr(e,t,r){let n=`${yAr}${wC} ${kAr(e)} `,o=vAr(t);o!==null&&(n+=`${AAr}${wC} ${o} `),n+=`${Xdt}${hY}`;let i=[RAr(t),...BAr(t),..._Ar(r),...TAr(r)].filter(s=>s!==null);return i.length&&(n+=` ${i.join(" ")}`),`${n}${oft}`}function QAr(e,t){let r=Zlt(e,t),n=[r.runner,r.model?Kdt(r.model):void 0,r.effort].filter(i=>!!i).join(" "),o=r.origin!==void 0&&SAr.has(r.origin);return{workerId:r.workerId,run:`run=${n}`,org:`org=${r.origin||"afk"}`,iss:r.issue===null?"":`iss=${String(r.issue)}`,stage:r.issue===null?"":r.stage,elapsed:r.elapsed,loc:o?"":`loc=${rY(r.added,r.removed)}`,tks:o?"":`tks=${Jdt(r.tokens)}`,tls:o?"":`tls=${String(r.tools)}`,rsn:o?"":`rsn=${String(r.reasoning)}`,txt:o?"":`txt=${String(r.text)}`}}function OAr(e){let t=Object.fromEntries(WAe.map(r=>[r,0]));for(let r of e)for(let n of WAe)t[n]=Math.max(t[n],ift(r[n]));return t}function NAr(e,t){if(e==="workerId")return`${rft}${t}${nft}`;let r=t.indexOf("=");return r>0?`${eft}${t.slice(0,r+1)}${tft}${t.slice(r+1)}${hY}`:t}function PAr(e,t){let r=WAe.map(n=>NAr(n,IAr(e[n],t[n])));return`${Xdt}${hY}${r.join(bAr)}${oft}`}function MAr(e,t){let r=e.map(o=>QAr(o,t)),n=OAr(r);return r.map(o=>PAr(o,n))}function FAr(e,t={}){let r=[DAr(e.project,e.claude,e.repo)],n=t.now??0;return r.push(...MAr(t.workers??[],n)),r.join(`
|
|
828
828
|
`)}function sft(e,t,r={}){return t?FAr(e,r):Zdt(e)}Mo();function HAr(e){return new Promise(t=>{if(e.isTTY){t("");return}let r="",n=!1,o=()=>{n||(n=!0,t(r))};e.setEncoding("utf8"),e.on("data",i=>{r+=i}),e.on("end",o),e.on("error",o),e.on("close",o)})}function WAr(e){if(!e.trim())return{};try{let t=JSON.parse(e);return typeof t=="object"&&t!==null?t:{}}catch{return{}}}function jAr(e){try{return UAr(e).isDirectory()}catch{return!1}}function GAr(e,t,r){if(e&&jAr(e))return e;let n=t.workspace?.project_dir||t.workspace?.current_dir||t.cwd;return n||r}function qAr(e){let t=aft(e,".red","config.yaml");if(!LAr(t))return!0;let r=Cr(t,{warn:()=>{}});return!(Ze(r,"statusline")==="false"||Ze(r,"afk.statusline")==="false")}async function zAr(e){let t={cwd:e},r=dY("dev").version,n={basename:$Ar(e),version:r},o=await KN(t);if(o)return{...n,branch:o};let i=await ig(t);return i?{...n,detachedSha:i}:n}function VAr(e){let t=e.model?.display_name,r=e.effort?.level,n=e.context_window?.total_input_tokens,o=e.context_window?.used_percentage,i=e.rate_limits?.five_hour?.used_percentage,s=e.rate_limits?.seven_day?.used_percentage;if(!(t===void 0&&n===void 0&&i===void 0&&s===void 0))return{model:t||void 0,effort:r||void 0,contextTokens:n,contextPercent:o,usage5h:i,usage7d:s}}async function cft(e,t=process.cwd(),r=process.stdout,n=process.stdin){if(e.includes("--legend"))return r.write(`${nY()}
|
|
829
829
|
`),0;let o=e[0],i=await HAr(n),s=WAr(i),a=GAr(o,s,t);if(!qAr(a))return 0;let c=await zAr(a),u=VAr(s),l={root:a,repo:Zv(a),remote:"origin"},d=Cr(aft(a,".red","config.yaml"),{warn:()=>{}}),f=u4(process.env,I=>Ze(d,I)),[p,m,g]=await Promise.all([Xst(l,f),Kst(l,f).then(I=>I??void 0),Zst(l)]),y=!process.env.NO_COLOR,E=Number.parseInt(process.env.COLUMNS??"",10),A=Math.floor(Date.now()/1e3),b=sft({project:c,claude:u,repo:p,afk:m},y,{columns:Number.isFinite(E)&&E>0?E:void 0,workers:g,now:A});return r.write(`${b}
|
|
830
830
|
`),0}async function uft(e,t=process.cwd()){let r=e[0]??t,n="",o="";for(let i=1;i<e.length;i+=1){let s=e[i];s==="--repo"?n=e[++i]??"":s==="--lock"&&(o=e[++i]??"")}return await Jst(r,n||Zv(r),o||void 0),0}NC();import{spawn as Ift}from"node:child_process";import{existsSync as GAe,openSync as kft,closeSync as nyr,writeFileSync as vft,writeSync as oyr,rmSync as qAe,renameSync as iyr}from"node:fs";import{join as vC}from"node:path";import{existsSync as YAr,readdirSync as FP,readFileSync as gY,statSync as pft}from"node:fs";import{join as cs}from"node:path";eu();Gd();function JAr(e,t){return cs(e,`afk-supervisor-slot-${t}.log`)}function KAr(e){let t;try{t=gY(e,"utf8")}catch{return[]}let r=[],n=new Set;for(let o of t.split(`
|
|
@@ -6515,7 +6515,7 @@ Usage:
|
|
|
6515
6515
|
${r} archive --candidate <json> [--root <dir>] [--archive-dir <rel>]
|
|
6516
6516
|
${r} restore <name> [--root <dir>] [--archive-dir <rel>]`}function nL(r){return ygr(typeof r.root=="string"?r.root:process.cwd())}function Dct(r){return typeof r["archive-dir"]=="string"?r["archive-dir"]:void 0}async function YW(r){let s=await Mu(r);return s?s.mode!=="graph"?{ok:!1,message:`curate: skill telemetry needs graph mode (this project is "${s.mode}") \u2014 run \`${_De}\``}:uh(s)?{ok:!0}:{ok:!1,message:`curate: skill telemetry is not enabled here \u2014 run \`${_De}\``}:{ok:!1,message:`curate: memory is not initialized here \u2014 run \`${_De}\``}}function bgr(){let r=hgr(vgr(import.meta.url));return r.includes("dist/curate-skill")||r.endsWith("dist/curate-skill")?Ect(r,"..","cli.js"):Ect(r,"..","cli.ts")}async function Sgr(r,s){let l=["curate","skills","--json"];s!==void 0&&l.push("--stale-days",String(s));let f=bgr(),v=f.endsWith(".ts")?Cct(process.execPath,["--import","tsx",f,...l,"--root",r],{encoding:"utf8"}):Cct(process.execPath,[f,...l,"--root",r],{encoding:"utf8"}),T=v.status??1;if(T!==0)throw new Error(`memory curate skills exited ${T}`);return kct(v.stdout??"")}function xgr(r){return typeof r.flags["stale-days"]=="string"?Number(r.flags["stale-days"]):void 0}async function Act(r,s){return(s.loadCuratorReport??Sgr)(nL(r.flags),xgr(r))}async function kgr(r){let s=nL(r.flags),l=await YW(s);return l.ok?(console.log("curate: skill telemetry is enabled \u2014 ready to curate"),0):(console.error(l.message),2)}async function wgr(r,s){let l=nL(r.flags),f=await YW(l);if(!f.ok)return console.error(f.message),2;let _;try{_=await Act(r,s)}catch(B){return console.error(`curate: ${B.message}`),1}let{candidates:v,byCategory:T,filtered:N}=fDe(_);return console.log(JSON.stringify({candidates:v,byCategory:T,filtered:N,totals:{totalSkills:_.totalSkills,curatableSkills:_.curatableSkills,readOnlySkills:_.readOnlySkills}},null,2)),0}async function Tgr(r,s){let l=nL(r.flags),f=await YW(l);if(!f.ok)return console.error(f.message),2;let _;try{_=await Act(r,s)}catch(B){return console.error(`curate: ${B.message}`),1}let{byCategory:v}=fDe(_);if(pDe(v)===0)return console.error("curate: no candidates \u2014 no issue filed"),0;let T=typeof r.flags.label=="string"?r.flags.label:void 0,N=await Tct({byCategory:v,totals:{totalSkills:_.totalSkills,curatableSkills:_.curatableSkills,readOnlySkills:_.readOnlySkills},generatedAt:_.generatedAt},{cwd:l,label:T});return console.log(`curate: filed background issue \u2014 ${N.output||N.title}`),0}async function Cgr(r){let s=nL(r.flags),l=await YW(s);if(!l.ok)return console.error(l.message),2;let f=r.flags.candidate;if(typeof f!="string")return console.error("curate archive: --candidate <json> is required"),2;let _;try{_=JSON.parse(f)}catch(T){return console.error(`curate archive: invalid --candidate JSON: ${T.message}`),2}let v=await Sct(_,{rootDir:s,archiveDir:Dct(r.flags)});return v.ok?(console.log(`curate: archived "${v.receipt.name}" \u2192 ${v.receipt.archiveRoot} (${v.receipt.files.length} file(s), manifest at ${v.receipt.manifestPath})`),0):(console.error(`curate archive: refused \u2014 ${v.rejection.reason}: ${v.rejection.detail}`),3)}async function Egr(r){let s=nL(r.flags),l=await YW(s);if(!l.ok)return console.error(l.message),2;let f=r.positional[0];if(!f)return console.error("curate restore: skill name is required"),2;let _=await xct(f,{rootDir:s,archiveDir:Dct(r.flags)});return console.log(`curate: restored "${_.name}" \u2192 ${_.restoredRoot} (${_.files.length} file(s) hash-verified)`),0}async function Nct(r,s={}){switch(r.command){case"check":return kgr(r);case"list":return wgr(r,s);case"background":return Tgr(r,s);case"archive":return Cgr(r);case"restore":return Egr(r);case void 0:case"--help":case"-h":return console.log(Pct(s.usageCommand)),0;default:return console.error(`unknown curate subcommand: ${r.command}
|
|
6517
6517
|
|
|
6518
|
-
${Pct(s.usageCommand)}`),2}}function Ict(r){let s={app:r,version:Pgr(iL("__RED_BUILD_VERSION__",()=>"2.22.
|
|
6518
|
+
${Pct(s.usageCommand)}`),2}}function Ict(r){let s={app:r,version:Pgr(iL("__RED_BUILD_VERSION__",()=>"2.22.1")??"0.0.0-dev"),gitSha:iL("__RED_BUILD_GIT_SHA__",()=>"d710ea858a4b8b978ee8c6a488c7dbc2db77b6e3")??"unknown",buildTime:iL("__RED_BUILD_TIME__",()=>"2026-07-09T13:55:40-03:00")??"unknown",bundleAsset:iL("__RED_BUNDLE_ASSET__",()=>"memory.bundle.min.mjs")??"unknown"},l=iL("__REDDB_SDK_VERSION__",()=>"1.7.0"),f=iL("__REDDB_BINARY_TAG__",()=>"v1.7.0");return l&&(s.reddbSdkVersion=l),f&&(s.reddbBinaryTag=f),s}function Pgr(r){return r.startsWith("v")?r.slice(1):r}function Rct(r){return`${r.app} ${r.version} ${r.gitSha}`}function iL(r,s){try{let l=s();return typeof l=="string"&&l.length>0?l:void 0}catch{return process.env[r.replace(/^__|__$/g,"")]}}var Oct=`memory \u2014 governed operational memory for code agents
|
|
6519
6519
|
|
|
6520
6520
|
Common workflows:
|
|
6521
6521
|
remember one fact memory store "Decision: ..."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reddb-io/red-skills",
|
|
3
|
-
"version": "2.22.
|
|
3
|
+
"version": "2.22.1",
|
|
4
4
|
"description": "RedSkills plugin runtime bundles (dev, 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",
|