@thebushidocollective/han 1.25.0 → 1.26.0

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/bundle.js CHANGED
@@ -670,18 +670,28 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus
670
670
  `)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
671
671
  `,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){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 n=sS(e),r=Dm(n);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=sS(e),r=Dm(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,n){return this.type!=="comment"||this.indent<=n?!1:e.every(r=>r.type==="newline"||r.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){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:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};L9.Parser=BR});var z9=ne(q0=>{"use strict";var G9=cR(),Rle=T0(),P0=H0(),wle=ux(),Nle=Un(),Tle=vR(),P9=IR();function q9(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Tle.LineCounter||null,prettyErrors:e}}function Ole(t,e={}){let{lineCounter:n,prettyErrors:r}=q9(e),s=new P9.Parser(n?.addNewLine),l=new G9.Composer(e),o=Array.from(l.compose(s.parse(t)));if(r&&n)for(let f of o)f.errors.forEach(P0.prettifyError(t,n)),f.warnings.forEach(P0.prettifyError(t,n));return o.length>0?o:Object.assign([],{empty:!0},l.streamInfo())}function j9(t,e={}){let{lineCounter:n,prettyErrors:r}=q9(e),s=new P9.Parser(n?.addNewLine),l=new G9.Composer(e),o=null;for(let f of l.compose(s.parse(t),!0,t.length))if(!o)o=f;else if(o.options.logLevel!=="silent"){o.errors.push(new P0.YAMLParseError(f.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return r&&n&&(o.errors.forEach(P0.prettifyError(t,n)),o.warnings.forEach(P0.prettifyError(t,n))),o}function Mle(t,e,n){let r;typeof e=="function"?r=e:n===void 0&&e&&typeof e=="object"&&(n=e);let s=j9(t,n);if(!s)return null;if(s.warnings.forEach(l=>wle.warn(s.options.logLevel,l)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:r},n))}function Hle(t,e,n){let r=null;if(typeof e=="function"||Array.isArray(e)?r=e:n===void 0&&e&&(n=e),typeof n=="string"&&(n=n.length),typeof n=="number"){let s=Math.round(n);n=s<1?void 0:s>8?{indent:8}:{indent:s}}if(t===void 0){let{keepUndefined:s}=n??e??{};if(!s)return}return Nle.isDocument(t)&&!r?t.toString(n):new Rle.Document(t,r,n).toString(n)}q0.parse=Mle;q0.parseAllDocuments=Ole;q0.parseDocument=j9;q0.stringify=Hle});var Y9=ne(tr=>{"use strict";var Ule=cR(),kle=T0(),Lle=jx(),SR=H0(),Gle=m0(),tf=Un(),Ple=ZA(),qle=Ta(),jle=$A(),zle=WA(),Kle=aS(),Yle=CR(),Jle=vR(),Vle=IR(),oS=z9(),K9=d0();tr.Composer=Ule.Composer;tr.Document=kle.Document;tr.Schema=Lle.Schema;tr.YAMLError=SR.YAMLError;tr.YAMLParseError=SR.YAMLParseError;tr.YAMLWarning=SR.YAMLWarning;tr.Alias=Gle.Alias;tr.isAlias=tf.isAlias;tr.isCollection=tf.isCollection;tr.isDocument=tf.isDocument;tr.isMap=tf.isMap;tr.isNode=tf.isNode;tr.isPair=tf.isPair;tr.isScalar=tf.isScalar;tr.isSeq=tf.isSeq;tr.Pair=Ple.Pair;tr.Scalar=qle.Scalar;tr.YAMLMap=jle.YAMLMap;tr.YAMLSeq=zle.YAMLSeq;tr.CST=Kle;tr.Lexer=Yle.Lexer;tr.LineCounter=Jle.LineCounter;tr.Parser=Vle.Parser;tr.parse=oS.parse;tr.parseAllDocuments=oS.parseAllDocuments;tr.parseDocument=oS.parseDocument;tr.stringify=oS.stringify;tr.visit=K9.visit;tr.visitAsync=K9.visitAsync});import{execSync as Zle}from"node:child_process";import{existsSync as J9,readFileSync as V9}from"node:fs";import{dirname as Xle,join as Z9}from"node:path";function $le(t){let e=Z9(t,"han-config.json");if(!J9(e))return null;try{let n=V9(e,"utf-8");return JSON.parse(n)}catch(n){return console.error(`Error loading plugin config from ${e}:`,n),null}}function Wle(t){let e=Z9(t,"han-config.yml");if(!J9(e))return null;try{let n=V9(e,"utf-8");return X9.default.parse(n)}catch(n){return console.error(`Error loading user config from ${e}:`,n),null}}function QR(t){let e=t.split("/");return e[e.length-1]||""}async function*ece(t,e){let n=e.map(s=>`**/${s}`),r=new Set;for await(let s of um(n,{cwd:t,gitignore:!0,ignore:[".git/**"],absolute:!0,onlyFiles:!0})){let l=Xle(s.toString());r.has(l)||(r.add(l),yield l)}}function tce(t,e){try{return Zle(e,{cwd:t,stdio:["ignore","ignore","ignore"],encoding:"utf8",shell:"/bin/sh",env:process.env}),!0}catch{return!1}}function nce(t,e){if(!t&&!e)return;let n=new Set;if(t)for(let r of t)n.add(r);if(e)for(let r of e)n.add(r);return Array.from(n)}async function*$9(t,e,n){let r=$le(t);if(!r)return;let s=r.hooks[e];if(!s)return;let l=QR(t),o=f=>{let E=Wle(f)?.[l]?.[e];return{enabled:E?.enabled!==!1,command:E?.command||s.command,directory:f,ifChanged:nce(s.ifChanged,E?.if_changed)}};if(!s.dirsWith||s.dirsWith.length===0){yield o(n);return}for await(let f of ece(n,s.dirsWith))s.dirTest&&!tce(f,s.dirTest)||(yield o(f))}var X9,W9=Ue(()=>{"use strict";AI();X9=Dt(Y9(),1)});var uS={};Vu(uS,{runConfiguredHook:()=>oce,validate:()=>sce});import{execSync as tP}from"node:child_process";import{dirname as rce}from"node:path";async function*ace(t,e){let n=e.map(s=>`**/${s}`),r=new Set;for await(let s of um(n,{cwd:t,gitignore:!0,ignore:[".git/**"],absolute:!0,onlyFiles:!0})){let l=rce(s.toString());r.has(l)||(r.add(l),yield l)}}function _R(t,e,n){try{return tP(e,{cwd:t,stdio:n?["pipe","inherit","inherit"]:["ignore","inherit","inherit"],input:n||void 0,encoding:"utf8",shell:"/bin/sh",env:process.env}),!0}catch{return!1}}function ice(t,e){try{return tP(e,{cwd:t,stdio:["ignore","ignore","ignore"],encoding:"utf8",shell:"/bin/sh",env:process.env}),!0}catch{return!1}}async function sce(t){let{failFast:e,dirsWith:n,testDir:r,command:s,stdinData:l}=t,o=process.env.CLAUDE_PROJECT_DIR||process.cwd();n||(_R(o,s,l)||(console.error(`
672
672
  Failed when trying to run \`${s}\` in root directory
673
+ `),console.error(`
674
+ \u{1F4CB} Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.
673
675
  `),process.exit(2)),console.log(`
674
676
  \u2705 All 1 directory passed validation`),process.exit(0));let f=n.split(",").map(C=>C.trim()),p=[],E=0;for await(let C of ace(o,f)){if(r&&!ice(C,r))continue;if(E++,!_R(C,s,l)){let y=C.replace(`${o}/`,"");p.push(y),console.error(`
675
677
  Failed when trying to run \`${s}\` in directory: \`${y}\`
676
- `),e&&process.exit(2)}}if(E===0&&(console.log(`No directories found with ${n}`),process.exit(0)),p.length>0){console.error(`
678
+ `),e&&(console.error(`
679
+ \u{1F4CB} Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.
680
+ `),process.exit(2))}}if(E===0&&(console.log(`No directories found with ${n}`),process.exit(0)),p.length>0){console.error(`
677
681
  \u274C ${p.length} director${p.length===1?"y":"ies"} failed validation:
678
- `);for(let C of p)console.error(` - ${C}`);process.exit(2)}console.log(`
682
+ `);for(let C of p)console.error(` - ${C}`);console.error(`
683
+ \u{1F4CB} Instructions: Review the error output above for each failure, fix the issues in your code, then run the hook again to verify all directories pass.
684
+ `),process.exit(2)}console.log(`
679
685
  \u2705 All ${E} director${E===1?"y":"ies"} passed validation`),process.exit(0)}function eP(t,e,n){let r=e.replace(n,"").replace(/^\//,"").replace(/\//g,"_")||"root";return`${t}_${r}`}async function oce(t){let{hookName:e,failFast:n,stdinData:r,cache:s}=t,l=process.env.CLAUDE_PLUGIN_ROOT,o=process.env.CLAUDE_PROJECT_DIR||process.cwd();l||(console.error(`Error: CLAUDE_PLUGIN_ROOT environment variable is not set.
680
686
  This command must be run from within a Claude Code hook context.`),process.exit(1));let f=QR(l),p=[],E=[],C=0,I=0,y=0;for await(let _ of $9(l,e,o)){if(C++,!_.enabled){I++;continue}if(s&&_.ifChanged&&_.ifChanged.length>0){let R=eP(e,_.directory,o);if(!await aL(f,R,_.directory,_.ifChanged)){y++;continue}}let B=_.directory.replace(`${o}/`,"");console.log(`Running "${_.command}" in ${B}...`),_R(_.directory,_.command,r)?E.push(_):(p.push({dir:B,command:_.command}),console.error(`
681
687
  Failed when trying to run \`${_.command}\` in directory: \`${B}\`
682
- `),n&&process.exit(2))}C===0&&(console.log(`No directories found for hook "${e}" in plugin "${f}"`),process.exit(0)),I===C&&(console.log(`All directories have hook "${e}" disabled via han-config.yml`),process.exit(0));let b=E.length+p.length;if(y>0&&console.log(`Skipped ${y} director${y===1?"y":"ies"} (no changes detected)`),b===0&&y>0&&(console.log("No changes detected in any directories. Nothing to run."),process.exit(0)),s&&E.length>0){for(let _ of E)if(_.ifChanged&&_.ifChanged.length>0){let B=eP(e,_.directory,o),F=await nL(_.directory,_.ifChanged),R=rL(F,_.directory);tL(f,B,R)}}if(p.length>0){console.error(`
688
+ `),n&&(console.error(`
689
+ \u{1F4CB} Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.
690
+ `),process.exit(2)))}C===0&&(console.log(`No directories found for hook "${e}" in plugin "${f}"`),process.exit(0)),I===C&&(console.log(`All directories have hook "${e}" disabled via han-config.yml`),process.exit(0));let b=E.length+p.length;if(y>0&&console.log(`Skipped ${y} director${y===1?"y":"ies"} (no changes detected)`),b===0&&y>0&&(console.log("No changes detected in any directories. Nothing to run."),process.exit(0)),s&&E.length>0){for(let _ of E)if(_.ifChanged&&_.ifChanged.length>0){let B=eP(e,_.directory,o),F=await nL(_.directory,_.ifChanged),R=rL(F,_.directory);tL(f,B,R)}}if(p.length>0){console.error(`
683
691
  \u274C ${p.length} director${p.length===1?"y":"ies"} failed:
684
- `);for(let _ of p)console.error(` - ${_.dir}`);process.exit(2)}console.log(`
692
+ `);for(let _ of p)console.error(` - ${_.dir}`);console.error(`
693
+ \u{1F4CB} Instructions: Review the error output above for each failure, fix the issues in your code, then run the hook again to verify all directories pass.
694
+ `),process.exit(2)}console.log(`
685
695
  \u2705 All ${b} director${b===1?"y":"ies"} passed`),process.exit(0)}var lS=Ue(()=>{"use strict";AI();iL();W9()});var aP=ne((rve,uce)=>{uce.exports={name:"dotenv",version:"17.2.3",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var cP=ne((ave,Bc)=>{var bR=Et("fs"),cS=Et("path"),lce=Et("os"),cce=Et("crypto"),Ace=aP(),FR=Ace.version,iP=["\u{1F510} encrypt with Dotenvx: https://dotenvx.com","\u{1F510} prevent committing .env to code: https://dotenvx.com/precommit","\u{1F510} prevent building .env in docker: https://dotenvx.com/prebuild","\u{1F4E1} add observability to secrets: https://dotenvx.com/ops","\u{1F465} sync secrets across teammates & machines: https://dotenvx.com/ops","\u{1F5C2}\uFE0F backup and recover secrets: https://dotenvx.com/ops","\u2705 audit secrets and track compliance: https://dotenvx.com/ops","\u{1F504} add secrets lifecycle management: https://dotenvx.com/ops","\u{1F511} add access controls to secrets: https://dotenvx.com/ops","\u{1F6E0}\uFE0F run anywhere with `dotenvx run -- yourcommand`","\u2699\uFE0F specify custom .env file path with { path: '/custom/path/.env' }","\u2699\uFE0F enable debug logging with { debug: true }","\u2699\uFE0F override existing env vars with { override: true }","\u2699\uFE0F suppress all logs with { quiet: true }","\u2699\uFE0F write to custom object with { processEnv: myObject }","\u2699\uFE0F load multiple .env files with { path: ['.env.local', '.env'] }"];function fce(){return iP[Math.floor(Math.random()*iP.length)]}function Cm(t){return typeof t=="string"?!["false","0","no","off",""].includes(t.toLowerCase()):!!t}function dce(){return process.stdout.isTTY}function hce(t){return dce()?`\x1B[2m${t}\x1B[0m`:t}var pce=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function gce(t){let e={},n=t.toString();n=n.replace(/\r\n?/mg,`
686
696
  `);let r;for(;(r=pce.exec(n))!=null;){let s=r[1],l=r[2]||"";l=l.trim();let o=l[0];l=l.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),o==='"'&&(l=l.replace(/\\n/g,`
687
697
  `),l=l.replace(/\\r/g,"\r")),e[s]=l}return e}function mce(t){t=t||{};let e=lP(t);t.path=e;let n=ja.configDotenv(t);if(!n.parsed){let o=new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);throw o.code="MISSING_DATA",o}let r=uP(t).split(","),s=r.length,l;for(let o=0;o<s;o++)try{let f=r[o].trim(),p=Dce(n,f);l=ja.decrypt(p.ciphertext,p.key);break}catch(f){if(o+1>=s)throw f}return ja.parse(l)}function Ece(t){console.error(`[dotenv@${FR}][WARN] ${t}`)}function j0(t){console.log(`[dotenv@${FR}][DEBUG] ${t}`)}function oP(t){console.log(`[dotenv@${FR}] ${t}`)}function uP(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function Dce(t,e){let n;try{n=new URL(e)}catch(f){if(f.code==="ERR_INVALID_URL"){let p=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw p.code="INVALID_DOTENV_KEY",p}throw f}let r=n.password;if(!r){let f=new Error("INVALID_DOTENV_KEY: Missing key part");throw f.code="INVALID_DOTENV_KEY",f}let s=n.searchParams.get("environment");if(!s){let f=new Error("INVALID_DOTENV_KEY: Missing environment part");throw f.code="INVALID_DOTENV_KEY",f}let l=`DOTENV_VAULT_${s.toUpperCase()}`,o=t.parsed[l];if(!o){let f=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${l} in your .env.vault file.`);throw f.code="NOT_FOUND_DOTENV_ENVIRONMENT",f}return{ciphertext:o,key:r}}function lP(t){let e=null;if(t&&t.path&&t.path.length>0)if(Array.isArray(t.path))for(let n of t.path)bR.existsSync(n)&&(e=n.endsWith(".vault")?n:`${n}.vault`);else e=t.path.endsWith(".vault")?t.path:`${t.path}.vault`;else e=cS.resolve(process.cwd(),".env.vault");return bR.existsSync(e)?e:null}function sP(t){return t[0]==="~"?cS.join(lce.homedir(),t.slice(1)):t}function Cce(t){let e=Cm(process.env.DOTENV_CONFIG_DEBUG||t&&t.debug),n=Cm(process.env.DOTENV_CONFIG_QUIET||t&&t.quiet);(e||!n)&&oP("Loading env from encrypted .env.vault");let r=ja._parseVault(t),s=process.env;return t&&t.processEnv!=null&&(s=t.processEnv),ja.populate(s,r,t),{parsed:r}}function yce(t){let e=cS.resolve(process.cwd(),".env"),n="utf8",r=process.env;t&&t.processEnv!=null&&(r=t.processEnv);let s=Cm(r.DOTENV_CONFIG_DEBUG||t&&t.debug),l=Cm(r.DOTENV_CONFIG_QUIET||t&&t.quiet);t&&t.encoding?n=t.encoding:s&&j0("No encoding is specified. UTF-8 is used by default");let o=[e];if(t&&t.path)if(!Array.isArray(t.path))o=[sP(t.path)];else{o=[];for(let C of t.path)o.push(sP(C))}let f,p={};for(let C of o)try{let I=ja.parse(bR.readFileSync(C,{encoding:n}));ja.populate(p,I,t)}catch(I){s&&j0(`Failed to load ${C} ${I.message}`),f=I}let E=ja.populate(r,p,t);if(s=Cm(r.DOTENV_CONFIG_DEBUG||s),l=Cm(r.DOTENV_CONFIG_QUIET||l),s||!l){let C=Object.keys(E).length,I=[];for(let y of o)try{let b=cS.relative(process.cwd(),y);I.push(b)}catch(b){s&&j0(`Failed to load ${y} ${b.message}`),f=b}oP(`injecting env (${C}) from ${I.join(",")} ${hce(`-- tip: ${fce()}`)}`)}return f?{parsed:p,error:f}:{parsed:p}}function vce(t){if(uP(t).length===0)return ja.configDotenv(t);let e=lP(t);return e?ja._configVault(t):(Ece(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),ja.configDotenv(t))}function Bce(t,e){let n=Buffer.from(e.slice(-64),"hex"),r=Buffer.from(t,"base64"),s=r.subarray(0,12),l=r.subarray(-16);r=r.subarray(12,-16);try{let o=cce.createDecipheriv("aes-256-gcm",n,s);return o.setAuthTag(l),`${o.update(r)}${o.final()}`}catch(o){let f=o instanceof RangeError,p=o.message==="Invalid key length",E=o.message==="Unsupported state or unable to authenticate data";if(f||p){let C=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw C.code="INVALID_DOTENV_KEY",C}else if(E){let C=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw C.code="DECRYPTION_FAILED",C}else throw o}}function Ice(t,e,n={}){let r=!!(n&&n.debug),s=!!(n&&n.override),l={};if(typeof e!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(e))Object.prototype.hasOwnProperty.call(t,o)?(s===!0&&(t[o]=e[o],l[o]=e[o]),r&&j0(s===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):(t[o]=e[o],l[o]=e[o]);return l}var ja={configDotenv:yce,_configVault:Cce,_parseVault:mce,config:vce,decrypt:Bce,parse:gce,populate:Ice};Bc.exports.configDotenv=ja.configDotenv;Bc.exports._configVault=ja._configVault;Bc.exports._parseVault=ja._parseVault;Bc.exports.config=ja.config;Bc.exports.decrypt=ja.decrypt;Bc.exports.parse=ja.parse;Bc.exports.populate=ja.populate;Bc.exports=ja});var Vi,ze,z0,AP=Ue(async()=>{"use strict";await wA();await yb();Vi=Dt(bn(),1),ze=Dt(Xd(),1),z0=({hookTypes:t,hookStructure:e,hookResults:n,currentType:r,isComplete:s,verbose:l})=>{let{write:o}=J1(),f=(0,Vi.useRef)(new Set),p=(0,Vi.useRef)(null),[E,C]=(0,Vi.useState)(0),[I,y]=(0,Vi.useState)(null),[b,_]=(0,Vi.useState)(null),[B,F]=(0,Vi.useState)("list"),[R,N]=(0,Vi.useState)(null),q=(0,Vi.useCallback)(()=>{let X=[];for(let w of t)if(X.push({type:"hookType",hookType:w}),I===w){let k=e.get(w)||[],Ae=new Map;for(let me of k)Ae.has(me.plugin)||Ae.set(me.plugin,[]),Ae.get(me.plugin)?.push(me);for(let[me,we]of Ae){X.push({type:"plugin",hookType:w,plugin:me});let Ke=`${w}:${me}`;if(b===Ke)for(let fe=0;fe<we.length;fe++)X.push({type:"command",hookType:w,plugin:me,command:we[fe].command,commandIndex:fe})}}return X},[t,e,I,b])(),K=X=>{let w=e.get(X)||[],k=new Map;for(let Ae of w)k.has(Ae.plugin)||k.set(Ae.plugin,[]),k.get(Ae.plugin)?.push(Ae);return k},z=(X,w)=>{let Ae=(n.get(X)||[]).filter(ot=>ot.plugin===w),me=Ae.filter(ot=>ot.success).length,we=Ae.filter(ot=>!ot.success).length,Ke=Ae.length,Fe=(e.get(X)||[]).filter(ot=>ot.plugin===w).length,rt=Ke>=Fe,We=we>0;return{passed:me,failed:we,total:Ke,allComplete:rt,hasFailed:We,results:Ae}},j=(0,Vi.useCallback)(X=>{let w=n.get(X)||[],k=e.get(X)||[],Ae=w.some(me=>!me.success);return w.length>=k.length&&k.length>0?Ae?"failed":"completed":X===r?"running":"pending"},[n,e,r]),G=(X,w,k)=>(n.get(X)||[]).find(me=>me.plugin===w&&me.command===k);uc((X,w)=>{if(B==="detail"){w.escape&&(F("list"),N(null));return}if(w.upArrow)C(k=>Math.max(0,k-1));else if(w.downArrow)C(k=>Math.min(q.length-1,k+1));else if(w.return||X===" "){let k=q[E];if(!k)return;if(k.type==="hookType")I===k.hookType?(y(null),_(null)):(y(k.hookType),_(null));else if(k.type==="plugin"&&k.plugin){let Ae=`${k.hookType}:${k.plugin}`;_(b===Ae?null:Ae)}else k.type==="command"&&k.plugin&&k.command&&(N(k),F("detail"))}else if(w.escape){if(b){let k=q.findIndex(Ae=>Ae.type==="plugin"&&`${Ae.hookType}:${Ae.plugin}`===b);k!==-1&&C(k),_(null)}else if(I){let k=q.findIndex(Ae=>Ae.type==="hookType"&&Ae.hookType===I);k!==-1&&C(k),y(null)}}}),(0,Vi.useEffect)(()=>{if(r&&!s&&r!==p.current){p.current=r,y(r);let X=t.indexOf(r);X!==-1&&C(X)}},[r,s,t]),(0,Vi.useEffect)(()=>{if(s){for(let X of t)if(!f.current.has(X)){f.current.add(X);let w=j(X),k=n.get(X)||[],Ae=k.filter(We=>We.success).length,me=k.length,Ke=t.indexOf(X)===t.length-1?"\u2514\u2500 ":"\u251C\u2500 ";o(`${Ke}${w==="completed"?"\x1B[32m":"\x1B[31m"}${w==="completed"?"\u2713":"\u2717"} ${X} (${Ae}/${me})\x1B[0m
@@ -727,13 +737,13 @@ Example: han hook run --dirs-with package.json -- npm test`),process.exit(1));le
727
737
 
728
738
  Usage:
729
739
  New format: han hook run <hookName> [--fail-fast] [--cache]
730
- Legacy format: han hook run --dirs-with <file> -- <command>`),process.exit(1));let{runConfiguredHook:f}=await Promise.resolve().then(()=>(lS(),uS));await f({hookName:r,failFast:n.failFast||!1,stdinData:o,cache:n.cache||!1})}})}function DP(t){t.command("test").description("Validate hook configurations for all installed plugins").option("--execute","Execute hooks to verify they run successfully").option("--verbose","Show detailed output for all hooks").action(async e=>{try{let{testHooks:n}=await EP().then(()=>mP);await n({execute:e.execute,verbose:e.verbose}),process.exit(0)}catch(n){console.error("Error during hook testing:",n instanceof Error?n.message:n),process.exit(1)}})}function CP(t){let e=t.command("hook").description("Hook utilities");rP(e),DP(e)}function IP(t){t.command("install [plugin-names...]").description("Install plugins interactively, or use --auto to auto-detect").option("--auto","Auto-detect and install recommended plugins").option("--scope <scope>",'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)',"project").action(async(e,n)=>{try{let r=n.scope||"project";if(r!=="project"&&r!=="local"&&(console.error('Error: --scope must be either "project" or "local"'),process.exit(1)),n.auto){let{install:s}=await SB().then(()=>IB);await s(r)}else if(e.length>0){let{installPlugins:s}=await Promise.resolve().then(()=>(BP(),vP));await s(e,r)}else{let{installInteractive:s}=await SB().then(()=>IB);await s(r)}process.exit(0)}catch(r){console.error("Error during plugin installation:",r instanceof Error?r.message:r),process.exit(1)}})}function Fq(t){t.command("search [query]").description("Search for plugins in the Han marketplace").action(async e=>{try{let{searchPlugins:n}=await Promise.resolve().then(()=>(bq(),_q));await n(e),process.exit(0)}catch(n){console.error("Error during plugin search:",n instanceof Error?n.message:n),process.exit(1)}})}function Nq(t){t.command("uninstall <plugin-names...>").description("Uninstall one or more plugins").option("--scope <scope>",'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)',"project").action(async(e,n)=>{try{let r=n.scope||"project";r!=="project"&&r!=="local"&&(console.error('Error: --scope must be either "project" or "local"'),process.exit(1));let{uninstallPlugins:s}=await Promise.resolve().then(()=>(wq(),Rq));await s(e,r),process.exit(0)}catch(r){console.error("Error during plugin uninstallation:",r instanceof Error?r.message:r),process.exit(1)}})}function Tq(t){let e=t.command("plugin").description("Manage Han plugins");IP(e),Nq(e),Fq(e)}import{execSync as gS,spawn as yAe,spawnSync as Oq}from"node:child_process";import{existsSync as vAe,readFileSync as BAe,readlinkSync as IAe}from"node:fs";import{dirname as Mq,join as Hq}from"node:path";import{fileURLToPath as SAe}from"node:url";function Uq(){try{let t=gS("which han",{encoding:"utf8"}).trim();if(t.includes("/homebrew/")||t.includes("/Cellar/"))return"homebrew";try{if(IAe(t).includes("node_modules"))return"npm"}catch{if(t.includes("node_modules"))return"npm"}if(t.includes("/.local/bin")||t.includes("/usr/local/bin")){let e=Mq(t);if(!vAe(Hq(e,"../lib/node_modules")))return"standalone"}return"npm"}catch{return"unknown"}}function kq(){return"1.25.0"}async function Lq(){try{return gS("npm view @thebushidocollective/han version 2>/dev/null",{encoding:"utf8",timeout:5e3}).trim()}catch{return"unknown"}}async function QAe(){let t=Uq(),e,n;switch(t){case"homebrew":e="brew",n=["upgrade","han"];break;case"npm":e="npm",n=["install","-g","@thebushidocollective/han@latest"];break;case"standalone":e="sh",n=["-c","curl -fsSL https://han.guru/install.sh | sh"];break;default:return!1}if(Oq(e,n,{stdio:"pipe",shell:t==="standalone"}).status!==0)return!1;let s=process.argv.slice(2),l=gS("which han",{encoding:"utf8"}).trim();return yAe(l,s,{stdio:"inherit",env:{...process.env,HAN_SKIP_UPDATE_CHECK:"1"}}).on("exit",f=>{process.exit(f??0)}),!0}async function Gq(){if(process.env.HAN_SKIP_UPDATE_CHECK==="1")return!1;let t=process.argv.slice(2);if(t.includes("--version")||t.includes("-V")||t.includes("--help")||t.includes("-h")||t.length===0||t[0]==="update")return!1;try{let e=kq(),n=await Lq();if(e!==n&&n!=="unknown"&&(console.error(`Updating han: ${e} \u2192 ${n}...`),await QAe()))return!0}catch{}return!1}function Pq(t){t.command("update").description("Update han to the latest version").option("--check","Only check for updates, don't install").action(async e=>{let n=kq(),r=await Lq();if(console.log(`Current version: ${n}`),console.log(`Latest version: ${r}`),n===r){console.log(`
740
+ Legacy format: han hook run --dirs-with <file> -- <command>`),process.exit(1));let{runConfiguredHook:f}=await Promise.resolve().then(()=>(lS(),uS));await f({hookName:r,failFast:n.failFast||!1,stdinData:o,cache:n.cache||!1})}})}function DP(t){t.command("test").description("Validate hook configurations for all installed plugins").option("--execute","Execute hooks to verify they run successfully").option("--verbose","Show detailed output for all hooks").action(async e=>{try{let{testHooks:n}=await EP().then(()=>mP);await n({execute:e.execute,verbose:e.verbose}),process.exit(0)}catch(n){console.error("Error during hook testing:",n instanceof Error?n.message:n),process.exit(1)}})}function CP(t){let e=t.command("hook").description("Hook utilities");rP(e),DP(e)}function IP(t){t.command("install [plugin-names...]").description("Install plugins interactively, or use --auto to auto-detect").option("--auto","Auto-detect and install recommended plugins").option("--scope <scope>",'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)',"project").action(async(e,n)=>{try{let r=n.scope||"project";if(r!=="project"&&r!=="local"&&(console.error('Error: --scope must be either "project" or "local"'),process.exit(1)),n.auto){let{install:s}=await SB().then(()=>IB);await s(r)}else if(e.length>0){let{installPlugins:s}=await Promise.resolve().then(()=>(BP(),vP));await s(e,r)}else{let{installInteractive:s}=await SB().then(()=>IB);await s(r)}process.exit(0)}catch(r){console.error("Error during plugin installation:",r instanceof Error?r.message:r),process.exit(1)}})}function Fq(t){t.command("search [query]").description("Search for plugins in the Han marketplace").action(async e=>{try{let{searchPlugins:n}=await Promise.resolve().then(()=>(bq(),_q));await n(e),process.exit(0)}catch(n){console.error("Error during plugin search:",n instanceof Error?n.message:n),process.exit(1)}})}function Nq(t){t.command("uninstall <plugin-names...>").description("Uninstall one or more plugins").option("--scope <scope>",'Installation scope: "project" (.claude/settings.json) or "local" (.claude/settings.local.json)',"project").action(async(e,n)=>{try{let r=n.scope||"project";r!=="project"&&r!=="local"&&(console.error('Error: --scope must be either "project" or "local"'),process.exit(1));let{uninstallPlugins:s}=await Promise.resolve().then(()=>(wq(),Rq));await s(e,r),process.exit(0)}catch(r){console.error("Error during plugin uninstallation:",r instanceof Error?r.message:r),process.exit(1)}})}function Tq(t){let e=t.command("plugin").description("Manage Han plugins");IP(e),Nq(e),Fq(e)}import{execSync as gS,spawn as yAe,spawnSync as Oq}from"node:child_process";import{existsSync as vAe,readFileSync as BAe,readlinkSync as IAe}from"node:fs";import{dirname as Mq,join as Hq}from"node:path";import{fileURLToPath as SAe}from"node:url";function Uq(){try{let t=gS("which han",{encoding:"utf8"}).trim();if(t.includes("/homebrew/")||t.includes("/Cellar/"))return"homebrew";try{if(IAe(t).includes("node_modules"))return"npm"}catch{if(t.includes("node_modules"))return"npm"}if(t.includes("/.local/bin")||t.includes("/usr/local/bin")){let e=Mq(t);if(!vAe(Hq(e,"../lib/node_modules")))return"standalone"}return"npm"}catch{return"unknown"}}function kq(){return"1.26.0"}async function Lq(){try{return gS("npm view @thebushidocollective/han version 2>/dev/null",{encoding:"utf8",timeout:5e3}).trim()}catch{return"unknown"}}async function QAe(){let t=Uq(),e,n;switch(t){case"homebrew":e="brew",n=["upgrade","han"];break;case"npm":e="npm",n=["install","-g","@thebushidocollective/han@latest"];break;case"standalone":e="sh",n=["-c","curl -fsSL https://han.guru/install.sh | sh"];break;default:return!1}if(Oq(e,n,{stdio:"pipe",shell:t==="standalone"}).status!==0)return!1;let s=process.argv.slice(2),l=gS("which han",{encoding:"utf8"}).trim();return yAe(l,s,{stdio:"inherit",env:{...process.env,HAN_SKIP_UPDATE_CHECK:"1"}}).on("exit",f=>{process.exit(f??0)}),!0}async function Gq(){if(process.env.HAN_SKIP_UPDATE_CHECK==="1")return!1;let t=process.argv.slice(2);if(t.includes("--version")||t.includes("-V")||t.includes("--help")||t.includes("-h")||t.length===0||t[0]==="update")return!1;try{let e=kq(),n=await Lq();if(e!==n&&n!=="unknown"&&(console.error(`Updating han: ${e} \u2192 ${n}...`),await QAe()))return!0}catch{}return!1}function Pq(t){t.command("update").description("Update han to the latest version").option("--check","Only check for updates, don't install").action(async e=>{let n=kq(),r=await Lq();if(console.log(`Current version: ${n}`),console.log(`Latest version: ${r}`),n===r){console.log(`
731
741
  \u2705 You're already on the latest version!`);return}if(e.check){console.log(`
732
742
  \u{1F4E6} Update available: ${n} \u2192 ${r}`),console.log("Run 'han update' to install the update.");return}let s=Uq();console.log(`
733
743
  Installation method: ${s}`),console.log(`Updating...
734
744
  `);let l,o;switch(s){case"homebrew":l="brew",o=["upgrade","han"];break;case"npm":l="npm",o=["install","-g","@thebushidocollective/han@latest"];break;case"standalone":console.log("Downloading latest version..."),l="sh",o=["-c","curl -fsSL https://han.guru/install.sh | sh"];break;default:console.error("Could not determine installation method. Please update manually:"),console.error(" npm: npm install -g @thebushidocollective/han"),console.error(" homebrew: brew upgrade han"),console.error(" curl: curl -fsSL https://han.guru/install.sh | sh"),process.exit(1)}if(Oq(l,o,{stdio:"inherit",shell:s==="standalone"}).status===0){let p=gS("han --version",{encoding:"utf8"}).trim();console.log(`
735
745
  \u2705 Successfully updated to version ${p}`)}else console.error(`
736
- \u274C Update failed. Please try updating manually.`),process.exit(1)})}var RAe="1.25.0",Bm=new HN;Bm.name("han").description("Utilities for The Bushido Collective's Han Code Marketplace").version(RAe);Tq(Bm);CP(Bm);Pq(Bm);nP(Bm);async function wAe(){await Gq()&&await new Promise(()=>{}),Bm.parse()}wAe();
746
+ \u274C Update failed. Please try updating manually.`),process.exit(1)})}var RAe="1.26.0",Bm=new HN;Bm.name("han").description("Utilities for The Bushido Collective's Han Code Marketplace").version(RAe);Tq(Bm);CP(Bm);Pq(Bm);nP(Bm);async function wAe(){await Gq()&&await new Promise(()=>{}),Bm.parse()}wAe();
737
747
  /*! Bundled license information:
738
748
 
739
749
  react/cjs/react.production.js:
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAeA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAkED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAgBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA0If"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAeA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAkED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAgBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgJf"}
@@ -66,6 +66,7 @@ export async function validate(options) {
66
66
  const success = runCommand(rootDir, commandToRun, stdinData);
67
67
  if (!success) {
68
68
  console.error(`\nFailed when trying to run \`${commandToRun}\` in root directory\n`);
69
+ console.error("\nšŸ“‹ Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.\n");
69
70
  process.exit(2);
70
71
  }
71
72
  console.log("\nāœ… All 1 directory passed validation");
@@ -88,6 +89,7 @@ export async function validate(options) {
88
89
  failures.push(relativePath);
89
90
  console.error(`\nFailed when trying to run \`${commandToRun}\` in directory: \`${relativePath}\`\n`);
90
91
  if (failFast) {
92
+ console.error("\nšŸ“‹ Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.\n");
91
93
  process.exit(2);
92
94
  }
93
95
  }
@@ -101,6 +103,7 @@ export async function validate(options) {
101
103
  for (const dir of failures) {
102
104
  console.error(` - ${dir}`);
103
105
  }
106
+ console.error("\nšŸ“‹ Instructions: Review the error output above for each failure, fix the issues in your code, then run the hook again to verify all directories pass.\n");
104
107
  process.exit(2);
105
108
  }
106
109
  console.log(`\nāœ… All ${processedCount} director${processedCount === 1 ? "y" : "ies"} passed validation`);
@@ -159,6 +162,7 @@ export async function runConfiguredHook(options) {
159
162
  failures.push({ dir: relativePath, command: config.command });
160
163
  console.error(`\nFailed when trying to run \`${config.command}\` in directory: \`${relativePath}\`\n`);
161
164
  if (failFast) {
165
+ console.error("\nšŸ“‹ Instructions: Review the error output above, fix the issues in your code, then run the hook again to verify.\n");
162
166
  process.exit(2);
163
167
  }
164
168
  }
@@ -199,6 +203,7 @@ export async function runConfiguredHook(options) {
199
203
  for (const failure of failures) {
200
204
  console.error(` - ${failure.dir}`);
201
205
  }
206
+ console.error("\nšŸ“‹ Instructions: Review the error output above for each failure, fix the issues in your code, then run the hook again to verify all directories pass.\n");
202
207
  process.exit(2);
203
208
  }
204
209
  console.log(`\nāœ… All ${ranCount} director${ranCount === 1 ? "y" : "ies"} passed`);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EACN,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,qBAAqB,EAErB,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAU1B,gFAAgF;AAChF,+DAA+D;AAC/D,KAAK,SAAS,CAAC,CAAC,2BAA2B,CAC1C,OAAe,EACf,cAAwB;IAExB,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE;QACpD,GAAG,EAAE,OAAO;QACZ,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,CAAC,SAAS,CAAC;QACnB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;KACf,CAAC,EAAE,CAAC;QACJ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,GAAG,CAAC;QACX,CAAC;IACF,CAAC;AACF,CAAC;AAED,2BAA2B;AAC3B,SAAS,UAAU,CAClB,GAAW,EACX,GAAW,EACX,SAAyB;IAEzB,IAAI,CAAC;QACJ,QAAQ,CAAC,GAAG,EAAE;YACb,GAAG,EAAE,GAAG;YACR,kEAAkE;YAClE,KAAK,EAAE,SAAS;gBACf,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;gBAChC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;YACnC,KAAK,EAAE,SAAS,IAAI,SAAS;YAC7B,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,uEAAuE;AACvE,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW;IAC/C,IAAI,CAAC;QACJ,QAAQ,CAAC,GAAG,EAAE;YACb,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;YACrC,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACtD,MAAM,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EAAE,YAAY,EACrB,SAAS,GACT,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhE,wDAAwD;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CACZ,iCAAiC,YAAY,wBAAwB,CACrE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,wDAAwD;IACxD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxE,wCAAwC;QACxC,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,SAAS;QACV,CAAC;QAED,cAAc,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE5B,OAAO,CAAC,KAAK,CACZ,iCAAiC,YAAY,sBAAsB,YAAY,MAAM,CACrF,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACZ,OAAO,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAC5F,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CACV,WAAW,cAAc,YAAY,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAC3F,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAiBD;;GAEG;AACH,SAAS,uBAAuB,CAC/B,QAAgB,EAChB,SAAiB,EACjB,WAAmB;IAEnB,MAAM,eAAe,GACpB,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;QACzE,MAAM,CAAC;IACR,OAAO,GAAG,QAAQ,IAAI,eAAe,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CACZ,8DAA8D;YAC7D,kEAAkE,CACnE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAyB,EAAE,CAAC;IACnD,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,oDAAoD;IACpD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,iBAAiB,CAC3C,UAAU,EACV,QAAQ,EACR,WAAW,CACX,EAAE,CAAC;QACH,UAAU,EAAE,CAAC;QAEb,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;YAChB,SAAS;QACV,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAK,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,uBAAuB,CACvC,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,WAAW,CACX,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,eAAe,CACvC,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CAChB,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,SAAS;YACV,CAAC;QACF,CAAC;QAED,eAAe;QACf,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,QAAQ,YAAY,KAAK,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAE9D,OAAO,CAAC,KAAK,CACZ,iCAAiC,MAAM,CAAC,OAAO,sBAAsB,YAAY,MAAM,CACvF,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;aAAM,CAAC;YACP,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,oBAAoB;IACpB,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CACV,kCAAkC,QAAQ,gBAAgB,UAAU,GAAG,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,aAAa,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CACV,8BAA8B,QAAQ,+BAA+B,CACrE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE5D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CACV,WAAW,YAAY,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAC3F,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,kDAAkD;IAClD,IAAI,KAAK,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,MAAM,QAAQ,GAAG,uBAAuB,CACvC,QAAQ,EACR,MAAM,CAAC,SAAS,EAChB,WAAW,CACX,CAAC;gBACF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACpC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,CAChB,CAAC;gBACF,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxD,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACZ,OAAO,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,CACjF,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CACV,WAAW,QAAQ,YAAY,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CACpE,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thebushidocollective/han",
3
- "version": "1.25.0",
3
+ "version": "1.26.0",
4
4
  "description": "CLI for installing and managing curated Claude Code plugins from the Han marketplace",
5
5
  "main": "dist/lib/main.js",
6
6
  "types": "dist/lib/main.d.ts",
@@ -51,11 +51,11 @@
51
51
  "README.md"
52
52
  ],
53
53
  "optionalDependencies": {
54
- "@thebushidocollective/han-darwin-arm64": "1.25.0",
55
- "@thebushidocollective/han-darwin-x64": "1.25.0",
56
- "@thebushidocollective/han-linux-arm64": "1.25.0",
57
- "@thebushidocollective/han-linux-x64": "1.25.0",
58
- "@thebushidocollective/han-win32-x64": "1.25.0"
54
+ "@thebushidocollective/han-darwin-arm64": "1.26.0",
55
+ "@thebushidocollective/han-darwin-x64": "1.26.0",
56
+ "@thebushidocollective/han-linux-arm64": "1.26.0",
57
+ "@thebushidocollective/han-linux-x64": "1.26.0",
58
+ "@thebushidocollective/han-win32-x64": "1.26.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@anthropic-ai/claude-agent-sdk": "0.1.50",