@truenine/memory-sync-cli 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.mjs +1 -1
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -30,7 +30,7 @@ var n=v(`buffer`),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.
30
30
  `),stack:e&&e.stack,exception:!0,date:new Date().toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(e)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:n.loadavg(),uptime:n.uptime()}}getTrace(e){return(e?o.parse(e):o.get()).map(e=>({column:e.getColumnNumber(),file:e.getFileName(),function:e.getFunctionName(),line:e.getLineNumber(),method:e.getMethodName(),native:e.isNative()}))}_addHandler(e){if(!this.handlers.has(e)){e.handleExceptions=!0;let t=new s(e);this.handlers.set(e,t),this.logger.pipe(t)}}_uncaughtException(e){let t=this.getAllInfo(e),n=this._getExceptionHandlers(),o=typeof this.logger.exitOnError==`function`?this.logger.exitOnError(e):this.logger.exitOnError,s;!n.length&&o&&(console.warn(`winston: exitOnError cannot be true with no exception handlers.`),console.warn(`winston: not exiting process.`),o=!1);function c(){i(`doExit`,o),i(`process._exiting`,process._exiting),o&&!process._exiting&&(s&&clearTimeout(s),process.exit(1))}if(!n||n.length===0)return process.nextTick(c);r(n,(e,t)=>{let n=a(t),r=e.transport||e;function o(e){return()=>{i(e),n()}}r._ending=!0,r.once(`finish`,o(`finished`)),r.once(`error`,o(`error`))},()=>o&&c()),this.logger.log(t),o&&(s=setTimeout(c,3e3))}_getExceptionHandlers(){return this.logger.transports.filter(e=>(e.transport||e).handleExceptions)}}})),qn=m(((e,t)=>{let{Writable:n}=bn();t.exports=class extends n{constructor(e){if(super({objectMode:!0}),!e)throw Error(`RejectionStream requires a TransportStream instance.`);this.handleRejections=!0,this.transport=e}_write(e,t,n){return e.rejection?this.transport.log(e,n):(n(),!0)}}})),Jn=m(((e,t)=>{let n=v(`os`),r=Vn(),i=jn()(`winston:rejection`),a=Un(),o=Wn(),s=qn();t.exports=class{constructor(e){if(!e)throw Error(`Logger is required to handle rejections`);this.logger=e,this.handlers=new Map}handle(...e){e.forEach(e=>{if(Array.isArray(e))return e.forEach(e=>this._addHandler(e));this._addHandler(e)}),this.catcher||(this.catcher=this._unhandledRejection.bind(this),process.on(`unhandledRejection`,this.catcher))}unhandle(){this.catcher&&(process.removeListener(`unhandledRejection`,this.catcher),this.catcher=!1,Array.from(this.handlers.values()).forEach(e=>this.logger.unpipe(e)))}getAllInfo(e){let t=null;return e&&(t=typeof e==`string`?e:e.message),{error:e,level:`error`,message:[`unhandledRejection: ${t||`(no error message)`}`,e&&e.stack||` No stack trace`].join(`
31
31
  `),stack:e&&e.stack,rejection:!0,date:new Date().toString(),process:this.getProcessInfo(),os:this.getOsInfo(),trace:this.getTrace(e)}}getProcessInfo(){return{pid:process.pid,uid:process.getuid?process.getuid():null,gid:process.getgid?process.getgid():null,cwd:process.cwd(),execPath:process.execPath,version:process.version,argv:process.argv,memoryUsage:process.memoryUsage()}}getOsInfo(){return{loadavg:n.loadavg(),uptime:n.uptime()}}getTrace(e){return(e?o.parse(e):o.get()).map(e=>({column:e.getColumnNumber(),file:e.getFileName(),function:e.getFunctionName(),line:e.getLineNumber(),method:e.getMethodName(),native:e.isNative()}))}_addHandler(e){if(!this.handlers.has(e)){e.handleRejections=!0;let t=new s(e);this.handlers.set(e,t),this.logger.pipe(t)}}_unhandledRejection(e){let t=this.getAllInfo(e),n=this._getRejectionHandlers(),o=typeof this.logger.exitOnError==`function`?this.logger.exitOnError(e):this.logger.exitOnError,s;!n.length&&o&&(console.warn(`winston: exitOnError cannot be true with no rejection handlers.`),console.warn(`winston: not exiting process.`),o=!1);function c(){i(`doExit`,o),i(`process._exiting`,process._exiting),o&&!process._exiting&&(s&&clearTimeout(s),process.exit(1))}if(!n||n.length===0)return process.nextTick(c);r(n,(e,t)=>{let n=a(t),r=e.transport||e;function o(e){return()=>{i(e),n()}}r._ending=!0,r.once(`finish`,o(`finished`)),r.once(`error`,o(`error`))},()=>o&&c()),this.logger.log(t),o&&(s=setTimeout(c,3e3))}_getRejectionHandlers(){return this.logger.transports.filter(e=>(e.transport||e).handleRejections)}}})),Yn=m(((e,t)=>{t.exports=class{constructor(e){let t=Xn();if(typeof e!=`object`||Array.isArray(e)||!(e instanceof t))throw Error(`Logger is required for profiling`);this.logger=e,this.start=Date.now()}done(...e){typeof e[e.length-1]==`function`&&(console.warn(`Callback function no longer supported as of winston@3.0.0`),e.pop());let t=typeof e[e.length-1]==`object`?e.pop():{};return t.level=t.level||`info`,t.durationMs=Date.now()-this.start,this.logger.write(t)}}})),Xn=m(((e,t)=>{let{Stream:n,Transform:r}=bn(),i=Vn(),{LEVEL:a,SPLAT:o}=z(),s=Fn(),c=Kn(),l=Jn(),u=Xt(),d=Yn(),{warn:f}=jt(),p=Rn(),m=/%[scdjifoO%]/g;var h=class extends r{constructor(e){super({objectMode:!0}),this.configure(e)}child(e){let t=this;return Object.create(t,{write:{value:function(n){let r=Object.assign({},e,n);n instanceof Error&&(r.stack=n.stack,r.message=n.message,r.cause=n.cause),t.write(r)}}})}configure({silent:e,format:t,defaultMeta:n,levels:r,level:i=`info`,exitOnError:a=!0,transports:o,colors:s,emitErrs:u,formatters:d,padLevels:f,rewriters:m,stripColors:h,exceptionHandlers:g,rejectionHandlers:_}={}){if(this.transports.length&&this.clear(),this.silent=e,this.format=t||this.format||_t()(),this.defaultMeta=n||null,this.levels=r||this.levels||p.npm.levels,this.level=i,this.exceptions&&this.exceptions.unhandle(),this.rejections&&this.rejections.unhandle(),this.exceptions=new c(this),this.rejections=new l(this),this.profilers={},this.exitOnError=a,o&&(o=Array.isArray(o)?o:[o],o.forEach(e=>this.add(e))),s||u||d||f||m||h)throw Error([`{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.`,`Use a custom winston.format(function) instead.`,`See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md`].join(`
32
32
  `));g&&this.exceptions.handle(g),_&&this.rejections.handle(_)}getHighestLogLevel(){let e=g(this.levels,this.level);return!this.transports||this.transports.length===0?e:this.transports.reduce((e,t)=>{let n=g(this.levels,t.level);return n!==null&&n>e?n:e},e)}isLevelEnabled(e){let t=g(this.levels,e);if(t===null)return!1;let n=g(this.levels,this.level);return n===null?!1:!this.transports||this.transports.length===0?n>=t:this.transports.findIndex(e=>{let r=g(this.levels,e.level);return r===null&&(r=n),r>=t})!==-1}log(e,t,...n){if(arguments.length===1)return e[a]=e.level,this._addDefaultMeta(e),this.write(e),this;if(arguments.length===2)return t&&typeof t==`object`?(t[a]=t.level=e,this._addDefaultMeta(t),this.write(t),this):(t={[a]:e,level:e,message:t},this._addDefaultMeta(t),this.write(t),this);let[r]=n;if(typeof r==`object`&&r&&!(t&&t.match&&t.match(m))){let i=Object.assign({},this.defaultMeta,r,{[a]:e,[o]:n,level:e,message:t});return r.message&&(i.message=`${i.message} ${r.message}`),r.stack&&(i.stack=r.stack),r.cause&&(i.cause=r.cause),this.write(i),this}return this.write(Object.assign({},this.defaultMeta,{[a]:e,[o]:n,level:e,message:t})),this}_transform(e,t,n){if(this.silent)return n();e[a]||(e[a]=e.level),!this.levels[e[a]]&&this.levels[e[a]]!==0&&console.error(`[winston] Unknown logger level: %s`,e[a]),this._readableState.pipes||console.error(`[winston] Attempt to write logs with no transports, which can increase memory usage: %j`,e);try{this.push(this.format.transform(e,this.format.options))}finally{this._writableState.sync=!1,n()}}_final(e){i(this.transports.slice(),(e,t)=>{if(!e||e.finished)return setImmediate(t);e.once(`finish`,t),e.end()},e)}add(e){let t=!s(e)||e.log.length>2?new u({transport:e}):e;if(!t._writableState||!t._writableState.objectMode)throw Error(`Transports must WritableStreams in objectMode. Set { objectMode: true }.`);return this._onEvent(`error`,t),this._onEvent(`warn`,t),this.pipe(t),e.handleExceptions&&this.exceptions.handle(),e.handleRejections&&this.rejections.handle(),this}remove(e){if(!e)return this;let t=e;return(!s(e)||e.log.length>2)&&(t=this.transports.filter(t=>t.transport===e)[0]),t&&this.unpipe(t),this}clear(){return this.unpipe(),this}close(){return this.exceptions.unhandle(),this.rejections.unhandle(),this.clear(),this.emit(`close`),this}setLevels(){f.deprecated(`setLevels`)}query(e,t){typeof e==`function`&&(t=e,e={}),e||={};let n={},r=Object.assign({},e.query||{});function a(t,n){e.query&&typeof t.formatQuery==`function`&&(e.query=t.formatQuery(r)),t.query(e,(r,i)=>{if(r)return n(r);typeof t.formatResults==`function`&&(i=t.formatResults(i,e.format)),n(null,i)})}function o(e,t){a(e,(r,i)=>{t&&(i=r||i,i&&(n[e.name]=i),t()),t=null})}i(this.transports.filter(e=>!!e.query),o,()=>t(null,n))}stream(e={}){let t=new n,r=[];return t._streams=r,t.destroy=()=>{let e=r.length;for(;e--;)r[e].destroy()},this.transports.filter(e=>!!e.stream).forEach(n=>{let i=n.stream(e);i&&(r.push(i),i.on(`log`,e=>{e.transport=e.transport||[],e.transport.push(n.name),t.emit(`log`,e)}),i.on(`error`,e=>{e.transport=e.transport||[],e.transport.push(n.name),t.emit(`error`,e)}))}),t}startTimer(){return new d(this)}profile(e,...t){let n=Date.now();if(this.profilers[e]){let r=this.profilers[e];delete this.profilers[e],typeof t[t.length-2]==`function`&&(console.warn(`Callback function no longer supported as of winston@3.0.0`),t.pop());let i=typeof t[t.length-1]==`object`?t.pop():{};return i.level=i.level||`info`,i.durationMs=n-r,i.message=i.message||e,this.write(i)}return this.profilers[e]=n,this}handleExceptions(...e){console.warn(`Deprecated: .handleExceptions() will be removed in winston@4. Use .exceptions.handle()`),this.exceptions.handle(...e)}unhandleExceptions(...e){console.warn(`Deprecated: .unhandleExceptions() will be removed in winston@4. Use .exceptions.unhandle()`),this.exceptions.unhandle(...e)}cli(){throw Error([`Logger.cli() was removed in winston@3.0.0`,`Use a custom winston.formats.cli() instead.`,`See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md`].join(`
33
- `))}_onEvent(e,t){function n(n){e===`error`&&!this.transports.includes(t)&&this.add(t),this.emit(e,n,t)}t[`__winston`+e]||(t[`__winston`+e]=n.bind(this),t.on(e,t[`__winston`+e]))}_addDefaultMeta(e){this.defaultMeta&&Object.assign(e,this.defaultMeta)}};function g(e,t){let n=e[t];return!n&&n!==0?null:n}Object.defineProperty(h.prototype,`transports`,{configurable:!1,enumerable:!0,get(){let{pipes:e}=this._readableState;return Array.isArray(e)?e:[e].filter(Boolean)}}),t.exports=h})),Zn=m(((e,t)=>{let{LEVEL:n}=z(),r=Rn(),i=Xn(),a=jn()(`winston:create-logger`);function o(e){return`is`+e.charAt(0).toUpperCase()+e.slice(1)+`Enabled`}t.exports=function(e={}){e.levels=e.levels||r.npm.levels;class t extends i{constructor(e){super(e)}}let s=new t(e);return Object.keys(e.levels).forEach(function(e){if(a(`Define prototype method for "%s"`,e),e===`log`){console.warn(`Level "log" not defined: conflicts with the method "log". Use a different level name.`);return}t.prototype[e]=function(...t){let r=this||s;if(t.length===1){let[i]=t,a=i&&i.message&&i||{message:i};return a.level=a[n]=e,r._addDefaultMeta(a),r.write(a),this||s}return t.length===0?(r.log(e,``),r):r.log(e,...t)},t.prototype[o(e)]=function(){return(this||s).isLevelEnabled(e)}}),s}})),Qn=m(((e,t)=>{let n=Zn();t.exports=class{constructor(e={}){this.loggers=new Map,this.options=e}add(e,t){if(!this.loggers.has(e)){t=Object.assign({},t||this.options);let r=t.transports||this.options.transports;r?t.transports=Array.isArray(r)?r.slice():[r]:t.transports=[];let i=n(t);i.on(`close`,()=>this._delete(e)),this.loggers.set(e,i)}return this.loggers.get(e)}get(e,t){return this.add(e,t)}has(e){return!!this.loggers.has(e)}close(e){if(e)return this._removeLogger(e);this.loggers.forEach((e,t)=>this._removeLogger(t))}_removeLogger(e){this.loggers.has(e)&&(this.loggers.get(e).close(),this._delete(e))}_delete(e){this.loggers.delete(e)}}})),$n=m((e=>{let t=At(),{warn:n}=jt();e.version=Mt().version,e.transports=Ln(),e.config=Rn(),e.addColors=t.levels,e.format=t.format,e.createLogger=Zn(),e.Logger=Xn(),e.ExceptionHandler=Kn(),e.RejectionHandler=Jn(),e.Container=Qn(),e.Transport=Zt(),e.loggers=new e.Container;let r=e.createLogger();Object.keys(e.config.npm.levels).concat([`log`,`query`,`stream`,`add`,`remove`,`clear`,`profile`,`startTimer`,`handleExceptions`,`unhandleExceptions`,`handleRejections`,`unhandleRejections`,`configure`,`child`]).forEach(t=>e[t]=(...e)=>r[t](...e)),Object.defineProperty(e,`level`,{get(){return r.level},set(e){r.level=e}}),Object.defineProperty(e,`exceptions`,{get(){return r.exceptions}}),Object.defineProperty(e,`rejections`,{get(){return r.rejections}}),[`exitOnError`].forEach(t=>{Object.defineProperty(e,t,{get(){return r[t]},set(e){r[t]=e}})}),Object.defineProperty(e,`default`,{get(){return{exceptionHandlers:r.exceptionHandlers,rejectionHandlers:r.rejectionHandlers,transports:r.transports}}}),n.deprecated(e,`setLevels`),n.forFunctions(e,`useFormat`,[`cli`]),n.forProperties(e,`useFormat`,[`padLevels`,`stripColors`]),n.forFunctions(e,`deprecated`,[`addRewriter`,`addFilter`,`clone`,`extend`]),n.forProperties(e,`deprecated`,[`emitErrs`,`levelLength`])})),er=_(qe(),1),tr=_($n(),1);function B(e,t){return tr.createLogger({level:t??n.env.LOG_LEVEL??`info`,defaultMeta:{scope:e},format:tr.format.combine(tr.format.timestamp({format:()=>Date.now().toString()}),tr.format.json()),transports:[new tr.transports.Console]})}let V=function(e){return e.Input=`Input`,e.Output=`Output`,e}({}),nr=function(e){return e.GlobalMemory=`GlobalMemory`,e.ProjectRootMemory=`ProjectRootMemory`,e.ProjectChildrenMemory=`ProjectChildrenMemory`,e.FastCommand=`FastCommand`,e.SubAgent=`SubAgent`,e.Skill=`Skill`,e.SkillReferenceDocument=`SkillReferenceDocument`,e}({}),rr=function(e){return e.Red=`Red`,e.Green=`Green`,e.Blue=`Blue`,e.Yellow=`Yellow`,e}({}),ir=function(e){return e.Read=`Read`,e.Write=`Write`,e.Edit=`Edit`,e.Grep=`Grep`,e}({}),ar=function(e){return e.CamelCase=`CamelCase`,e.PascalCase=`PascalCase`,e.SnakeCase=`SnakeCase`,e.KebabCase=`KebabCase`,e.UpperCase=`UpperCase`,e.LowerCase=`LowerCase`,e.Original=`Original`,e}({}),or=function(e){return e.UserHome=`UserHome`,e.External=`External`,e}({}),H=function(e){return e.Relative=`Relative`,e.Absolute=`Absolute`,e.Root=`Root`,e}({}),sr=function(e){return e.VSCode=`VSCode`,e.IntellijIDEA=`IntellijIDEA`,e.Git=`Git`,e.EditorConfig=`EditorConfig`,e.Original=`Original`,e}({});var cr=class extends Error{constructor(e){super(`Circular dependency detected: ${e.join(` -> `)}`),this.cycle=e,this.name=`CircularDependencyError`}},lr=class extends Error{constructor(e,t){super(`Plugin "${e}" depends on non-existent plugin "${t}"`),this.pluginName=e,this.missingDependency=t,this.name=`MissingDependencyError`}};async function ur(e,t){let n=[],r=[],i=[],a=[];for(let o of e)o.registerProjectOutputDirs&&n.push(...await o.registerProjectOutputDirs(t)),o.registerProjectOutputFiles&&r.push(...await o.registerProjectOutputFiles(t)),o.registerGlobalOutputDirs&&i.push(...await o.registerGlobalOutputDirs(t)),o.registerGlobalOutputFiles&&a.push(...await o.registerGlobalOutputFiles(t));return{projectDirs:n,projectFiles:r,globalDirs:i,globalFiles:a}}async function dr(e,t){let n=new Map;for(let r of e)n.set(r.name,{project:await r.canCleanProject?.(t)??!0,global:await r.canCleanGlobal?.(t)??!0});return n}async function fr(e,t){for(let n of e)await n.onCleanComplete?.(t)}async function pr(e,t){let n=new Map;for(let r of e){let e=await r.canWrite?.(t)??!0;n.set(r.name,{project:e,global:e})}return n}async function mr(e,t){let n=new Map;for(let r of e){let e=await r.writeProjectOutputs?.(t)??{files:[],dirs:[]},i=await r.writeGlobalOutputs?.(t)??{files:[],dirs:[]},a={files:[...e.files,...i.files],dirs:[...e.dirs,...i.dirs]};n.set(r.name,a),await r.onWriteComplete?.(t,a)}return n}function hr(e){let t=[...e],n=t[0];n!=null&&gr(n)&&t.shift();let r=t[0];return r!=null&&_r(r)&&t.shift(),t}function gr(e){let t=[`node`,`nodejs`,`bun`,`deno`,`tsx`,`ts-node`,`npx`,`pnpx`,`yarn`,`pnpm`],n=e.toLowerCase().replace(/\\/g,`/`);return t.some(e=>RegExp(`(?:^|/)${e}(?:\\.exe|\\.cmd|\\.ps1)?$`,`i`).test(n)||n===e)}function _r(e){return!!(/\.(?:m?[jt]s|cjs)$/.test(e)||/[/\\]/.test(e)&&!e.startsWith(`-`)||/^(?:@[\w-]+\/)?[\w-]+$/.test(e)&&!e.startsWith(`-`))}function vr(e){let t={clean:!1,dryRun:!1,positional:[],unknown:[]};for(let n=0;n<e.length;n++){let r=e[n];if(r!=null){if(r===`--`){t.positional.push(...e.slice(n+1).filter(e=>e!=null));break}if(r.startsWith(`--`)){switch(r.slice(2).split(`=`)[0]??``){case`clean`:t.clean=!0;break;case`dry-run`:t.dryRun=!0;break;default:t.unknown.push(r)}continue}if(r.startsWith(`-`)&&r.length>1){let e=r.slice(1);for(let n of e)switch(n){case`c`:t.clean=!0;break;case`n`:t.dryRun=!0;break;default:t.unknown.push(`-${n}`)}continue}t.positional.push(r)}}return t}var yr=class{logger;args;outputPlugins=[];constructor(...e){this.logger=B(`PluginPipeline`),this.args=vr(hr(e.filter(e=>e!=null))),this.logger.info(`PluginPipeline initialized`,{args:this.args})}registerOutputPlugins(e){return this.outputPlugins.push(...e),this}async runCleanPipeline(e){this.logger.info(`Running clean pipeline`);let t=this.args.dryRun,n=this.createCleanContext(e,t),a=await ur(this.outputPlugins,n);this.logger.info(`Collected outputs for cleanup`,{projectDirs:a.projectDirs.length,projectFiles:a.projectFiles.length,globalDirs:a.globalDirs.length,globalFiles:a.globalFiles.length});let o=await dr(this.outputPlugins,n),s=[],c=[];for(let e of this.outputPlugins){let t=o.get(e.name);if(t?.project){let t=await e.registerProjectOutputFiles?.(n)??[],r=await e.registerProjectOutputDirs?.(n)??[];s.push(...t.map(e=>e.getAbsolutePath())),c.push(...r.map(e=>e.getAbsolutePath()))}if(t?.global){let t=await e.registerGlobalOutputFiles?.(n)??[],r=await e.registerGlobalOutputDirs?.(n)??[];s.push(...t.map(e=>e.getAbsolutePath())),c.push(...r.map(e=>e.getAbsolutePath()))}}for(let e of s){let n=i.isAbsolute(e)?e:i.resolve(e);if(t){this.logger.info(`[DRY-RUN] Would delete file: ${n}`);continue}try{r.existsSync(n)&&(r.unlinkSync(n),this.logger.info(`Deleted file: ${n}`))}catch(e){this.logger.warn(`Failed to delete file: ${n}`,{error:e})}}let l=[...c].sort((e,t)=>t.length-e.length);for(let e of l){let n=i.isAbsolute(e)?e:i.resolve(e);if(t){this.logger.info(`[DRY-RUN] Would delete directory: ${n}`);continue}try{r.existsSync(n)&&(r.rmSync(n,{recursive:!0,force:!0}),this.logger.info(`Deleted directory: ${n}`))}catch(e){this.logger.warn(`Failed to delete directory: ${n}`,{error:e})}}await fr(this.outputPlugins,n),this.logger.info(`Clean complete: ${s.length} files, ${c.length} directories${t?` (dry-run)`:``}`)}async runExecutePipeline(e){this.logger.info(`Running execute pipeline`);let t=this.createWriteContext(e,!1),n=await pr(this.outputPlugins,t),r=await mr(this.outputPlugins.filter(e=>n.get(e.name)?.project??!0),t);this.logger.info(`Execute pipeline complete`,{pluginCount:r.size})}async runDryRunPipeline(e){this.logger.info(`[DRY-RUN] Running dry-run pipeline`);let t=this.createWriteContext(e,!0),n=await pr(this.outputPlugins,t),r=await mr(this.outputPlugins.filter(e=>!!(n.get(e.name)?.project??!0)),t),i=0,a=0;for(let[e,t]of r)i+=t.files.length,a+=t.dirs.length,this.logger.info(`[DRY-RUN] ${e}: ${t.files.length} files, ${t.dirs.length} dirs`);this.logger.info(`[DRY-RUN] Total: ${i} files, ${a} dirs would be written`)}async run(e){let{context:t,outputPlugins:n}=e;if(this.registerOutputPlugins([...n]),this.args.clean){await this.runCleanPipeline(t);return}if(this.args.dryRun){await this.runDryRunPipeline(t);return}await this.runExecutePipeline(t)}createCleanContext(e,t){return{logger:this.logger,fs:r,path:i,glob:er.default,collectedInputContext:e,dryRun:t}}createWriteContext(e,t){return{logger:this.logger,fs:r,path:i,glob:er.default,collectedInputContext:e,dryRun:t}}buildDependencyGraph(e){let t=new Map;for(let n of e){let e=n.dependsOn??[];t.set(n.name,[...e])}return t}validateDependencies(e){let t=new Set(e.map(e=>e.name));for(let n of e){let e=n.dependsOn??[];for(let r of e)if(!t.has(r))throw new lr(n.name,r)}}topologicalSort(e){this.validateDependencies(e);let t=new Map;for(let n of e)t.set(n.name,n);let n=new Map;for(let t of e)n.set(t.name,0);let r=new Map;for(let t of e)r.set(t.name,[]);for(let t of e){let e=t.dependsOn??[];for(let i of e){n.set(t.name,(n.get(t.name)??0)+1);let e=r.get(i)??[];e.push(t.name),r.set(i,e)}}let i=[];for(let t of e)n.get(t.name)===0&&i.push(t.name);let a=[];for(;i.length>0;){let o=i.shift(),s=t.get(o);a.push(s);let c=(r.get(o)??[]).sort((t,n)=>e.findIndex(e=>e.name===t)-e.findIndex(e=>e.name===n));for(let e of c){let t=(n.get(e)??0)-1;n.set(e,t),t===0&&i.push(e)}}if(a.length!==e.length)throw new cr(this.findCyclePath(e,n));return a}findCyclePath(e,t){let n=new Set;for(let[e,r]of t)r>0&&n.add(e);let r=new Map;for(let t of e)if(n.has(t.name)){let e=(t.dependsOn??[]).filter(e=>n.has(e));r.set(t.name,e)}let i=new Set,a=[],o=e=>{if(a.includes(e))return a.push(e),!0;if(i.has(e))return!1;i.add(e),a.push(e);for(let t of r.get(e)??[])if(o(t))return!0;return a.pop(),!1};for(let e of n){if(o(e)){let e=a.indexOf(a[a.length-1]);return a.slice(e)}i.clear(),a.length=0}return Array.from(n)}executePluginsInOrder(e,t){if(e.length===0)return{};let n=this.topologicalSort(e),r=new Map,i={};for(let e of n){let n=this.buildDependencyContext(e,r),a={...t,dependencyContext:n},o=e.collect(a);r.set(e.name,o),i=this.mergeContexts(i,o)}return i}buildDependencyContext(e,t){if((e.dependsOn??[]).length===0)return{};let n=this.collectTransitiveDependencies(e,t),r={};for(let e of n){let n=t.get(e);n!=null&&(r=this.mergeContexts(r,n))}return r}collectTransitiveDependencies(e,t){let n=new Set,r=[];return(e=>{for(let i of e)n.has(i)||(n.add(i),t.get(i)!=null&&r.push(i))})(e.dependsOn??[]),r}mergeContexts(e,t){let n=e.workspace;if(t.workspace!=null)if(n!=null){let e=new Map;for(let t of n.projects)e.set(t.name,t);for(let n of t.workspace.projects)e.set(n.name,n);n={directory:t.workspace.directory??n.directory,projects:Array.from(e.values())}}else n=t.workspace;let r=t.externalProjects==null?e.externalProjects:[...e.externalProjects??[],...t.externalProjects],i=t.ideConfigFiles==null?e.ideConfigFiles:[...e.ideConfigFiles??[],...t.ideConfigFiles],a=t.fastCommands==null?e.fastCommands:[...e.fastCommands??[],...t.fastCommands],o=t.subAgents==null?e.subAgents:[...e.subAgents??[],...t.subAgents],s=t.skills==null?e.skills:[...e.skills??[],...t.skills],c=t.globalMemory??e.globalMemory;return{...n==null?{}:{workspace:n},...r==null?{}:{externalProjects:r},...i==null?{}:{ideConfigFiles:i},...a==null?{}:{fastCommands:a},...o==null?{}:{subAgents:o},...s==null?{}:{skills:s},...c==null?{}:{globalMemory:c}}}};const br={USER_HOME:`~`,WORKSPACE:`$WORKSPACE`,SHADOW_PROJECT:`$SHADOW_PROJECT`},xr=`~/project`,Sr=`aindex`,Cr=`$SHADOW_PROJECT/dist/skills`,wr=`$SHADOW_PROJECT/dist/commands`,Tr=`$SHADOW_PROJECT/dist/agents`,Er=`$SHADOW_PROJECT/ref`,Dr=`$SHADOW_PROJECT/dist/GLOBAL.md`;var Or=_(qe(),1);const kr={workspaceDir:xr,shadowProjectDir:`$WORKSPACE/${Sr}`,shadowSkillSourceDir:Cr,shadowFastCommandDir:wr,shadowSubAgentDir:Tr,globalMemoryFile:Dr,shadowSourceProjectDir:Er,externalProjects:[],excludePatterns:{},plugins:[],logLevel:`info`};function Ar(...e){return e.reduce((e,t)=>jr(e,t),{...kr})}function jr(e,t){let n=t.externalProjects,r=t.plugins,i=t.excludePatterns;return{...e,...t,externalProjects:[...e.externalProjects,...n??[]],plugins:[...e.plugins,...r??[]],excludePatterns:Mr(e.excludePatterns,i)}}function Mr(e,t){let n={...e};if(t)for(let[e,r]of Object.entries(t))n[e]=[...n[e]??[],...r];return n}function Nr(e={}){let{plugins:t=[],logLevel:n}=Ar(e),a={logger:B(`defineConfig`,n),userConfigOptions:e,fs:r,path:i,glob:Or.default},o=t.filter(e=>e.type===V.Input),s=t.filter(e=>e.type===V.Output),c=new yr().executePluginsInOrder(o,a);if(c.workspace==null)throw Error(`Workspace not initialized by any plugin`);return{context:{workspace:c.workspace,ideConfigFiles:c.ideConfigFiles??[],...c.externalProjects!=null&&{externalProjects:c.externalProjects},...c.fastCommands!=null&&{fastCommands:c.fastCommands},...c.subAgents!=null&&{subAgents:c.subAgents},...c.skills!=null&&{skills:c.skills},...c.globalMemory!=null&&{globalMemory:c.globalMemory}},outputPlugins:s}}const Pr=`AGENTS.md`;var Fr=class{type=V.Output;name=`AgentsOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputFiles(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.rootMemoryPrompt!=null&&e.dirFromWorkspacePath!=null&&t.push(this.createFileRelativePath(e.dirFromWorkspacePath)),e.childMemoryPrompts!=null)for(let n of e.childMemoryPrompts)n.dir!=null&&this.isRelativePath(n.dir)&&t.push(this.createFileRelativePath(n.dir));return t}createFileRelativePath(e){let t=i.join(e.path,Pr);return{pathKind:H.Relative,path:t,basePath:e.basePath,getDirectoryName:()=>e.getDirectoryName(),getAbsolutePath:()=>i.join(e.basePath,t)}}async canWrite(e){let{workspace:t}=e.collectedInputContext;return t.projects.some(e=>e.rootMemoryPrompt!=null||(e.childMemoryPrompts?.length??0)>0)?!0:(this.log.info(`No outputs to write, skipping`),!1)}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,n=[],r=[];for(let r of t){let t=r.name??`unknown`,i=r.dirFromWorkspacePath;if(i!=null){if(r.rootMemoryPrompt!=null){let a=await this.writePromptFile(e,i,r.rootMemoryPrompt.content,`project:${t}/root`);n.push(a)}if(r.childMemoryPrompts!=null)for(let i of r.childMemoryPrompts){let r=await this.writePromptFile(e,i.dir,i.content,`project:${t}/child:${i.workingChildDirectoryPath?.path??`unknown`}`);n.push(r)}}}return{files:n,dirs:r}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}async writePromptFile(e,t,n,a){let o=this.resolveFullPath(t),s=this.toRelativePath(t);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write ${a} -> ${o}`),{path:s,success:!0,skipped:!1};try{let e=i.dirname(o);return r.existsSync(e)||r.mkdirSync(e,{recursive:!0}),r.writeFileSync(o,n,`utf-8`),this.log.info(`Written ${a} -> ${o}`),{path:s,success:!0}}catch(e){let t=e instanceof Error?e.message:String(e);return this.log.error(`Failed to write ${a}: ${t}`),{path:s,success:!1,error:e}}}isRelativePath(e){return e.pathKind===H.Relative}toRelativePath(e){return this.isRelativePath(e)?e:{pathKind:H.Relative,path:e.path,basePath:``,getDirectoryName:e.getDirectoryName,getAbsolutePath:()=>e.path}}resolveFullPath(e){let t;return t=e.pathKind===H.Absolute?e.path:this.isRelativePath(e)?i.resolve(e.basePath,e.path):i.resolve(n.cwd(),e.path),i.join(t,Pr)}};const Ir=`CLAUDE.md`,Lr=`.claude`,Rr=`commands`,zr=`agents`,Br=`skills`,Vr=[Rr,zr,Br];var Hr=class{type=V.Output;name=`ClaudeCodeCLIOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputDirs(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.dirFromWorkspacePath!=null)for(let n of Vr){let r=i.join(e.dirFromWorkspacePath.path,Lr,n);t.push({pathKind:H.Relative,path:r,basePath:e.dirFromWorkspacePath.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>i.join(e.dirFromWorkspacePath.basePath,r)})}return t}async registerProjectOutputFiles(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.rootMemoryPrompt!=null&&e.dirFromWorkspacePath!=null&&t.push(this.createFileRelativePath(e.dirFromWorkspacePath)),e.childMemoryPrompts!=null)for(let n of e.childMemoryPrompts)n.dir!=null&&this.isRelativePath(n.dir)&&t.push(this.createFileRelativePath(n.dir));return t}createFileRelativePath(e){let t=i.join(e.path,Ir);return{pathKind:H.Relative,path:t,basePath:e.basePath,getDirectoryName:()=>e.getDirectoryName(),getAbsolutePath:()=>i.join(e.basePath,t)}}async registerGlobalOutputFiles(e){let{globalMemory:t}=e.collectedInputContext;if(t==null)return[];let n=this.getGlobalConfigDir();return[{pathKind:H.Relative,path:Ir,basePath:n,getDirectoryName:()=>Lr,getAbsolutePath:()=>i.join(n,Ir)}]}async canWrite(e){let{workspace:t,globalMemory:n,fastCommands:r,subAgents:i,skills:a}=e.collectedInputContext,o=t.projects.some(e=>e.rootMemoryPrompt!=null||(e.childMemoryPrompts?.length??0)>0),s=n!=null,c=(r?.length??0)>0,l=(i?.length??0)>0,u=(a?.length??0)>0;return!o&&!s&&!c&&!l&&!u?(this.log.info(`No outputs to write, skipping`),!1):!0}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,{fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=[],o=[];for(let o of t){let t=o.name??`unknown`,s=o.dirFromWorkspacePath;if(s!=null){if(o.rootMemoryPrompt!=null){let n=await this.writePromptFile(e,s,o.rootMemoryPrompt.content,`project:${t}/root`);a.push(n)}if(o.childMemoryPrompts!=null)for(let n of o.childMemoryPrompts){let r=await this.writePromptFile(e,n.dir,n.content,`project:${t}/child:${n.workingChildDirectoryPath?.path??`unknown`}`);a.push(r)}if(n!=null)for(let t of n){let n=await this.writeFastCommand(e,s,t);a.push(...n)}if(r!=null)for(let t of r){let n=await this.writeSubAgent(e,s,t);a.push(...n)}if(i!=null)for(let t of i){let n=await this.writeSkill(e,s,t);a.push(...n)}}}return{files:a,dirs:o}}async writeGlobalOutputs(e){let{globalMemory:t}=e.collectedInputContext,n=[],a=[];if(t==null)return{files:n,dirs:a};let o=this.getGlobalConfigDir(),s=i.join(o,Ir),c={pathKind:H.Relative,path:Ir,basePath:o,getDirectoryName:()=>Lr,getAbsolutePath:()=>s};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write global memory -> ${s}`),{files:[{path:c,success:!0,skipped:!1}],dirs:a};try{r.existsSync(o)||r.mkdirSync(o,{recursive:!0}),r.writeFileSync(s,t.content,`utf-8`),this.log.info(`Written global memory -> ${s}`),n.push({path:c,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write global memory: ${t}`),n.push({path:c,success:!1,error:e})}return{files:n,dirs:a}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}getGlobalConfigDir(){return i.join(o.homedir(),Lr)}async writeFastCommand(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Lr,Rr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Lr,Rr,o),basePath:t.basePath,getDirectoryName:()=>Rr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write fast command -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written fast command -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write fast command: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSubAgent(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Lr,zr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Lr,zr,o),basePath:t.basePath,getDirectoryName:()=>zr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write sub agent -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written sub agent -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write sub agent: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkill(e,t,n){let a=[],o=n.yamlFrontMatter?.name??n.dir.getDirectoryName(),s=i.join(t.basePath,t.path,Lr,Br,o),c=i.join(s,`SKILL.md`),l={pathKind:H.Relative,path:i.join(t.path,Lr,Br,o,`SKILL.md`),basePath:t.basePath,getDirectoryName:()=>o,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill -> ${c}`),[{path:l,success:!0,skipped:!1}];try{if(r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written skill -> ${c}`),a.push({path:l,success:!0}),n.referenceDocuments!=null)for(let r of n.referenceDocuments){let n=await this.writeSkillReferenceDocument(e,s,o,r,t);a.push(...n)}}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkillReferenceDocument(e,t,n,a,o){let s=[],c=a.dir.path,l=i.join(t,c),u={pathKind:H.Relative,path:i.join(o.path,Lr,Br,n,c),basePath:o.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>l};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill reference doc -> ${l}`),[{path:u,success:!0,skipped:!1}];try{r.writeFileSync(l,a.content,`utf-8`),this.log.info(`Written skill reference doc -> ${l}`),s.push({path:u,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill reference doc: ${t}`),s.push({path:u,success:!1,error:e})}return s}buildMarkdownContent(e,t){return e!=null&&e.length>0?`${e}\n${t}`:t}async writePromptFile(e,t,n,a){let o=this.resolveFullPath(t),s=this.toRelativePath(t);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write ${a} -> ${o}`),{path:s,success:!0,skipped:!1};try{let e=i.dirname(o);return r.existsSync(e)||r.mkdirSync(e,{recursive:!0}),r.writeFileSync(o,n,`utf-8`),this.log.info(`Written ${a} -> ${o}`),{path:s,success:!0}}catch(e){let t=e instanceof Error?e.message:String(e);return this.log.error(`Failed to write ${a}: ${t}`),{path:s,success:!1,error:e}}}isRelativePath(e){return e.pathKind===H.Relative}toRelativePath(e){return this.isRelativePath(e)?e:{pathKind:H.Relative,path:e.path,basePath:``,getDirectoryName:e.getDirectoryName,getAbsolutePath:()=>e.path}}resolveFullPath(e){let t;return t=e.pathKind===H.Absolute?e.path:this.isRelativePath(e)?i.resolve(e.basePath,e.path):i.resolve(n.cwd(),e.path),i.join(t,Ir)}};const Ur=`AGENTS.md`,Wr=`.factory`,Gr=`commands`,Kr=`agents`,qr=`skills`,Jr=[Gr,Kr,qr];var Yr=class{type=V.Output;name=`DroidCLIOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputDirs(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.dirFromWorkspacePath!=null)for(let n of Jr){let r=i.join(e.dirFromWorkspacePath.path,Wr,n);t.push({pathKind:H.Relative,path:r,basePath:e.dirFromWorkspacePath.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>i.join(e.dirFromWorkspacePath.basePath,r)})}return t}async registerProjectOutputFiles(e){return[]}async registerGlobalOutputFiles(e){let{globalMemory:t}=e.collectedInputContext;if(t==null)return[];let n=this.getGlobalConfigDir();return[{pathKind:H.Relative,path:Ur,basePath:n,getDirectoryName:()=>Wr,getAbsolutePath:()=>i.join(n,Ur)}]}async canWrite(e){let{globalMemory:t,fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=t!=null,o=(n?.length??0)>0,s=(r?.length??0)>0,c=(i?.length??0)>0;return!a&&!o&&!s&&!c?(this.log.info(`No outputs to write, skipping`),!1):!0}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,{fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=[],o=[];for(let o of t){let t=o.dirFromWorkspacePath;if(t!=null){if(n!=null)for(let r of n){let n=await this.writeFastCommand(e,t,r);a.push(...n)}if(r!=null)for(let n of r){let r=await this.writeSubAgent(e,t,n);a.push(...r)}if(i!=null)for(let n of i){let r=await this.writeSkill(e,t,n);a.push(...r)}}}return{files:a,dirs:o}}async writeGlobalOutputs(e){let{globalMemory:t}=e.collectedInputContext,n=[],a=[];if(t==null)return{files:n,dirs:a};let o=this.getGlobalConfigDir(),s=i.join(o,Ur),c={pathKind:H.Relative,path:Ur,basePath:o,getDirectoryName:()=>Wr,getAbsolutePath:()=>s};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write global memory -> ${s}`),{files:[{path:c,success:!0,skipped:!1}],dirs:a};try{r.existsSync(o)||r.mkdirSync(o,{recursive:!0}),r.writeFileSync(s,t.content,`utf-8`),this.log.info(`Written global memory -> ${s}`),n.push({path:c,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write global memory: ${t}`),n.push({path:c,success:!1,error:e})}return{files:n,dirs:a}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}getGlobalConfigDir(){return i.join(o.homedir(),Wr)}async writeFastCommand(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Wr,Gr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Wr,Gr,o),basePath:t.basePath,getDirectoryName:()=>Gr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write fast command -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written fast command -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write fast command: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSubAgent(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Wr,Kr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Wr,Kr,o),basePath:t.basePath,getDirectoryName:()=>Kr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write sub agent -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written sub agent -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write sub agent: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkill(e,t,n){let a=[],o=n.yamlFrontMatter?.name??n.dir.getDirectoryName(),s=i.join(t.basePath,t.path,Wr,qr,o),c=i.join(s,`SKILL.md`),l={pathKind:H.Relative,path:i.join(t.path,Wr,qr,o,`SKILL.md`),basePath:t.basePath,getDirectoryName:()=>o,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill -> ${c}`),[{path:l,success:!0,skipped:!1}];try{if(r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written skill -> ${c}`),a.push({path:l,success:!0}),n.referenceDocuments!=null)for(let r of n.referenceDocuments){let n=await this.writeSkillReferenceDocument(e,s,o,r,t);a.push(...n)}}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkillReferenceDocument(e,t,n,a,o){let s=[],c=a.dir.path,l=i.join(t,c),u={pathKind:H.Relative,path:i.join(o.path,Wr,qr,n,c),basePath:o.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>l};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill reference doc -> ${l}`),[{path:u,success:!0,skipped:!1}];try{r.writeFileSync(l,a.content,`utf-8`),this.log.info(`Written skill reference doc -> ${l}`),s.push({path:u,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill reference doc: ${t}`),s.push({path:u,success:!1,error:e})}return s}buildMarkdownContent(e,t){return e!=null&&e.length>0?`${e}\n${t}`:t}};const U=ri(/[A-Za-z]/),W=ri(/[\dA-Za-z]/),Xr=ri(/[#-'*+\--9=?A-Z^-~]/);function Zr(e){return e!==null&&(e<32||e===127)}const Qr=ri(/\d/),$r=ri(/[\dA-Fa-f]/),ei=ri(/[!-/:-@[-`{-~]/);function G(e){return e!==null&&e<-2}function K(e){return e!==null&&(e<0||e===32)}function q(e){return e===-2||e===-1||e===32}const ti=ri(/\p{P}|\p{S}/u),ni=ri(/\s/);function ri(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}var ii=_(m(((e,t)=>{(function(){var e=t===void 0?function(){return this||(0,eval)(`this`)}():t.exports=i;e.format=i,e.vsprintf=r,typeof console<`u`&&typeof console.log==`function`&&(e.printf=n);function n(){console.log(i.apply(null,arguments))}function r(e,t){return i.apply(null,[e].concat(t))}function i(e){for(var t=1,n=[].slice.call(arguments),r=0,i=e.length,a=``,o,s=!1,c,l,u=!1,d,f=function(){return n[t++]},p=function(){for(var t=``;/\d/.test(e[r]);)t+=e[r++],o=e[r];return t.length>0?parseInt(t):null};r<i;++r)if(o=e[r],s)switch(s=!1,o==`.`?(u=!1,o=e[++r]):o==`0`&&e[r+1]==`.`?(u=!0,r+=2,o=e[r]):u=!0,d=p(),o){case`b`:a+=parseInt(f(),10).toString(2);break;case`c`:c=f(),typeof c==`string`||c instanceof String?a+=c:a+=String.fromCharCode(parseInt(c,10));break;case`d`:a+=parseInt(f(),10);break;case`f`:l=String(parseFloat(f()).toFixed(d||6)),a+=u?l:l.replace(/^0/,``);break;case`j`:a+=JSON.stringify(f());break;case`o`:a+=`0`+parseInt(f(),10).toString(8);break;case`s`:a+=f();break;case`x`:a+=`0x`+parseInt(f(),10).toString(16);break;case`X`:a+=`0x`+parseInt(f(),10).toString(16).toUpperCase();break;default:a+=o;break}else o===`%`?s=!0:a+=o;return a}})()}))(),1);const ai=Object.assign(oi(Error),{eval:oi(EvalError),range:oi(RangeError),reference:oi(ReferenceError),syntax:oi(SyntaxError),type:oi(TypeError),uri:oi(URIError)});function oi(e){return t.displayName=e.displayName||e.name,t;function t(t,...n){return new e(t&&(0,ii.default)(t,...n))}}const si={}.hasOwnProperty,ci={yaml:`-`,toml:`+`};function li(e){let t=[],n=-1,r=Array.isArray(e)?e:e?[e]:[`yaml`];for(;++n<r.length;)t[n]=ui(r[n]);return t}function ui(e){let t=e;if(typeof t==`string`){if(!si.call(ci,t))throw ai("Missing matter definition for `%s`",t);t={type:t,marker:ci[t]}}else if(typeof t!=`object`)throw ai("Expected matter to be an object, not `%j`",t);if(!si.call(t,`type`))throw ai("Missing `type` in matter `%j`",t);if(!si.call(t,`fence`)&&!si.call(t,`marker`))throw ai("Missing `marker` or `fence` in matter `%j`",t);return t}function di(e){let t=li(e),n={},r=-1;for(;++r<t.length;){let e=t[r],i=pi(e,`open`).charCodeAt(0),a=fi(e),o=n[i];Array.isArray(o)?o.push(a):n[i]=[a]}return{flow:n}}function fi(e){let t=e.anywhere,n=e.type,r=n+`Fence`,i=r+`Sequence`,a=n+`Value`,o={tokenize:u,partial:!0},s,c=0;return{tokenize:l,concrete:!0};function l(l,u,d){let f=this;return p;function p(a){let o=f.now();return o.column===1&&(o.line===1||t)&&(s=pi(e,`open`),c=0,a===s.charCodeAt(c))?(l.enter(n),l.enter(r),l.enter(i),m(a)):d(a)}function m(e){return c===s.length?(l.exit(i),q(e)?(l.enter(`whitespace`),h(e)):g(e)):e===s.charCodeAt(c++)?(l.consume(e),m):d(e)}function h(e){return q(e)?(l.consume(e),h):(l.exit(`whitespace`),g(e))}function g(t){return G(t)?(l.exit(r),l.enter(`lineEnding`),l.consume(t),l.exit(`lineEnding`),s=pi(e,`close`),c=0,l.attempt(o,b,_)):d(t)}function _(e){return e===null||G(e)?y(e):(l.enter(a),v(e))}function v(e){return e===null||G(e)?(l.exit(a),y(e)):(l.consume(e),v)}function y(e){return e===null?d(e):(l.enter(`lineEnding`),l.consume(e),l.exit(`lineEnding`),l.attempt(o,b,_))}function b(e){return l.exit(n),u(e)}}function u(e,t,n){let a=0;return o;function o(t){return t===s.charCodeAt(a)?(e.enter(r),e.enter(i),c(t)):n(t)}function c(t){return a===s.length?(e.exit(i),q(t)?(e.enter(`whitespace`),l(t)):u(t)):t===s.charCodeAt(a++)?(e.consume(t),c):n(t)}function l(t){return q(t)?(e.consume(t),l):(e.exit(`whitespace`),u(t))}function u(i){return i===null||G(i)?(e.exit(r),t(i)):n(i)}}}function pi(e,t){return e.marker?mi(e.marker,t).repeat(3):mi(e.fence,t)}function mi(e,t){return typeof e==`string`?e:e[t]}function hi(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}function gi(e){let t=li(e),n={},r={},i=-1;for(;++i<t.length;){let e=t[i];n[e.type]=_i(e),r[e.type]=vi,r[e.type+`Value`]=yi}return{enter:n,exit:r}}function _i(e){return t;function t(t){this.enter({type:e.type,value:``},t),this.buffer()}}function vi(e){let t=this.resume(),n=this.stack[this.stack.length-1];`value`in n,this.exit(e),n.value=t.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``)}function yi(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}function bi(e){let t=[],n={},r=li(e),i=-1;for(;++i<r.length;){let e=r[i];n[e.type]=xi(e);let a=Si(e,`open`);t.push({atBreak:!0,character:a.charAt(0),after:hi(a.charAt(1))})}return{unsafe:t,handlers:n}}function xi(e){let t=Si(e,`open`),n=Si(e,`close`);return r;function r(e){return t+(e.value?`
33
+ `))}_onEvent(e,t){function n(n){e===`error`&&!this.transports.includes(t)&&this.add(t),this.emit(e,n,t)}t[`__winston`+e]||(t[`__winston`+e]=n.bind(this),t.on(e,t[`__winston`+e]))}_addDefaultMeta(e){this.defaultMeta&&Object.assign(e,this.defaultMeta)}};function g(e,t){let n=e[t];return!n&&n!==0?null:n}Object.defineProperty(h.prototype,`transports`,{configurable:!1,enumerable:!0,get(){let{pipes:e}=this._readableState;return Array.isArray(e)?e:[e].filter(Boolean)}}),t.exports=h})),Zn=m(((e,t)=>{let{LEVEL:n}=z(),r=Rn(),i=Xn(),a=jn()(`winston:create-logger`);function o(e){return`is`+e.charAt(0).toUpperCase()+e.slice(1)+`Enabled`}t.exports=function(e={}){e.levels=e.levels||r.npm.levels;class t extends i{constructor(e){super(e)}}let s=new t(e);return Object.keys(e.levels).forEach(function(e){if(a(`Define prototype method for "%s"`,e),e===`log`){console.warn(`Level "log" not defined: conflicts with the method "log". Use a different level name.`);return}t.prototype[e]=function(...t){let r=this||s;if(t.length===1){let[i]=t,a=i&&i.message&&i||{message:i};return a.level=a[n]=e,r._addDefaultMeta(a),r.write(a),this||s}return t.length===0?(r.log(e,``),r):r.log(e,...t)},t.prototype[o(e)]=function(){return(this||s).isLevelEnabled(e)}}),s}})),Qn=m(((e,t)=>{let n=Zn();t.exports=class{constructor(e={}){this.loggers=new Map,this.options=e}add(e,t){if(!this.loggers.has(e)){t=Object.assign({},t||this.options);let r=t.transports||this.options.transports;r?t.transports=Array.isArray(r)?r.slice():[r]:t.transports=[];let i=n(t);i.on(`close`,()=>this._delete(e)),this.loggers.set(e,i)}return this.loggers.get(e)}get(e,t){return this.add(e,t)}has(e){return!!this.loggers.has(e)}close(e){if(e)return this._removeLogger(e);this.loggers.forEach((e,t)=>this._removeLogger(t))}_removeLogger(e){this.loggers.has(e)&&(this.loggers.get(e).close(),this._delete(e))}_delete(e){this.loggers.delete(e)}}})),$n=m((e=>{let t=At(),{warn:n}=jt();e.version=Mt().version,e.transports=Ln(),e.config=Rn(),e.addColors=t.levels,e.format=t.format,e.createLogger=Zn(),e.Logger=Xn(),e.ExceptionHandler=Kn(),e.RejectionHandler=Jn(),e.Container=Qn(),e.Transport=Zt(),e.loggers=new e.Container;let r=e.createLogger();Object.keys(e.config.npm.levels).concat([`log`,`query`,`stream`,`add`,`remove`,`clear`,`profile`,`startTimer`,`handleExceptions`,`unhandleExceptions`,`handleRejections`,`unhandleRejections`,`configure`,`child`]).forEach(t=>e[t]=(...e)=>r[t](...e)),Object.defineProperty(e,`level`,{get(){return r.level},set(e){r.level=e}}),Object.defineProperty(e,`exceptions`,{get(){return r.exceptions}}),Object.defineProperty(e,`rejections`,{get(){return r.rejections}}),[`exitOnError`].forEach(t=>{Object.defineProperty(e,t,{get(){return r[t]},set(e){r[t]=e}})}),Object.defineProperty(e,`default`,{get(){return{exceptionHandlers:r.exceptionHandlers,rejectionHandlers:r.rejectionHandlers,transports:r.transports}}}),n.deprecated(e,`setLevels`),n.forFunctions(e,`useFormat`,[`cli`]),n.forProperties(e,`useFormat`,[`padLevels`,`stripColors`]),n.forFunctions(e,`deprecated`,[`addRewriter`,`addFilter`,`clone`,`extend`]),n.forProperties(e,`deprecated`,[`emitErrs`,`levelLength`])})),er=_(qe(),1),tr=_($n(),1);function B(e,t){return tr.createLogger({level:t??n.env.LOG_LEVEL??`info`,defaultMeta:{scope:e},format:tr.format.combine(tr.format.timestamp({format:()=>Date.now().toString()}),tr.format.printf(e=>{let{timestamp:t,level:n,message:r,scope:i,...a}=e,o=Object.keys(a).length>0,s={$:[Number(t),n,i]};return r==null?JSON.stringify(s):JSON.stringify({...s,msg:o?{[r]:a}:r})})),transports:[new tr.transports.Console]})}let V=function(e){return e.Input=`Input`,e.Output=`Output`,e}({}),nr=function(e){return e.GlobalMemory=`GlobalMemory`,e.ProjectRootMemory=`ProjectRootMemory`,e.ProjectChildrenMemory=`ProjectChildrenMemory`,e.FastCommand=`FastCommand`,e.SubAgent=`SubAgent`,e.Skill=`Skill`,e.SkillReferenceDocument=`SkillReferenceDocument`,e}({}),rr=function(e){return e.Red=`Red`,e.Green=`Green`,e.Blue=`Blue`,e.Yellow=`Yellow`,e}({}),ir=function(e){return e.Read=`Read`,e.Write=`Write`,e.Edit=`Edit`,e.Grep=`Grep`,e}({}),ar=function(e){return e.CamelCase=`CamelCase`,e.PascalCase=`PascalCase`,e.SnakeCase=`SnakeCase`,e.KebabCase=`KebabCase`,e.UpperCase=`UpperCase`,e.LowerCase=`LowerCase`,e.Original=`Original`,e}({}),or=function(e){return e.UserHome=`UserHome`,e.External=`External`,e}({}),H=function(e){return e.Relative=`Relative`,e.Absolute=`Absolute`,e.Root=`Root`,e}({}),sr=function(e){return e.VSCode=`VSCode`,e.IntellijIDEA=`IntellijIDEA`,e.Git=`Git`,e.EditorConfig=`EditorConfig`,e.Original=`Original`,e}({});var cr=class extends Error{constructor(e){super(`Circular dependency detected: ${e.join(` -> `)}`),this.cycle=e,this.name=`CircularDependencyError`}},lr=class extends Error{constructor(e,t){super(`Plugin "${e}" depends on non-existent plugin "${t}"`),this.pluginName=e,this.missingDependency=t,this.name=`MissingDependencyError`}};async function ur(e,t){let n=[],r=[],i=[],a=[];for(let o of e)o.registerProjectOutputDirs&&n.push(...await o.registerProjectOutputDirs(t)),o.registerProjectOutputFiles&&r.push(...await o.registerProjectOutputFiles(t)),o.registerGlobalOutputDirs&&i.push(...await o.registerGlobalOutputDirs(t)),o.registerGlobalOutputFiles&&a.push(...await o.registerGlobalOutputFiles(t));return{projectDirs:n,projectFiles:r,globalDirs:i,globalFiles:a}}async function dr(e,t){let n=new Map;for(let r of e)n.set(r.name,{project:await r.canCleanProject?.(t)??!0,global:await r.canCleanGlobal?.(t)??!0});return n}async function fr(e,t){for(let n of e)await n.onCleanComplete?.(t)}async function pr(e,t){let n=new Map;for(let r of e){let e=await r.canWrite?.(t)??!0;n.set(r.name,{project:e,global:e})}return n}async function mr(e,t){let n=new Map;for(let r of e){let e=await r.writeProjectOutputs?.(t)??{files:[],dirs:[]},i=await r.writeGlobalOutputs?.(t)??{files:[],dirs:[]},a={files:[...e.files,...i.files],dirs:[...e.dirs,...i.dirs]};n.set(r.name,a),await r.onWriteComplete?.(t,a)}return n}function hr(e){let t=[...e],n=t[0];n!=null&&gr(n)&&t.shift();let r=t[0];return r!=null&&_r(r)&&t.shift(),t}function gr(e){let t=[`node`,`nodejs`,`bun`,`deno`,`tsx`,`ts-node`,`npx`,`pnpx`,`yarn`,`pnpm`],n=e.toLowerCase().replace(/\\/g,`/`);return t.some(e=>RegExp(`(?:^|/)${e}(?:\\.exe|\\.cmd|\\.ps1)?$`,`i`).test(n)||n===e)}function _r(e){return!!(/\.(?:m?[jt]s|cjs)$/.test(e)||/[/\\]/.test(e)&&!e.startsWith(`-`)||/^(?:@[\w-]+\/)?[\w-]+$/.test(e)&&!e.startsWith(`-`))}function vr(e){let t={clean:!1,dryRun:!1,positional:[],unknown:[]};for(let n=0;n<e.length;n++){let r=e[n];if(r!=null){if(r===`--`){t.positional.push(...e.slice(n+1).filter(e=>e!=null));break}if(r.startsWith(`--`)){switch(r.slice(2).split(`=`)[0]??``){case`clean`:t.clean=!0;break;case`dry-run`:t.dryRun=!0;break;default:t.unknown.push(r)}continue}if(r.startsWith(`-`)&&r.length>1){let e=r.slice(1);for(let n of e)switch(n){case`c`:t.clean=!0;break;case`n`:t.dryRun=!0;break;default:t.unknown.push(`-${n}`)}continue}t.positional.push(r)}}return t}var yr=class{logger;args;outputPlugins=[];constructor(...e){this.logger=B(`PluginPipeline`),this.args=vr(hr(e.filter(e=>e!=null))),this.logger.info(`PluginPipeline initialized`,{args:this.args})}registerOutputPlugins(e){return this.outputPlugins.push(...e),this}async runCleanPipeline(e){this.logger.info(`Running clean pipeline`);let t=this.args.dryRun,n=this.createCleanContext(e,t),a=await ur(this.outputPlugins,n);this.logger.info(`Collected outputs for cleanup`,{projectDirs:a.projectDirs.length,projectFiles:a.projectFiles.length,globalDirs:a.globalDirs.length,globalFiles:a.globalFiles.length});let o=await dr(this.outputPlugins,n),s=[],c=[];for(let e of this.outputPlugins){let t=o.get(e.name);if(t?.project){let t=await e.registerProjectOutputFiles?.(n)??[],r=await e.registerProjectOutputDirs?.(n)??[];s.push(...t.map(e=>e.getAbsolutePath())),c.push(...r.map(e=>e.getAbsolutePath()))}if(t?.global){let t=await e.registerGlobalOutputFiles?.(n)??[],r=await e.registerGlobalOutputDirs?.(n)??[];s.push(...t.map(e=>e.getAbsolutePath())),c.push(...r.map(e=>e.getAbsolutePath()))}}for(let e of s){let n=i.isAbsolute(e)?e:i.resolve(e);if(t){this.logger.info(`[DRY-RUN] Would delete file: ${n}`);continue}try{r.existsSync(n)&&(r.unlinkSync(n),this.logger.info(`Deleted file: ${n}`))}catch(e){this.logger.warn(`Failed to delete file: ${n}`,{error:e})}}let l=[...c].sort((e,t)=>t.length-e.length);for(let e of l){let n=i.isAbsolute(e)?e:i.resolve(e);if(t){this.logger.info(`[DRY-RUN] Would delete directory: ${n}`);continue}try{r.existsSync(n)&&(r.rmSync(n,{recursive:!0,force:!0}),this.logger.info(`Deleted directory: ${n}`))}catch(e){this.logger.warn(`Failed to delete directory: ${n}`,{error:e})}}await fr(this.outputPlugins,n),this.logger.info(`Clean complete: ${s.length} files, ${c.length} directories${t?` (dry-run)`:``}`)}async runExecutePipeline(e){this.logger.info(`Running execute pipeline`);let t=this.createWriteContext(e,!1),n=await pr(this.outputPlugins,t),r=await mr(this.outputPlugins.filter(e=>n.get(e.name)?.project??!0),t);this.logger.info(`Execute pipeline complete`,{pluginCount:r.size})}async runDryRunPipeline(e){this.logger.info(`[DRY-RUN] Running dry-run pipeline`);let t=this.createWriteContext(e,!0),n=await pr(this.outputPlugins,t),r=await mr(this.outputPlugins.filter(e=>!!(n.get(e.name)?.project??!0)),t),i=0,a=0;for(let[e,t]of r)i+=t.files.length,a+=t.dirs.length,this.logger.info(`[DRY-RUN] ${e}: ${t.files.length} files, ${t.dirs.length} dirs`);this.logger.info(`[DRY-RUN] Total: ${i} files, ${a} dirs would be written`)}async run(e){let{context:t,outputPlugins:n}=e;if(this.registerOutputPlugins([...n]),this.args.clean){await this.runCleanPipeline(t);return}if(this.args.dryRun){await this.runDryRunPipeline(t);return}await this.runExecutePipeline(t)}createCleanContext(e,t){return{logger:this.logger,fs:r,path:i,glob:er.default,collectedInputContext:e,dryRun:t}}createWriteContext(e,t){return{logger:this.logger,fs:r,path:i,glob:er.default,collectedInputContext:e,dryRun:t}}buildDependencyGraph(e){let t=new Map;for(let n of e){let e=n.dependsOn??[];t.set(n.name,[...e])}return t}validateDependencies(e){let t=new Set(e.map(e=>e.name));for(let n of e){let e=n.dependsOn??[];for(let r of e)if(!t.has(r))throw new lr(n.name,r)}}topologicalSort(e){this.validateDependencies(e);let t=new Map;for(let n of e)t.set(n.name,n);let n=new Map;for(let t of e)n.set(t.name,0);let r=new Map;for(let t of e)r.set(t.name,[]);for(let t of e){let e=t.dependsOn??[];for(let i of e){n.set(t.name,(n.get(t.name)??0)+1);let e=r.get(i)??[];e.push(t.name),r.set(i,e)}}let i=[];for(let t of e)n.get(t.name)===0&&i.push(t.name);let a=[];for(;i.length>0;){let o=i.shift(),s=t.get(o);a.push(s);let c=(r.get(o)??[]).sort((t,n)=>e.findIndex(e=>e.name===t)-e.findIndex(e=>e.name===n));for(let e of c){let t=(n.get(e)??0)-1;n.set(e,t),t===0&&i.push(e)}}if(a.length!==e.length)throw new cr(this.findCyclePath(e,n));return a}findCyclePath(e,t){let n=new Set;for(let[e,r]of t)r>0&&n.add(e);let r=new Map;for(let t of e)if(n.has(t.name)){let e=(t.dependsOn??[]).filter(e=>n.has(e));r.set(t.name,e)}let i=new Set,a=[],o=e=>{if(a.includes(e))return a.push(e),!0;if(i.has(e))return!1;i.add(e),a.push(e);for(let t of r.get(e)??[])if(o(t))return!0;return a.pop(),!1};for(let e of n){if(o(e)){let e=a.indexOf(a[a.length-1]);return a.slice(e)}i.clear(),a.length=0}return Array.from(n)}executePluginsInOrder(e,t){if(e.length===0)return{};let n=this.topologicalSort(e),r=new Map,i={};for(let e of n){let n=this.buildDependencyContext(e,r),a={...t,dependencyContext:n},o=e.collect(a);r.set(e.name,o),i=this.mergeContexts(i,o)}return i}buildDependencyContext(e,t){if((e.dependsOn??[]).length===0)return{};let n=this.collectTransitiveDependencies(e,t),r={};for(let e of n){let n=t.get(e);n!=null&&(r=this.mergeContexts(r,n))}return r}collectTransitiveDependencies(e,t){let n=new Set,r=[];return(e=>{for(let i of e)n.has(i)||(n.add(i),t.get(i)!=null&&r.push(i))})(e.dependsOn??[]),r}mergeContexts(e,t){let n=e.workspace;if(t.workspace!=null)if(n!=null){let e=new Map;for(let t of n.projects)e.set(t.name,t);for(let n of t.workspace.projects)e.set(n.name,n);n={directory:t.workspace.directory??n.directory,projects:Array.from(e.values())}}else n=t.workspace;let r=t.externalProjects==null?e.externalProjects:[...e.externalProjects??[],...t.externalProjects],i=t.ideConfigFiles==null?e.ideConfigFiles:[...e.ideConfigFiles??[],...t.ideConfigFiles],a=t.fastCommands==null?e.fastCommands:[...e.fastCommands??[],...t.fastCommands],o=t.subAgents==null?e.subAgents:[...e.subAgents??[],...t.subAgents],s=t.skills==null?e.skills:[...e.skills??[],...t.skills],c=t.globalMemory??e.globalMemory;return{...n==null?{}:{workspace:n},...r==null?{}:{externalProjects:r},...i==null?{}:{ideConfigFiles:i},...a==null?{}:{fastCommands:a},...o==null?{}:{subAgents:o},...s==null?{}:{skills:s},...c==null?{}:{globalMemory:c}}}};const br={USER_HOME:`~`,WORKSPACE:`$WORKSPACE`,SHADOW_PROJECT:`$SHADOW_PROJECT`},xr=`~/project`,Sr=`aindex`,Cr=`$SHADOW_PROJECT/dist/skills`,wr=`$SHADOW_PROJECT/dist/commands`,Tr=`$SHADOW_PROJECT/dist/agents`,Er=`$SHADOW_PROJECT/ref`,Dr=`$SHADOW_PROJECT/dist/GLOBAL.md`;var Or=_(qe(),1);const kr={workspaceDir:xr,shadowProjectDir:`$WORKSPACE/${Sr}`,shadowSkillSourceDir:Cr,shadowFastCommandDir:wr,shadowSubAgentDir:Tr,globalMemoryFile:Dr,shadowSourceProjectDir:Er,externalProjects:[],excludePatterns:{},plugins:[],logLevel:`info`};function Ar(...e){return e.reduce((e,t)=>jr(e,t),{...kr})}function jr(e,t){let n=t.externalProjects,r=t.plugins,i=t.excludePatterns;return{...e,...t,externalProjects:[...e.externalProjects,...n??[]],plugins:[...e.plugins,...r??[]],excludePatterns:Mr(e.excludePatterns,i)}}function Mr(e,t){let n={...e};if(t)for(let[e,r]of Object.entries(t))n[e]=[...n[e]??[],...r];return n}function Nr(e={}){let{plugins:t=[],logLevel:n}=Ar(e),a={logger:B(`defineConfig`,n),userConfigOptions:e,fs:r,path:i,glob:Or.default},o=t.filter(e=>e.type===V.Input),s=t.filter(e=>e.type===V.Output),c=new yr().executePluginsInOrder(o,a);if(c.workspace==null)throw Error(`Workspace not initialized by any plugin`);return{context:{workspace:c.workspace,ideConfigFiles:c.ideConfigFiles??[],...c.externalProjects!=null&&{externalProjects:c.externalProjects},...c.fastCommands!=null&&{fastCommands:c.fastCommands},...c.subAgents!=null&&{subAgents:c.subAgents},...c.skills!=null&&{skills:c.skills},...c.globalMemory!=null&&{globalMemory:c.globalMemory}},outputPlugins:s}}const Pr=`AGENTS.md`;var Fr=class{type=V.Output;name=`AgentsOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputFiles(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.rootMemoryPrompt!=null&&e.dirFromWorkspacePath!=null&&t.push(this.createFileRelativePath(e.dirFromWorkspacePath)),e.childMemoryPrompts!=null)for(let n of e.childMemoryPrompts)n.dir!=null&&this.isRelativePath(n.dir)&&t.push(this.createFileRelativePath(n.dir));return t}createFileRelativePath(e){let t=i.join(e.path,Pr);return{pathKind:H.Relative,path:t,basePath:e.basePath,getDirectoryName:()=>e.getDirectoryName(),getAbsolutePath:()=>i.join(e.basePath,t)}}async canWrite(e){let{workspace:t}=e.collectedInputContext;return t.projects.some(e=>e.rootMemoryPrompt!=null||(e.childMemoryPrompts?.length??0)>0)?!0:(this.log.info(`No outputs to write, skipping`),!1)}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,n=[],r=[];for(let r of t){let t=r.name??`unknown`,i=r.dirFromWorkspacePath;if(i!=null){if(r.rootMemoryPrompt!=null){let a=await this.writePromptFile(e,i,r.rootMemoryPrompt.content,`project:${t}/root`);n.push(a)}if(r.childMemoryPrompts!=null)for(let i of r.childMemoryPrompts){let r=await this.writePromptFile(e,i.dir,i.content,`project:${t}/child:${i.workingChildDirectoryPath?.path??`unknown`}`);n.push(r)}}}return{files:n,dirs:r}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}async writePromptFile(e,t,n,a){let o=this.resolveFullPath(t),s=this.toRelativePath(t);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write ${a} -> ${o}`),{path:s,success:!0,skipped:!1};try{let e=i.dirname(o);return r.existsSync(e)||r.mkdirSync(e,{recursive:!0}),r.writeFileSync(o,n,`utf-8`),this.log.info(`Written ${a} -> ${o}`),{path:s,success:!0}}catch(e){let t=e instanceof Error?e.message:String(e);return this.log.error(`Failed to write ${a}: ${t}`),{path:s,success:!1,error:e}}}isRelativePath(e){return e.pathKind===H.Relative}toRelativePath(e){return this.isRelativePath(e)?e:{pathKind:H.Relative,path:e.path,basePath:``,getDirectoryName:e.getDirectoryName,getAbsolutePath:()=>e.path}}resolveFullPath(e){let t;return t=e.pathKind===H.Absolute?e.path:this.isRelativePath(e)?i.resolve(e.basePath,e.path):i.resolve(n.cwd(),e.path),i.join(t,Pr)}};const Ir=`CLAUDE.md`,Lr=`.claude`,Rr=`commands`,zr=`agents`,Br=`skills`,Vr=[Rr,zr,Br];var Hr=class{type=V.Output;name=`ClaudeCodeCLIOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputDirs(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.dirFromWorkspacePath!=null)for(let n of Vr){let r=i.join(e.dirFromWorkspacePath.path,Lr,n);t.push({pathKind:H.Relative,path:r,basePath:e.dirFromWorkspacePath.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>i.join(e.dirFromWorkspacePath.basePath,r)})}return t}async registerProjectOutputFiles(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.rootMemoryPrompt!=null&&e.dirFromWorkspacePath!=null&&t.push(this.createFileRelativePath(e.dirFromWorkspacePath)),e.childMemoryPrompts!=null)for(let n of e.childMemoryPrompts)n.dir!=null&&this.isRelativePath(n.dir)&&t.push(this.createFileRelativePath(n.dir));return t}createFileRelativePath(e){let t=i.join(e.path,Ir);return{pathKind:H.Relative,path:t,basePath:e.basePath,getDirectoryName:()=>e.getDirectoryName(),getAbsolutePath:()=>i.join(e.basePath,t)}}async registerGlobalOutputFiles(e){let{globalMemory:t}=e.collectedInputContext;if(t==null)return[];let n=this.getGlobalConfigDir();return[{pathKind:H.Relative,path:Ir,basePath:n,getDirectoryName:()=>Lr,getAbsolutePath:()=>i.join(n,Ir)}]}async canWrite(e){let{workspace:t,globalMemory:n,fastCommands:r,subAgents:i,skills:a}=e.collectedInputContext,o=t.projects.some(e=>e.rootMemoryPrompt!=null||(e.childMemoryPrompts?.length??0)>0),s=n!=null,c=(r?.length??0)>0,l=(i?.length??0)>0,u=(a?.length??0)>0;return!o&&!s&&!c&&!l&&!u?(this.log.info(`No outputs to write, skipping`),!1):!0}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,{fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=[],o=[];for(let o of t){let t=o.name??`unknown`,s=o.dirFromWorkspacePath;if(s!=null){if(o.rootMemoryPrompt!=null){let n=await this.writePromptFile(e,s,o.rootMemoryPrompt.content,`project:${t}/root`);a.push(n)}if(o.childMemoryPrompts!=null)for(let n of o.childMemoryPrompts){let r=await this.writePromptFile(e,n.dir,n.content,`project:${t}/child:${n.workingChildDirectoryPath?.path??`unknown`}`);a.push(r)}if(n!=null)for(let t of n){let n=await this.writeFastCommand(e,s,t);a.push(...n)}if(r!=null)for(let t of r){let n=await this.writeSubAgent(e,s,t);a.push(...n)}if(i!=null)for(let t of i){let n=await this.writeSkill(e,s,t);a.push(...n)}}}return{files:a,dirs:o}}async writeGlobalOutputs(e){let{globalMemory:t}=e.collectedInputContext,n=[],a=[];if(t==null)return{files:n,dirs:a};let o=this.getGlobalConfigDir(),s=i.join(o,Ir),c={pathKind:H.Relative,path:Ir,basePath:o,getDirectoryName:()=>Lr,getAbsolutePath:()=>s};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write global memory -> ${s}`),{files:[{path:c,success:!0,skipped:!1}],dirs:a};try{r.existsSync(o)||r.mkdirSync(o,{recursive:!0}),r.writeFileSync(s,t.content,`utf-8`),this.log.info(`Written global memory -> ${s}`),n.push({path:c,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write global memory: ${t}`),n.push({path:c,success:!1,error:e})}return{files:n,dirs:a}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}getGlobalConfigDir(){return i.join(o.homedir(),Lr)}async writeFastCommand(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Lr,Rr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Lr,Rr,o),basePath:t.basePath,getDirectoryName:()=>Rr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write fast command -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written fast command -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write fast command: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSubAgent(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Lr,zr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Lr,zr,o),basePath:t.basePath,getDirectoryName:()=>zr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write sub agent -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written sub agent -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write sub agent: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkill(e,t,n){let a=[],o=n.yamlFrontMatter?.name??n.dir.getDirectoryName(),s=i.join(t.basePath,t.path,Lr,Br,o),c=i.join(s,`SKILL.md`),l={pathKind:H.Relative,path:i.join(t.path,Lr,Br,o,`SKILL.md`),basePath:t.basePath,getDirectoryName:()=>o,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill -> ${c}`),[{path:l,success:!0,skipped:!1}];try{if(r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written skill -> ${c}`),a.push({path:l,success:!0}),n.referenceDocuments!=null)for(let r of n.referenceDocuments){let n=await this.writeSkillReferenceDocument(e,s,o,r,t);a.push(...n)}}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkillReferenceDocument(e,t,n,a,o){let s=[],c=a.dir.path,l=i.join(t,c),u={pathKind:H.Relative,path:i.join(o.path,Lr,Br,n,c),basePath:o.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>l};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill reference doc -> ${l}`),[{path:u,success:!0,skipped:!1}];try{r.writeFileSync(l,a.content,`utf-8`),this.log.info(`Written skill reference doc -> ${l}`),s.push({path:u,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill reference doc: ${t}`),s.push({path:u,success:!1,error:e})}return s}buildMarkdownContent(e,t){return e!=null&&e.length>0?`${e}\n${t}`:t}async writePromptFile(e,t,n,a){let o=this.resolveFullPath(t),s=this.toRelativePath(t);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write ${a} -> ${o}`),{path:s,success:!0,skipped:!1};try{let e=i.dirname(o);return r.existsSync(e)||r.mkdirSync(e,{recursive:!0}),r.writeFileSync(o,n,`utf-8`),this.log.info(`Written ${a} -> ${o}`),{path:s,success:!0}}catch(e){let t=e instanceof Error?e.message:String(e);return this.log.error(`Failed to write ${a}: ${t}`),{path:s,success:!1,error:e}}}isRelativePath(e){return e.pathKind===H.Relative}toRelativePath(e){return this.isRelativePath(e)?e:{pathKind:H.Relative,path:e.path,basePath:``,getDirectoryName:e.getDirectoryName,getAbsolutePath:()=>e.path}}resolveFullPath(e){let t;return t=e.pathKind===H.Absolute?e.path:this.isRelativePath(e)?i.resolve(e.basePath,e.path):i.resolve(n.cwd(),e.path),i.join(t,Ir)}};const Ur=`AGENTS.md`,Wr=`.factory`,Gr=`commands`,Kr=`agents`,qr=`skills`,Jr=[Gr,Kr,qr];var Yr=class{type=V.Output;name=`DroidCLIOutputPlugin`;log;constructor(){this.log=B(this.name)}async registerProjectOutputDirs(e){let t=[],{projects:n}=e.collectedInputContext.workspace;for(let e of n)if(e.dirFromWorkspacePath!=null)for(let n of Jr){let r=i.join(e.dirFromWorkspacePath.path,Wr,n);t.push({pathKind:H.Relative,path:r,basePath:e.dirFromWorkspacePath.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>i.join(e.dirFromWorkspacePath.basePath,r)})}return t}async registerProjectOutputFiles(e){return[]}async registerGlobalOutputFiles(e){let{globalMemory:t}=e.collectedInputContext;if(t==null)return[];let n=this.getGlobalConfigDir();return[{pathKind:H.Relative,path:Ur,basePath:n,getDirectoryName:()=>Wr,getAbsolutePath:()=>i.join(n,Ur)}]}async canWrite(e){let{globalMemory:t,fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=t!=null,o=(n?.length??0)>0,s=(r?.length??0)>0,c=(i?.length??0)>0;return!a&&!o&&!s&&!c?(this.log.info(`No outputs to write, skipping`),!1):!0}async writeProjectOutputs(e){let{projects:t}=e.collectedInputContext.workspace,{fastCommands:n,subAgents:r,skills:i}=e.collectedInputContext,a=[],o=[];for(let o of t){let t=o.dirFromWorkspacePath;if(t!=null){if(n!=null)for(let r of n){let n=await this.writeFastCommand(e,t,r);a.push(...n)}if(r!=null)for(let n of r){let r=await this.writeSubAgent(e,t,n);a.push(...r)}if(i!=null)for(let n of i){let r=await this.writeSkill(e,t,n);a.push(...r)}}}return{files:a,dirs:o}}async writeGlobalOutputs(e){let{globalMemory:t}=e.collectedInputContext,n=[],a=[];if(t==null)return{files:n,dirs:a};let o=this.getGlobalConfigDir(),s=i.join(o,Ur),c={pathKind:H.Relative,path:Ur,basePath:o,getDirectoryName:()=>Wr,getAbsolutePath:()=>s};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write global memory -> ${s}`),{files:[{path:c,success:!0,skipped:!1}],dirs:a};try{r.existsSync(o)||r.mkdirSync(o,{recursive:!0}),r.writeFileSync(s,t.content,`utf-8`),this.log.info(`Written global memory -> ${s}`),n.push({path:c,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write global memory: ${t}`),n.push({path:c,success:!1,error:e})}return{files:n,dirs:a}}async onWriteComplete(e,t){let n=t.files.filter(e=>e.success).length,r=t.files.filter(e=>e.skipped).length,i=t.files.filter(e=>!e.success&&!e.skipped).length,a=e.dryRun===!0?`[DRY-RUN]`:``;this.log.info(`${a} Write complete: ${n} success, ${r} skipped, ${i} failed`)}getGlobalConfigDir(){return i.join(o.homedir(),Wr)}async writeFastCommand(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Wr,Gr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Wr,Gr,o),basePath:t.basePath,getDirectoryName:()=>Gr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write fast command -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written fast command -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write fast command: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSubAgent(e,t,n){let a=[],o=n.dir.path.endsWith(`.md`)?n.dir.path:`${n.dir.path}.md`,s=i.join(t.basePath,t.path,Wr,Kr),c=i.join(s,o),l={pathKind:H.Relative,path:i.join(t.path,Wr,Kr,o),basePath:t.basePath,getDirectoryName:()=>Kr,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write sub agent -> ${c}`),[{path:l,success:!0,skipped:!1}];try{r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written sub agent -> ${c}`),a.push({path:l,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write sub agent: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkill(e,t,n){let a=[],o=n.yamlFrontMatter?.name??n.dir.getDirectoryName(),s=i.join(t.basePath,t.path,Wr,qr,o),c=i.join(s,`SKILL.md`),l={pathKind:H.Relative,path:i.join(t.path,Wr,qr,o,`SKILL.md`),basePath:t.basePath,getDirectoryName:()=>o,getAbsolutePath:()=>c},u=this.buildMarkdownContent(n.rawFrontMatter,n.content);if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill -> ${c}`),[{path:l,success:!0,skipped:!1}];try{if(r.existsSync(s)||r.mkdirSync(s,{recursive:!0}),r.writeFileSync(c,u,`utf-8`),this.log.info(`Written skill -> ${c}`),a.push({path:l,success:!0}),n.referenceDocuments!=null)for(let r of n.referenceDocuments){let n=await this.writeSkillReferenceDocument(e,s,o,r,t);a.push(...n)}}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill: ${t}`),a.push({path:l,success:!1,error:e})}return a}async writeSkillReferenceDocument(e,t,n,a,o){let s=[],c=a.dir.path,l=i.join(t,c),u={pathKind:H.Relative,path:i.join(o.path,Wr,qr,n,c),basePath:o.basePath,getDirectoryName:()=>n,getAbsolutePath:()=>l};if(e.dryRun===!0)return this.log.info(`[DRY-RUN] Would write skill reference doc -> ${l}`),[{path:u,success:!0,skipped:!1}];try{r.writeFileSync(l,a.content,`utf-8`),this.log.info(`Written skill reference doc -> ${l}`),s.push({path:u,success:!0})}catch(e){let t=e instanceof Error?e.message:String(e);this.log.error(`Failed to write skill reference doc: ${t}`),s.push({path:u,success:!1,error:e})}return s}buildMarkdownContent(e,t){return e!=null&&e.length>0?`${e}\n${t}`:t}};const U=ri(/[A-Za-z]/),W=ri(/[\dA-Za-z]/),Xr=ri(/[#-'*+\--9=?A-Z^-~]/);function Zr(e){return e!==null&&(e<32||e===127)}const Qr=ri(/\d/),$r=ri(/[\dA-Fa-f]/),ei=ri(/[!-/:-@[-`{-~]/);function G(e){return e!==null&&e<-2}function K(e){return e!==null&&(e<0||e===32)}function q(e){return e===-2||e===-1||e===32}const ti=ri(/\p{P}|\p{S}/u),ni=ri(/\s/);function ri(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}var ii=_(m(((e,t)=>{(function(){var e=t===void 0?function(){return this||(0,eval)(`this`)}():t.exports=i;e.format=i,e.vsprintf=r,typeof console<`u`&&typeof console.log==`function`&&(e.printf=n);function n(){console.log(i.apply(null,arguments))}function r(e,t){return i.apply(null,[e].concat(t))}function i(e){for(var t=1,n=[].slice.call(arguments),r=0,i=e.length,a=``,o,s=!1,c,l,u=!1,d,f=function(){return n[t++]},p=function(){for(var t=``;/\d/.test(e[r]);)t+=e[r++],o=e[r];return t.length>0?parseInt(t):null};r<i;++r)if(o=e[r],s)switch(s=!1,o==`.`?(u=!1,o=e[++r]):o==`0`&&e[r+1]==`.`?(u=!0,r+=2,o=e[r]):u=!0,d=p(),o){case`b`:a+=parseInt(f(),10).toString(2);break;case`c`:c=f(),typeof c==`string`||c instanceof String?a+=c:a+=String.fromCharCode(parseInt(c,10));break;case`d`:a+=parseInt(f(),10);break;case`f`:l=String(parseFloat(f()).toFixed(d||6)),a+=u?l:l.replace(/^0/,``);break;case`j`:a+=JSON.stringify(f());break;case`o`:a+=`0`+parseInt(f(),10).toString(8);break;case`s`:a+=f();break;case`x`:a+=`0x`+parseInt(f(),10).toString(16);break;case`X`:a+=`0x`+parseInt(f(),10).toString(16).toUpperCase();break;default:a+=o;break}else o===`%`?s=!0:a+=o;return a}})()}))(),1);const ai=Object.assign(oi(Error),{eval:oi(EvalError),range:oi(RangeError),reference:oi(ReferenceError),syntax:oi(SyntaxError),type:oi(TypeError),uri:oi(URIError)});function oi(e){return t.displayName=e.displayName||e.name,t;function t(t,...n){return new e(t&&(0,ii.default)(t,...n))}}const si={}.hasOwnProperty,ci={yaml:`-`,toml:`+`};function li(e){let t=[],n=-1,r=Array.isArray(e)?e:e?[e]:[`yaml`];for(;++n<r.length;)t[n]=ui(r[n]);return t}function ui(e){let t=e;if(typeof t==`string`){if(!si.call(ci,t))throw ai("Missing matter definition for `%s`",t);t={type:t,marker:ci[t]}}else if(typeof t!=`object`)throw ai("Expected matter to be an object, not `%j`",t);if(!si.call(t,`type`))throw ai("Missing `type` in matter `%j`",t);if(!si.call(t,`fence`)&&!si.call(t,`marker`))throw ai("Missing `marker` or `fence` in matter `%j`",t);return t}function di(e){let t=li(e),n={},r=-1;for(;++r<t.length;){let e=t[r],i=pi(e,`open`).charCodeAt(0),a=fi(e),o=n[i];Array.isArray(o)?o.push(a):n[i]=[a]}return{flow:n}}function fi(e){let t=e.anywhere,n=e.type,r=n+`Fence`,i=r+`Sequence`,a=n+`Value`,o={tokenize:u,partial:!0},s,c=0;return{tokenize:l,concrete:!0};function l(l,u,d){let f=this;return p;function p(a){let o=f.now();return o.column===1&&(o.line===1||t)&&(s=pi(e,`open`),c=0,a===s.charCodeAt(c))?(l.enter(n),l.enter(r),l.enter(i),m(a)):d(a)}function m(e){return c===s.length?(l.exit(i),q(e)?(l.enter(`whitespace`),h(e)):g(e)):e===s.charCodeAt(c++)?(l.consume(e),m):d(e)}function h(e){return q(e)?(l.consume(e),h):(l.exit(`whitespace`),g(e))}function g(t){return G(t)?(l.exit(r),l.enter(`lineEnding`),l.consume(t),l.exit(`lineEnding`),s=pi(e,`close`),c=0,l.attempt(o,b,_)):d(t)}function _(e){return e===null||G(e)?y(e):(l.enter(a),v(e))}function v(e){return e===null||G(e)?(l.exit(a),y(e)):(l.consume(e),v)}function y(e){return e===null?d(e):(l.enter(`lineEnding`),l.consume(e),l.exit(`lineEnding`),l.attempt(o,b,_))}function b(e){return l.exit(n),u(e)}}function u(e,t,n){let a=0;return o;function o(t){return t===s.charCodeAt(a)?(e.enter(r),e.enter(i),c(t)):n(t)}function c(t){return a===s.length?(e.exit(i),q(t)?(e.enter(`whitespace`),l(t)):u(t)):t===s.charCodeAt(a++)?(e.consume(t),c):n(t)}function l(t){return q(t)?(e.consume(t),l):(e.exit(`whitespace`),u(t))}function u(i){return i===null||G(i)?(e.exit(r),t(i)):n(i)}}}function pi(e,t){return e.marker?mi(e.marker,t).repeat(3):mi(e.fence,t)}function mi(e,t){return typeof e==`string`?e:e[t]}function hi(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}function gi(e){let t=li(e),n={},r={},i=-1;for(;++i<t.length;){let e=t[i];n[e.type]=_i(e),r[e.type]=vi,r[e.type+`Value`]=yi}return{enter:n,exit:r}}function _i(e){return t;function t(t){this.enter({type:e.type,value:``},t),this.buffer()}}function vi(e){let t=this.resume(),n=this.stack[this.stack.length-1];`value`in n,this.exit(e),n.value=t.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``)}function yi(e){this.config.enter.data.call(this,e),this.config.exit.data.call(this,e)}function bi(e){let t=[],n={},r=li(e),i=-1;for(;++i<r.length;){let e=r[i];n[e.type]=xi(e);let a=Si(e,`open`);t.push({atBreak:!0,character:a.charAt(0),after:hi(a.charAt(1))})}return{unsafe:t,handlers:n}}function xi(e){let t=Si(e,`open`),n=Si(e,`close`);return r;function r(e){return t+(e.value?`
34
34
  `+e.value:``)+`
35
35
  `+n}}function Si(e,t){return e.marker?Ci(e.marker,t).repeat(3):Ci(e.fence,t)}function Ci(e,t){return typeof e==`string`?e:e[t]}function wi(e){let t=this,n=e||`yaml`,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(di(n)),a.push(gi(n)),o.push(bi(n))}function Ti(e,t){let n=String(e);if(typeof t!=`string`)throw TypeError(`Expected character`);let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}const Ei=(function(e){if(e==null)return ji;if(typeof e==`function`)return Ai(e);if(typeof e==`object`)return Array.isArray(e)?Di(e):Oi(e);if(typeof e==`string`)return ki(e);throw Error(`Expected function, string, or object as test`)});function Di(e){let t=[],n=-1;for(;++n<e.length;)t[n]=Ei(e[n]);return Ai(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}function Oi(e){let t=e;return Ai(n);function n(n){let r=n,i;for(i in e)if(r[i]!==t[i])return!1;return!0}}function ki(e){return Ai(t);function t(t){return t&&t.type===e}}function Ai(e){return t;function t(t,n,r){return!!(Mi(t)&&e.call(this,t,typeof n==`number`?n:void 0,r||void 0))}}function ji(){return!0}function Mi(e){return typeof e==`object`&&!!e&&`type`in e}function Ni(e){return`\x1B[33m`+e+`\x1B[39m`}const Pi=[];function Fi(e,t,n,r){let i;typeof t==`function`&&typeof n!=`function`?(r=n,n=t):i=t;let a=Ei(i),o=r?-1:1;s(e,void 0,[])();function s(e,i,c){let l=e&&typeof e==`object`?e:{};if(typeof l.type==`string`){let t=typeof l.tagName==`string`?l.tagName:typeof l.name==`string`?l.name:void 0;Object.defineProperty(u,`name`,{value:`node (`+Ni(e.type+(t?`<`+t+`>`:``))+`)`})}return u;function u(){let l=Pi,u,d,f;if((!t||a(e,i,c[c.length-1]||void 0))&&(l=Ii(n(e,c)),l[0]===!1))return l;if(`children`in e&&e.children){let t=e;if(t.children&&l[0]!==`skip`)for(d=(r?t.children.length:-1)+o,f=c.concat(t);d>-1&&d<t.children.length;){let e=t.children[d];if(u=s(e,d,f)(),u[0]===!1)return u;d=typeof u[1]==`number`?u[1]:d+o}}return l}}}function Ii(e){return Array.isArray(e)?e:typeof e==`number`?[!0,e]:e==null?Pi:[e]}function Li(e,t,n){let r=Ei((n||{}).ignore||[]),i=Ri(t),a=-1;for(;++a<i.length;)Fi(e,`text`,o);function o(e,t){let n=-1,i;for(;++n<t.length;){let e=t[n],a=i?i.children:void 0;if(r(e,a?a.indexOf(e):void 0,i))return;i=e}if(i)return s(e,t)}function s(e,t){let n=t[t.length-1],r=i[a][0],o=i[a][1],s=0,c=n.children.indexOf(e),l=!1,u=[];r.lastIndex=0;let d=r.exec(e.value);for(;d;){let n=d.index,i={index:d.index,input:d.input,stack:[...t,e]},a=o(...d,i);if(typeof a==`string`&&(a=a.length>0?{type:`text`,value:a}:void 0),a===!1?r.lastIndex=n+1:(s!==n&&u.push({type:`text`,value:e.value.slice(s,n)}),Array.isArray(a)?u.push(...a):a&&u.push(a),s=n+d[0].length,l=!0),!r.global)break;d=r.exec(e.value)}return l?(s<e.value.length&&u.push({type:`text`,value:e.value.slice(s)}),n.children.splice(c,1,...u)):u=[e],c+u.length}}function Ri(e){let t=[];if(!Array.isArray(e))throw TypeError(`Expected find and replace tuple or list of tuples`);let n=!e[0]||Array.isArray(e[0])?e:[e],r=-1;for(;++r<n.length;){let e=n[r];t.push([zi(e[0]),Bi(e[1])])}return t}function zi(e){return typeof e==`string`?new RegExp(hi(e),`g`):e}function Bi(e){return typeof e==`function`?e:function(){return e}}const Vi=`phrasing`,Hi=[`autolink`,`link`,`image`,`label`];function Ui(){return{transforms:[Zi],enter:{literalAutolink:Gi,literalAutolinkEmail:Ki,literalAutolinkHttp:Ki,literalAutolinkWww:Ki},exit:{literalAutolink:Xi,literalAutolinkEmail:Yi,literalAutolinkHttp:qi,literalAutolinkWww:Ji}}}function Wi(){return{unsafe:[{character:`@`,before:`[+\\-.\\w]`,after:`[\\-.\\w]`,inConstruct:Vi,notInConstruct:Hi},{character:`.`,before:`[Ww]`,after:`[\\-.\\w]`,inConstruct:Vi,notInConstruct:Hi},{character:`:`,before:`[ps]`,after:`\\/`,inConstruct:Vi,notInConstruct:Hi}]}}function Gi(e){this.enter({type:`link`,title:null,url:``,children:[]},e)}function Ki(e){this.config.enter.autolinkProtocol.call(this,e)}function qi(e){this.config.exit.autolinkProtocol.call(this,e)}function Ji(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];t.type,t.url=`http://`+this.sliceSerialize(e)}function Yi(e){this.config.exit.autolinkEmail.call(this,e)}function Xi(e){this.exit(e)}function Zi(e){Li(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Qi],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,$i]],{ignore:[`link`,`linkReference`]})}function Qi(e,t,n,r,i){let a=``;if(!na(i)||(/^w/i.test(t)&&(n=t+n,t=``,a=`http://`),!ea(n)))return!1;let o=ta(n+r);if(!o[0])return!1;let s={type:`link`,title:null,url:a+t+o[0],children:[{type:`text`,value:t+o[0]}]};return o[1]?[s,{type:`text`,value:o[1]}]:s}function $i(e,t,n,r){return!na(r,!0)||/[-\d_]$/.test(n)?!1:{type:`link`,title:null,url:`mailto:`+t+`@`+n,children:[{type:`text`,value:t+`@`+n}]}}function ea(e){let t=e.split(`.`);return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function ta(e){let t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(`)`),i=Ti(e,`(`),a=Ti(e,`)`);for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(`)`),a++;return[e,n]}function na(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||ni(n)||ti(n))&&(!t||n!==47)}function ra(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}pa.peek=fa;function ia(){this.buffer()}function aa(e){this.enter({type:`footnoteReference`,identifier:``,label:``},e)}function oa(){this.buffer()}function sa(e){this.enter({type:`footnoteDefinition`,identifier:``,label:``,children:[]},e)}function ca(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ra(this.sliceSerialize(e)).toLowerCase(),n.label=t}function la(e){this.exit(e)}function ua(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ra(this.sliceSerialize(e)).toLowerCase(),n.label=t}function da(e){this.exit(e)}function fa(){return`[`}function pa(e,t,n,r){let i=n.createTracker(r),a=i.move(`[^`),o=n.enter(`footnoteReference`),s=n.enter(`reference`);return a+=i.move(n.safe(n.associationId(e),{after:`]`,before:a})),s(),o(),a+=i.move(`]`),a}function ma(){return{enter:{gfmFootnoteCallString:ia,gfmFootnoteCall:aa,gfmFootnoteDefinitionLabelString:oa,gfmFootnoteDefinition:sa},exit:{gfmFootnoteCallString:ca,gfmFootnoteCall:la,gfmFootnoteDefinitionLabelString:ua,gfmFootnoteDefinition:da}}}function ha(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:pa},unsafe:[{character:`[`,inConstruct:[`label`,`phrasing`,`reference`]}]};function n(e,n,r,i){let a=r.createTracker(i),o=a.move(`[^`),s=r.enter(`footnoteDefinition`),c=r.enter(`label`);return o+=a.move(r.safe(r.associationId(e),{before:o,after:`]`})),c(),o+=a.move(`]:`),e.children&&e.children.length>0&&(a.shift(4),o+=a.move((t?`
36
36
  `:` `)+r.indentLines(r.containerFlow(e,a.current()),t?_a:ga))),s(),o}}function ga(e,t,n){return t===0?e:_a(e,t,n)}function _a(e,t,n){return(n?``:` `)+e}const va=[`autolink`,`destinationLiteral`,`destinationRaw`,`reference`,`titleQuote`,`titleApostrophe`];Ca.peek=wa;function ya(){return{canContainEols:[`delete`],enter:{strikethrough:xa},exit:{strikethrough:Sa}}}function ba(){return{unsafe:[{character:`~`,inConstruct:`phrasing`,notInConstruct:va}],handlers:{delete:Ca}}}function xa(e){this.enter({type:`delete`,children:[]},e)}function Sa(e){this.exit(e)}function Ca(e,t,n,r){let i=n.createTracker(r),a=n.enter(`strikethrough`),o=i.move(`~~`);return o+=n.containerPhrasing(e,{...i.current(),before:o,after:`~`}),o+=i.move(`~~`),a(),o}function wa(){return`~`}function Ta(e){return e.length}function Ea(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||Ta,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++u<e.length;){let t=[],r=[],a=-1;for(e[u].length>l&&(l=e[u].length);++a<e[u].length;){let o=Da(e[u][a]);if(n.alignDelimiters!==!1){let e=i(o);r[a]=e,(c[a]===void 0||e>c[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++d<l;)a[d]=Oa(r[d]);else{let e=Oa(r);for(;++d<l;)a[d]=e}d=-1;let f=[],p=[];for(;++d<l;){let e=a[d],t=``,r=``;e===99?(t=`:`,r=`:`):e===108?t=`:`:e===114&&(r=`:`);let i=n.alignDelimiters===!1?1:Math.max(1,c[d]-t.length-r.length),o=t+`-`.repeat(i)+r;n.alignDelimiters!==!1&&(i=t.length+i+r.length,i>c[d]&&(c[d]=i),p[d]=i),f[d]=o}o.splice(1,0,f),s.splice(1,0,p),u=-1;let m=[];for(;++u<o.length;){let e=o[u],t=s[u];d=-1;let r=[];for(;++d<l;){let i=e[d]||``,o=``,s=``;if(n.alignDelimiters!==!1){let e=c[d]-(t[d]||0),n=a[d];n===114?o=` `.repeat(e):n===99?e%2?(o=` `.repeat(e/2+.5),s=` `.repeat(e/2-.5)):(o=` `.repeat(e/2),s=o):s=` `.repeat(e)}n.delimiterStart!==!1&&!d&&r.push(`|`),n.padding!==!1&&!(n.alignDelimiters===!1&&i===``)&&(n.delimiterStart!==!1||d)&&r.push(` `),n.alignDelimiters!==!1&&r.push(o),r.push(i),n.alignDelimiters!==!1&&r.push(s),n.padding!==!1&&r.push(` `),(n.delimiterEnd!==!1||d!==l-1)&&r.push(`|`)}m.push(n.delimiterEnd===!1?r.join(``).replace(/ +$/,``):r.join(``))}return m.join(`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@truenine/memory-sync-cli",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.5",
5
5
  "description": "TrueNine Life CLI Tools",
6
6
  "author": "TrueNine",
7
7
  "license": "UNLICENSED",